Move the external ARM asm to a separate library.
authorTimothy B. Terriberry <tterribe@xiph.org>
Tue, 6 Oct 2015 17:16:24 +0000 (13:16 -0400)
committerJean-Marc Valin <jmvalin@jmvalin.ca>
Wed, 7 Oct 2015 22:02:22 +0000 (18:02 -0400)
This library is linked statically with libopus.so, so nothing
 changes on an installed system.
This merely simplifies linking in the unit tests.
Based in part on a patch originally by Viswanath Puttagunta
 <viswanath.puttagunta@linaro.org>.

Makefile.am

index 2758f45..4094e33 100644 (file)
@@ -52,7 +52,8 @@ CELT_SOURCES += $(CELT_SOURCES_ARM_NEON_INTR)
 endif
 
 if OPUS_ARM_EXTERNAL_ASM
-nodist_libopus_la_SOURCES = $(CELT_SOURCES_ARM_ASM:.s=-gnu.S)
+noinst_LTLIBRARIES = libarmasm.la
+libarmasm_la_SOURCES = $(CELT_SOURCES_ARM_ASM:.s=-gnu.S)
 BUILT_SOURCES = $(CELT_SOURCES_ARM_ASM:.s=-gnu.S) \
  $(CELT_AM_SOURCES_ARM_ASM:.s.in=.s) \
  $(CELT_AM_SOURCES_ARM_ASM:.s.in=-gnu.S)
@@ -69,6 +70,9 @@ include opus_headers.mk
 libopus_la_SOURCES = $(CELT_SOURCES) $(SILK_SOURCES) $(OPUS_SOURCES)
 libopus_la_LDFLAGS = -no-undefined -version-info @OPUS_LT_CURRENT@:@OPUS_LT_REVISION@:@OPUS_LT_AGE@
 libopus_la_LIBADD = $(LIBM)
+if OPUS_ARM_EXTERNAL_ASM
+libopus_la_LIBADD += libarmasm.la
+endif
 
 pkginclude_HEADERS = include/opus.h include/opus_multistream.h include/opus_types.h include/opus_defines.h
 
@@ -116,10 +120,8 @@ celt_tests_test_unit_laplace_LDADD = $(LIBM)
 
 celt_tests_test_unit_mathops_SOURCES = celt/tests/test_unit_mathops.c
 celt_tests_test_unit_mathops_LDADD = $(LIBM)
-if CPU_ARM
 if OPUS_ARM_EXTERNAL_ASM
-celt_tests_test_unit_mathops_LDADD += libopus.la
-endif
+celt_tests_test_unit_mathops_LDADD += libarmasm.la
 endif
 
 celt_tests_test_unit_mdct_SOURCES = celt/tests/test_unit_mdct.c
@@ -127,10 +129,8 @@ celt_tests_test_unit_mdct_LDADD = $(LIBM)
 
 celt_tests_test_unit_rotation_SOURCES = celt/tests/test_unit_rotation.c
 celt_tests_test_unit_rotation_LDADD = $(LIBM)
-if CPU_ARM
 if OPUS_ARM_EXTERNAL_ASM
-celt_tests_test_unit_rotation_LDADD += libopus.la
-endif
+celt_tests_test_unit_rotation_LDADD += libarmasm.la
 endif
 
 celt_tests_test_unit_types_SOURCES = celt/tests/test_unit_types.c