summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2019-02-24 15:01:17 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2019-02-24 15:01:17 +0000
commitf287f869ae4a5d9eed44def648d69e70e65c7b14 (patch)
tree3106d6678b603f211577d1e3865e2a987f9eaf07
parent3d9f4c786ee1bce0ded8871f405b11e7eb62df13 (diff)
downloadexecline-f287f869ae4a5d9eed44def648d69e70e65c7b14.tar.xz
Build everything as PIC by default
-rw-r--r--.gitignore1
-rw-r--r--NEWS1
-rwxr-xr-xconfigure15
-rw-r--r--doc/upgrade.html3
4 files changed, 7 insertions, 13 deletions
diff --git a/.gitignore b/.gitignore
index ea4980b..4c9e807 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,6 +13,7 @@
/elgetpositionals
/elglob
/emptyenv
+/envfile
/exec
/execlineb
/exit
diff --git a/NEWS b/NEWS
index 17647c5..38e9fe4 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,7 @@ In 2.5.1.0
- Bugfixes.
- New command: envfile.
+ - Everything builds as PIC by default.
In 2.5.0.1
diff --git a/configure b/configure
index ef53dad..cd7c05d 100755
--- a/configure
+++ b/configure
@@ -41,7 +41,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 do not build executables and 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
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 80c5dea..62a2fc8 100644
--- a/doc/upgrade.html
+++ b/doc/upgrade.html
@@ -23,6 +23,9 @@
<ul>
<li> skalibs dependency bumped to 2.8.0.0 </li>
<li> New command: <a href="envfile.html">envfile</a>. </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 2.5.0.1 </h2>