[glib] build: Give internal libraries higher precedence



commit b1af471a3f08c3afa4eb61f0791998aac5da80a8
Author: Michael Haubenwallner <michael haubenwallner salomon at>
Date:   Thu Nov 14 16:22:10 2013 +0100

    build: Give internal libraries higher precedence
    
    Linking local libraries too late may cause preinstalled libraries to
    get found earlier, due to external library paths in .la files.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=712314

 gio/Makefile.am           |   37 +++++++++++++++++++------------------
 gio/tests/Makefile.am     |    6 ++++--
 tests/Makefile.am         |    8 ++++----
 tests/gobject/Makefile.am |    2 +-
 4 files changed, 28 insertions(+), 25 deletions(-)
---
diff --git a/gio/Makefile.am b/gio/Makefile.am
index 3e80e06..5b6cda1 100644
--- a/gio/Makefile.am
+++ b/gio/Makefile.am
@@ -482,9 +482,9 @@ libgio_2_0_la_SOURCES =             \
 EXTRA_DIST += strinfo.c
 
 libgio_2_0_la_LIBADD = \
-       $(top_builddir)/glib/libglib-2.0.la             \
        $(top_builddir)/gobject/libgobject-2.0.la       \
        $(top_builddir)/gmodule/libgmodule-2.0.la       \
+       $(top_builddir)/glib/libglib-2.0.la             \
        $(platform_libadd)                              \
        $(ZLIB_LIBS)                                    \
        $(SELINUX_LIBS)                                 \
@@ -688,10 +688,10 @@ gio-2.0.lib: libgio-2.0.la gio.def
 
 bin_PROGRAMS = gio-querymodules glib-compile-schemas glib-compile-resources gsettings
 
-glib_compile_resources_LDADD = \
-       $(top_builddir)/glib/libglib-2.0.la \
+glib_compile_resources_LDADD = libgio-2.0.la           \
        $(top_builddir)/gobject/libgobject-2.0.la       \
-       libgio-2.0.la
+       $(top_builddir)/glib/libglib-2.0.la             \
+       $(NULL)
 
 glib_compile_resources_SOURCES = \
        gvdb/gvdb-format.h              \
@@ -700,11 +700,10 @@ glib_compile_resources_SOURCES = \
        glib-compile-resources.c
 
 gio_querymodules_SOURCES = gio-querymodules.c
-gio_querymodules_LDADD  = \
-       $(top_builddir)/glib/libglib-2.0.la             \
+gio_querymodules_LDADD  = libgio-2.0.la                \
        $(top_builddir)/gobject/libgobject-2.0.la       \
        $(top_builddir)/gmodule/libgmodule-2.0.la       \
-       libgio-2.0.la                                   \
+       $(top_builddir)/glib/libglib-2.0.la             \
        $(NULL)
 
 gconstructor_as_data.h: $(top_srcdir)/glib/gconstructor.h data-to-c.pl
@@ -718,10 +717,10 @@ glib_compile_schemas_SOURCES = \
        gvdb/gvdb-builder.c             \
        glib-compile-schemas.c
 
-gsettings_LDADD = \
-       $(top_builddir)/glib/libglib-2.0.la             \
+gsettings_LDADD = libgio-2.0.la                        \
        $(top_builddir)/gobject/libgobject-2.0.la       \
-       libgio-2.0.la
+       $(top_builddir)/glib/libglib-2.0.la             \
+       $(NULL)
 gsettings_SOURCES = gsettings-tool.c
 
 schemadir = $(datadir)/glib-2.0/schemas
@@ -732,18 +731,20 @@ dist_schema_DATA = gschema.dtd
 
 bin_PROGRAMS += gdbus
 gdbus_SOURCES = gdbus-tool.c
-gdbus_LDADD = libgio-2.0.la \
-       $(top_builddir)/glib/libglib-2.0.la             \
-       $(top_builddir)/gobject/libgobject-2.0.la
+gdbus_LDADD = libgio-2.0.la                            \
+       $(top_builddir)/gobject/libgobject-2.0.la       \
+       $(top_builddir)/glib/libglib-2.0.la             \
+       $(NULL)
 
 if OS_UNIX
 # ------------------------------------------------------------------------
 # gapplication(1) tool
 bin_PROGRAMS += gapplication
 gapplication_SOURCES = gapplication-tool.c
-gapplication_LDADD = libgio-2.0.la \
+gapplication_LDADD = libgio-2.0.la                     \
+       $(top_builddir)/gobject/libgobject-2.0.la       \
        $(top_builddir)/glib/libglib-2.0.la             \
-       $(top_builddir)/gobject/libgobject-2.0.la
+       $(NULL)
 endif
 
 completiondir = $(datadir)/bash-completion/completions
