Mercurial > dropbear
comparison configure.ac @ 1469:51043e868f55
Test for -Wno-pointer-sign, move CFLAGS tests into a macro
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 08 Feb 2018 22:21:47 +0800 |
parents | a3479d0d7e79 |
children | 67bcd5fa40c6 |
comparison
equal
deleted
inserted
replaced
1468:b528e3753af4 | 1469:51043e868f55 |
---|---|
7 | 7 |
8 AC_PREREQ(2.59) | 8 AC_PREREQ(2.59) |
9 AC_INIT | 9 AC_INIT |
10 AC_CONFIG_SRCDIR(buffer.c) | 10 AC_CONFIG_SRCDIR(buffer.c) |
11 | 11 |
12 OLDCFLAGS="$CFLAGS" | |
13 # Checks for programs. | 12 # Checks for programs. |
14 AC_PROG_CC | 13 AC_PROG_CC |
15 AC_PROG_MAKE_SET | 14 AC_PROG_MAKE_SET |
16 | 15 |
17 if test -z "$LD" ; then | 16 if test -z "$LD" ; then |
18 LD=$CC | 17 LD=$CC |
19 fi | 18 fi |
20 AC_SUBST(LD) | 19 AC_SUBST(LD) |
21 | 20 |
21 AC_DEFUN(DB_TRYADDCFLAGS, | |
22 [{ | |
23 OLDFLAGS="$CFLAGS" | |
24 TESTFLAGS="$1" | |
25 CFLAGS="$CFLAGS $TESTFLAGS" | |
26 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], | |
27 [AC_MSG_NOTICE([Setting $TESTFLAGS])], | |
28 [AC_MSG_NOTICE([Not setting $TESTFLAGS]); CFLAGS="$OLDFLAGS" ] | |
29 ) | |
30 }]) | |
31 | |
22 # set compile flags prior to other tests | 32 # set compile flags prior to other tests |
23 if test -z "$OLDCFLAGS" && test "$GCC" = "yes"; then | 33 if test -z "$OLDCFLAGS" && test "$GCC" = "yes"; then |
24 AC_MSG_NOTICE(No \$CFLAGS set... using "-Os -W -Wall" for GCC) | 34 AC_MSG_NOTICE(No \$CFLAGS set... using "-Os -W -Wall" for GCC) |
25 CFLAGS="-Os -W -Wall -Wno-pointer-sign" | 35 CFLAGS="-Os -W -Wall" |
26 fi | 36 fi |
27 | 37 |
28 AC_MSG_CHECKING([if compiler '$CC' supports -fno-strict-overflow]) | 38 AC_MSG_NOTICE([Checking if compiler '$CC' supports -Wno-pointer-sign]) |
29 OLDCFLAGS="$CFLAGS" | 39 DB_TRYADDCFLAGS([-Wno-pointer-sign]) |
30 CFLAGS="$CFLAGS -fno-strict-overflow" | 40 |
31 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], | 41 AC_MSG_NOTICE([Checking if compiler '$CC' supports -fno-strict-overflow]) |
32 [AC_MSG_RESULT(yes)], | 42 DB_TRYADDCFLAGS([-fno-strict-overflow]) |
33 [AC_MSG_RESULT(no); CFLAGS="$OLDCFLAGS" ] | |
34 ) | |
35 | 43 |
36 STATIC=0 | 44 STATIC=0 |
37 AC_ARG_ENABLE(static, | 45 AC_ARG_ENABLE(static, |
38 [ --enable-static Build static binaries], | 46 [ --enable-static Build static binaries], |
39 [ | 47 [ |
57 if test "$hardenbuild" -eq 1; then | 65 if test "$hardenbuild" -eq 1; then |
58 AC_MSG_NOTICE(Checking for available hardened build flags:) | 66 AC_MSG_NOTICE(Checking for available hardened build flags:) |
59 # relocation flags don't make sense for static builds | 67 # relocation flags don't make sense for static builds |
60 if test "$STATIC" -ne 1; then | 68 if test "$STATIC" -ne 1; then |
61 # pie | 69 # pie |
62 OLDCFLAGS="$CFLAGS" | 70 DB_TRYADDCFLAGS([-fPIE]) |
63 TESTFLAGS="-fPIE" | 71 |
64 CFLAGS="$CFLAGS $TESTFLAGS" | |
65 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], | |
66 [AC_MSG_NOTICE([Setting $TESTFLAGS])], | |
67 [AC_MSG_NOTICE([Not setting $TESTFLAGS]); CFLAGS="$OLDCFLAGS" ] | |
68 ) | |
69 OLDLDFLAGS="$LDFLAGS" | 72 OLDLDFLAGS="$LDFLAGS" |
70 TESTFLAGS="-Wl,-pie" | 73 TESTFLAGS="-Wl,-pie" |
71 LDFLAGS="$LDFLAGS $TESTFLAGS" | 74 LDFLAGS="$LDFLAGS $TESTFLAGS" |
72 AC_LINK_IFELSE([AC_LANG_PROGRAM([])], | 75 AC_LINK_IFELSE([AC_LANG_PROGRAM([])], |
73 [AC_MSG_NOTICE([Setting $TESTFLAGS])], | 76 [AC_MSG_NOTICE([Setting $TESTFLAGS])], |
105 [AC_MSG_NOTICE([Not setting $TESTFLAGS]); CFLAGS="$OLDCFLAGS" ] | 108 [AC_MSG_NOTICE([Not setting $TESTFLAGS]); CFLAGS="$OLDCFLAGS" ] |
106 ) | 109 ) |
107 ] | 110 ] |
108 ) | 111 ) |
109 # FORTIFY_SOURCE | 112 # FORTIFY_SOURCE |
110 OLDCFLAGS="$CFLAGS" | 113 DB_TRYADDCFLAGS([-D_FORTIFY_SOURCE=2]) |
111 TESTFLAGS="-D_FORTIFY_SOURCE=2" | |
112 CFLAGS="$CFLAGS $TESTFLAGS" | |
113 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], | |
114 [AC_MSG_NOTICE([Setting $TESTFLAGS])], | |
115 [AC_MSG_NOTICE([Not setting $TESTFLAGS]); CFLAGS="$OLDCFLAGS" ] | |
116 ) | |
117 fi | 114 fi |
118 | 115 |
119 # large file support is useful for scp | 116 # large file support is useful for scp |
120 AC_SYS_LARGEFILE | 117 AC_SYS_LARGEFILE |
121 | 118 |