summaryrefslogtreecommitdiff
path: root/src/Makefile_Ecore_IMF.am
diff options
context:
space:
mode:
authorStefan Schmidt <s.schmidt@samsung.com>2015-02-26 12:35:50 +0100
committerStefan Schmidt <s.schmidt@samsung.com>2015-02-26 13:51:20 +0100
commit55ba0dfa4ba68b5bb568670b3b1dbd1360935528 (patch)
tree3b04578f7911f33b3420b66b2cb9a62b58a3f177 /src/Makefile_Ecore_IMF.am
parent009ec26460e8ccc0e5e2b09bb3718d1066209ec3 (diff)
build: Workaround an automake limitation during parallel install relinking
With this commit I'm finally able to use -j10 for make install on my machine. During install libtool does some relinking which can result in to broken linking if the dependencies are not handled correctly. Sadly automake has a problem with the automatic dependency handling during install with LTLIBRARIES which we use for all our modules. For the details please see this 4.5 years old bug report: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328 We are now setting the dependency manually to force automake to the right decision during install relinking. Speed improvement itself is not that high (make -j 1 compared to -j10): real 0m21.410s vs. real 0m17.066s The bigger benefit is the unified use of MAKEOPTS or normal -j X in all our build targets. I have seen quite some bug reports where -j was used for install target when it was used in the build target. Last but not least it helps me to unify some parts of the jenkins jobs and finally allows me to run distcheck with -j Which uses install internally and failed before. Which goes down from real 12m50.349s to real 5m52.120s.
Diffstat (limited to 'src/Makefile_Ecore_IMF.am')
-rw-r--r--src/Makefile_Ecore_IMF.am24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/Makefile_Ecore_IMF.am b/src/Makefile_Ecore_IMF.am
index 7f00e8f..8f227f4 100644
--- a/src/Makefile_Ecore_IMF.am
+++ b/src/Makefile_Ecore_IMF.am
@@ -31,6 +31,12 @@ lib_ecore_imf_libecore_imf_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
31if BUILD_ECORE_IMF_IBUS 31if BUILD_ECORE_IMF_IBUS
32ecoreimfibuspkgdir = $(libdir)/ecore_imf/modules/ibus/$(MODULE_ARCH) 32ecoreimfibuspkgdir = $(libdir)/ecore_imf/modules/ibus/$(MODULE_ARCH)
33ecoreimfibuspkg_LTLIBRARIES = modules/ecore_imf/ibus/module.la 33ecoreimfibuspkg_LTLIBRARIES = modules/ecore_imf/ibus/module.la
34
35# Workaround for broken parallel install support in automake (relink issue)
36# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328
37install_ecoreimfibuspkgLTLIBRARIES = install-ecoreimfibuspkgLTLIBRARIES
38$(install_ecoreimfibuspkgLTLIBRARIES): install-libLTLIBRARIES
39
34modules_ecore_imf_ibus_module_la_SOURCES = \ 40modules_ecore_imf_ibus_module_la_SOURCES = \
35modules/ecore_imf/ibus/ibus_module.c \ 41modules/ecore_imf/ibus/ibus_module.c \
36modules/ecore_imf/ibus/ibus_imcontext.c \ 42modules/ecore_imf/ibus/ibus_imcontext.c \
@@ -58,6 +64,12 @@ endif
58if BUILD_ECORE_IMF_SCIM 64if BUILD_ECORE_IMF_SCIM
59ecoreimfscimpkgdir = $(libdir)/ecore_imf/modules/scim/$(MODULE_ARCH) 65ecoreimfscimpkgdir = $(libdir)/ecore_imf/modules/scim/$(MODULE_ARCH)
60ecoreimfscimpkg_LTLIBRARIES = modules/ecore_imf/scim/module.la 66ecoreimfscimpkg_LTLIBRARIES = modules/ecore_imf/scim/module.la
67
68# Workaround for broken parallel install support in automake (relink issue)
69# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328
70install_ecoreimfscimpkgLTLIBRARIES = install-ecoreimfscimpkgLTLIBRARIES
71$(install_ecoreimfscimpkgLTLIBRARIES): install-libLTLIBRARIES
72
61modules_ecore_imf_scim_module_la_SOURCES = \ 73modules_ecore_imf_scim_module_la_SOURCES = \
62modules/ecore_imf/scim/scim_module.cpp \ 74modules/ecore_imf/scim/scim_module.cpp \
63modules/ecore_imf/scim/scim_imcontext.cpp \ 75modules/ecore_imf/scim/scim_imcontext.cpp \
@@ -85,6 +97,12 @@ endif
85if BUILD_ECORE_IMF_XIM 97if BUILD_ECORE_IMF_XIM
86ecoreimfximpkgdir = $(libdir)/ecore_imf/modules/xim/$(MODULE_ARCH) 98ecoreimfximpkgdir = $(libdir)/ecore_imf/modules/xim/$(MODULE_ARCH)
87ecoreimfximpkg_LTLIBRARIES = modules/ecore_imf/xim/module.la 99ecoreimfximpkg_LTLIBRARIES = modules/ecore_imf/xim/module.la
100
101# Workaround for broken parallel install support in automake (relink issue)
102# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328
103install_ecoreimfximpkgLTLIBRARIES = install-ecoreimfximpkgLTLIBRARIES
104$(install_ecoreimfximpkgLTLIBRARIES): install-libLTLIBRARIES
105
88modules_ecore_imf_xim_module_la_SOURCES = \ 106modules_ecore_imf_xim_module_la_SOURCES = \
89modules/ecore_imf/xim/ecore_imf_xim.c 107modules/ecore_imf/xim/ecore_imf_xim.c
90modules_ecore_imf_xim_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ 108modules_ecore_imf_xim_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
@@ -106,6 +124,12 @@ endif
106if BUILD_ECORE_IMF_WAYLAND 124if BUILD_ECORE_IMF_WAYLAND
107ecoreimfwaylandpkgdir = $(libdir)/ecore_imf/modules/wayland/$(MODULE_ARCH) 125ecoreimfwaylandpkgdir = $(libdir)/ecore_imf/modules/wayland/$(MODULE_ARCH)
108ecoreimfwaylandpkg_LTLIBRARIES = modules/ecore_imf/wayland/module.la 126ecoreimfwaylandpkg_LTLIBRARIES = modules/ecore_imf/wayland/module.la
127
128# Workaround for broken parallel install support in automake (relink issue)
129# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328
130install_ecoreimfwaylandpkgLTLIBRARIES = install-ecoreimfwaylandpkgLTLIBRARIES
131$(install_ecoreimfwaylandpkgLTLIBRARIES): install-libLTLIBRARIES
132
109modules_ecore_imf_wayland_module_la_SOURCES = \ 133modules_ecore_imf_wayland_module_la_SOURCES = \
110modules/ecore_imf/wayland/wayland_module.c \ 134modules/ecore_imf/wayland/wayland_module.c \
111modules/ecore_imf/wayland/wayland_imcontext.c \ 135modules/ecore_imf/wayland/wayland_imcontext.c \