summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2017-10-05 20:33:27 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2017-10-05 20:33:27 +0000
commitd00ae5af737aa553cb4e6d903eda0537086776bb (patch)
treeafaef69e47877051c59ccb60118e37a969b1729c
parent3f369313bfd5c06b4a32f7304a49209b4c91de10 (diff)
downloads6-networking-d00ae5af737aa553cb4e6d903eda0537086776bb.tar.xz
Better *FLAGS management
-rw-r--r--Makefile6
-rwxr-xr-xconfigure37
2 files changed, 26 insertions, 17 deletions
diff --git a/Makefile b/Makefile
index bffc468..259d624 100644
--- a/Makefile
+++ b/Makefile
@@ -40,10 +40,10 @@ include package/deps.mak
version_m := $(basename $(version))
version_M := $(basename $(version_m))
version_l := $(basename $(version_M))
-CPPFLAGS_ALL := -iquote src/include-local -Isrc/include $(CPPFLAGS)
-CFLAGS_ALL := $(CFLAGS) -pipe -Wall
+CPPFLAGS_ALL := $(CPPFLAGS_AUTO) $(CPPFLAGS)
+CFLAGS_ALL := $(CFLAGS_AUTO) $(CFLAGS)
CFLAGS_SHARED := -fPIC
-LDFLAGS_ALL := $(LDFLAGS)
+LDFLAGS_ALL := $(LDFLAGS_AUTO) $(LDFLAGS)
REALCC = $(CROSS_COMPILE)$(CC)
AR := $(CROSS_COMPILE)ar
RANLIB := $(CROSS_COMPILE)ranlib
diff --git a/configure b/configure
index 2a14808..c1d807f 100755
--- a/configure
+++ b/configure
@@ -95,7 +95,7 @@ stripdir () {
tryflag () {
echo "checking whether compiler accepts $2 ..."
echo "typedef int x;" > "$tmpc"
- if $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO "$2" -c -o /dev/null "$tmpc" >/dev/null 2>&1 ; then
+ if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST "$2" -c -o /dev/null "$tmpc" >/dev/null 2>&1 ; then
echo " ... yes"
eval "$1=\"\${$1} \$2\""
eval "$1=\${$1# }"
@@ -109,7 +109,7 @@ tryflag () {
tryldflag () {
echo "checking whether linker accepts $2 ..."
echo "typedef int x;" > "$tmpc"
- if $CC_AUTO $CFLAGS_AUTO $LDFLAGS_AUTO -nostdlib "$2" -o /dev/null "$tmpc" >/dev/null 2>&1 ; then
+ if $CC_AUTO $CFLAGS_AUTO $CFLAGS $CFLAGS_POST $LDFLAGS_AUTO $LDFLAGS $LDFLAGS_POST -nostdlib "$2" -o /dev/null "$tmpc" >/dev/null 2>&1 ; then
echo " ... yes"
eval "$1=\"\${$1} \$2\""
eval "$1=\${$1# }"
@@ -124,11 +124,17 @@ tryldflag () {
# Actual script
CC_AUTO=
-CFLAGS_AUTO="$CFLAGS"
-CPPFLAGS_AUTO="-D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -O2 $CPPFLAGS"
-LDFLAGS_AUTO="$LDFLAGS"
-LDFLAGS_SHARED=-shared
+CPPFLAGS_AUTO="-D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -iquote src/include-local -Isrc/include"
+CPPFLAGS_POST="$CPPFLAGS"
+CPPFLAGS=
+CFLAGS_AUTO="-pipe -Wall"
+CFLAGS_POST="$CFLAGS"
+CFLAGS=-O2
+LDFLAGS_AUTO=
+LDFLAGS_POST="$LDFLAGS"
+LDFLAGS=
LDFLAGS_NOSHARED=
+LDFLAGS_SHARED=-shared
prefix=
exec_prefix='$prefix'
dynlibdir='$prefix/lib'
@@ -269,7 +275,7 @@ test -n "$CC_AUTO" || { echo "$0: cannot find a C compiler" ; exit 1 ; }
echo " ... $CC_AUTO"
echo "checking whether C compiler works... "
echo "typedef int x;" > "$tmpc"
-if $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO -c -o /dev/null "$tmpc" 2>"$tmpe" ; then
+if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -c -o /dev/null "$tmpc" 2>"$tmpe" ; then
echo " ... yes"
else
echo " ... no. Compiler output follows:"
@@ -303,12 +309,12 @@ timer_lib=$(cat $sysdeps/timer.lib)
util_lib=$(cat $sysdeps/util.lib)
tryflag CFLAGS_AUTO -std=c99
-tryflag CFLAGS_AUTO -fomit-frame-pointer
+tryflag CFLAGS -fomit-frame-pointer
tryflag CFLAGS_AUTO -fno-exceptions
tryflag CFLAGS_AUTO -fno-unwind-tables
tryflag CFLAGS_AUTO -fno-asynchronous-unwind-tables
-tryflag CPPFLAGS_AUTO -Wa,--noexecstack
-tryflag CFLAGS_AUTO -fno-stack-protector
+tryflag CFLAGS_AUTO -Wa,--noexecstack
+tryflag CFLAGS -fno-stack-protector
tryflag CPPFLAGS_AUTO -Werror=implicit-function-declaration
tryflag CPPFLAGS_AUTO -Werror=implicit-int
tryflag CPPFLAGS_AUTO -Werror=pointer-sign
@@ -327,7 +333,7 @@ if $evenmorestatic ; then
fi
if $shared ; then
- tryldflag LDFLAGS_AUTO -Wl,--hash-style=both
+ tryldflag LDFLAGS -Wl,--hash-style=both
fi
LDFLAGS_SHARED="${LDFLAGS_SHARED}${addlibdpath}"
@@ -379,9 +385,12 @@ TIMER_LIB := ${timer_lib}
UTIL_LIB := ${util_lib}
CC := ${CC_AUTO##${cross}}
-CFLAGS := $CFLAGS_AUTO
-CPPFLAGS := $CPPFLAGS_AUTO
-LDFLAGS := $LDFLAGS_AUTO
+CPPFLAGS_AUTO := $CPPFLAGS_AUTO
+CPPFLAGS := $CPPFLAGS $CPPFLAGS_POST
+CFLAGS_AUTO := $CFLAGS_AUTO
+CFLAGS := $CFLAGS $CFLAGS_POST
+LDFLAGS_AUTO := $LDFLAGS_AUTO
+LDFLAGS := $LDFLAGS $LDFLAGS_POST
LDFLAGS_SHARED := $LDFLAGS_SHARED
LDFLAGS_NOSHARED := $LDFLAGS_NOSHARED
CROSS_COMPILE := $cross