summaryrefslogtreecommitdiff
path: root/configure.src
diff options
context:
space:
mode:
authorSverker Eriksson <sverker@erlang.org>2019-08-21 19:12:19 +0200
committerSverker Eriksson <sverker@erlang.org>2020-02-18 19:11:30 +0100
commitad73bc04ae5384d06c0b0843281732cae5dc634e (patch)
treefa808c6a18af51fea15997d9f5ca42a2774d73b1 /configure.src
parentb613c4e0c6f065b253c2c31d7837c06d5594b623 (diff)
downloaderlang-ad73bc04ae5384d06c0b0843281732cae5dc634e.tar.gz
Add configure options --enable-pie and --disable-pie
Diffstat (limited to 'configure.src')
-rw-r--r--configure.src16
1 files changed, 13 insertions, 3 deletions
diff --git a/configure.src b/configure.src
index 4b748f2545..ff39a58aa9 100644
--- a/configure.src
+++ b/configure.src
@@ -37,6 +37,8 @@ unset CDPATH
default_cflags="-g -O2"
+pie_cflags=
+pie_ldflags=
mXY_build=
static_cache=
@@ -125,6 +127,14 @@ while test $# != 0; do
if test "$mXY_build" = "-m32"; then
mXY_build=
fi;;
+ --enable-pie)
+ pie_cflags="-fPIE"
+ pie_ldflags="-pie"
+ ;;
+ --disable-pie)
+ pie_cflags="-fno-PIE"
+ pie_ldflags="-no-pie"
+ ;;
CFLAGS=* | LDFLAGS=*)
flgs_var=`expr "$1" : '\([^=]*\)=.*'`
flgs_val=`expr "$1" : '[^=]*=\(.*\)'`
@@ -263,7 +273,7 @@ case "$help" in
exit 0;;
esac
-if test "$mXY_build" = ""; then
+if test "$mXY_build" = "" && test "$pie_cflags" = ""; then
if test "$CFLAGS" != ""; then
config_arguments="$config_arguments CFLAGS='$CFLAGS'"
unset CFLAGS
@@ -277,9 +287,9 @@ else
if test "$CFLAGS" = ""; then
CFLAGS=$default_cflags
fi
- config_arguments="$config_arguments CFLAGS='$mXY_build $CFLAGS'"
+ config_arguments="$config_arguments CFLAGS='$mXY_build $pie_cflags $CFLAGS'"
unset CFLAGS
- config_arguments="$config_arguments LDFLAGS='$mXY_build $LDFLAGS'"
+ config_arguments="$config_arguments LDFLAGS='$mXY_build $pie_ldflags $LDFLAGS'"
unset LDFLAGS
case $mXY_build in
-m32)