diff options
Diffstat (limited to 'm4')
-rw-r--r-- | m4/check-hardening-options.m4 | 26 | ||||
-rw-r--r-- | m4/check-libc.m4 | 10 | ||||
-rw-r--r-- | m4/check-os-options.m4 | 15 |
3 files changed, 26 insertions, 25 deletions
diff --git a/m4/check-hardening-options.m4 b/m4/check-hardening-options.m4 index c8ab12e..4b5784b 100644 --- a/m4/check-hardening-options.m4 +++ b/m4/check-hardening-options.m4 @@ -4,16 +4,13 @@ AC_DEFUN([CHECK_CFLAG], [ AC_MSG_CHECKING([if $saved_CC supports "$1"]) old_cflags="$CFLAGS" CFLAGS="$1 -Wall -Werror" - AC_TRY_LINK([ - #include <stdio.h> - ], - [printf("Hello")], - AC_MSG_RESULT([yes]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]], [[printf("Hello")]])], + [AC_MSG_RESULT([yes]) CFLAGS=$old_cflags - HARDEN_CFLAGS="$HARDEN_CFLAGS $1", - AC_MSG_RESULT([no]) + HARDEN_CFLAGS="$HARDEN_CFLAGS $1"], + [AC_MSG_RESULT([no]) CFLAGS=$old_cflags - [$2]) + [$2]]) ]) AC_DEFUN([CHECK_LDFLAG], [ @@ -21,16 +18,13 @@ AC_DEFUN([CHECK_LDFLAG], [ AC_MSG_CHECKING([if $saved_LD supports "$1"]) old_ldflags="$LDFLAGS" LDFLAGS="$1 -Wall -Werror" - AC_TRY_LINK([ - #include <stdio.h> - ], - [printf("Hello")], - AC_MSG_RESULT([yes]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]], [[printf("Hello")]])], + [AC_MSG_RESULT([yes]) LDFLAGS=$old_ldflags - HARDEN_LDFLAGS="$HARDEN_LDFLAGS $1", - AC_MSG_RESULT([no]) + HARDEN_LDFLAGS="$HARDEN_LDFLAGS $1"], + [AC_MSG_RESULT([no]) LDFLAGS=$old_ldflags - [$2]) + [$2]]) ]) AC_DEFUN([DISABLE_AS_EXECUTABLE_STACK], [ diff --git a/m4/check-libc.m4 b/m4/check-libc.m4 index 2ca08a5..b33224f 100644 --- a/m4/check-libc.m4 +++ b/m4/check-libc.m4 @@ -1,4 +1,9 @@ AC_DEFUN([CHECK_LIBC_COMPAT], [ +# Check for libc headers +AC_CHECK_HEADERS([netinet/ip.h], [], [], +[#include <sys/types.h> +#include <arpa/inet.h> +]) # Check for general libc functions AC_CHECK_FUNCS([asprintf freezero memmem]) AC_CHECK_FUNCS([reallocarray recallocarray]) @@ -7,10 +12,7 @@ AC_CHECK_FUNCS([timegm _mkgmtime timespecsub]) AC_CHECK_FUNCS([getprogname]) AC_CACHE_CHECK([for getpagesize], ac_cv_func_getpagesize, [ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ -// Since Android NDK v16 getpagesize is defined as inline inside unistd.h -#ifdef __ANDROID__ -# include <unistd.h> -#endif +#include <unistd.h> ]], [[ getpagesize(); ]])], diff --git a/m4/check-os-options.m4 b/m4/check-os-options.m4 index 644bf71..bd38938 100644 --- a/m4/check-os-options.m4 +++ b/m4/check-os-options.m4 @@ -68,10 +68,15 @@ char buf[1]; getentropy(buf, 1); ;; *hpux*) HOST_OS=hpux; - if test "`echo $CC | cut -d ' ' -f 1`" = "gcc" ; then - CFLAGS="$CFLAGS -mlp64" - else - CFLAGS="-g -O2 +DD64 +Otype_safety=off $USER_CFLAGS" + if test "`echo $host_os | cut -c 1-4`" = "ia64" ; then + if test "`echo $CC | cut -d ' ' -f 1`" = "gcc" ; then + CFLAGS="$CFLAGS -mlp64" + else + CFLAGS="+DD64" + fi + fi + if ! test "`echo $CC | cut -d ' ' -f 1`" = "gcc" ; then + CFLAGS="-g -O2 +Otype_safety=off $CFLAGS $USER_CFLAGS" fi CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -D__STRICT_ALIGNMENT" ;; @@ -118,7 +123,7 @@ char buf[1]; getentropy(buf, 1); HOST_OS=solaris HOST_ABI=elf CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__ -D_XOPEN_SOURCE=600 -DBSD_COMP" - AC_SUBST([PLATFORM_LDADD], ['-ldl -lnsl -lsocket']) + AC_SUBST([PLATFORM_LDADD], ['-ldl -lmd -lnsl -lsocket']) ;; *) ;; esac |