diff options
author | Stefan Schmidt <s.schmidt@samsung.com> | 2015-02-26 12:35:50 +0100 |
---|---|---|
committer | Stefan Schmidt <s.schmidt@samsung.com> | 2015-02-26 13:51:20 +0100 |
commit | 55ba0dfa4ba68b5bb568670b3b1dbd1360935528 (patch) | |
tree | 3b04578f7911f33b3420b66b2cb9a62b58a3f177 /src/Makefile_Edje.am | |
parent | 009ec26460e8ccc0e5e2b09bb3718d1066209ec3 (diff) | |
download | efl-55ba0dfa4ba68b5bb568670b3b1dbd1360935528.tar.gz |
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_Edje.am')
-rw-r--r-- | src/Makefile_Edje.am | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Makefile_Edje.am b/src/Makefile_Edje.am index c7086d6580..6fc1d4e5b6 100644 --- a/src/Makefile_Edje.am +++ b/src/Makefile_Edje.am @@ -89,6 +89,11 @@ if ENABLE_MULTISENSE # edjemoduleXXXdir = $(libdir)/edje/modules/ # edjemoduleXXX_LTLIBRARIES = modules/edje/XXX/module.la # +# # Workaround for broken parallel install support in automake (relink issue) +# # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328 +# install_edjemoduleXXXLTLIBRARIES = install-edjemoduleXXXLTLIBRARIES +# $(install_edjemoduleXXXLTLIBRARIES): install-libLTLIBRARIES +# # modules_edje_XXX_module_la_SOURCES = modules/edje/XXX/XXX.c # modules_edje_XXX_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl $(EDJE_COMMON_CPPFLAGS) @XXX_LIBS@ # modules_edje_XXX_module_la_LIBADD = $(EDJE_COMMON_USER_LIBADD) @@ -98,6 +103,11 @@ if ENABLE_MULTISENSE # edjemodulemultisensefactorydir = $(libdir)/edje/modules/multisense_factory/$(MODULE_ARCH) # edjemodulemultisensefactory_LTLIBRARIES = modules/edje/multisense_factory/module.la # +# # Workaround for broken parallel install support in automake (relink issue) +# # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328 +# install_edjemodulemultisensefactoryLTLIBRARIES = install-edjemodulemultisensefactoryLTLIBRARIES +# $(install_edjemodulemultisensefactoryLTLIBRARIES): install-libLTLIBRARIES +# # modules_edje_multisense_factory_module_la_SOURCES = \ # modules/edje/multisense_factory/multisense_factory.c # modules_edje_multisense_factory_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ |