Put AM_* back, but this time do a dance in configure.ac so that we can keep

using CFLAGS for the tests.
This commit is contained in:
Nicholas Marriott 2016-10-19 15:20:21 +01:00
parent 28a31201d3
commit b951f0621c
2 changed files with 41 additions and 22 deletions

View File

@ -12,49 +12,49 @@ dist-hook:
grep "^#enable_debug=" configure grep "^#enable_debug=" configure
# Preprocessor flags. # Preprocessor flags.
CPPFLAGS += @XOPEN_DEFINES@ -DTMUX_CONF="\"$(sysconfdir)/tmux.conf\"" AM_CPPFLAGS += @XOPEN_DEFINES@ -DTMUX_CONF="\"$(sysconfdir)/tmux.conf\""
# glibc as usual does things ass-backwards and hides useful things by default, # glibc as usual does things ass-backwards and hides useful things by default,
# so everyone has to add this. # so everyone has to add this.
if IS_GLIBC if IS_GLIBC
CFLAGS += -D_GNU_SOURCE AM_CFLAGS += -D_GNU_SOURCE
endif endif
# Set flags for gcc. # Set flags for gcc.
if IS_GCC if IS_GCC
CFLAGS += -std=gnu99 -O2 AM_CFLAGS += -std=gnu99 -O2
if IS_DEBUG if IS_DEBUG
CFLAGS += -g AM_CFLAGS += -g
CFLAGS += -Wno-long-long -Wall -W -Wformat=2 AM_CFLAGS += -Wno-long-long -Wall -W -Wformat=2
CFLAGS += -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations AM_CFLAGS += -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations
CFLAGS += -Wwrite-strings -Wshadow -Wpointer-arith -Wsign-compare AM_CFLAGS += -Wwrite-strings -Wshadow -Wpointer-arith -Wsign-compare
CFLAGS += -Wundef -Wbad-function-cast -Winline -Wcast-align AM_CFLAGS += -Wundef -Wbad-function-cast -Winline -Wcast-align
CFLAGS += -Wdeclaration-after-statement -Wno-pointer-sign -Wno-attributes AM_CFLAGS += -Wdeclaration-after-statement -Wno-pointer-sign -Wno-attributes
CPPFLAGS += -DDEBUG AM_CPPFLAGS += -DDEBUG
endif endif
if IS_COVERAGE if IS_COVERAGE
CFLAGS += -g -O0 --coverage AM_CFLAGS += -g -O0 --coverage
LDFLAGS += --coverage AM_LDFLAGS += --coverage
endif endif
if IS_PROFILE if IS_PROFILE
CFLAGS += -g -O0 -pg AM_CFLAGS += -g -O0 -pg
LDFLAGS += -pg AM_LDFLAGS += -pg
endif endif
CPPFLAGS += -iquote. AM_CPPFLAGS += -iquote.
endif endif
# Set flags for Solaris. # Set flags for Solaris.
if IS_SUNOS if IS_SUNOS
if IS_GCC if IS_GCC
CPPFLAGS += -D_XPG6 -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS AM_CPPFLAGS += -D_XPG6 -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS
else else
CPPFLAGS += -D_XPG4_2 -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS AM_CPPFLAGS += -D_XPG4_2 -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS
endif endif
endif endif
# Set flags for Sun CC. # Set flags for Sun CC.
if IS_SUNCC if IS_SUNCC
CFLAGS += -erroff=E_EMPTY_DECLARATION AM_CFLAGS += -erroff=E_EMPTY_DECLARATION
endif endif
# Set _LINUX_SOURCE_COMPAT for AIX for malloc(0). # Set _LINUX_SOURCE_COMPAT for AIX for malloc(0).
@ -64,7 +64,7 @@ endif
# Set flags for NetBSD. # Set flags for NetBSD.
if IS_NETBSD if IS_NETBSD
CPPFLAGS += -D_OPENBSD_SOURCE AM_CPPFLAGS += -D_OPENBSD_SOURCE
endif endif
# List of sources. # List of sources.

View File

@ -12,6 +12,13 @@ AC_CANONICAL_HOST
# empty default. # empty default.
: ${CFLAGS=""} : ${CFLAGS=""}
# Save user CPPFLAGS, CFLAGS and LDFLAGS. We need to change them because
# AC_CHECK_HEADER doesn't give us any other way to update the include
# paths. But for Makefile.am we want to use AM_CPPFLAGS and friends.
SAVED_CFLAGS="$CFLAGS"
SAVED_CPPFLAGS="$CPPFLAGS"
SAVED_LDFLAGS="$LDFLAGS"
# Set up the compiler in two different ways and say yes we may want to install. # Set up the compiler in two different ways and say yes we may want to install.
AC_PROG_CC AC_PROG_CC
AM_PROG_CC_C_O AM_PROG_CC_C_O
@ -51,8 +58,9 @@ AC_ARG_ENABLE(
AC_HELP_STRING(--enable-static, create a static build) AC_HELP_STRING(--enable-static, create a static build)
) )
if test "x$enable_static" = xyes; then if test "x$enable_static" = xyes; then
LDFLAGS="$LDFLAGS -static"
test "x$PKG_CONFIG" != x && PKG_CONFIG="$PKG_CONFIG --static" test "x$PKG_CONFIG" != x && PKG_CONFIG="$PKG_CONFIG --static"
AM_LDFLAGS="-static $AM_LDFLAGS"
LDFLAGS="$AM_LDFLAGS $SAVED_LDFLAGS"
fi fi
# Is this gcc? # Is this gcc?
@ -129,7 +137,8 @@ PKG_CHECK_MODULES(
LIBEVENT, LIBEVENT,
libevent, libevent,
[ [
CPPFLAGS="$LIBEVENT_CFLAGS $CPPFLAGS" AM_CFLAGS="$LIBEVENT_CFLAGS $AM_CFLAGS"
CFLAGS="$AM_CFLAGS $SAVED_CFLAGS"
LIBS="$LIBEVENT_LIBS $LIBS" LIBS="$LIBEVENT_LIBS $LIBS"
found_libevent=yes found_libevent=yes
], ],
@ -156,7 +165,8 @@ PKG_CHECK_MODULES(
LIBNCURSES, LIBNCURSES,
ncurses, ncurses,
[ [
CPPFLAGS="$LIBNCURSES_CFLAGS $CPPFLAGS" AM_CFLAGS="$LIBNCURSES_CFLAGS $AM_CFLAGS"
CFLAGS="$AM_CFLAGS $SAVED_CFLAGS"
LIBS="$LIBNCURSES_LIBS $LIBS" LIBS="$LIBNCURSES_LIBS $LIBS"
found_ncurses=yes found_ncurses=yes
], ],
@ -645,5 +655,14 @@ AM_CONDITIONAL(IS_SUNOS, test "x$PLATFORM" = xsunos)
AM_CONDITIONAL(IS_HPUX, test "x$PLATFORM" = xhpux) AM_CONDITIONAL(IS_HPUX, test "x$PLATFORM" = xhpux)
AM_CONDITIONAL(IS_UNKNOWN, test "x$PLATFORM" = xunknown) AM_CONDITIONAL(IS_UNKNOWN, test "x$PLATFORM" = xunknown)
# Save our CFLAGS/CPPFLAGS/LDFLAGS for the Makefile and restore the old user
# variables.
AC_SUBST(AM_CPPFLAGS)
CPPFLAGS="$SAVED_CPPFLAGS"
AC_SUBST(AM_CFLAGS)
CFLAGS="$SAVED_CFLAGS"
AC_SUBST(AM_LDFLAGS)
LDFLAGS="$SAVED_LDFLAGS"
# autoconf should create a Makefile. # autoconf should create a Makefile.
AC_OUTPUT(Makefile) AC_OUTPUT(Makefile)