summaryrefslogtreecommitdiff
path: root/src/Makefile_Emotion.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_Emotion.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_Emotion.am')
-rw-r--r--src/Makefile_Emotion.am29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/Makefile_Emotion.am b/src/Makefile_Emotion.am
index 6b16cb93cc..f3c7352348 100644
--- a/src/Makefile_Emotion.am
+++ b/src/Makefile_Emotion.am
@@ -66,6 +66,12 @@ else
66if EMOTION_BUILD_XINE 66if EMOTION_BUILD_XINE
67emotionmodulexinedir = $(libdir)/emotion/modules/xine/$(MODULE_ARCH) 67emotionmodulexinedir = $(libdir)/emotion/modules/xine/$(MODULE_ARCH)
68emotionmodulexine_LTLIBRARIES = modules/emotion/xine/module.la 68emotionmodulexine_LTLIBRARIES = modules/emotion/xine/module.la
69
70# Workaround for broken parallel install support in automake (relink issue)
71# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328
72install_emotionmodulexineLTLIBRARIES = install-emotionmodulexineLTLIBRARIES
73$(install_emotionmodulexineLTLIBRARIES): install-libLTLIBRARIES
74
69modules_emotion_xine_module_la_SOURCES = $(EMOTION_XINE_SOURCES) 75modules_emotion_xine_module_la_SOURCES = $(EMOTION_XINE_SOURCES)
70modules_emotion_xine_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ 76modules_emotion_xine_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
71@EMOTION_CFLAGS@ \ 77@EMOTION_CFLAGS@ \
@@ -94,6 +100,12 @@ else
94if EMOTION_BUILD_GSTREAMER 100if EMOTION_BUILD_GSTREAMER
95emotionmodulegstreamerdir = $(libdir)/emotion/modules/gstreamer/$(MODULE_ARCH) 101emotionmodulegstreamerdir = $(libdir)/emotion/modules/gstreamer/$(MODULE_ARCH)
96emotionmodulegstreamer_LTLIBRARIES = modules/emotion/gstreamer/module.la 102emotionmodulegstreamer_LTLIBRARIES = modules/emotion/gstreamer/module.la
103
104# Workaround for broken parallel install support in automake (relink issue)
105# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328
106install_emotionmodulegstreamerLTLIBRARIES = install-emotionmodulegstreamerLTLIBRARIES
107$(install_emotionmodulegstreamerLTLIBRARIES): install-libLTLIBRARIES
108
97modules_emotion_gstreamer_module_la_SOURCES = $(EMOTION_GSTREAMER_SOURCES) 109modules_emotion_gstreamer_module_la_SOURCES = $(EMOTION_GSTREAMER_SOURCES)
98modules_emotion_gstreamer_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ 110modules_emotion_gstreamer_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
99@EMOTION_CFLAGS@ \ 111@EMOTION_CFLAGS@ \
@@ -126,6 +138,12 @@ else
126if EMOTION_BUILD_GSTREAMER1 138if EMOTION_BUILD_GSTREAMER1
127emotionmodulegstreamer1dir = $(libdir)/emotion/modules/gstreamer1/$(MODULE_ARCH) 139emotionmodulegstreamer1dir = $(libdir)/emotion/modules/gstreamer1/$(MODULE_ARCH)
128emotionmodulegstreamer1_LTLIBRARIES = modules/emotion/gstreamer1/module.la 140emotionmodulegstreamer1_LTLIBRARIES = modules/emotion/gstreamer1/module.la
141
142# Workaround for broken parallel install support in automake (relink issue)
143# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328
144install_emotionmodulegstreamer1LTLIBRARIES = install-emotionmodulegstreamer1LTLIBRARIES
145$(install_emotionmodulegstreamer1LTLIBRARIES): install-libLTLIBRARIES
146
129modules_emotion_gstreamer1_module_la_SOURCES = $(EMOTION_GSTREAMER1_SOURCES) 147modules_emotion_gstreamer1_module_la_SOURCES = $(EMOTION_GSTREAMER1_SOURCES)
130modules_emotion_gstreamer1_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ 148modules_emotion_gstreamer1_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
131@EMOTION_CFLAGS@ \ 149@EMOTION_CFLAGS@ \
@@ -150,6 +168,12 @@ else
150if EMOTION_BUILD_GENERIC 168if EMOTION_BUILD_GENERIC
151emotionmodulegenericdir = $(libdir)/emotion/modules/generic/$(MODULE_ARCH) 169emotionmodulegenericdir = $(libdir)/emotion/modules/generic/$(MODULE_ARCH)
152emotionmodulegeneric_LTLIBRARIES = modules/emotion/generic/module.la 170emotionmodulegeneric_LTLIBRARIES = modules/emotion/generic/module.la
171
172# Workaround for broken parallel install support in automake (relink issue)
173# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328
174install_emotionmodulegenericLTLIBRARIES = install-emotionmodulegenericLTLIBRARIES
175$(install_emotionmodulegenericLTLIBRARIES): install-libLTLIBRARIES
176
153modules_emotion_generic_module_la_SOURCES = $(EMOTION_GENERIC_SOURCES) 177modules_emotion_generic_module_la_SOURCES = $(EMOTION_GENERIC_SOURCES)
154modules_emotion_generic_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ 178modules_emotion_generic_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
155@EMOTION_CFLAGS@ \ 179@EMOTION_CFLAGS@ \
@@ -176,6 +200,11 @@ endif
176emotionedjeexternaldir = $(libdir)/edje/modules/emotion/$(MODULE_ARCH) 200emotionedjeexternaldir = $(libdir)/edje/modules/emotion/$(MODULE_ARCH)
177emotionedjeexternal_LTLIBRARIES = edje_external/emotion/module.la 201emotionedjeexternal_LTLIBRARIES = edje_external/emotion/module.la
178 202
203# Workaround for broken parallel install support in automake (relink issue)
204# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328
205install_emotionedjeexternalLTLIBRARIES = install-emotionedjeexternalLTLIBRARIES
206$(install_emotionedjeexternalLTLIBRARIES): install-libLTLIBRARIES
207
179edje_external_emotion_module_la_SOURCES = \ 208edje_external_emotion_module_la_SOURCES = \
180edje_external/emotion/emotion.c 209edje_external/emotion/emotion.c
181edje_external_emotion_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ 210edje_external_emotion_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \