aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorFelicia Lim <flim@google.com>2018-11-06 12:35:39 -0800
committerRay Essick <essick@google.com>2018-11-14 21:29:18 +0000
commit0efcc2be1f988603f8239310e88da2a9623347c8 (patch)
tree13c7c0f8e05918858ebaa13510d80f8369884b57 /configure.ac
parentcf168b63a5c4766bcb663d9ddb16dadbc080e103 (diff)
downloadlibopus-0efcc2be1f988603f8239310e88da2a9623347c8.tar.gz
Bug: 63932386 Test: - verified builds for arm*/x86* - checked functionality using an emulator and stagefright Change-Id: I10c4b267be1c846d8992e3c5f6d2576c2cb258a9 Signed-off-by: Felicia Lim <flim@google.com>
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac82
1 files changed, 62 insertions, 20 deletions
diff --git a/configure.ac b/configure.ac
index 5ffa2d38..e2921fa2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,9 +22,9 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
# For libtool.
dnl Please update these for releases.
-OPUS_LT_CURRENT=6
-OPUS_LT_REVISION=1
-OPUS_LT_AGE=6
+OPUS_LT_CURRENT=7
+OPUS_LT_REVISION=0
+OPUS_LT_AGE=7
AC_SUBST(OPUS_LT_CURRENT)
AC_SUBST(OPUS_LT_REVISION)
@@ -414,7 +414,7 @@ AC_DEFUN([OPUS_PATH_NE10],
NE10_CFLAGS="-I$NE10_includes"
elif test "x$NE10_prefix" = "xno" || test "x$NE10_prefix" = "xyes" ; then
NE10_CFLAGS=""
- elif test "x$ogg_prefix" != "x" ; then
+ elif test "x$NE10_prefix" != "x" ; then
NE10_CFLAGS="-I$NE10_prefix/include"
elif test "x$prefix" != "xNONE"; then
NE10_CFLAGS="-I$prefix/include"
@@ -759,8 +759,16 @@ AS_IF([test "$enable_assertions" = "yes"], [
AC_DEFINE([ENABLE_ASSERTIONS], [1], [Assertions])
])
+AC_ARG_ENABLE([hardening],
+ [AS_HELP_STRING([--disable-hardening],[disable run-time checks that are cheap and safe for use in production])],,
+ [enable_hardening=yes])
+
+AS_IF([test "$enable_hardening" = "yes"], [
+ AC_DEFINE([ENABLE_HARDENING], [1], [Hardening])
+])
+
AC_ARG_ENABLE([fuzzing],
- [AS_HELP_STRING([--enable-fuzzing],[causes the encoder to make random decisions])],,
+ [AS_HELP_STRING([--enable-fuzzing],[causes the encoder to make random decisions (do not use in production)])],,
[enable_fuzzing=no])
AS_IF([test "$enable_fuzzing" = "yes"], [
@@ -776,14 +784,6 @@ AS_IF([test "$enable_check_asm" = "yes"], [
AC_DEFINE([OPUS_CHECK_ASM], [1], [Run bit-exactness checks between optimized and c implementations])
])
-AC_ARG_ENABLE([ambisonics],
- [AS_HELP_STRING([--enable-ambisonics],[enable experimental ambisonic encoding and decoding support])],,
- [enable_ambisonics=no])
-
-AS_IF([test "$enable_ambisonics" = "yes"], [
- AC_DEFINE([ENABLE_EXPERIMENTAL_AMBISONICS], [1], [Ambisonics Support])
-])
-
AC_ARG_ENABLE([doc],
[AS_HELP_STRING([--disable-doc], [Do not build API documentation])],,
[enable_doc=yes])
@@ -804,12 +804,12 @@ AC_ARG_ENABLE([extra-programs],
AM_CONDITIONAL([EXTRA_PROGRAMS], [test "$enable_extra_programs" = "yes"])
-AC_ARG_ENABLE([update-draft],
- AS_HELP_STRING([--enable-update-draft], [Enable bitstream changes from draft-ietf-codec-opus-update]),,
- [enable_update_draft=no])
+AC_ARG_ENABLE([rfc8251],
+ AS_HELP_STRING([--disable-rfc8251], [Disable bitstream fixes from RFC 8251]),,
+ [enable_rfc8251=yes])
-AS_IF([test "$enable_update_draft" = "yes"], [
- AC_DEFINE([ENABLE_UPDATE_DRAFT], [1], [Enable bitstream changes from draft-ietf-codec-opus-update])
+AS_IF([test "$enable_rfc8251" = "no"], [
+ AC_DEFINE([DISABLE_UPDATE_DRAFT], [1], [Disable bitstream fixes from RFC 8251])
])
@@ -822,6 +822,48 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[char foo;]])],
CFLAGS="$saved_CFLAGS"
])
+on_x86=no
+case "$host_cpu" in
+i[[3456]]86 | x86_64)
+ on_x86=yes
+ ;;
+esac
+
+on_windows=no
+case $host in
+*cygwin*|*mingw*)
+ on_windows=yes
+ ;;
+esac
+
+dnl Enable stack-protector-all only on x86 where it's well supported.
+dnl on some platforms it causes crashes. Hopefully the OS's default's
+dnl include this on platforms that work but have been missed here.
+AC_ARG_ENABLE([stack-protector],
+ [AS_HELP_STRING([--disable-stack-protector],[Disable compiler stack hardening])],,
+ [
+ AS_IF([test "$ac_cv_c_compiler_gnu" = "yes" && test "$on_x86" = "yes" && test "$on_windows" = "no"],
+ [enable_stack_protector=yes],[enable_stack_protector=no])
+ ])
+
+AS_IF([test "$enable_stack_protector" = "yes"],
+ [
+ saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -fstack-protector-strong"
+ AC_MSG_CHECKING([if ${CC} supports -fstack-protector-strong])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[[char foo;]])],
+ [ AC_MSG_RESULT([yes]) ],
+ [
+ AC_MSG_RESULT([no])
+ enable_stack_protector=no
+ CFLAGS="$saved_CFLAGS"
+ ])
+ ])
+
+AS_IF([test x$ac_cv_c_compiler_gnu = xyes],
+ [AX_ADD_FORTIFY_SOURCE]
+)
+
CFLAGS="$CFLAGS -W"
warn_CFLAGS="-Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes"
@@ -873,13 +915,13 @@ AC_MSG_NOTICE([
Fixed point debugging: ......... ${enable_fixed_point_debug}
Inline Assembly Optimizations: . ${inline_optimization}
External Assembly Optimizations: ${asm_optimization}
- Intrinsics Optimizations.......: ${intrinsics_support}
+ Intrinsics Optimizations: ...... ${intrinsics_support}
Run-time CPU detection: ........ ${rtcd_support}
Custom modes: .................. ${enable_custom_modes}
Assertion checking: ............ ${enable_assertions}
+ Hardening: ..................... ${enable_hardening}
Fuzzing: ....................... ${enable_fuzzing}
Check ASM: ..................... ${enable_check_asm}
- Ambisonics support: ............ ${enable_ambisonics}
API documentation: ............. ${enable_doc}
Extra programs: ................ ${enable_extra_programs}