summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric Gustin <cgustin@ibelgique.com>2003-03-14 22:46:08 +0000
committerMurray Cumming <murrayc@src.gnome.org>2003-03-14 22:46:08 +0000
commita380e957c44c2d7999677ed51baf2b9656920f31 (patch)
treea7d27e833e74db0808120cea5c79679137648528
parent09ddcf26ef99245252675752410b113235c80e3f (diff)
downloadglibmm-a380e957c44c2d7999677ed51baf2b9656920f31.tar.gz
Removed libstdc++ in LDFLAGS on win32. Latest libtool is taking care of
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.
-rw-r--r--ChangeLog16
-rw-r--r--README.win3271
-rw-r--r--build_shared/Makefile_build.am_fragment21
-rw-r--r--build_shared/Makefile_gensrc.am_fragment4
-rw-r--r--configure.in3
-rw-r--r--tools/extra_defs_gen/Makefile.am2
-rw-r--r--tools/m4/base.m436
7 files changed, 110 insertions, 43 deletions
diff --git a/ChangeLog b/ChangeLog
index 49671676..66b17dd2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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)