about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2019-02-24 20:17:36 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2019-02-24 20:17:36 +0000
commit6491ba64cf1addc005cc3b8c18d35a8b4012817e (patch)
tree8315d929b839cf7cfb3969cf54af605ac03492fb
parentc0e3911a0f4accc77e4407ef60fa7bdb1d1d3b44 (diff)
downloadutmps-6491ba64cf1addc005cc3b8c18d35a8b4012817e.tar.gz
utmps-6491ba64cf1addc005cc3b8c18d35a8b4012817e.tar.xz
utmps-6491ba64cf1addc005cc3b8c18d35a8b4012817e.zip
Build everything as PIC
-rw-r--r--NEWS1
-rwxr-xr-xconfigure17
-rw-r--r--doc/upgrade.html3
3 files changed, 7 insertions, 14 deletions
diff --git a/NEWS b/NEWS
index 5d58dae..469d7fc 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,7 @@ In 0.0.2.1
 ----------
 
  - Adaptation to skalibs-2.8.0.0.
+ - Everything builds as PIC by default.
 
 
 In 0.0.2.0
diff --git a/configure b/configure
index 9dc24f6..e8f3730 100755
--- a/configure
+++ b/configure
@@ -40,7 +40,7 @@ Optional features:
   --disable-static              do not build static libraries [enabled]
   --disable-allstatic           do not prefer linking against static libraries [enabled]
   --enable-static-libc          make entirely static binaries [disabled]
-  --enable-all-pic              build everything as PIC [enabled iff toolchain builds PIE]
+  --disable-all-pic             don't build executables or static libs as PIC [enabled]
   --enable-slashpackage[=ROOT]  assume /package installation at ROOT [disabled]
   --enable-absolute-paths       do not rely on PATH to access this package's binaries,
                                   hardcode absolute BINDIR/foobar paths instead [disabled]
@@ -147,7 +147,7 @@ sysdeps='$prefix/lib/skalibs/sysdeps'
 manualsysdeps=false
 shared=false
 static=true
-allpic=detect
+allpic=true
 slashpackage=false
 abspath=false
 usensss=false
@@ -314,20 +314,9 @@ if [ "x$target" != "x$(cat $sysdeps/target)" ] ; then
   exit 1
 fi
 
-if test $allpic = detect ; then
-  echo "Checking whether we need to build everything as PIC..."
-  if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -dM -E - < /dev/null | grep -qF __PIE__ ; then
-    allpic=true
-    echo "  ... yes"
-  else
-    allpic=false
-    echo "  ... no"
-  fi
-fi
 if $allpic ; then
-  tryflag CFLAGS_AUTO -fPIC
+  tryflag CPPFLAGS_AUTO -fPIC
 fi
-
 spawn_lib=$(cat $sysdeps/spawn.lib)
 socket_lib=$(cat $sysdeps/socket.lib)
 sysclock_lib=$(cat $sysdeps/sysclock.lib)
diff --git a/doc/upgrade.html b/doc/upgrade.html
index f8768df..c4ffa6f 100644
--- a/doc/upgrade.html
+++ b/doc/upgrade.html
@@ -23,6 +23,9 @@
 <ul>
  <li> <a href="//skarnet.org/software/skalibs/">skalibs</a>
 dependency bumped to 2.8.0.0. </li>
+ <li> Everything now builds as PIC by default no matter
+the toolchain's settings. Use the <tt>--disable-all-pic</tt> configure
+option to build executables and static libraries as non-PIC. </li>
 </ul>
 
 <h2> in 0.0.2.0 </h2>