From b0581371450284d92a990d219dd5888985ac8149 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Sun, 20 May 2012 19:29:44 +0200 Subject: [PATCH] Bug 676389 - Compilation fails using clang because of -u options passed to linker Use -Wl,-u,symbol to makes things build instead of just -u symbol. --- app/Makefile.am | 28 ++++++++++++++-------------- app/tests/Makefile.am | 38 +++++++++++++++++++------------------- devel-docs/app/Makefile.am | 8 ++++---- 3 files changed, 37 insertions(+), 37 deletions(-) diff --git a/app/Makefile.am b/app/Makefile.am index b63899cf84..d2ee15fb0b 100644 --- a/app/Makefile.am +++ b/app/Makefile.am @@ -116,32 +116,32 @@ INCLUDES = \ # FIXME: core should not depend on xcf workaround_that_core_depends_on_xcf = \ - -u $(SYMPREFIX)xcf_init + -Wl,-u,$(SYMPREFIX)xcf_init # FIXME: core should not depend on pdb workaround_that_core_depends_on_pdb = \ - -u $(SYMPREFIX)internal_procs_init \ - -u $(SYMPREFIX)gimp_plug_in_manager_restore + -Wl,-u,$(SYMPREFIX)internal_procs_init \ + -Wl,-u,$(SYMPREFIX)gimp_plug_in_manager_restore # FIXME: plug-in should not depend on pdb workaround_that_plug_in_depends_on_pdb = \ - -u $(SYMPREFIX)gimp_pdb_compat_param_spec + -Wl,-u,$(SYMPREFIX)gimp_pdb_compat_param_spec # FIXME: file should not depend on plug-in workaround_that_file_depends_on_plug_in = \ - -u $(SYMPREFIX)plug_in_icc_profile_apply_rgb \ - -u $(SYMPREFIX)gimp_image_map_config_get_type + -Wl,-u,$(SYMPREFIX)plug_in_icc_profile_apply_rgb \ + -Wl,-u,$(SYMPREFIX)gimp_image_map_config_get_type # core, vectors and gegl are on the same architectural layer, prevent # the linker from panicing calm_down_linker = \ - -u $(SYMPREFIX)gimp_vectors_undo_get_type \ - -u $(SYMPREFIX)gimp_vectors_mod_undo_get_type \ - -u $(SYMPREFIX)gimp_vectors_prop_undo_get_type \ - -u $(SYMPREFIX)gimp_curve_map_pixels \ - -u $(SYMPREFIX)gimp_param_spec_duplicate \ - -u $(SYMPREFIX)gimp_operations_init \ - -u $(SYMPREFIX)smooth_region + -Wl,-u,$(SYMPREFIX)gimp_vectors_undo_get_type \ + -Wl,-u,$(SYMPREFIX)gimp_vectors_mod_undo_get_type \ + -Wl,-u,$(SYMPREFIX)gimp_vectors_prop_undo_get_type \ + -Wl,-u,$(SYMPREFIX)gimp_curve_map_pixels \ + -Wl,-u,$(SYMPREFIX)gimp_param_spec_duplicate \ + -Wl,-u,$(SYMPREFIX)gimp_operations_init \ + -Wl,-u,$(SYMPREFIX)smooth_region AM_LDFLAGS = \ $(munix) \ @@ -185,7 +185,7 @@ gimpconsoleldadd = \ gimp_@GIMP_APP_VERSION@_LDFLAGS = \ $(AM_LDFLAGS) \ $(win32_ldflags) \ - -u $(SYMPREFIX)gimp_lebl_dialog + -Wl,-u,$(SYMPREFIX)gimp_lebl_dialog gimp_@GIMP_APP_VERSION@_LDADD = \ gui/libappgui.a \ diff --git a/app/tests/Makefile.am b/app/tests/Makefile.am index 6b208b68b5..f7ba12cf0c 100644 --- a/app/tests/Makefile.am +++ b/app/tests/Makefile.am @@ -63,25 +63,25 @@ AM_CPPFLAGS = \ # We need this due to circular dependencies, see more detailed # comments about it in app/Makefile.am AM_LDFLAGS = \ - -u $(SYMPREFIX)xcf_init \ - -u $(SYMPREFIX)base_init \ - -u $(SYMPREFIX)internal_procs_init \ - -u $(SYMPREFIX)gimp_plug_in_manager_restore \ - -u $(SYMPREFIX)gimp_pdb_compat_param_spec \ - -u $(SYMPREFIX)gui_init \ - -u $(SYMPREFIX)plug_in_icc_profile_apply_rgb \ - -u $(SYMPREFIX)gimp_image_map_config_get_type \ - -u $(SYMPREFIX)gimp_vectors_undo_get_type \ - -u $(SYMPREFIX)gimp_vectors_mod_undo_get_type \ - -u $(SYMPREFIX)gimp_vectors_prop_undo_get_type \ - -u $(SYMPREFIX)actions_init \ - -u $(SYMPREFIX)gimp_error_dialog_new \ - -u $(SYMPREFIX)menus_save \ - -u $(SYMPREFIX)gimp_tools_save \ - -u $(SYMPREFIX)gimp_curve_map_pixels \ - -u $(SYMPREFIX)gimp_image_base_type \ - -u $(SYMPREFIX)gimp_param_spec_duplicate \ - -u $(SYMPREFIX)gimp_lebl_dialog + -Wl,-u,$(SYMPREFIX)xcf_init \ + -Wl,-u,$(SYMPREFIX)base_init \ + -Wl,-u,$(SYMPREFIX)internal_procs_init \ + -Wl,-u,$(SYMPREFIX)gimp_plug_in_manager_restore \ + -Wl,-u,$(SYMPREFIX)gimp_pdb_compat_param_spec \ + -Wl,-u,$(SYMPREFIX)gui_init \ + -Wl,-u,$(SYMPREFIX)plug_in_icc_profile_apply_rgb \ + -Wl,-u,$(SYMPREFIX)gimp_image_map_config_get_type \ + -Wl,-u,$(SYMPREFIX)gimp_vectors_undo_get_type \ + -Wl,-u,$(SYMPREFIX)gimp_vectors_mod_undo_get_type \ + -Wl,-u,$(SYMPREFIX)gimp_vectors_prop_undo_get_type \ + -Wl,-u,$(SYMPREFIX)actions_init \ + -Wl,-u,$(SYMPREFIX)gimp_error_dialog_new \ + -Wl,-u,$(SYMPREFIX)menus_save \ + -Wl,-u,$(SYMPREFIX)gimp_tools_save \ + -Wl,-u,$(SYMPREFIX)gimp_curve_map_pixels \ + -Wl,-u,$(SYMPREFIX)gimp_image_base_type \ + -Wl,-u,$(SYMPREFIX)gimp_param_spec_duplicate \ + -Wl,-u,$(SYMPREFIX)gimp_lebl_dialog # Note that we have some duplicate entries here too to work around # circular dependencies and systems on the same architectural layer as diff --git a/devel-docs/app/Makefile.am b/devel-docs/app/Makefile.am index 9ebb9fc312..f3ec7eed52 100644 --- a/devel-docs/app/Makefile.am +++ b/devel-docs/app/Makefile.am @@ -62,10 +62,10 @@ GTKDOC_CFLAGS = \ -UGTK_DISABLE_SINGLE_INCLUDES GTKDOC_LIBS = \ - -u $(SYMPREFIX)xcf_init \ - -u $(SYMPREFIX)internal_procs_init \ - -u $(SYMPREFIX)gimp_coords_mix \ - -u $(SYMPREFIX)gimp_plug_in_manager_restore \ + -Wl,-u,$(SYMPREFIX)xcf_init \ + -Wl,-u,$(SYMPREFIX)internal_procs_init \ + -Wl,-u,$(SYMPREFIX)gimp_coords_mix \ + -Wl,-u,$(SYMPREFIX)gimp_plug_in_manager_restore \ $(top_builddir)/app/app.o \ $(top_builddir)/app/batch.o \ $(top_builddir)/app/errors.o \