From 173f4a3cc60d6e39e71118b6373e1101015bc27b Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Thu, 5 Oct 2017 19:22:33 +0000 Subject: Better *FLAGS management ; prepare for 2.3.0.3 --- .gitignore | 2 ++ COPYING | 2 +- INSTALL | 2 +- Makefile | 6 +++--- NEWS | 6 ++++++ configure | 37 +++++++++++++++++++++++-------------- doc/index.html | 4 ++-- doc/upgrade.html | 6 ++++++ package/info | 2 +- 9 files changed, 45 insertions(+), 22 deletions(-) diff --git a/.gitignore b/.gitignore index 5c6415e..e656f16 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ *.lo *.so *.so.* +config.mak +src/include/execline/config.h diff --git a/COPYING b/COPYING index f496e31..cc344f1 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,4 @@ -Copyright (c) 2011-2016 Laurent Bercot +Copyright (c) 2011-2017 Laurent Bercot Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above diff --git a/INSTALL b/INSTALL index f8bcb76..7820b29 100644 --- a/INSTALL +++ b/INSTALL @@ -6,7 +6,7 @@ Build Instructions - A POSIX-compliant C development environment - GNU make version 3.81 or later - - skalibs version 2.6.0.0 or later: http://skarnet.org/software/skalibs/ + - skalibs version 2.6.0.1 or later: http://skarnet.org/software/skalibs/ This software will run on any operating system that implements POSIX.1-2008, available at: 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/NEWS b/NEWS index 7d2cb2d..3c76364 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,11 @@ Changelog for execline. +In 2.3.0.3 +---------- + + - Better CPPFLAGS, CFLAGS and LDFLAGS management. + + In 2.3.0.2 ---------- diff --git a/configure b/configure index 8d3e562..a5654da 100755 --- a/configure +++ b/configure @@ -92,7 +92,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# }" @@ -106,7 +106,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# }" @@ -121,11 +121,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' @@ -267,7 +273,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:" @@ -301,12 +307,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 @@ -324,7 +330,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}" @@ -376,9 +382,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 diff --git a/doc/index.html b/doc/index.html index 929dbab..0103021 100644 --- a/doc/index.html +++ b/doc/index.html @@ -51,7 +51,7 @@ shell's syntax, and has no security issues.
  • A POSIX-compliant system with a standard C development environment
  • GNU make, version 3.81 or later.
  • skalibs version -2.6.0.0 or later. It's a build-time requirement. It's also a run-time +2.6.0.1 or later. It's a build-time requirement. It's also a run-time requirement if you link against the shared version of the skalibs library.
  • @@ -66,7 +66,7 @@ library.

    Download

      -
    • The current released version of execline is 2.3.0.2.
    • +
    • The current released version of execline is 2.3.0.3.
    • Alternatively, you can checkout a copy of the execline git repository: diff --git a/doc/upgrade.html b/doc/upgrade.html index d64d75d..e738e6e 100644 --- a/doc/upgrade.html +++ b/doc/upgrade.html @@ -18,6 +18,12 @@

      What has changed in execline

      +

      in 2.3.0.3

      + +
        +
      • skalibs dependency bumped to 2.6.0.1
      • +
      +

      in 2.3.0.2

        diff --git a/package/info b/package/info index 678f282..a508be0 100644 --- a/package/info +++ b/package/info @@ -1,4 +1,4 @@ package=execline -version=2.3.0.2 +version=2.3.0.3 category=admin package_macro_name=EXECLINE -- cgit v1.2.3