@@ -760,9 +761,9 @@ EXTRA_DIST += $(completion_DATA)
 bin_PROGRAMS += gresource
 gresource_SOURCES = gresource-tool.c
 gresource_CPPFLAGS = $(LIBELF_CFLAGS) $(AM_CPPFLAGS)
-gresource_LDADD = libgio-2.0.la \
-       $(top_builddir)/glib/libglib-2.0.la             \
-       $(top_builddir)/gobject/libgobject-2.0.la \
+gresource_LDADD = libgio-2.0.la                                \
+       $(top_builddir)/gobject/libgobject-2.0.la       \
+       $(top_builddir)/glib/libglib-2.0.la             \
        $(LIBELF_LIBS)
 
 # ------------------------------------------------------------------------
diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
index 6fef7b6..bec70d7 100644
--- a/gio/tests/Makefile.am
+++ b/gio/tests/Makefile.am
@@ -6,10 +6,12 @@ test_ltlibraries =
 SUBDIRS = gdbus-object-manager-example services
 
 LDADD = \
-       $(top_builddir)/glib/libglib-2.0.la             \
+       $(top_builddir)/gio/libgio-2.0.la               \
        $(top_builddir)/gobject/libgobject-2.0.la       \
        $(top_builddir)/gmodule/libgmodule-2.0.la       \
-       $(top_builddir)/gio/libgio-2.0.la
+       $(top_builddir)/glib/libglib-2.0.la             \
+       $(NULL)
+
 AM_CPPFLAGS = $(gio_INCLUDES) $(GLIB_DEBUG_FLAGS) -I$(top_builddir)/gio -I$(top_srcdir)/gio
 DEFS = -DG_LOG_DOMAIN=\"GLib-GIO\" -DTEST_SERVICES=\""$(abs_top_builddir)/gio/tests/services"\"
 AM_CFLAGS = $(GLIB_WARN_CFLAGS)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index b6b3ebd..72af39d 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -88,21 +88,21 @@ TESTS_ENVIRONMENT = \
 
 test_programs += module-test
 module_test_DEPENDENCIES = libmoduletestplugin_a.la libmoduletestplugin_b.la
-module_test_LDADD = $(LDADD) $(top_builddir)/gmodule/libgmodule-2.0.la
+module_test_LDADD = $(top_builddir)/gmodule/libgmodule-2.0.la $(LDADD)
 module_test_LDFLAGS = $(G_MODULE_LDFLAGS)
 slice_test_SOURCES = slice-test.c memchunks.c
 slice_color_SOURCES = slice-color.c memchunks.c
-slice_threadinit_LDADD = $(LDADD) $(top_builddir)/gthread/libgthread-2.0.la
+slice_threadinit_LDADD = $(top_builddir)/gthread/libgthread-2.0.la $(LDADD)
 
 test_ltlibraries = libmoduletestplugin_a.la libmoduletestplugin_b.la
 
 libmoduletestplugin_a_la_SOURCES = libmoduletestplugin_a.c
 libmoduletestplugin_a_la_LDFLAGS = $(G_MODULE_LDFLAGS) -avoid-version -module $(no_undefined)
-libmoduletestplugin_a_la_LIBADD = $(G_MODULE_LIBS) ../glib/libglib-2.0.la ../gmodule/libgmodule-2.0.la
+libmoduletestplugin_a_la_LIBADD = $(G_MODULE_LIBS) ../gmodule/libgmodule-2.0.la ../glib/libglib-2.0.la
 
 libmoduletestplugin_b_la_SOURCES = libmoduletestplugin_b.c
 libmoduletestplugin_b_la_LDFLAGS = $(G_MODULE_LDFLAGS) -avoid-version -module $(no_undefined)
-libmoduletestplugin_b_la_LIBADD = $(G_MODULE_LIBS) ../glib/libglib-2.0.la ../gmodule/libgmodule-2.0.la
+libmoduletestplugin_b_la_LIBADD = $(G_MODULE_LIBS) ../gmodule/libgmodule-2.0.la ../glib/libglib-2.0.la
 
 if !ENABLE_INSTALLED_TESTS
 # see http://lists.gnu.org/archive/html/bug-libtool/2013-05/msg00009.html and gio/tests/Makefile.am
diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am
index 84f7410..213f2b0 100644
--- a/tests/gobject/Makefile.am
+++ b/tests/gobject/Makefile.am
@@ -1,6 +1,6 @@
 include $(top_srcdir)/glib.mk
 
-LDADD = $(top_builddir)/glib/libglib-2.0.la $(top_builddir)/gobject/libgobject-2.0.la
+LDADD = $(top_builddir)/gobject/libgobject-2.0.la $(top_builddir)/glib/libglib-2.0.la
 AM_CPPFLAGS = $(gmodule_INCLUDES) $(GLIB_DEBUG_FLAGS)
 DEFS = -DGLIB_DISABLE_DEPRECATION_WARNINGS -DG_LOG_DOMAIN=\"GLib\"
 AM_CFLAGS = -g


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