summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric Gustin <cedric.gustin@swing.be>2004-01-29 14:58:57 +0000
committerCedric Gustin <gustin@src.gnome.org>2004-01-29 14:58:57 +0000
commit2bc72bcc72d20a7801701adaf0cbfaceb7a3ed92 (patch)
tree235be1e90381e2c6914a4b858e86b3fa7a1ab857
parent908d89a8ee62560b518f53a29ecac0f2fa048393 (diff)
downloadglibmm-2bc72bcc72d20a7801701adaf0cbfaceb7a3ed92.tar.gz
Added win32-specific --export-all-symbols to linker flags. This is
2004-01-27 Cedric Gustin <cedric.gustin@swing.be> * build_shared/Makefile_build.am_fragment: Added win32-specific --export-all-symbols to linker flags. This is backported from gtkmm-2.2. * README.win32: Updated text for glibmm-2.4. * tools/generate_wrap_init.pl.in: Replaced GTKMM_WIN32 by the standard G_OS_WIN32.
-rw-r--r--ChangeLog10
-rw-r--r--README.win3245
-rw-r--r--build_shared/Makefile_build.am_fragment2
-rw-r--r--tools/generate_wrap_init.pl.in16
4 files changed, 30 insertions, 43 deletions
diff --git a/ChangeLog b/ChangeLog
index b0e2cc7b..80bd8dbc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+
+2004-01-27 Cedric Gustin <cedric.gustin@swing.be>
+
+ * build_shared/Makefile_build.am_fragment: Added win32-specific
+ --export-all-symbols to linker flags. This is backported from
+ gtkmm-2.2.
+ * README.win32: Updated text for glibmm-2.4.
+ * tools/generate_wrap_init.pl.in: Replaced GTKMM_WIN32 by the
+ standard G_OS_WIN32.
+
2.3.3:
2004-01-22 Murray Cumming <murrayc@usa.net>
diff --git a/README.win32 b/README.win32
index 891ca803..e015b43b 100644
--- a/README.win32
+++ b/README.win32
@@ -1,11 +1,11 @@
-Building gtkmm on Win32
+Building glibmm 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/),
the gcc compiler provided by the cygwin distribution should not be
-used to build gtk+/gtkmm libraries and/or applications (see the
+used to build glib/glibmm libraries and/or applications (see the
README.win32 that comes with the gtk+ DLLs). This MIGHT cause
conflicts between the cygwin and msvcrt runtime environments.
@@ -26,11 +26,11 @@ 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.2.x and gtk+-2.0 on win32 (see
-http://www.gimp.org/win32). If you can't compile a simple gtk+ example
+of both libsigc++-1.2.x and glib-2.0 on win32 (see
+http://www.gimp.org/win32). If you can't compile a simple glib example
using gcc and `pkg-config --cflags --libs`, you should not even think
-about trying to compile gtkmm, let alone using precompiled libgtkmm
-DLLs to port your gtkmm application !
+about trying to compile glibmm, let alone using precompiled libglibmm
+DLLs to port your glibmm application !
The configure script can then be called using (as an example) the
following options
@@ -47,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.4e
-automake : 1.7.2
-autoconf : 2.57
+libtool : 1.5
+automake : 1.7.9
+autoconf : 2.59
IMPORTANT WARNING : the libtool scripts contained in the source distribution
of the library might not be recent enough to support dll creation. It will
@@ -79,30 +79,7 @@ before running the configure script again.
In the future, a specially tuned source distribution along with a binary
package might be provided for mingw.
-2. Other compilers (MSVC, borland)
+2. Glibmm methods and signals not available on win32
-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
-
-Atkmm :
- Action::get_localized_name
- Component::get_layer
- Component::get_mdi_zorder
- Object::add_relationship
- Object::remove_relationship
-
-* Not Implemented in the C library
-
-Gtkmm :
- Gtk::Plug (not available on win32)
- Gtk::Socket (not available on win32)
+All glibmm methods and signals are available on win32.
diff --git a/build_shared/Makefile_build.am_fragment b/build_shared/Makefile_build.am_fragment
index ec06bfde..e56b2764 100644
--- a/build_shared/Makefile_build.am_fragment
+++ b/build_shared/Makefile_build.am_fragment
@@ -29,7 +29,7 @@ files_all_win32_cc = $(files_built_win32_cc)
# libraries at link time to resolve symbols (remember a dll is like an
# executable).
if OS_WIN32
-no_undefined = -no-undefined
+no_undefined = -no-undefined -Wl,--export-all-symbols
win32_dlls_extra_libs = $(sublib_win32_dlls_libs)
else
no_undefined =
diff --git a/tools/generate_wrap_init.pl.in b/tools/generate_wrap_init.pl.in
index 4b81b90f..c3c1cd69 100644
--- a/tools/generate_wrap_init.pl.in
+++ b/tools/generate_wrap_init.pl.in
@@ -186,14 +186,14 @@ foreach $i (sort keys %objects)
#On Win32, these classes are not compiled:
if( $win32_nowrap{$i} eq 1 )
{
- print "#ifndef GTKMM_WIN32\n"
+ print "#ifndef G_OS_WIN32\n"
}
print "GType $basenames{$i}_get_type(void);\n";
if( $win32_nowrap{$i} eq 1 )
{
- print "#endif //GTKMM_WIN32\n"
+ print "#endif //G_OS_WIN32\n"
}
}
@@ -216,7 +216,7 @@ foreach $i (sort keys %objects)
#On Win32, these classes are not compiled:
if( $win32_nowrap{$i} eq 1 )
{
- print "#ifndef GTKMM_WIN32\n"
+ print "#ifndef G_OS_WIN32\n"
}
my $namespace_declarations = "";
@@ -231,7 +231,7 @@ foreach $i (sort keys %objects)
if( $win32_nowrap{$i} eq 1 )
{
- print "#endif //GTKMM_WIN32\n"
+ print "#endif //G_OS_WIN32\n"
}
}
@@ -289,7 +289,7 @@ foreach $i (sort keys %objects)
#On Win32, these classes are not compiled:
if( $win32_nowrap{$i} eq 1 )
{
- print "#ifndef GTKMM_WIN32\n"
+ print "#ifndef G_OS_WIN32\n"
}
my $namespace_prefix = "";
@@ -302,7 +302,7 @@ foreach $i (sort keys %objects)
if( $win32_nowrap{$i} eq 1 )
{
- print "#endif //GTKMM_WIN32\n"
+ print "#endif //G_OS_WIN32\n"
}
}
@@ -314,7 +314,7 @@ foreach $i (sort keys %objects)
#On Win32, these classes are not compiled:
if( $win32_nowrap{$i} eq 1 )
{
- print "#ifndef GTKMM_WIN32\n"
+ print "#ifndef G_OS_WIN32\n"
}
my $namespace_prefix = "";
@@ -327,7 +327,7 @@ foreach $i (sort keys %objects)
if( $win32_nowrap{$i} eq 1 )
{
- print "#endif //GTKMM_WIN32\n"
+ print "#endif //G_OS_WIN32\n"
}
}