[glib] Use -Bsymbolic-functions, drop g*alias PLT hackery



commit c9553af68f543113be41e6ae8dcdd9ee5e2267bc
Author: Ryan Lortie <desrt desrt ca>
Date:   Mon Jun 21 13:55:28 2010 -0400

    Use -Bsymbolic-functions, drop g*alias PLT hackery
    
    This is a minimal patch-out of the galias functionality.  We will do a
    release like this so that we can easily back it out if there are
    reported problems.
    
    A more substantial cleanup (mostly removing #includes from every file)
    will follow if there are no issues.

 configure.in                |    2 +-
 gio/Makefile.am             |    6 +++---
 gio/makegioalias.pl         |    2 ++
 glib/Makefile.am            |    2 +-
 glib/makegalias.pl          |    2 ++
 gmodule/Makefile.am         |    2 +-
 gobject/Makefile.am         |    6 +++---
 gobject/makegobjectalias.pl |    2 ++
 gthread/Makefile.am         |    2 +-
 9 files changed, 16 insertions(+), 10 deletions(-)
---
diff --git a/configure.in b/configure.in
index 739c01f..6b83c97 100644
--- a/configure.in
+++ b/configure.in
@@ -3642,7 +3642,7 @@ SAVED_LDFLAGS="${LDFLAGS}"
 AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
 LDFLAGS=-Wl,-Bsymbolic-functions
 AC_TRY_LINK([], [int main (void) { return 0; }],
-            GLIB_LINK_FLAGS=-Bsymbolic-functions
+            GLIB_LINK_FLAGS=-Wl[,]-Bsymbolic-functions
             AC_MSG_RESULT(yes),
             GLIB_LINK_FLAGS=
             AC_MSG_RESULT(no))
diff --git a/gio/Makefile.am b/gio/Makefile.am
index 1919a9e..cfa7ed0 100644
--- a/gio/Makefile.am
+++ b/gio/Makefile.am
@@ -27,11 +27,11 @@ gio.def: gio.symbols
 	$(AM_V_GEN) (echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DINCLUDE_INTERNAL_SYMBOLS -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gio.symbols | sed -e '/^$$/d' -e 's/^/	/' -e 's/G_GNUC_[^ ]*//g' | sort) > gio.def.tmp && \
 	  mv gio.def.tmp gio.def
 
-gioalias.h: gio.symbols
+gioalias.h: gio.symbols makegioalias.pl
 	$(AM_V_GEN) $(PERL) $(srcdir)/makegioalias.pl < $(srcdir)/gio.symbols > gioalias.h.tmp && \
 	  mv gioalias.h.tmp gioalias.h
 
-gioaliasdef.c: gio.symbols
+gioaliasdef.c: gio.symbols makegioalias.pl
 	$(AM_V_GEN) $(PERL) $(srcdir)/makegioalias.pl -def < $(srcdir)/gio.symbols > gioaliasdef.c.tmp && \
 	  mv gioaliasdef.c.tmp gioaliasdef.c
 
@@ -417,7 +417,7 @@ install-data-local: install-ms-lib install-def-file
 
 uninstall-local: uninstall-ms-lib uninstall-def-file
 
-libgio_2_0_la_LDFLAGS = \
+libgio_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
 	$(gio_win32_res_ldflag) \
 	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
 	-export-dynamic $(no_undefined) $(export_symbols)
diff --git a/gio/makegioalias.pl b/gio/makegioalias.pl
index b4ae319..84f9c3c 100755
--- a/gio/makegioalias.pl
+++ b/gio/makegioalias.pl
@@ -1,5 +1,7 @@
 #!/usr/bin/perl -w
 
+exit 0;
+
 my $do_def = 0;
 
 if (($#ARGV >= 0) && ($ARGV[0] eq "-def")) {
diff --git a/glib/Makefile.am b/glib/Makefile.am
index 6fd3fd3..938e7bc 100644
--- a/glib/Makefile.am
+++ b/glib/Makefile.am
@@ -322,7 +322,7 @@ endif
 libglib_2_0_la_LIBADD = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ @ICONV_LIBS@ @G_LIBS_EXTRA@ $(pcre_lib)
 libglib_2_0_la_DEPENDENCIES = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ $(glib_win32_res) $(glib_def)
 
-libglib_2_0_la_LDFLAGS = \
+libglib_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
 	 $(glib_win32_res_ldflag) \
 	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
 	-export-dynamic $(no_undefined) $(export_symbols)
diff --git a/glib/makegalias.pl b/glib/makegalias.pl
index 622026a..2a5e065 100755
--- a/glib/makegalias.pl
+++ b/glib/makegalias.pl
@@ -1,5 +1,7 @@
 #!/usr/bin/perl -w
 
+exit 0;
+
 my $do_def = 0;
 
 if (($#ARGV >= 0) && ($ARGV[0] eq "-def")) {
diff --git a/gmodule/Makefile.am b/gmodule/Makefile.am
index b864d42..01cad55 100644
--- a/gmodule/Makefile.am
+++ b/gmodule/Makefile.am
@@ -80,7 +80,7 @@ uninstall-def-file:
 endif
 
 libgmodule_2_0_la_SOURCES = gmodule.c
-libgmodule_2_0_la_LDFLAGS = \
+libgmodule_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
 	$(gmodule_win32_res_ldflag) \
 	$(G_MODULE_LDFLAGS) \
 	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
diff --git a/gobject/Makefile.am b/gobject/Makefile.am
index 53da117..d6b1f25 100644
--- a/gobject/Makefile.am
+++ b/gobject/Makefile.am
@@ -26,10 +26,10 @@ AM_CPPFLAGS = 					\
 gobject.def: gobject.symbols
 	$(AM_V_GEN) (echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DINCLUDE_INTERNAL_SYMBOLS -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gobject.symbols | sed -e '/^$$/d' -e 's/^/	/' -e 's/G_GNUC_[^ ]*//g' | sort) > gobject.def
 
-gobjectalias.h: gobject.symbols
+gobjectalias.h: gobject.symbols makegobjectalias.pl
 	$(AM_V_GEN) $(PERL) $(srcdir)/makegobjectalias.pl < $(srcdir)/gobject.symbols > gobjectalias.h
 
-gobjectaliasdef.c: gobject.symbols
+gobjectaliasdef.c: gobject.symbols makegobjectalias.pl
 	$(AM_V_GEN) $(PERL) $(srcdir)/makegobjectalias.pl -def < $(srcdir)/gobject.symbols > gobjectaliasdef.c
 
 if OS_LINUX
@@ -83,7 +83,7 @@ endif
 
 # libtool stuff: set version and export symbols for resolving
 libgobjectincludedir = $(includedir)/glib-2.0/gobject
-libgobject_2_0_la_LDFLAGS = \
+libgobject_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
   $(gobject_win32_res_ldflag) \
   -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
   -export-dynamic $(no_undefined) $(export_symbols)
diff --git a/gobject/makegobjectalias.pl b/gobject/makegobjectalias.pl
index 9094222..31983c1 100755
--- a/gobject/makegobjectalias.pl
+++ b/gobject/makegobjectalias.pl
@@ -1,5 +1,7 @@
 #!/usr/bin/perl -w
 
+exit 0;
+
 my $do_def = 0;
 
 if (($#ARGV >= 0) && ($ARGV[0] eq "-def")) {
diff --git a/gthread/Makefile.am b/gthread/Makefile.am
index 119e8e9..29d94e1 100644
--- a/gthread/Makefile.am
+++ b/gthread/Makefile.am
@@ -70,7 +70,7 @@ gthread_win32_res_ldflag = -Wl,$(gthread_win32_res)
 endif
 
 libgthread_2_0_la_SOURCES = gthread-impl.c
-libgthread_2_0_la_LDFLAGS = \
+libgthread_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
 	$(gthread_win32_res_ldflag) \
 	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
 	-export-dynamic $(no_undefined) $(export_symbols)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]