diff -Naurp GConf-1.0.9/backends/Makefile.in GConf-1.0.9-cygwin/backends/Makefile.in --- GConf-1.0.9/backends/Makefile.in 2002-03-15 04:18:44.000000000 +0000 +++ GConf-1.0.9-cygwin/backends/Makefile.in 2002-11-06 11:19:06.000000000 +0000 @@ -66,7 +66,7 @@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ -CFLAGS = @CFLAGS@ +CFLAGS = @CFLAGS@ $(DLL_CFLAGS) CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ DATADIRNAME = @DATADIRNAME@ @@ -219,15 +219,17 @@ install-backendLTLIBRARIES: $(backend_LT $(mkinstalldirs) $(DESTDIR)$(backenddir) @list='$(backend_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ - echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(backenddir)/$$p"; \ - $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(backenddir)/$$p; \ + dll=$$(echo $$p | sed 's,^lib\(.*\).la$$,cyg\1.dll,'); \ + echo "install -D --mode=755 .libs/$$dll $(DESTDIR)$(backenddir)/$$dll"; \ + install -D --mode=755 .libs/$$dll $(DESTDIR)$(backenddir)/$$dll; \ else :; fi; \ done uninstall-backendLTLIBRARIES: @$(NORMAL_UNINSTALL) list='$(backend_LTLIBRARIES)'; for p in $$list; do \ - $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(backenddir)/$$p; \ + dll=$$(echo $$p | sed 's,^lib\(.*\).la$$,cyg\1.dll,'); \ + rm -f $(DESTDIR)$(backenddir)/$$dll; \ done .c.o: @@ -274,11 +276,15 @@ distclean-libtool: maintainer-clean-libtool: +libgconfbackend-xml.la: DLL_CFLAGS = -DLIBGCONFBACKEND_BUILD_DLL libgconfbackend-xml.la: $(libgconfbackend_xml_la_OBJECTS) $(libgconfbackend_xml_la_DEPENDENCIES) $(LINK) -rpath $(backenddir) $(libgconfbackend_xml_la_LDFLAGS) $(libgconfbackend_xml_la_OBJECTS) $(libgconfbackend_xml_la_LIBADD) $(LIBS) + cd .libs && PREFIX=$(prefix) sh ../../mkdll.sh $@ ../../gconf/.libs/libgconf-1.dll.a $(libgconfbackend_xml_la_LIBADD) $(LIBS) +libgconfbackend-bdb.la: DLL_CFLAGS = -DLIBGCONFBACKEND_BUILD_DLL libgconfbackend-bdb.la: $(libgconfbackend_bdb_la_OBJECTS) $(libgconfbackend_bdb_la_DEPENDENCIES) $(LINK) -rpath $(backenddir) $(libgconfbackend_bdb_la_LDFLAGS) $(libgconfbackend_bdb_la_OBJECTS) $(libgconfbackend_bdb_la_LIBADD) $(LIBS) + cd .libs && PREFIX=$(prefix) sh ../../mkdll.sh $@ ../../gconf/.libs/libgconf-1.dll.a $(libgconfbackend_bdb_la_LIBADD) $(LIBS) tags: TAGS diff -Naurp GConf-1.0.9/configure GConf-1.0.9-cygwin/configure --- GConf-1.0.9/configure 2002-03-15 04:10:04.000000000 +0000 +++ GConf-1.0.9-cygwin/configure 2002-11-06 11:19:06.000000000 +0000 @@ -4707,7 +4707,8 @@ EOF else $CC -o impgen impgen.c ; fi)~ $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' - old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' +# old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' +old_archive_from_expsyms_cmds= # cygwin and mingw dlls have different entry points and sets of symbols # to exclude. @@ -6491,7 +6492,8 @@ old_postuninstall_cmds=$lt_old_postunins old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds +#old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds +old_archive_from_expsyms_cmds= # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds diff -Naurp GConf-1.0.9/examples/Makefile.in GConf-1.0.9-cygwin/examples/Makefile.in --- GConf-1.0.9/examples/Makefile.in 2002-03-15 04:18:54.000000000 +0000 +++ GConf-1.0.9-cygwin/examples/Makefile.in 2002-11-06 11:19:06.000000000 +0000 @@ -148,7 +148,8 @@ EFENCE = noinst_PROGRAMS = $(GTK_EXAMPLES) -GTK_EXAMPLES_LINK = $(EFENCE) $(INTLLIBS) $(ORBIT_LIBS) $(GTK_LIBS) $(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la $(top_builddir)/wrappers/gtk/libgconf-gtk-$(MAJOR_VERSION).la $(EFENCE) +#GTK_EXAMPLES_LINK = $(EFENCE) $(INTLLIBS) $(ORBIT_LIBS) $(GTK_LIBS) $(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la $(top_builddir)/wrappers/gtk/libgconf-gtk-$(MAJOR_VERSION).la $(EFENCE) +GTK_EXAMPLES_LINK = $(EFENCE) $(INTLLIBS) $(ORBIT_LIBS) $(GTK_LIBS) $(top_builddir)/wrappers/gtk/libgconf-gtk-$(MAJOR_VERSION).la $(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la $(EFENCE) basic_gconf_app_SOURCES = basic-gconf-app.c @@ -178,14 +179,20 @@ $(top_builddir)/gconf/libgconf-$(MAJOR_V $(top_builddir)/wrappers/gtk/libgconf-gtk-$(MAJOR_VERSION).la basic_gconf_app_LDFLAGS = simple_view_OBJECTS = simple-view.$(OBJEXT) +#simple_view_DEPENDENCIES = \ +#$(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la \ +#$(top_builddir)/wrappers/gtk/libgconf-gtk-$(MAJOR_VERSION).la simple_view_DEPENDENCIES = \ -$(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la \ -$(top_builddir)/wrappers/gtk/libgconf-gtk-$(MAJOR_VERSION).la +$(top_builddir)/wrappers/gtk/libgconf-gtk-$(MAJOR_VERSION).la \ +$(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la simple_view_LDFLAGS = simple_controller_OBJECTS = simple-controller.$(OBJEXT) +#simple_controller_DEPENDENCIES = \ +#$(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la \ +#$(top_builddir)/wrappers/gtk/libgconf-gtk-$(MAJOR_VERSION).la simple_controller_DEPENDENCIES = \ -$(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la \ -$(top_builddir)/wrappers/gtk/libgconf-gtk-$(MAJOR_VERSION).la +$(top_builddir)/wrappers/gtk/libgconf-gtk-$(MAJOR_VERSION).la \ +$(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la simple_controller_LDFLAGS = COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) diff -Naurp GConf-1.0.9/gconf/GConf-idl.idl GConf-1.0.9-cygwin/gconf/GConf-idl.idl --- GConf-1.0.9/gconf/GConf-idl.idl 1970-01-01 00:00:00.000000000 +0000 +++ GConf-1.0.9-cygwin/gconf/GConf-idl.idl 2002-11-06 11:19:06.000000000 +0000 @@ -0,0 +1,240 @@ + +// Really, this whole interface should be used only via the GConf +// client library. I reserve the right to change it whenever I feel +// like it. So there. + +enum ConfigBasicValueType { BInvalidVal, BIntVal, BStringVal, BFloatVal, BBoolVal, BSchemaVal }; + +enum ConfigValueType { InvalidVal, IntVal, StringVal, FloatVal, BoolVal, SchemaVal, ListVal, PairVal }; + +struct ConfigSchema { + ConfigValueType value_type; + ConfigValueType value_list_type; + ConfigValueType value_car_type; + ConfigValueType value_cdr_type; + string locale; + string short_desc; + string long_desc; + string owner; + // Work around lack of recursive data types + string encoded_default_value; +}; + +union ConfigBasicValue switch (ConfigBasicValueType) { + case BInvalidVal: + long dummy; + case BIntVal: + long int_value; + case BStringVal: + string string_value; + case BFloatVal: + float float_value; + case BBoolVal: + boolean bool_value; + // hope this doesn't slow down transmission of smaller types + case BSchemaVal: + ConfigSchema schema_value; +}; + +typedef sequence BasicValueList; + +struct ConfigList { + BasicValueList seq; + ConfigBasicValueType list_type; +}; + +union ConfigValue switch (ConfigValueType) { + case InvalidVal: + long dummy; + case IntVal: + long int_value; + case StringVal: + string string_value; + case FloatVal: + float float_value; + case BoolVal: + boolean bool_value; + case SchemaVal: + ConfigSchema schema_value; + case ListVal: + ConfigList list_value; + case PairVal: + BasicValueList pair_value; +}; + +interface ConfigDatabase; + +interface ConfigListener { + typedef sequence KeyList; + + oneway void notify (in ConfigDatabase database, + in unsigned long cnxn, + in string key, + in ConfigValue value, + in boolean is_default, + in boolean is_writable); + + oneway void ping (); + + /// This should conceivably not be oneway. + /// I'm worried about the server blocking waiting for + /// busy clients. + + oneway void update_listener (in ConfigDatabase database, + in string db_address, + in unsigned long old_cnxn, + in string where, + in unsigned long new_cnxn); + + oneway void invalidate_cached_values (in ConfigDatabase database, + in KeyList keys); + + // Called when a new daemon starts up, and we need to drop caches + // in case the new daemon has a different default database + oneway void drop_all_caches (); +}; + +// Sync this with GConfErrNo in gconf.h, when it makes sense +// (e.g. G_CONF_NO_SERVER doesn't make sense here) + +enum ConfigErrorType { + ConfigFailed, ConfigNoPermission, + ConfigBadAddress, ConfigBadKey, + ConfigParseError, ConfigCorrupt, + ConfigTypeMismatch, ConfigIsDir, ConfigIsKey, + ConfigOverridden, ConfigLockFailed, + ConfigNoWritableDatabase, ConfigInShutdown +}; + +exception ConfigException { + ConfigErrorType err_no; + string message; +}; + +interface ConfigDatabase { + typedef sequence KeyList; + typedef sequence ValueList; + typedef sequence IsDefaultList; + typedef sequence IsWritableList; + + // "where" is the portion of the namespace to listen to + // Returns a connection ID for removal + unsigned long add_listener(in string where, + in ConfigListener who); + + void remove_listener(in unsigned long cnxn); + + ConfigValue lookup(in string key) + raises (ConfigException); + + // separate from lookup for efficiency + ConfigValue lookup_with_locale(in string key, + in string locale, + in boolean use_schema_default, + out boolean value_is_default, + out boolean value_is_writable) + raises (ConfigException); + + // syntactic sugar, semi-hack: should maybe use a get_metainfo() + // function (which we should have anyway) + ConfigValue lookup_default_value(in string key, + in string locale) + raises (ConfigException); + + // Grab lots of values at once + void batch_lookup (in KeyList keys, + in string locale, + out ValueList values, + out IsDefaultList is_defaults, + out IsWritableList is_writables) + raises (ConfigException); + + void set(in string key, in ConfigValue value) + raises (ConfigException); + + void unset(in string key) + raises (ConfigException); + + void unset_with_locale(in string key, in string locale) + raises (ConfigException); + + // Setting to InvalidVal does an unset + void batch_change(in string locale, // only used for unsets + in KeyList keys, + in ValueList values) + raises (ConfigException); + + boolean dir_exists(in string dir) + raises (ConfigException); + + void remove_dir(in string dir) + raises (ConfigException); + + void all_entries(in string dir, + in string locale, + out KeyList keys, + out ValueList values, + out IsDefaultList is_defaults, + out IsWritableList is_writables) + raises (ConfigException); + + void all_dirs(in string dir, + out KeyList subdirs) + raises (ConfigException); + + // if first arg is a key, second arg should be a key pointing + // to a schema. + // if first arg is a dir, second arg should be a key pointing + // to a dir full of schemas. + void set_schema(in string key, + in string schema_key) + raises (ConfigException); + + void sync() + raises (ConfigException); + + void clear_cache(); + + void synchronous_sync() + raises (ConfigException); +}; + +interface ConfigDatabase2 : ConfigDatabase { + + typedef sequence SchemaNameList; + + // Fixed version of lookup_with_locale that gets + // all the relevant information + ConfigValue lookup_with_schema_name (in string key, + in string locale, + in boolean use_schema_default, + out string schema_name, + out boolean value_is_default, + out boolean value_is_writable) + raises (ConfigException); + + void all_entries_with_schema_name (in string dir, + in string locale, + out KeyList keys, + out ValueList values, + out SchemaNameList schema_names, + out IsDefaultList is_defaults, + out IsWritableList is_writables) + raises (ConfigException); +}; + +interface ConfigServer { + + ConfigDatabase get_default_database (); + + // Use a specific address instead of the default database; + // invalid_context returned on failure. + ConfigDatabase get_database (in string address); + + void add_client (in ConfigListener client); + void remove_client (in ConfigListener client); + + long ping(); + + void shutdown(); +}; diff -Naurp GConf-1.0.9/gconf/GConf.idl GConf-1.0.9-cygwin/gconf/GConf.idl --- GConf-1.0.9/gconf/GConf.idl 2001-07-11 21:48:26.000000000 +0100 +++ GConf-1.0.9-cygwin/gconf/GConf.idl 1970-01-01 00:00:00.000000000 +0000 @@ -1,240 +0,0 @@ - -// Really, this whole interface should be used only via the GConf -// client library. I reserve the right to change it whenever I feel -// like it. So there. - -enum ConfigBasicValueType { BInvalidVal, BIntVal, BStringVal, BFloatVal, BBoolVal, BSchemaVal }; - -enum ConfigValueType { InvalidVal, IntVal, StringVal, FloatVal, BoolVal, SchemaVal, ListVal, PairVal }; - -struct ConfigSchema { - ConfigValueType value_type; - ConfigValueType value_list_type; - ConfigValueType value_car_type; - ConfigValueType value_cdr_type; - string locale; - string short_desc; - string long_desc; - string owner; - // Work around lack of recursive data types - string encoded_default_value; -}; - -union ConfigBasicValue switch (ConfigBasicValueType) { - case BInvalidVal: - long dummy; - case BIntVal: - long int_value; - case BStringVal: - string string_value; - case BFloatVal: - float float_value; - case BBoolVal: - boolean bool_value; - // hope this doesn't slow down transmission of smaller types - case BSchemaVal: - ConfigSchema schema_value; -}; - -typedef sequence BasicValueList; - -struct ConfigList { - BasicValueList seq; - ConfigBasicValueType list_type; -}; - -union ConfigValue switch (ConfigValueType) { - case InvalidVal: - long dummy; - case IntVal: - long int_value; - case StringVal: - string string_value; - case FloatVal: - float float_value; - case BoolVal: - boolean bool_value; - case SchemaVal: - ConfigSchema schema_value; - case ListVal: - ConfigList list_value; - case PairVal: - BasicValueList pair_value; -}; - -interface ConfigDatabase; - -interface ConfigListener { - typedef sequence KeyList; - - oneway void notify (in ConfigDatabase database, - in unsigned long cnxn, - in string key, - in ConfigValue value, - in boolean is_default, - in boolean is_writable); - - oneway void ping (); - - /// This should conceivably not be oneway. - /// I'm worried about the server blocking waiting for - /// busy clients. - - oneway void update_listener (in ConfigDatabase database, - in string db_address, - in unsigned long old_cnxn, - in string where, - in unsigned long new_cnxn); - - oneway void invalidate_cached_values (in ConfigDatabase database, - in KeyList keys); - - // Called when a new daemon starts up, and we need to drop caches - // in case the new daemon has a different default database - oneway void drop_all_caches (); -}; - -// Sync this with GConfErrNo in gconf.h, when it makes sense -// (e.g. G_CONF_NO_SERVER doesn't make sense here) - -enum ConfigErrorType { - ConfigFailed, ConfigNoPermission, - ConfigBadAddress, ConfigBadKey, - ConfigParseError, ConfigCorrupt, - ConfigTypeMismatch, ConfigIsDir, ConfigIsKey, - ConfigOverridden, ConfigLockFailed, - ConfigNoWritableDatabase, ConfigInShutdown -}; - -exception ConfigException { - ConfigErrorType err_no; - string message; -}; - -interface ConfigDatabase { - typedef sequence KeyList; - typedef sequence ValueList; - typedef sequence IsDefaultList; - typedef sequence IsWritableList; - - // "where" is the portion of the namespace to listen to - // Returns a connection ID for removal - unsigned long add_listener(in string where, - in ConfigListener who); - - void remove_listener(in unsigned long cnxn); - - ConfigValue lookup(in string key) - raises (ConfigException); - - // separate from lookup for efficiency - ConfigValue lookup_with_locale(in string key, - in string locale, - in boolean use_schema_default, - out boolean value_is_default, - out boolean value_is_writable) - raises (ConfigException); - - // syntactic sugar, semi-hack: should maybe use a get_metainfo() - // function (which we should have anyway) - ConfigValue lookup_default_value(in string key, - in string locale) - raises (ConfigException); - - // Grab lots of values at once - void batch_lookup (in KeyList keys, - in string locale, - out ValueList values, - out IsDefaultList is_defaults, - out IsWritableList is_writables) - raises (ConfigException); - - void set(in string key, in ConfigValue value) - raises (ConfigException); - - void unset(in string key) - raises (ConfigException); - - void unset_with_locale(in string key, in string locale) - raises (ConfigException); - - // Setting to InvalidVal does an unset - void batch_change(in string locale, // only used for unsets - in KeyList keys, - in ValueList values) - raises (ConfigException); - - boolean dir_exists(in string dir) - raises (ConfigException); - - void remove_dir(in string dir) - raises (ConfigException); - - void all_entries(in string dir, - in string locale, - out KeyList keys, - out ValueList values, - out IsDefaultList is_defaults, - out IsWritableList is_writables) - raises (ConfigException); - - void all_dirs(in string dir, - out KeyList subdirs) - raises (ConfigException); - - // if first arg is a key, second arg should be a key pointing - // to a schema. - // if first arg is a dir, second arg should be a key pointing - // to a dir full of schemas. - void set_schema(in string key, - in string schema_key) - raises (ConfigException); - - void sync() - raises (ConfigException); - - void clear_cache(); - - void synchronous_sync() - raises (ConfigException); -}; - -interface ConfigDatabase2 : ConfigDatabase { - - typedef sequence SchemaNameList; - - // Fixed version of lookup_with_locale that gets - // all the relevant information - ConfigValue lookup_with_schema_name (in string key, - in string locale, - in boolean use_schema_default, - out string schema_name, - out boolean value_is_default, - out boolean value_is_writable) - raises (ConfigException); - - void all_entries_with_schema_name (in string dir, - in string locale, - out KeyList keys, - out ValueList values, - out SchemaNameList schema_names, - out IsDefaultList is_defaults, - out IsWritableList is_writables) - raises (ConfigException); -}; - -interface ConfigServer { - - ConfigDatabase get_default_database (); - - // Use a specific address instead of the default database; - // invalid_context returned on failure. - ConfigDatabase get_database (in string address); - - void add_client (in ConfigListener client); - void remove_client (in ConfigListener client); - - long ping(); - - void shutdown(); -}; diff -Naurp GConf-1.0.9/gconf/Makefile.in GConf-1.0.9-cygwin/gconf/Makefile.in --- GConf-1.0.9/gconf/Makefile.in 2002-03-15 04:18:42.000000000 +0000 +++ GConf-1.0.9-cygwin/gconf/Makefile.in 2003-02-07 15:04:36.000000000 +0000 @@ -66,7 +66,7 @@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ -CFLAGS = @CFLAGS@ +CFLAGS = @CFLAGS@ $(DLL_CFLAGS) CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ DATADIRNAME = @DATADIRNAME@ @@ -168,7 +168,7 @@ lib_LTLIBRARIES = libgconf-1.la bin_PROGRAMS = gconfd-1 gconftool-1 gconf-sanity-check-1 -CORBA_SOURCES = GConf-common.c GConf-skels.c GConf-stubs.c GConf.h +CORBA_SOURCES = GConf-idl-common.c GConf-idl-skels.c GConf-idl-stubs.c GConf-idl.h BUILT_SOURCES = $(CORBA_SOURCES) @@ -192,7 +192,7 @@ gconfd_1_SOURCES = \ gconfd.c -gconfd_1_LDADD = $(EFENCE) $(INTLLIBS) $(OAF_LIBS) $(GLIB_LIBS) libgconf-$(MAJOR_VERSION).la +gconfd_1_LDADD = $(EFENCE) libgconf-$(MAJOR_VERSION).la $(INTLLIBS) $(OAF_LIBS) $(GLIB_LIBS) -lextras # gconf_testclient_SOURCES = \ # testclient.c @@ -203,13 +203,13 @@ gconftool_1_SOURCES = \ gconftool.c -gconftool_1_LDADD = $(EFENCE) $(INTLLIBS) $(OAF_LIBS) $(GLIB_LIBS) $(ORBIT_LIBS) $(POPT_LIBS) $(XML_LIBS) libgconf-$(MAJOR_VERSION).la +gconftool_1_LDADD = $(EFENCE) libgconf-$(MAJOR_VERSION).la $(INTLLIBS) $(OAF_LIBS) $(GLIB_LIBS) $(ORBIT_LIBS) $(POPT_LIBS) $(XML_LIBS) gconf_sanity_check_1_SOURCES = \ gconf-sanity-check.c -gconf_sanity_check_1_LDADD = $(EFENCE) $(INTLLIBS) $(OAF_LIBS) $(GLIB_LIBS) $(ORBIT_LIBS) $(POPT_LIBS) $(XML_LIBS) libgconf-$(MAJOR_VERSION).la +gconf_sanity_check_1_LDADD = $(EFENCE) $(INTLLIBS) $(OAF_LIBS) $(GLIB_LIBS) $(ORBIT_LIBS) $(POPT_LIBS) $(XML_LIBS) libgconf-$(MAJOR_VERSION).la -lextras libgconf_1_la_SOURCES = \ gconf-internals.c \ @@ -234,7 +234,7 @@ libgconf_1_la_LDFLAGS = -version-info $( libgconf_1_la_LIBADD = $(INTLLIBS) $(OAF_LIBS) $(GLIB_LIBS) -EXTRA_DIST = GConf.idl default.path.in +EXTRA_DIST = GConf-idl.idl default.path.in mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = default.path @@ -247,7 +247,7 @@ libgconf_1_la_DEPENDENCIES = libgconf_1_la_OBJECTS = gconf-internals.lo gconf-backend.lo \ gconf-changeset.lo gconf-error.lo gconf-glib.lo gconf-listeners.lo \ gconf-locale.lo gconf-schema.lo gconf-sources.lo gconf-value.lo \ -gconf.lo GConf-common.lo GConf-skels.lo GConf-stubs.lo +gconf.lo GConf-idl-common.lo GConf-idl-skels.lo GConf-idl-stubs.lo bin_PROGRAMS = gconfd-1$(EXEEXT) gconftool-1$(EXEEXT) \ gconf-sanity-check-1$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) @@ -306,6 +306,9 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIE if test -f $$p; then \ echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \ $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \ + dll=$$(echo $$p | sed 's,^lib\(.*\).la$$,cyg\1.dll,'); \ + echo "install -D --mode=755 .libs/$$dll $(DESTDIR)$(bindir)/$$dll"; \ + install -D --mode=755 .libs/$$dll $(DESTDIR)$(bindir)/$$dll; \ else :; fi; \ done @@ -313,6 +316,8 @@ uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) list='$(lib_LTLIBRARIES)'; for p in $$list; do \ $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \ + dll=$$(echo $$p | sed 's,^lib\(.*\).la$$,cyg\1.dll,'); \ + rm -f $(DESTDIR)$(bindir)/$$dll; \ done .c.o: @@ -359,8 +364,10 @@ distclean-libtool: maintainer-clean-libtool: +libgconf-1.la: DLL_CFLAGS = -DLIBGCONF_BUILD_DLL libgconf-1.la: $(libgconf_1_la_OBJECTS) $(libgconf_1_la_DEPENDENCIES) $(LINK) -rpath $(libdir) $(libgconf_1_la_LDFLAGS) $(libgconf_1_la_OBJECTS) $(libgconf_1_la_LIBADD) $(LIBS) + cd .libs && PREFIX=$(prefix) sh ../../mkdll.sh $@ $(libgconf_1_la_LIBADD) $(LIBS) -lextras mostlyclean-binPROGRAMS: @@ -374,7 +381,7 @@ maintainer-clean-binPROGRAMS: install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) $(mkinstalldirs) $(DESTDIR)$(bindir) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ + @list='$(subst .exe,,$(bin_PROGRAMS))'; for p in $$list; do \ if test -f $$p; then \ echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ @@ -605,8 +612,8 @@ maintainer-clean dist-hook: cd $(distdir) ; rm -f $(BUILT_SOURCES) -$(CORBA_SOURCES): $(srcdir)/GConf.idl - orbit-idl $(srcdir)/GConf.idl +$(CORBA_SOURCES): $(srcdir)/GConf-idl.idl + orbit-idl $(srcdir)/GConf-idl.idl $(gconfd_1_OBJECTS) $(libgconf_1_la_OBJECTS): $(CORBA_SOURCES) @@ -616,6 +623,7 @@ install-exec-local: install-data-local: -mkdir -p $(DESTDIR)$(sysconfdir)/gconf/$(MAJOR_VERSION) $(INSTALL_DATA) default.path $(DESTDIR)$(sysconfdir)/gconf/$(MAJOR_VERSION)/path + -$(LN_S) $(DESTDIR)$(sysconfdir)/gconf/$(MAJOR_VERSION)/path $(DESTDIR)$(sysconfdir)/gconf/path # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Naurp GConf-1.0.9/gconf/gconf-backend.c GConf-1.0.9-cygwin/gconf/gconf-backend.c --- GConf-1.0.9/gconf/gconf-backend.c 2001-12-04 22:09:44.000000000 +0000 +++ GConf-1.0.9-cygwin/gconf/gconf-backend.c 2003-02-07 14:58:50.000000000 +0000 @@ -130,7 +130,11 @@ gconf_backend_file(const gchar* address) if (back == NULL) return NULL; +#ifndef __CYGWIN__ file = g_strconcat("gconfbackend-", back, NULL); +#else + file = g_strconcat("cyggconfbackend-", back, ".dll", NULL); +#endif retval = g_module_build_path(GCONF_BACKEND_DIR, file); diff -Naurp GConf-1.0.9/gconf/gconf-database.h GConf-1.0.9-cygwin/gconf/gconf-database.h --- GConf-1.0.9/gconf/gconf-database.h 2001-07-11 22:58:26.000000000 +0100 +++ GConf-1.0.9-cygwin/gconf/gconf-database.h 2002-11-06 11:19:06.000000000 +0000 @@ -27,7 +27,11 @@ extern "C" { #endif /* __cplusplus */ #include "gconf-error.h" +#ifndef __CYGWIN__ #include "GConf.h" +#else +#include "GConf-idl.h" +#endif #include "gconf-listeners.h" #include "gconf-sources.h" #include "gconf-internals.h" diff -Naurp GConf-1.0.9/gconf/gconf-internals.c GConf-1.0.9-cygwin/gconf/gconf-internals.c --- GConf-1.0.9/gconf/gconf-internals.c 2002-03-15 03:39:52.000000000 +0000 +++ GConf-1.0.9-cygwin/gconf/gconf-internals.c 2003-02-07 15:50:24.000000000 +0000 @@ -38,6 +38,11 @@ #include #include +#ifdef __CYGWIN__ +#include +#include +#endif + #define g_utf8_skip gconf_g_utf8_skip typedef void (* GSpawnChildSetupFunc) (gpointer user_data); @@ -2332,15 +2337,6 @@ struct _GConfLock { int lock_fd; }; -static void -gconf_lock_destroy (GConfLock* lock) -{ - if (lock->lock_fd >= 0) - close (lock->lock_fd); - g_free (lock->iorfile); - g_free (lock->lock_directory); - g_free (lock); -} static void set_close_on_exec (int fd) @@ -2365,37 +2361,102 @@ static int lock_reg (int fd, int cmd, int type, off_t offset, int whence, off_t len) { struct flock lock; - + +#ifdef __CYGWIN__ + if (check_is_nt()) { +#endif + lock.l_type = type; /* F_RDLCK, F_WRLCK, F_UNLCK */ lock.l_start = offset; /* byte offset relative to whence */ lock.l_whence = whence; /* SEEK_SET, SEEK_CUR, SEEK_END */ lock.l_len = len; /* #bytes, 0 for eof */ return fcntl (fd, cmd, &lock); -} +#ifdef __CYGWIN__ + } + else /* Win9x/Me locking is useless, so we try to manage with no locks */ + return 0; +#endif + + } +#ifndef __CYGWIN__ +#define lock_entire_file(fd) \ + lock_reg ((fd), F_SETLK, F_WRLCK, 0, SEEK_SET, 0) +#else #define lock_entire_file(fd) \ + lock_reg ((fd), F_SETLK, F_RDLCK, 0, SEEK_SET, 0) +#define ex_lock_entire_file(fd) \ lock_reg ((fd), F_SETLK, F_WRLCK, 0, SEEK_SET, 0) +#endif + #define unlock_entire_file(fd) \ lock_reg ((fd), F_SETLK, F_UNLCK, 0, SEEK_SET, 0) +static void +gconf_lock_destroy (GConfLock* lock) +{ + if (lock->lock_fd >= 0) { +#ifdef __CYGWIN__ + unlock_entire_file(lock->lock_fd); +#endif + close (lock->lock_fd); + } + g_free (lock->iorfile); + g_free (lock->lock_directory); + g_free (lock); +} + static gboolean file_locked_by_someone_else (int fd) { struct flock lock; +#ifndef __CYGWIN__ lock.l_type = F_WRLCK; +#else + lock.l_type = F_RDLCK; +#endif lock.l_start = 0; lock.l_whence = SEEK_SET; lock.l_len = 0; +#ifndef __CYGWIN__ if (fcntl (fd, F_GETLK, &lock) < 0) return TRUE; /* pretend it's locked */ - if (lock.l_type == F_UNLCK) return FALSE; /* we have the lock */ else return TRUE; /* someone else has it */ +#else + if (!check_is_nt()) /* win9x/Me has no useful locks */ + return FALSE; + lock.l_type = F_RDLCK; + if (fcntl (fd, F_SETLK, &lock) < 0) { + /* already locked - could be us or someone else */ + lock.l_type = F_UNLCK; + if (fcntl (fd, F_SETLK, &lock) < 0) { + /* unlock failed - someone else has lock */ + return TRUE; + } + else { + /* we must have already had a lock - replace our lock */ + lock.l_type = F_RDLCK; + if (fcntl (fd, F_SETLK, &lock) < 0) { + /* damn - someone else nipped in here */ + return TRUE; + } + /* we have the lock */ + return FALSE; + } + } + else { + /* we got a lock - so none was held */ + lock.l_type = F_UNLCK; + fcntl(fd, F_SETLK, &lock); + return FALSE; + } +#endif } static char* @@ -2423,6 +2484,14 @@ create_new_locked_file (const gchar *dir got_lock = FALSE; uniquefile = unique_filename (directory); + +#ifdef __CYGWIN__ + if(!check_ntfs(filename)) { + /* At least windows can emulate this correctly on fat/fat32 */ + fd = open (filename, O_CREAT | O_EXCL | O_WRONLY); + return fd; + } +#endif fd = open (uniquefile, O_WRONLY | O_CREAT, 0700); @@ -2476,8 +2545,13 @@ create_new_locked_file (const gchar *dir if (!got_lock) { - if (fd >= 0) + if (fd >= 0) { +#ifdef __CYGWIN__ + unlock_entire_file(fd); +#endif close (fd); + } + fd = -1; } @@ -2665,6 +2740,7 @@ gconf_get_lock_or_current_holder (const s = g_strdup_printf ("%u:", (guint) getpid ()); +#ifndef __CYGWIN__ retval = write (lock->lock_fd, s, strlen (s)); g_free (s); @@ -2679,6 +2755,29 @@ gconf_get_lock_or_current_holder (const retval = write (lock->lock_fd, ior, strlen (ior)); } +#else + /* Cygwin does not have POSIX semantics for locks. + * We need to remove the shared lock and then get an exclusive lock + * to write. Then remove the exclusive lock and replace the shared lock. + * This gives two opportunities for the lock to be stolen - but + * there's nothing we can do about that. + */ + ior = gconf_get_daemon_ior(); + + unlock_entire_file(lock->lock_fd); + ex_lock_entire_file(lock->lock_fd); + retval = write (lock->lock_fd, s, strlen (s)); + if (retval >= 0) + { + if (ior == NULL) + retval = write (lock->lock_fd, "none", 4); + else + retval = write (lock->lock_fd, ior, strlen (ior)); + } + unlock_entire_file(lock->lock_fd); + lock_entire_file(lock->lock_fd); +#endif + if (retval < 0) { gconf_set_error (err, @@ -2729,6 +2828,38 @@ gconf_release_lock (GConfLock *lock, goto out; } +#ifdef __CYGWIN__ + /* Win 9x/Me just remove the file and directory */ + if (!check_is_nt()) { + close(lock->lock_fd); + lock->lock_fd = -1; + if (unlink (lock->iorfile) < 0) + { + g_set_error (err, + GCONF_ERROR, + GCONF_ERROR_FAILED, + _("Failed to remove lock file `%s': %s"), + lock->iorfile, + g_strerror (errno)); + goto out9x; + } + if (rmdir (lock->lock_directory) < 0) + { + g_set_error (err, + GCONF_ERROR, + GCONF_ERROR_FAILED, + _("Failed to remove lock directory `%s': %s"), + lock->lock_directory, + g_strerror (errno)); + goto out9x; + } + retval = TRUE; +out9x: + gconf_lock_destroy (lock); + return retval; + } +#endif + /* To avoid annoying .nfs3435314513453145 files on unlink, which keep us * from removing the lock directory, we don't want to hold the * lockfile open after removing all links to it. But we can't @@ -2740,6 +2871,9 @@ gconf_release_lock (GConfLock *lock, uniquefile = unique_filename (lock->lock_directory); +#ifdef __CYGWIN__ + if (check_ntfs(lock->iorfile)) +#endif if (link (lock->iorfile, uniquefile) < 0) { g_set_error (err, @@ -2770,6 +2904,9 @@ gconf_release_lock (GConfLock *lock, lock->lock_fd = -1; } +#ifdef __CYGWIN__ + if (check_ntfs(lock->iorfile)) +#endif /* Now remove the temporary link we used to avoid .nfs351453 garbage */ if (unlink (uniquefile) < 0) { diff -Naurp GConf-1.0.9/gconf/gconf-internals.h GConf-1.0.9-cygwin/gconf/gconf-internals.h --- GConf-1.0.9/gconf/gconf-internals.h 2001-11-27 21:28:28.000000000 +0000 +++ GConf-1.0.9-cygwin/gconf/gconf-internals.h 2002-11-06 11:19:06.000000000 +0000 @@ -29,7 +29,11 @@ #include #include "gconf-error.h" #include "gconf-value.h" +#ifndef __CYGWIN__ #include "GConf.h" +#else +#include "GConf-idl.h" +#endif gchar* gconf_key_directory (const gchar* key); const gchar* gconf_key_key (const gchar* key); diff -Naurp GConf-1.0.9/gconf/gconf-sanity-check.c GConf-1.0.9-cygwin/gconf/gconf-sanity-check.c --- GConf-1.0.9/gconf/gconf-sanity-check.c 2002-03-15 03:40:22.000000000 +0000 +++ GConf-1.0.9-cygwin/gconf/gconf-sanity-check.c 2003-02-05 22:12:06.000000000 +0000 @@ -30,6 +30,12 @@ #include #include +#ifdef __CYGWIN__ +#include +#include "gconf-backend.h" +#endif + + struct poptOption options[] = { { NULL, @@ -94,17 +103,35 @@ static int lock_reg (int fd, int cmd, int type, off_t offset, int whence, off_t len) { struct flock lock; - + +#ifdef __CYGWIN__ + if (check_is_nt()) { +#endif + lock.l_type = type; /* F_RDLCK, F_WRLCK, F_UNLCK */ lock.l_start = offset; /* byte offset relative to whence */ lock.l_whence = whence; /* SEEK_SET, SEEK_CUR, SEEK_END */ lock.l_len = len; /* #bytes, 0 for eof */ return fcntl (fd, cmd, &lock); -} +#ifdef __CYGWIN__ + } + else /* Win9x/Me locking is useless, so we try to manage with no locks */ + return 0; +#endif + + } +#ifndef __CYGWIN__ #define lock_entire_file(fd) \ lock_reg ((fd), F_SETLK, F_WRLCK, 0, SEEK_SET, 0) +#else +#define lock_entire_file(fd) \ + lock_reg ((fd), F_SETLK, F_RDLCK, 0, SEEK_SET, 0) +#define ex_lock_entire_file(fd) \ + lock_reg ((fd), F_SETLK, F_WRLCK, 0, SEEK_SET, 0) +#endif + #define unlock_entire_file(fd) \ lock_reg ((fd), F_SETLK, F_UNLCK, 0, SEEK_SET, 0) diff -Naurp GConf-1.0.9/gconf/gconf.c GConf-1.0.9-cygwin/gconf/gconf.c --- GConf-1.0.9/gconf/gconf.c 2001-10-17 04:43:04.000000000 +0100 +++ GConf-1.0.9-cygwin/gconf/gconf.c 2002-11-06 11:19:06.000000000 +0000 @@ -18,7 +18,11 @@ */ #include +#ifndef __CYGWIN__ #include "GConf.h" +#else +#include "GConf-idl.h" +#endif #include "gconf.h" #include "gconf-internals.h" #include "gconf-sources.h" diff -Naurp GConf-1.0.9/gconf/gconfd.c GConf-1.0.9-cygwin/gconf/gconfd.c --- GConf-1.0.9/gconf/gconfd.c 2001-12-04 22:09:44.000000000 +0000 +++ GConf-1.0.9-cygwin/gconf/gconfd.c 2003-02-07 15:02:56.000000000 +0000 @@ -38,7 +38,11 @@ #include "gconf-database.h" #include +#ifndef __CYGWIN__ #include "GConf.h" +#else +#include "GConf-idl.h" +#endif #include #include @@ -374,6 +378,13 @@ signal_handler (int signo) gconf_log(GCL_ERR, _("Received signal %d, dumping core. Please report a GConf bug."), signo); +#ifdef __CYGWIN__ + if (!check_is_nt() && daemon_lock) { + /* We must try to remove the lock file before aborting on win 9x/Me */ + GError *err = NULL; + gconf_release_lock (daemon_lock, &err); + } +#endif abort (); break; @@ -511,7 +522,18 @@ main(int argc, char** argv) /* Logs */ username = g_get_user_name(); + +#ifndef __CYGWIN__ + /* this allows only 4 chars for pid; */ len = strlen(username) + strlen("gconfd") + 15; +#else + /* but cygwin on Win9x/Me routinely gives pids of 8 chars. + * I don't know what the max pid length is, + * so for cygwin, we play safe by leaving room for 10 character pid. + */ + len = strlen(username) + strlen("gconfd") + 21; +#endif + logname = g_malloc(len); g_snprintf(logname, len, "gconfd (%s-%u)", username, (guint)getpid()); diff -Naurp GConf-1.0.9/gconf/gconfd.h GConf-1.0.9-cygwin/gconf/gconfd.h --- GConf-1.0.9/gconf/gconfd.h 2001-03-06 23:47:34.000000000 +0000 +++ GConf-1.0.9-cygwin/gconf/gconfd.h 2002-11-06 11:19:06.000000000 +0000 @@ -27,7 +27,11 @@ extern "C" { #endif /* __cplusplus */ #include "gconf-error.h" +#ifndef __CYGWIN__ #include "GConf.h" +#else +#include "GConf-idl.h" +#endif #include "gconf-database.h" PortableServer_POA gconf_get_poa (); diff -Naurp GConf-1.0.9/ltmain.sh GConf-1.0.9-cygwin/ltmain.sh --- GConf-1.0.9/ltmain.sh 2002-03-06 21:14:22.000000000 +0000 +++ GConf-1.0.9-cygwin/ltmain.sh 2003-02-05 09:51:30.000000000 +0000 @@ -3518,7 +3518,7 @@ static const void *lt_preloaded_setup() esac # test for cygwin because mv fails w/o .exe extensions case $host in - *cygwin*) exeext=.exe ;; + *cygwin*) exeext=.exe ; ln -s $objdir/$output.exe $output.exe;; *) exeext= ;; esac $rm $output diff -Naurp GConf-1.0.9/mkdll.sh GConf-1.0.9-cygwin/mkdll.sh --- GConf-1.0.9/mkdll.sh 1970-01-01 00:00:00.000000000 +0000 +++ GConf-1.0.9-cygwin/mkdll.sh 2002-11-06 11:19:06.000000000 +0000 @@ -0,0 +1,59 @@ +#!/bin/sh + +# script to generate dll from libtool-generated static archive (.la file) +# invoke in .libs directory with: +# mkdll.sh +# eg: +# mkdll.sh libtest.la -L/usr/local/lib -llocal + +# defaults to using gcc for libraries written in C. +# set the CC env var to use a different compiler driver: eg +# export CC=g++ +# for C++ libraries + +# defaults to using /usr/local as the installation PREFIX +# override this by setting the PREFIX env var: eg +# export PREFIX=/opt/gnome + +archive=$1 +module=$(echo $(basename $archive) | sed -e 's,^lib\(.*\).la$,\1,') + +shift +dependency_libs="$@" + +test -n "$CC" || CC=gcc +test -n "$PREFIX" || prefix=/usr/local + +# get the static library name +old_lib=$(sed -ne '/^old_library=/ s,^old_library='\''\(.*\)'\''.*$,\1,p' $archive) + +# update the archive with the dll and import lib name. +if sed -e 's,^dlname='\'\'',dlname='\'cyg${module}.dll\'',;s,^library_names='\'\'',library_names='\'lib${module}.dll.a\'',' $archive > ${archive}.tmp +then cat ${archive}.tmp > ${archive} +fi +rm -f ${archive}.tmp + +# update the install archive if it exists +if [ -f ${archive}i ] ; then + if sed -e 's,^dlname='\'\'',dlname='\'../bin/cyg${module}.dll\'',;s,^library_names='\'\'',library_names='\'lib${module}.dll.a\'',' ${archive}i > ${archive}i.tmp + then cat ${archive}i.tmp > ${archive}i + fi + rm -f ${archive}i.tmp +fi + +# update the archive with the install dir if not already set +libdir=${prefix}/lib +if sed -e '/^libdir=/ s,='\'\'',='\'$libdir\'',' $archive > ${archive}.tmp +then cat ${archive}.tmp > $archive +fi +rm -f ${archive}.tmp + + +# report the link command to stdout +eval echo $CC -shared -o cyg${module}.dll -Wl,--out-implib=lib${module}.dll.a \ +-Wl,--export-all-symbols -Wl,--whole-archive $old_lib -Wl,--no-whole-archive ${dependency_libs} + +# do the link command +eval $CC -shared -o cyg${module}.dll -Wl,--out-implib=lib${module}.dll.a -Wl,--export-all-symbols \ +-Wl,--whole-archive $old_lib -Wl,--no-whole-archive ${dependency_libs} + diff -Naurp GConf-1.0.9/wrappers/gtk/Makefile.in GConf-1.0.9-cygwin/wrappers/gtk/Makefile.in --- GConf-1.0.9/wrappers/gtk/Makefile.in 2002-03-15 04:18:44.000000000 +0000 +++ GConf-1.0.9-cygwin/wrappers/gtk/Makefile.in 2002-11-06 11:19:06.000000000 +0000 @@ -66,7 +66,7 @@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ -CFLAGS = @CFLAGS@ +CFLAGS = @CFLAGS@ $(DLL_CFLAGS) CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ DATADIRNAME = @DATADIRNAME@ @@ -160,8 +160,10 @@ noinst_PROGRAMS = testgconfclient testgconfclient_SOURCES = testgconfclient.c -testgconfclient_DEPS = $(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la libgconf-gtk-$(MAJOR_VERSION).la -testgconfclient_LDADD = $(INTLLIBS) $(ORBIT_LIBS) $(GTK_LIBS) $(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la $(top_builddir)/wrappers/gtk/libgconf-gtk-$(MAJOR_VERSION).la +#testgconfclient_DEPS = $(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la libgconf-gtk-$(MAJOR_VERSION).la +testgconfclient_DEPS = libgconf-gtk-$(MAJOR_VERSION).la $(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la +#testgconfclient_LDADD = $(INTLLIBS) $(ORBIT_LIBS) $(GTK_LIBS) $(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la $(top_builddir)/wrappers/gtk/libgconf-gtk-$(MAJOR_VERSION).la +testgconfclient_LDADD = $(INTLLIBS) $(ORBIT_LIBS) $(GTK_LIBS) $(top_builddir)/wrappers/gtk/libgconf-gtk-$(MAJOR_VERSION).la $(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../../config.h CONFIG_CLEAN_FILES = @@ -223,6 +225,9 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIE if test -f $$p; then \ echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \ $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \ + dll=$$(echo $$p | sed 's,^lib\(.*\).la$$,cyg\1.dll,'); \ + echo "install -D --mode=755 .libs/$$dll $(DESTDIR)$(bindir)/$$dll"; \ + install -D --mode=755 .libs/$$dll $(DESTDIR)$(bindir)/$$dll; \ else :; fi; \ done @@ -230,6 +235,8 @@ uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) list='$(lib_LTLIBRARIES)'; for p in $$list; do \ $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \ + dll=$$(echo $$p | sed 's,^lib\(.*\).la$$,cyg\1.dll,'); \ + rm -f $(DESTDIR)$(bindir)/$$dll; \ done .c.o: @@ -276,8 +283,10 @@ distclean-libtool: maintainer-clean-libtool: +libgconf-gtk-1.la: DLL_CFLAGS = -DLIBGCONF_GTK_BUILD_DLL libgconf-gtk-1.la: $(libgconf_gtk_1_la_OBJECTS) $(libgconf_gtk_1_la_DEPENDENCIES) $(LINK) -rpath $(libdir) $(libgconf_gtk_1_la_LDFLAGS) $(libgconf_gtk_1_la_OBJECTS) $(libgconf_gtk_1_la_LIBADD) $(LIBS) + cd .libs && sh ../../../mkdll.sh $@ ../../../gconf/.libs/libgconf-1.dll.a $(libgconf_gtk_1_la_LIBADD) $(LIBS) mostlyclean-noinstPROGRAMS: