Commit d2cb0d1e authored by Erik de Castro Lopo's avatar Erik de Castro Lopo
Browse files

configure.ac: Clean up CFLAGS code

Also moves _FORTIFY_SOURCE detection to an M4 macro.

Patchfrom: David Seifert <soap@gentoo.org>
parent 62a3b091
...@@ -393,9 +393,7 @@ fi ...@@ -393,9 +393,7 @@ fi
dnl If debugging is disabled AND no CFLAGS/CXXFLAGS/CPPFLAGS/LDFLAGS dnl If debugging is disabled AND no CFLAGS/CXXFLAGS/CPPFLAGS/LDFLAGS
dnl are provided, we can set defaults to our liking dnl are provided, we can set defaults to our liking
AS_IF([test "x${ax_enable_debug}" = "xno" && test "x${enable_flags_setting}" = "xyes"], [ AS_IF([test "x${ax_enable_debug}" = "xno" && test "x${enable_flags_setting}" = "xyes"], [
AC_PROG_SED CFLAGS="-O3 -funroll-loops"
CFLAGS=$(echo "$CFLAGS" | $SED 's/-O2//')
CFLAGS="-O3 -funroll-loops $CFLAGS"
]) ])
XIPH_GCC_VERSION XIPH_GCC_VERSION
...@@ -409,24 +407,7 @@ if test x$ac_cv_c_compiler_gnu = xyes ; then ...@@ -409,24 +407,7 @@ if test x$ac_cv_c_compiler_gnu = xyes ; then
dnl some distributions (such as Gentoo) have _FORTIFY_SOURCE always dnl some distributions (such as Gentoo) have _FORTIFY_SOURCE always
dnl enabled. We test for this situation in order to prevent polluting dnl enabled. We test for this situation in order to prevent polluting
dnl the console with messages of macro redefinitions. dnl the console with messages of macro redefinitions.
AC_MSG_CHECKING([whether to add -D_FORTIFY_SOURCE=2 to CFLAGS]) AX_ADD_FORTIFY_SOURCE
AC_LINK_IFELSE([
AC_LANG_SOURCE(
[[
int main() {
#ifndef _FORTIFY_SOURCE
return 0;
#else
this_is_an_error;
#endif
}
]]
)], [
AC_MSG_RESULT([yes])
XIPH_ADD_CFLAGS([-D_FORTIFY_SOURCE=2])
], [
AC_MSG_RESULT([no])
])
AC_LANG_PUSH([C++]) AC_LANG_PUSH([C++])
XIPH_ADD_CXXFLAGS([-Weffc++]) XIPH_ADD_CXXFLAGS([-Weffc++])
......
# ===========================================================================
# http://www.gnu.org/software/autoconf-archive/ax_add_fortify_source.html
# ===========================================================================
#
# SYNOPSIS
#
# AX_ADD_FORTIFY_SOURCE
#
# DESCRIPTION
#
# Check whether -D_FORTIFY_SOURCE=2 can be added to CPPFLAGS without macro
# redefinition warnings. Some distributions (such as Gentoo Linux) enable
# _FORTIFY_SOURCE globally in their compilers, leading to unnecessary
# warnings in the form of
#
# <command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
# <built-in>: note: this is the location of the previous definition
#
# which is a problem if -Werror is enabled. This macro checks whether
# _FORTIFY_SOURCE is already defined, and if not, adds -D_FORTIFY_SOURCE=2
# to CPPFLAGS.
#
# LICENSE
#
# Copyright (c) 2017 David Seifert <soap@gentoo.org>
#
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided the copyright notice
# and this notice are preserved. This file is offered as-is, without any
# warranty.
#serial 1
AC_DEFUN([AX_ADD_FORTIFY_SOURCE],[
AC_MSG_CHECKING([whether to add -D_FORTIFY_SOURCE=2 to CPPFLAGS])
AC_LINK_IFELSE([
AC_LANG_SOURCE(
[[
int main() {
#ifndef _FORTIFY_SOURCE
return 0;
#else
this_is_an_error;
#endif
}
]]
)], [
AC_MSG_RESULT([yes])
CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2"
], [
AC_MSG_RESULT([no])
])
])
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment