From 808c7a7cd6004b0c039b00e0e9830027f424ab62 Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Tue, 12 May 2020 16:45:33 +0200 Subject: Statically link toolame-dab and fdk-aac-dab ODR-AudioEnc is the only tool using those two libraries, and statically linking makes deployment simpler. --- .gitignore | 2 ++ Makefile.am | 65 ++++++++++++++++++++++++----------------------------- configure.ac | 34 ++-------------------------- fdk-aac/Makefile.am | 22 ++---------------- 4 files changed, 35 insertions(+), 88 deletions(-) diff --git a/.gitignore b/.gitignore index a5b8794..83af487 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ *.o *.lo *.la +lib*.a .deps .libs .dirstamp @@ -27,4 +28,5 @@ m4/ltversion.m4 m4/lt~obsolete.m4 missing stamp-h1 +ar-lib odr-audioenc diff --git a/Makefile.am b/Makefile.am index 29ac878..44b2fab 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,9 +9,6 @@ else GITVERSION_FLAGS = endif -libtoolame_dab_la_LINK = $(LINK) $(libtoolame_dab_la_LDFLAGS) -# Mention a dummy pure C file to trigger generation of the $(LINK) variable - toolame_dabincludedir = $(includedir)/libtoolame-dab toolame_dabinclude_HEADERS = \ $(top_srcdir)/libtoolame-dab/absthr.h \ @@ -45,14 +42,35 @@ toolame_dabinclude_HEADERS = \ $(top_srcdir)/libtoolame-dab/toolame.h \ $(top_srcdir)/libtoolame-dab/utils.h -pkgconfigdir = $(libdir)/pkgconfig +noinst_LIBRARIES = libtoolame-dab.a + +libtoolame_dab_a_SOURCES = \ + libtoolame-dab/common.c \ + libtoolame-dab/encode.c \ + libtoolame-dab/ieeefloat.c \ + libtoolame-dab/toolame.c \ + libtoolame-dab/portableio.c \ + libtoolame-dab/psycho_n1.c \ + libtoolame-dab/psycho_0.c \ + libtoolame-dab/psycho_1.c \ + libtoolame-dab/psycho_2.c \ + libtoolame-dab/psycho_3.c \ + libtoolame-dab/psycho_4.c \ + libtoolame-dab/fft.c \ + libtoolame-dab/subband.c \ + libtoolame-dab/bitstream.c \ + libtoolame-dab/mem.c \ + libtoolame-dab/crc.c \ + libtoolame-dab/tables.c \ + libtoolame-dab/availbits.c \ + libtoolame-dab/ath.c \ + libtoolame-dab/encode_new.c \ + libtoolame-dab/utils.c -lib_LTLIBRARIES = libtoolame-dab.la -libtoolame_dab_la_CFLAGS = -fomit-frame-pointer -DNEWENCODE -std=c99 -libtoolame_dab_la_LDFLAGS = -version-info @LIBTOOLAME_DAB_VERSION@ \ - -no-undefined \ - -export-symbols $(top_srcdir)/libtoolame-dab.sym +libtoolame_dab_a_CFLAGS = -fomit-frame-pointer -DNEWENCODE -std=c99 + +pkgconfigdir = $(libdir)/pkgconfig if HAVE_JACK odr_audioenc_LDADD_JACK = -ljack @@ -74,9 +92,8 @@ FEC_SOURCES = contrib/fec/char.h \ contrib/fec/rs-common.h -odr_audioenc_LDFLAGS = -no-install -odr_audioenc_LDADD = libtoolame-dab.la \ - fdk-aac/libfdk-aac-dab.la \ +odr_audioenc_LDADD = libtoolame-dab.a \ + fdk-aac/libfdk-aac-dab.a \ -lzmq \ $(odr_audioenc_LDADD_JACK) \ $(odr_audioenc_LDADD_ALSA) \ @@ -145,30 +162,6 @@ bin_PROGRAMS = odr-audioenc$(EXEEXT) noinst_HEADERS = src/wavfile.h -libtoolame_dab_la_SOURCES = \ - libtoolame-dab/common.c \ - libtoolame-dab/encode.c \ - libtoolame-dab/ieeefloat.c \ - libtoolame-dab/toolame.c \ - libtoolame-dab/portableio.c \ - libtoolame-dab/psycho_n1.c \ - libtoolame-dab/psycho_0.c \ - libtoolame-dab/psycho_1.c \ - libtoolame-dab/psycho_2.c \ - libtoolame-dab/psycho_3.c \ - libtoolame-dab/psycho_4.c \ - libtoolame-dab/fft.c \ - libtoolame-dab/subband.c \ - libtoolame-dab/bitstream.c \ - libtoolame-dab/mem.c \ - libtoolame-dab/crc.c \ - libtoolame-dab/tables.c \ - libtoolame-dab/availbits.c \ - libtoolame-dab/ath.c \ - libtoolame-dab/encode_new.c \ - libtoolame-dab/utils.c - - EXTRA_DIST = $(top_srcdir)/bootstrap \ $(top_srcdir)/README.md \ $(top_srcdir)/TODO.md \ diff --git a/configure.ac b/configure.ac index 7db7c45..5f94cfb 100644 --- a/configure.ac +++ b/configure.ac @@ -11,8 +11,8 @@ AC_CONFIG_HEADER([config.h]) dnl Checks for programs. AC_PROG_CC AC_PROG_CXX -AC_PROG_LIBTOOL -LT_INIT +AC_PROG_RANLIB +AM_PROG_AR AX_CXX_COMPILE_STDCXX(11,noext,mandatory) @@ -150,36 +150,6 @@ AS_IF([test "x$have_curl" = "xno"], AM_EXTRA_RECURSIVE_TARGETS([fdk-aac]) -#PKG_CHECK_MODULES([LIBFDKAAC], [fdk-aac]) -#AC_SUBST([LIBFDKAAC_CFLAGS]) -#AC_SUBST([LIBFDKAAC_LIBS]) -## We need to have the ODR fdk-aac, the upstream one doesn't support DAB+ -#AC_MSG_CHECKING([for DAB+ support in FDK-AAC]) -#AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include ]], -# [[char dummy[TT_DABPLUS];]])], -# [ -# AC_MSG_RESULT([yes]) -# ], -# [ -# AC_MSG_RESULT([no]) -# AC_MSG_ERROR(["Your FDK-AAC does not support DAB+, make sure you have installed the ODR version!"]) -# ] -# ) - - - -dnl soname version to use -dnl goes by ‘current[:revision[:age]]’ with the soname ending up as -dnl current.age.revision -LIBTOOLAME_DAB_VERSION=0:1:0 -FDK_AAC_VERSION=2:0:0 - -AS_IF([test x$enable_shared = xyes], [LIBS_PRIVATE=$LIBS], [LIBS_PUBLIC=$LIBS]) -AC_SUBST(FDK_AAC_VERSION) -AC_SUBST(LIBTOOLAME_DAB_VERSION) -AC_SUBST(LIBS_PUBLIC) -AC_SUBST(LIBS_PRIVATE) - AM_CONDITIONAL([IS_GIT_REPO], [test -d '.git']) AM_CONDITIONAL([EXAMPLE], [false]) diff --git a/fdk-aac/Makefile.am b/fdk-aac/Makefile.am index 9404f8d..b53bced 100644 --- a/fdk-aac/Makefile.am +++ b/fdk-aac/Makefile.am @@ -17,9 +17,6 @@ AM_CPPFLAGS = \ -I./libPCMutils/include AM_CXXFLAGS = -fno-exceptions -fno-rtti -libfdk_aac_dab_la_LINK = $(LINK) $(libfdk_aac_dab_la_LDFLAGS) -# Mention a dummy pure C file to trigger generation of the $(LINK) variable -nodist_EXTRA_libfdk_aac_dab_la_SOURCES = dummy.c fdk_aac_dabincludedir = $(includedir)/fdk-aac-dab fdk_aac_dabinclude_HEADERS = \ @@ -30,22 +27,7 @@ fdk_aac_dabinclude_HEADERS = \ ./libAACenc/include/aacenc_lib.h \ ./libAACdec/include/aacdecoder_lib.h -#pkgconfigdir = $(libdir)/pkgconfig -#pkgconfig_DATA = fdk-aac.pc - -lib_LTLIBRARIES = libfdk-aac-dab.la - -libfdk_aac_dab_la_LDFLAGS = -version-info @FDK_AAC_VERSION@ -no-undefined \ - -export-symbols ./fdk-aac.sym - -if EXAMPLE -bin_PROGRAMS = aac-enc$(EXEEXT) - -aac_enc_LDADD = libfdk-aac-dab.la -aac_enc_SOURCES = aac-enc.c wavreader.c - -noinst_HEADERS = wavreader.h -endif +noinst_LIBRARIES = libfdk-aac-dab.a AACDEC_SRC = \ libAACdec/src/FDK_delay.cpp \ @@ -245,7 +227,7 @@ SYS_SRC = \ libSYS/src/genericStds.cpp \ libSYS/src/syslib_channelMapDescr.cpp -libfdk_aac_dab_la_SOURCES = \ +libfdk_aac_dab_a_SOURCES = \ $(AACDEC_SRC) $(AACENC_SRC) \ $(ARITHCODING_SRC) \ $(DRCDEC_SRC) \ -- cgit v1.2.3