Commit 4266f86e authored by Michael Natterer's avatar Michael Natterer 😴

app: remove tons of linker workarounds from Makefilea

either linkers got smarter or our structure got better, or this breaks
on whatever other linkers again...
parent 46eef4d0
......@@ -119,35 +119,17 @@ AM_CPPFLAGS = \
-I$(includedir) \
-I$(builddir)/gui
# FIXME: core should not depend on xcf
workaround_that_core_depends_on_xcf = \
-Wl,-u,$(SYMPREFIX)xcf_init
# FIXME: core should not depend on pdb
workaround_that_core_depends_on_pdb = \
-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 = \
-Wl,-u,$(SYMPREFIX)gimp_pdb_compat_param_spec
# core, vectors and gegl are on the same architectural layer, prevent
# the linker from panicing
calm_down_linker = \
# We need this due to circular dependencies
AM_LDFLAGS = \
$(munix) \
-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
AM_LDFLAGS = \
$(munix) \
$(calm_down_linker) \
$(workaround_that_core_depends_on_xcf) \
$(workaround_that_core_depends_on_pdb) \
$(workaround_that_plug_in_depends_on_pdb)
-Wl,-u,$(SYMPREFIX)gimp_operations_init \
-Wl,-u,$(SYMPREFIX)xcf_init \
-Wl,-u,$(SYMPREFIX)internal_procs_init \
-Wl,-u,$(SYMPREFIX)gimp_plug_in_manager_restore \
-Wl,-u,$(SYMPREFIX)gimp_pdb_compat_param_spec
gimpconsoleldadd = \
xcf/libappxcf.a \
......
......@@ -79,19 +79,15 @@ TESTS = test-config
test_config_DEPENDENCIES = $(gimpconfig_libs)
# We need this due to circular dependencies, see more detailed
# comments about it in app/Makefile.am
# We need this due to circular dependencies
test_config_LDFLAGS = \
-Wl,-u,$(SYMPREFIX)gimp_cairo_image_surface_create_buffer \
-Wl,-u,$(SYMPREFIX)xcf_init \
-Wl,-u,$(SYMPREFIX)gimp_pdb_new \
-Wl,-u,$(SYMPREFIX)internal_procs_init \
-Wl,-u,$(SYMPREFIX)gimp_plug_in_manager_restore \
-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_image_map_config_get_type \
-Wl,-u,$(SYMPREFIX)erode_region
-Wl,-u,$(SYMPREFIX)gimp_vectors_undo_get_type \
-Wl,-u,$(SYMPREFIX)gimp_vectors_mod_undo_get_type \
-Wl,-u,$(SYMPREFIX)gimp_param_spec_duplicate \
-Wl,-u,$(SYMPREFIX)xcf_init \
-Wl,-u,$(SYMPREFIX)internal_procs_init \
-Wl,-u,$(SYMPREFIX)gimp_plug_in_manager_restore \
-Wl,-u,$(SYMPREFIX)gimp_pdb_compat_param_spec
test_config_LDADD = \
../xcf/libappxcf.a \
......
......@@ -64,32 +64,23 @@ AM_CPPFLAGS = \
$(GEGL_CFLAGS) \
-I$(includedir)
# We need this due to circular dependencies, see more detailed
# comments about it in app/Makefile.am
# We need this due to circular dependencies
AM_LDFLAGS = \
-Wl,-u,$(SYMPREFIX)gimp_vectors_undo_get_type \
-Wl,-u,$(SYMPREFIX)gimp_vectors_mod_undo_get_type \
-Wl,-u,$(SYMPREFIX)gimp_param_spec_duplicate \
-Wl,-u,$(SYMPREFIX)gimp_operations_init \
-Wl,-u,$(SYMPREFIX)xcf_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)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
# an alternative to LDFLAGS above
LDADD = \
$(top_builddir)/app/dialogs/preferences-dialog.o \
$(top_builddir)/app/gui/libappgui.a \
$(top_builddir)/app/tools/libapptools.a \
$(top_builddir)/app/dialogs/libappdialogs.a \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment