summary refs log tree commit diff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2017-10-05 19:22:33 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2017-10-05 19:22:33 +0000
commit173f4a3cc60d6e39e71118b6373e1101015bc27b (patch)
tree9f76ae015508d4dc30687a541ca1dc0c2f67acf8
parent95cd13460dc4b40a3194e753e1a98a6dc9eb4137 (diff)
downloadexecline-173f4a3cc60d6e39e71118b6373e1101015bc27b.tar.gz
execline-173f4a3cc60d6e39e71118b6373e1101015bc27b.tar.xz
execline-173f4a3cc60d6e39e71118b6373e1101015bc27b.zip
Better *FLAGS management ; prepare for 2.3.0.3
-rw-r--r--.gitignore2
-rw-r--r--COPYING2
-rw-r--r--INSTALL2
-rw-r--r--Makefile6
-rw-r--r--NEWS6
-rwxr-xr-xconfigure37
-rw-r--r--doc/index.html4
-rw-r--r--doc/upgrade.html6
-rw-r--r--package/info2
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 <ska-skaware@skarnet.org>
+Copyright (c) 2011-2017 Laurent Bercot <ska-skaware@skarnet.org>
 
 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.
  <li> A POSIX-compliant system with a standard C development environment </li>
  <li> GNU make, version 3.81 or later. </li>
  <li> <a href="//skarnet.org/software/skalibs/">skalibs</a> 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. </li>
 </ul>
@@ -66,7 +66,7 @@ library. </li>
 <h3> Download </h3>
 
 <ul>
- <li> The current released version of execline is <a href="execline-2.3.0.2.tar.gz">2.3.0.2</a>. </li>
+ <li> The current released version of execline is <a href="execline-2.3.0.3.tar.gz">2.3.0.3</a>. </li>
  <li> Alternatively, you can checkout a copy of the
 <a href="//git.skarnet.org/cgi-bin/cgit.cgi/execline/">execline
 git repository</a>:
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 @@
 
 <h1> What has changed in execline </h1>
 
+<h2> in 2.3.0.3 </h2>
+
+<ul>
+ <li> skalibs dependency bumped to 2.6.0.1 </li>
+</ul>
+
 <h2> in 2.3.0.2 </h2>
 
 <ul>
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