diff options
-rw-r--r-- | ChangeLog | 16 | ||||
-rw-r--r-- | README.win32 | 71 | ||||
-rw-r--r-- | build_shared/Makefile_build.am_fragment | 21 | ||||
-rw-r--r-- | build_shared/Makefile_gensrc.am_fragment | 4 | ||||
-rw-r--r-- | configure.in | 3 | ||||
-rw-r--r-- | tools/extra_defs_gen/Makefile.am | 2 | ||||
-rw-r--r-- | tools/m4/base.m4 | 36 |
7 files changed, 110 insertions, 43 deletions
@@ -1,3 +1,19 @@ +2003-03-04 Cedric Gustin <cgustin@ibelgique.com> + + * configure.in : Removed libstdc++ in LDFLAGS on win32. Latest + libtool is taking care of it. + * build_shared/Makefile_build.am_fragment, + tools/extra_defs_gen/Makefile.am : Added + --export-all-symbols linker flag on win32 (required by latest + libtool to build DLLs). + * build_shared/Makefile_gensrc.am_fragment : Modifiy rule that + builds wrap_init.cc. wrap_init.cc now contains reference to all + objects, event on win32. #ifdefs are included when needed. + * README.win32 : updated for version 2.2. Added list of missing + methods and signals on win32 + * tools/m4/base.m4 : Added _GTKMMPROC_SIGNAL_H_AND_CC macro. + + 2003-03-14 Martin Schulze <MHL.Schulze@t-online.de> * docs/internal/using_gtkmmproc.txt: Correct name of diff --git a/README.win32 b/README.win32 index 7543a800..45575151 100644 --- a/README.win32 +++ b/README.win32 @@ -3,7 +3,7 @@ Building gtkmm on Win32 Currently, only the mingw (native win32) gcc compiler is supported through the gnu autotools (automake, autoconf, libtool). As explicitly -stated in the gtk+ for win32 distribution (http://www.gimp.org/win32), +stated in the gtk+ for win32 distribution (http://www.gimp.org/win32/), the gcc compiler provided by the cygwin distribution should not be used to build gtk+/gtkmm libraries and/or applications (see the README.win32 that comes with the gtk+ DLLs). This MIGHT cause @@ -11,12 +11,10 @@ conflicts between the cygwin and msvcrt runtime environments. 1. Mingw -The mingw distribution which has been tested with this release is the following +The mingw distribution which has been tested with this release is the +following : -MinGW-1.1 as the base distribution plus the update packages : -mingw-runtime-1.3 -binutils-2_12_90-20020518-1 -w32api-1.4-2 +* MinGW-2.0 as the base distribution. The bare mingw distribution does not provide the necessary tools (sh, perl, m4 , autoconf, automake, ..) to run the provided configure script "as is". One @@ -28,7 +26,7 @@ that were mentioned above) with mingw by making sure that the mingw tools (gcc, ld, dlltool, ..) are called first. First, make sure that you have working distribution of the native port -of both libsigc++-1.1.x gtk+-2.0 on win32 (see +of both libsigc++-1.2.x and gtk+-2.0 on win32 (see http://www.gimp.org/win32). If you can't compile a simple gtk+ example using gcc and `pkg-config --cflags --libs`, you should not even think about trying to compile gtkmm, let alone using precompiled libgtkmm @@ -49,9 +47,9 @@ Because Dll support with libtool on the mingw32 platform is fairly recent, it requires developement version of autoconf/automake and libtool, as provided by the autotools-devel package in the cygwin distribution. Currently, this means -libtool : 1.4.2 -automake : 1.5b -autoconf : 2.52 +libtool : 1.4e +automake : 1.7.2 +autoconf : 2.57 IMPORTANT WARNING : the libtool scripts contained in the source distribution of the library might not be recent enough to support dll creation. It will @@ -63,7 +61,7 @@ of libtool that is being used when compiling libsigc++ on win32 by calling libtool --version -once it has be created by the configure script. +once it has been created by the configure script. If libtool is too old, it will be necessary to overwrite it using @@ -81,12 +79,53 @@ before running the configure script again. In the future, a specially tuned source distribution along with a binary package might be provided for mingw. -3. Oher compilers (MSVC, borland) +2. Other compilers (MSVC, borland) -While some compiler options are present in sigc++/config/sigcconfig.h.in, -other compilers are currently not supported but anyone is free to give it +While some compiler options are present in the configuration files, +other compilers are currently not supported, but everyone is free to give it a try ! - - +3. Gtkmm methods and signals not available on win32 + +Although is the win32 port of gtk+-2 is rapidly catching up with it +unix counterpart, some gtkmm methods and signals are still missing on +win32. These are + +* Implemented in the C library but not DLL exported + +Glibmm : + ThreadPool::get_num_unused_threads + ThreadPool::stop_unused_threads + +Atkmm : + Component::get_layer + Component::get_mdi_zorder + +Gdkmm : + Screen::list_visuals + Screen::make_display_name + Screen::get_width_mm + Screen::get_height_mm + Screen::broadcast_client_message + Display::get_drag_protocol + DisplayManager::get_type (DisplayManager is currently disabled) + +Gtkmm : + Clipboard::get_type (Clipboard is currently disabled) + TreeRowReference::get_type (TreeRowReference is currently disabled) + Widget::get_clipboard (because Clipboard is currently disabled) + Window::get_skip_taskbar_hint + +* Not Implemented in the C library + +Atkmm : + Action::get_localized_name + Object::add_relationship + Object::remove_relationship + Object::active_descendant_changed (signal) + Text::text_attributes_changed + +Gtkmm : + Gtk::Plug (not available on win32) + Gtk::Socket (not available on win32) diff --git a/build_shared/Makefile_build.am_fragment b/build_shared/Makefile_build.am_fragment index 12245ffb..8bac39cd 100644 --- a/build_shared/Makefile_build.am_fragment +++ b/build_shared/Makefile_build.am_fragment @@ -36,7 +36,7 @@ no_undefined = win32_dlls_extra_libs = endif -common_ldflags = -version-info $(LIBGLIBMM_SO_VERSION) $(no_undefined) $(LIBSTDCPP_LIBS) +common_ldflags = -version-info $(LIBGLIBMM_SO_VERSION) $(no_undefined) all_includes = -I$(top_builddir)/glib -I$(top_srcdir)/glib \ -I$(top_builddir)/pango -I$(top_srcdir)/pango \ @@ -74,22 +74,3 @@ endif maintainer-clean-local: (cd $(srcdir) && rm -f $(files_built_all_cc) $(files_built_all_h)) -if OS_WIN32 -libtool_import_libs = $(lib_LTLIBRARIES:.la=.dll.a) -install-libtool-import-lib: - @for import_lib in $(libtool_import_libs); do \ - $(INSTALL) .libs/$$import_lib $(DESTDIR)$(libdir); \ - done -uninstall-libtool-import-lib: - @for import_lib in $(libtool_import_libs); do \ - -rm $(DESTDIR)$(libdir)/$$import_lib; \ - done -else -install-libtool-import-lib: -uninstall-libtool-import-lib: -endif - -install-data-local: install-libtool-import-lib - -uninstall-local: uninstall-libtool-import-lib - diff --git a/build_shared/Makefile_gensrc.am_fragment b/build_shared/Makefile_gensrc.am_fragment index ad19275d..be2d4c8b 100644 --- a/build_shared/Makefile_gensrc.am_fragment +++ b/build_shared/Makefile_gensrc.am_fragment @@ -45,8 +45,8 @@ $(stamp_dir)/stamp-%: %.hg %.ccg $(gmmproc_in) $(tools_m4) $(tools_pm) $(files_d $(run_gmmproc) $(notdir $*) $(srcdir) $(gensrc_destdir) @echo 'timestamp' >$@ -$(gensrc_destdir)/wrap_init.cc: $(gen_wrap_init_in) $(files_hg) - $(run_gen_wrap_init) $(files_hg:%.hg=$(srcdir)/%.hg) >$@ +$(gensrc_destdir)/wrap_init.cc: $(gen_wrap_init_in) $(files_all_hg) + $(run_gen_wrap_init) $(files_all_hg:%.hg=$(srcdir)/%.hg) >$@ create-stamp-dir: @(test -d $(stamp_dir) || mkdir $(stamp_dir)) diff --git a/configure.in b/configure.in index 980b3ad0..497cadfa 100644 --- a/configure.in +++ b/configure.in @@ -84,14 +84,11 @@ AC_MSG_CHECKING([for native Win32]) case "$host" in *-*-mingw*) os_win32=yes - LIBSTDCPP_LIBS=-lstdc++ ;; *) os_win32=no - LIBSTDCPP_LIBS= ;; esac -AC_SUBST(LIBSTDCPP_LIBS) AC_MSG_RESULT([$os_win32]) AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes") diff --git a/tools/extra_defs_gen/Makefile.am b/tools/extra_defs_gen/Makefile.am index bfabafd1..0115b691 100644 --- a/tools/extra_defs_gen/Makefile.am +++ b/tools/extra_defs_gen/Makefile.am @@ -11,7 +11,7 @@ endif lib_LTLIBRARIES = libglibmm_generate_extra_defs-2.3.la libglibmm_generate_extra_defs_2_3_la_SOURCES = $(files_h) $(files_cc) -libglibmm_generate_extra_defs_2_3_la_LDFLAGS = $(no_undefined) -version-info $(LIBGLIBMM_SO_VERSION) $(LIBSTDCPP_LIBS) +libglibmm_generate_extra_defs_2_3_la_LDFLAGS = $(no_undefined) -version-info $(LIBGLIBMM_SO_VERSION) libglibmm_generate_extra_defs_2_3_la_LIBADD = $(GLIBMM_LIBS) sublib_includedir = $(includedir)/glibmm-2.4/glibmm_generate_extra_defs diff --git a/tools/m4/base.m4 b/tools/m4/base.m4 index 5f56965b..b0ef6be3 100644 --- a/tools/m4/base.m4 +++ b/tools/m4/base.m4 @@ -321,7 +321,9 @@ _POP() define(`_PINCLUDE', defn(`_PH_INCLUDE')) -# Put these, for instance, around gtkmmproc macros to make the #ifndef appear around the generated code in both the .h and .cc files. +# Put these, for instance, around gtkmmproc macros (_WRAP_SIGNAL) +# to make the #ifndef appear around the generated code in both the .h +# and .cc files. # e.g. _GTKMMPROC_H_AND_CC(#ifndef _SUN_CC_) # e.g. _GTKMMPROC_H_AND_CC(#endif //_SUN_CC_) # _GTKMMPROC_H_AND_CC(code) @@ -333,6 +335,38 @@ $1 _POP() ')dnl +# Same thing as _GTKMMPROC_H_AND_CC but for signals (_WRAP_SIGNAL) +define(`_GTKMMPROC_SIGNAL_H_AND_CC',`dnl +$1 +_PUSH(SECTION_ANONYMOUS_NAMESPACE) +$1 +_POP() + +$1 +_PUSH(SECTION_H_DEFAULT_SIGNAL_HANDLERS) +$1 +_POP() + +$1 +_PUSH(SECTION_PCC_CLASS_INIT_DEFAULT_SIGNAL_HANDLERS) +$1 +_POP() + +$1 +_PUSH(SECTION_CC_DEFAULT_SIGNAL_HANDLERS) +$1 +_POP() + +$1 +_PUSH(SECTION_PCC_DEFAULT_SIGNAL_HANDLERS) +$1 +_POP() + +$1 +_PUSH(SECTION_CC_SIGNALPROXIES) +$1 +_POP() +')dnl m4_include(class_shared.m4) m4_include(class_generic.m4) |