build and link static libraries without libtool
authorAndreas Oberritter <obi@opendreambox.org>
Thu, 28 Oct 2010 22:05:46 +0000 (00:05 +0200)
committerAndreas Oberritter <obi@opendreambox.org>
Tue, 16 Nov 2010 16:15:38 +0000 (17:15 +0100)
14 files changed:
lib/Makefile.am
lib/actions/Makefile.am
lib/base/Makefile.am
lib/components/Makefile.am
lib/driver/Makefile.am
lib/dvb/Makefile.am
lib/dvb_ci/Makefile.am
lib/gdi/Makefile.am
lib/gui/Makefile.am
lib/mmi/Makefile.am
lib/nav/Makefile.am
lib/python/Makefile.am
lib/service/Makefile.am
main/Makefile.am

index f561748..bd89aee 100644 (file)
@@ -1,18 +1 @@
 SUBDIRS = actions base components dvb dvb_ci gdi service driver nav gui python mmi
 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
index 83f57d3..7535786 100644 (file)
@@ -7,13 +7,13 @@ AM_CPPFLAGS = \
 
 EXTRA_DIST = parseactions.py
 
 
 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
 
        action.cpp \
        action.h
 
-nodist_libenigma_actions_la_SOURCES = \
+nodist_libenigma_actions_a_SOURCES = \
        actionids.h
 
 BUILT_SOURCES = actionids.h
        actionids.h
 
 BUILT_SOURCES = actionids.h
index 230a37a..652ef9c 100644 (file)
@@ -4,9 +4,9 @@ AM_CPPFLAGS = \
        -include Python.h \
        -include $(top_builddir)/enigma2_config.h
 
        -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 \
        buffer.cpp \
        buffer.h \
        connection.cpp \
index cef5890..e873e52 100644 (file)
@@ -4,9 +4,9 @@ AM_CPPFLAGS = \
        -include Python.h \
        -include $(top_builddir)/enigma2_config.h
 
        -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 \
        file_eraser.cpp \
        file_eraser.h \
        scan.cpp \
index 74d24fa..63a205a 100644 (file)
@@ -4,9 +4,9 @@ AM_CPPFLAGS = \
        -include Python.h \
        -include $(top_builddir)/enigma2_config.h
 
        -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 \
        avswitch.cpp \
        avswitch.h \
        etimezone.cpp \
index 9146498..74b43d0 100644 (file)
@@ -6,9 +6,9 @@ AM_CPPFLAGS = \
        -include Python.h \
        -include $(top_builddir)/enigma2_config.h
 
        -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 \
        crc32.cpp \
        crc32.h \
        db.cpp \
index af839e7..c53c4da 100644 (file)
@@ -4,9 +4,9 @@ AM_CPPFLAGS = \
        -include Python.h \
        -include $(top_builddir)/enigma2_config.h
 
        -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 \
        dvbci.cpp \
        dvbci.h \
        dvbci_appmgr.cpp \
index 5f2aee9..a47855f 100644 (file)
@@ -7,9 +7,9 @@ AM_CPPFLAGS = \
 AM_CXXFLAGS = \
        $(LIBSDL_CFLAGS)
 
 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 \
        accel.cpp \
        accel.h \
        bcm.cpp \
@@ -46,7 +46,7 @@ libenigma_gdi_la_SOURCES = \
        region.h
 
 if HAVE_LIBSDL
        region.h
 
 if HAVE_LIBSDL
-libenigma_gdi_la_SOURCES += \
+libenigma_gdi_a_SOURCES += \
        sdl.cpp \
        sdl.h
 endif
        sdl.cpp \
        sdl.h
 endif
index 39c05d9..30b00bf 100644 (file)
@@ -4,9 +4,9 @@ AM_CPPFLAGS = \
        -include Python.h \
        -include $(top_builddir)/enigma2_config.h
 
        -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 \
        ebutton.cpp \
        ebutton.h \
        ecanvas.cpp \
index a082949..9c821c9 100644 (file)
@@ -4,8 +4,8 @@ AM_CPPFLAGS = \
        -include Python.h \
        -include $(top_builddir)/enigma2_config.h
 
        -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
        mmi_ui.cpp \
        mmi_ui.h
index c6d1c92..fc3dadc 100644 (file)
@@ -4,9 +4,9 @@ AM_CPPFLAGS = \
        -include Python.h \
        -include $(top_builddir)/enigma2_config.h
 
        -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 \
        core.cpp \
        core.h \
        pcore.cpp \
index 3c213a1..5cbda78 100644 (file)
@@ -6,16 +6,16 @@ AM_CPPFLAGS = \
 
 SUBDIRS = Components Tools Screens Plugins
 
 
 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
 
        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 = \
        enigma_python_wrap.cxx
 
 EXTRA_DIST = \
index 18c012a..a19b8b1 100644 (file)
@@ -7,9 +7,9 @@ AM_CPPFLAGS = \
 AM_CXXFLAGS = \
        $(LIBXINE_CFLAGS)
 
 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 \
        event.cpp \
        event.h \
        iservice.h \
@@ -27,7 +27,7 @@ libenigma_service_la_SOURCES = \
        servicemp3.h
 
 if HAVE_LIBXINE
        servicemp3.h
 
 if HAVE_LIBXINE
-libenigma_service_la_SOURCES += \
+libenigma_service_a_SOURCES += \
        servicexine.cpp \
        servicexine.h
 endif
        servicexine.cpp \
        servicexine.h
 endif
index 33bebdf..c96f906 100644 (file)
@@ -22,8 +22,21 @@ EXTRA_DIST = \
        enigma-playlist.cpp \
        enigma-scan.cpp
 
        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 = \
 enigma2_LDADD = \
-       $(top_builddir)/lib/libenigma.la \
        @BASE_LIBS@ \
        @LIBGIF_LIBS@ \
        @LIBJPEG_LIBS@ \
        @BASE_LIBS@ \
        @LIBGIF_LIBS@ \
        @LIBJPEG_LIBS@ \
@@ -33,6 +46,10 @@ enigma2_LDADD = \
        @PTHREAD_LIBS@ \
        @PYTHON_LDFLAGS@
 
        @PTHREAD_LIBS@ \
        @PYTHON_LDFLAGS@
 
+enigma2_LDFLAGS = -Wl,--export-dynamic
+
+BUILT_SOURCES = version.h
+
 GIT_DIR = $(top_srcdir)/.git
 
 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;
 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)