CVSROOT:        /cvs/gnome
Module name:    gconf
Changes by:     tml     05/03/18 10:08:10

Modified files:
        .              : ChangeLog Makefile.am configure.in 
        backends       : Makefile.am markup-tree.c xml-backend.c 
                         xml-dir.c 
        gconf          : Makefile.am gconf-internals.c gconf-internals.h 
                         gconf-sanity-check.c gconf.c gconfd.c 
                         gconftool.c 
Added files:
        .              : gconf-zip.in 
        gconf          : dllmain.c 

Log message:
2005-03-18  Tor Lillqvist  <[EMAIL PROTECTED]>

Port to Windows:

* gconf-zip.in: New file, script to build zipfile-based
distribution for Windows.

* Makefile.am
* configure.in: Distribute and expand it.

* configure.in: Check for Win32, Define automake conditional
OS_WIN32. Force shared library (DLL) build on Windows. Check for
some more headers and functions.

* */*.c: Conditionalize on HAVE_SYSLOG_H, HAVE_SYS_WAIT_H,
HAVE_GETUID, HAVE_FSYNC, HAVE_FCHMOD, HAVE_SIGACTION, F_GETFD,
FD_CLOEXEC, F_SETLK, SIGBUS, SIGPIPE, SIGHUP, SIGUSR1, and ELOOP.

* backends/Makefile.am: Explicitly link with INTLLIBS.

* backends/markup-tree.c (save_tree): Can't rename or remove open
files on Win32.

* backends/xml-backend.c: Don't use G_MODULE_EXPORT on Win32. If
we use it, only the functions thus marked will be exported, and
xml-test uses also other ones. Instead rely on the auto-export
feature.

* gconf/Makefile.am: Pass -DPREFIX=$(prefix). Include dllmain.c
on Win32.

* gconf/dllmain.c: New file. Used for installation location
independence.
(DllMain) DLL entry point. Automatically called when the DLL is
attached to a process. Deduce the run-time installation location
and construct run-time pathnames.
(gconf_win32_replace_prefix): New funcion. Replaces a
configure-time prefix in a pathname with the corresponding
end-user run-time installation prefix.

* gconf/gconf-internals.c (gconf_win32_get_home_dir): New
function, returns the home directory with forward
slashes. Guaranteed to return non-NULL, unlike GLib's
g_get_home_dir().
(get_variable, gconf_get_daemon_dir): Use gconf_win32_get_home_dir().
(gconf_load_source_path): Use gconf_win32_replace_prefix().
(create_new_locked_file, open_empty_locked_file,
gconf_release_lock): Use _sopen() to open file with locking on
Win32.
(close_fd_func): Not used on Win32, where there is no FD_CLOEXEC,
and a gspawn child setup function is run in the parent process
anyway.

* gconf/gconf-internals.h: mkdir() takes only one parameter on
Win32. S_IRWX{U,G,O} aren't in mingw's sys/stat.h. Use run-time
installation prefix instead of configure-time. Redefine the
GCONF_*DIR macros to refer to the variables from the dllmain.c
file. Use NUL: on Windows instead of /dev/null.

* gconf/gconf-sanity-check.c
* gconf/gconftool.c: Use POPT_AUTOHELP.

* gconf/gconf.c: Use g_get_current_time() instead of gettimeofday().

* gconf/gconfd.c (gconf_server_load, get_log_names): Use
gconf_win32_get_home_dir().
(signal_handler): If we don't HAVE_SIGACTION, use signal(), and
re-arm the signal handler.
(test_safe_tmp_dir): Can't open() a directory on Win32.
(get_log_names): Use g_build_filename() instead of
gconf_concat_dir_and_key() on all platforms.

URL : 
http://cvs.gnome.org/bonsai/cvsquery.cgi?branch=&dir=gconf&who=tml&date=explicit&mindate=2005-03-18%2010:07&maxdate=2005-03-18%2010:09

_______________________________________________
cvs-commits-list mailing list
cvs-commits-list@gnome.org
http://mail.gnome.org/mailman/listinfo/cvs-commits-list

Reply via email to