From: Andreas Oberritter Date: Thu, 28 Oct 2010 22:05:46 +0000 (+0200) Subject: build and link static libraries without libtool X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=commitdiff_plain;h=96b320d3d1b921cad7a94027b449dacd49470117 build and link static libraries without libtool --- diff --git a/lib/Makefile.am b/lib/Makefile.am index f561748..bd89aee 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -1,18 +1 @@ SUBDIRS = actions base components dvb dvb_ci gdi service driver nav gui python mmi - -noinst_LTLIBRARIES = libenigma.la - -libenigma_la_SOURCES = -libenigma_la_LIBADD = \ - $(top_builddir)/lib/actions/libenigma_actions.la \ - $(top_builddir)/lib/base/libenigma_base.la \ - $(top_builddir)/lib/components/libenigma_components.la \ - $(top_builddir)/lib/driver/libenigma_driver.la \ - $(top_builddir)/lib/mmi/libenigma_mmi.la \ - $(top_builddir)/lib/dvb/libenigma_dvb.la \ - $(top_builddir)/lib/dvb_ci/libenigma_dvb_ci.la \ - $(top_builddir)/lib/gdi/libenigma_gdi.la \ - $(top_builddir)/lib/gui/libenigma_gui.la \ - $(top_builddir)/lib/python/libenigma_python.la \ - $(top_builddir)/lib/nav/libenigma_nav.la \ - $(top_builddir)/lib/service/libenigma_service.la diff --git a/lib/actions/Makefile.am b/lib/actions/Makefile.am index 83f57d3..7535786 100644 --- a/lib/actions/Makefile.am +++ b/lib/actions/Makefile.am @@ -7,13 +7,13 @@ AM_CPPFLAGS = \ EXTRA_DIST = parseactions.py -noinst_LTLIBRARIES = libenigma_actions.la +noinst_LIBRARIES = libenigma_actions.a -libenigma_actions_la_SOURCES = \ +libenigma_actions_a_SOURCES = \ action.cpp \ action.h -nodist_libenigma_actions_la_SOURCES = \ +nodist_libenigma_actions_a_SOURCES = \ actionids.h BUILT_SOURCES = actionids.h diff --git a/lib/base/Makefile.am b/lib/base/Makefile.am index 230a37a..652ef9c 100644 --- a/lib/base/Makefile.am +++ b/lib/base/Makefile.am @@ -4,9 +4,9 @@ AM_CPPFLAGS = \ -include Python.h \ -include $(top_builddir)/enigma2_config.h -noinst_LTLIBRARIES = libenigma_base.la +noinst_LIBRARIES = libenigma_base.a -libenigma_base_la_SOURCES = \ +libenigma_base_a_SOURCES = \ buffer.cpp \ buffer.h \ connection.cpp \ diff --git a/lib/components/Makefile.am b/lib/components/Makefile.am index cef5890..e873e52 100644 --- a/lib/components/Makefile.am +++ b/lib/components/Makefile.am @@ -4,9 +4,9 @@ AM_CPPFLAGS = \ -include Python.h \ -include $(top_builddir)/enigma2_config.h -noinst_LTLIBRARIES = libenigma_components.la +noinst_LIBRARIES = libenigma_components.a -libenigma_components_la_SOURCES = \ +libenigma_components_a_SOURCES = \ file_eraser.cpp \ file_eraser.h \ scan.cpp \ diff --git a/lib/driver/Makefile.am b/lib/driver/Makefile.am index 74d24fa..63a205a 100644 --- a/lib/driver/Makefile.am +++ b/lib/driver/Makefile.am @@ -4,9 +4,9 @@ AM_CPPFLAGS = \ -include Python.h \ -include $(top_builddir)/enigma2_config.h -noinst_LTLIBRARIES = libenigma_driver.la +noinst_LIBRARIES = libenigma_driver.a -libenigma_driver_la_SOURCES = \ +libenigma_driver_a_SOURCES = \ avswitch.cpp \ avswitch.h \ etimezone.cpp \ diff --git a/lib/dvb/Makefile.am b/lib/dvb/Makefile.am index 9146498..74b43d0 100644 --- a/lib/dvb/Makefile.am +++ b/lib/dvb/Makefile.am @@ -6,9 +6,9 @@ AM_CPPFLAGS = \ -include Python.h \ -include $(top_builddir)/enigma2_config.h -noinst_LTLIBRARIES = libenigma_dvb.la +noinst_LIBRARIES = libenigma_dvb.a -libenigma_dvb_la_SOURCES = \ +libenigma_dvb_a_SOURCES = \ crc32.cpp \ crc32.h \ db.cpp \ diff --git a/lib/dvb_ci/Makefile.am b/lib/dvb_ci/Makefile.am index af839e7..c53c4da 100644 --- a/lib/dvb_ci/Makefile.am +++ b/lib/dvb_ci/Makefile.am @@ -4,9 +4,9 @@ AM_CPPFLAGS = \ -include Python.h \ -include $(top_builddir)/enigma2_config.h -noinst_LTLIBRARIES = libenigma_dvb_ci.la +noinst_LIBRARIES = libenigma_dvb_ci.a -libenigma_dvb_ci_la_SOURCES = \ +libenigma_dvb_ci_a_SOURCES = \ dvbci.cpp \ dvbci.h \ dvbci_appmgr.cpp \ diff --git a/lib/gdi/Makefile.am b/lib/gdi/Makefile.am index 5f2aee9..a47855f 100644 --- a/lib/gdi/Makefile.am +++ b/lib/gdi/Makefile.am @@ -7,9 +7,9 @@ AM_CPPFLAGS = \ AM_CXXFLAGS = \ $(LIBSDL_CFLAGS) -noinst_LTLIBRARIES = libenigma_gdi.la +noinst_LIBRARIES = libenigma_gdi.a -libenigma_gdi_la_SOURCES = \ +libenigma_gdi_a_SOURCES = \ accel.cpp \ accel.h \ bcm.cpp \ @@ -46,7 +46,7 @@ libenigma_gdi_la_SOURCES = \ region.h if HAVE_LIBSDL -libenigma_gdi_la_SOURCES += \ +libenigma_gdi_a_SOURCES += \ sdl.cpp \ sdl.h endif diff --git a/lib/gui/Makefile.am b/lib/gui/Makefile.am index 39c05d9..30b00bf 100644 --- a/lib/gui/Makefile.am +++ b/lib/gui/Makefile.am @@ -4,9 +4,9 @@ AM_CPPFLAGS = \ -include Python.h \ -include $(top_builddir)/enigma2_config.h -noinst_LTLIBRARIES = libenigma_gui.la +noinst_LIBRARIES = libenigma_gui.a -libenigma_gui_la_SOURCES = \ +libenigma_gui_a_SOURCES = \ ebutton.cpp \ ebutton.h \ ecanvas.cpp \ diff --git a/lib/mmi/Makefile.am b/lib/mmi/Makefile.am index a082949..9c821c9 100644 --- a/lib/mmi/Makefile.am +++ b/lib/mmi/Makefile.am @@ -4,8 +4,8 @@ AM_CPPFLAGS = \ -include Python.h \ -include $(top_builddir)/enigma2_config.h -noinst_LTLIBRARIES = libenigma_mmi.la +noinst_LIBRARIES = libenigma_mmi.a -libenigma_mmi_la_SOURCES = \ +libenigma_mmi_a_SOURCES = \ mmi_ui.cpp \ mmi_ui.h diff --git a/lib/nav/Makefile.am b/lib/nav/Makefile.am index c6d1c92..fc3dadc 100644 --- a/lib/nav/Makefile.am +++ b/lib/nav/Makefile.am @@ -4,9 +4,9 @@ AM_CPPFLAGS = \ -include Python.h \ -include $(top_builddir)/enigma2_config.h -noinst_LTLIBRARIES = libenigma_nav.la +noinst_LIBRARIES = libenigma_nav.a -libenigma_nav_la_SOURCES = \ +libenigma_nav_a_SOURCES = \ core.cpp \ core.h \ pcore.cpp \ diff --git a/lib/python/Makefile.am b/lib/python/Makefile.am index 3c213a1..5cbda78 100644 --- a/lib/python/Makefile.am +++ b/lib/python/Makefile.am @@ -6,16 +6,16 @@ AM_CPPFLAGS = \ SUBDIRS = Components Tools Screens Plugins -noinst_LTLIBRARIES = libenigma_python.la +noinst_LIBRARIES = libenigma_python.a -libenigma_python_la_SOURCES = \ +libenigma_python_a_SOURCES = \ connections.cpp \ connections.h \ python.cpp \ python.h \ swig.h -nodist_libenigma_python_la_SOURCES = \ +nodist_libenigma_python_a_SOURCES = \ enigma_python_wrap.cxx EXTRA_DIST = \ diff --git a/lib/service/Makefile.am b/lib/service/Makefile.am index 18c012a..a19b8b1 100644 --- a/lib/service/Makefile.am +++ b/lib/service/Makefile.am @@ -7,9 +7,9 @@ AM_CPPFLAGS = \ AM_CXXFLAGS = \ $(LIBXINE_CFLAGS) -noinst_LTLIBRARIES = libenigma_service.la +noinst_LIBRARIES = libenigma_service.a -libenigma_service_la_SOURCES = \ +libenigma_service_a_SOURCES = \ event.cpp \ event.h \ iservice.h \ @@ -27,7 +27,7 @@ libenigma_service_la_SOURCES = \ servicemp3.h if HAVE_LIBXINE -libenigma_service_la_SOURCES += \ +libenigma_service_a_SOURCES += \ servicexine.cpp \ servicexine.h endif diff --git a/main/Makefile.am b/main/Makefile.am index 33bebdf..c96f906 100644 --- a/main/Makefile.am +++ b/main/Makefile.am @@ -22,8 +22,21 @@ EXTRA_DIST = \ enigma-playlist.cpp \ enigma-scan.cpp +enigma2_LDADD_WHOLE = \ + $(top_builddir)/lib/actions/libenigma_actions.a \ + $(top_builddir)/lib/base/libenigma_base.a \ + $(top_builddir)/lib/components/libenigma_components.a \ + $(top_builddir)/lib/driver/libenigma_driver.a \ + $(top_builddir)/lib/mmi/libenigma_mmi.a \ + $(top_builddir)/lib/dvb/libenigma_dvb.a \ + $(top_builddir)/lib/dvb_ci/libenigma_dvb_ci.a \ + $(top_builddir)/lib/gdi/libenigma_gdi.a \ + $(top_builddir)/lib/gui/libenigma_gui.a \ + $(top_builddir)/lib/python/libenigma_python.a \ + $(top_builddir)/lib/nav/libenigma_nav.a \ + $(top_builddir)/lib/service/libenigma_service.a + enigma2_LDADD = \ - $(top_builddir)/lib/libenigma.la \ @BASE_LIBS@ \ @LIBGIF_LIBS@ \ @LIBJPEG_LIBS@ \ @@ -33,6 +46,10 @@ enigma2_LDADD = \ @PTHREAD_LIBS@ \ @PYTHON_LDFLAGS@ +enigma2_LDFLAGS = -Wl,--export-dynamic + +BUILT_SOURCES = version.h + GIT_DIR = $(top_srcdir)/.git version.h: @@ -52,3 +69,7 @@ version.h: dist-hook: echo "#define ENIGMA2_LAST_CHANGE_DATE \"`date --rfc-3339=date`\"" > version.h; echo "#define ENIGMA2_BRANCH \"$(PACKAGE_VERSION)\"" >> version.h; + +enigma2$(EXEEXT): $(enigma2_OBJECTS) $(enigma2_DEPENDENCIES) $(enigma2_LDADD_WHOLE) + $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ $(enigma2_LDFLAGS) $(enigma2_OBJECTS) \ + -Wl,--whole-archive $(enigma2_LDADD_WHOLE) -Wl,--no-whole-archive $(enigma2_LDADD) $(LIBS)