summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2017-10-30 11:09:34 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2017-10-30 11:09:34 +0000
commit511f24c5b7ebfbf7549b54455948298c47c7e6c2 (patch)
treedc17bfa70edc7991ff837cad09b5c3c24e532730 /configure
parentb98b560ad3092f32e8a1e76090799ad843ff38f0 (diff)
downloads6-rc-511f24c5b7ebfbf7549b54455948298c47c7e6c2.tar.xz
Make all-pic a user option
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure30
1 files changed, 19 insertions, 11 deletions
diff --git a/configure b/configure
index 65166e1..63f5d9c 100755
--- a/configure
+++ b/configure
@@ -41,6 +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]
--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]
@@ -144,6 +145,7 @@ sysdeps='$prefix/lib/skalibs/sysdeps'
manualsysdeps=false
shared=false
static=true
+allpic=detect
slashpackage=false
abspath=false
sproot=
@@ -181,6 +183,8 @@ for arg ; do
--disable-allstatic|--enable-allstatic=no) allstatic=false ; evenmorestatic=false ;;
--enable-static-libc|--enable-static-libc=yes) allstatic=true ; evenmorestatic=true ;;
--disable-static-libc|--enable-static-libc=no) evenmorestatic=false ;;
+ --enable-all-pic|--enable-all-pic=yes) allpic=true ;;
+ --disable-all-pic|--enable-all-pic=no) allpic=false ;;
--enable-slashpackage=*) sproot=${arg#*=} ; slashpackage=true ; ;;
--enable-slashpackage) sproot= ; slashpackage=true ;;
--disable-slashpackage) sproot= ; slashpackage=false ;;
@@ -295,14 +299,18 @@ if [ "x$target" != "x$(cat $sysdeps/target)" ] ; then
exit 1
fi
-defaultpie=false
-echo "Checking whether we're building PIE..."
-if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -dM -E - < /dev/null | grep -qF __PIE__ ; then
- defaultpie=true
- CFLAGS_AUTO="$CFLAGS_AUTO -fPIC"
- echo " ... yes"
-else
- echo " ... no"
+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)
@@ -417,10 +425,10 @@ if $shared ; then
else
echo "DO_SHARED :="
fi
-if $defaultpie ; then
- echo "DEFAULT_PIE := 1"
+if $allpic ; then
+ echo "STATIC_LIBS_ARE_PIC := 1"
else
- echo "DEFAULT_PIE :="
+ echo "STATIC_LIBS_ARE_PIC :="
fi
exec 1>&3 3>&-