summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2013-07-09 21:57:52 +0200
committerBram Moolenaar <Bram@vim.org>2013-07-09 21:57:52 +0200
commite741f2714db39a17f486102d992f856f56c7d54b (patch)
tree086a3da4dd063a596a896ae05ae4d6aad24a3a19 /src
parentfb97f28cc23c20721af3b122a8b9c510db0e14b2 (diff)
updated for version 7.4a.010v7.4a.010
Problem: Test 86 and 97 fail when building with Python or Python 3 and using a static library. Solution: Add configure check to add -fPIE compiler flag.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/auto/configure64
-rw-r--r--src/configure.in32
-rw-r--r--src/version.c2
3 files changed, 98 insertions, 0 deletions
diff --git a/src/auto/configure b/src/auto/configure
index 4e29d0b535..6975af174c 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -5991,6 +5991,38 @@ elif test "$python_ok" = yes && test "$enable_pythoninterp" = "dynamic"; then
PYTHON_OBJ="objects/if_python.o"
PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
PYTHON_LIBS=
+elif test "$python_ok" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -fPIE can be added for Python" >&5
+$as_echo_n "checking if -fPIE can be added for Python... " >&6; }
+ cflags_save=$CFLAGS
+ libs_save=$LIBS
+ CFLAGS="$CFLAGS $PYTHON_CFLAGS -fPIE"
+ LIBS="$LIBS $PYTHON_LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }; fpie_ok=yes
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }; fpie_ok=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ CFLAGS=$cflags_save
+ LIBS=$libs_save
+ if test $fpie_ok = yes; then
+ PYTHON_CFLAGS="$PYTHON_CFLAGS -fPIE"
+ fi
elif test "$python3_ok" = yes && test "$enable_python3interp" = "dynamic"; then
$as_echo "#define DYNAMIC_PYTHON3 1" >>confdefs.h
@@ -5998,6 +6030,38 @@ elif test "$python3_ok" = yes && test "$enable_python3interp" = "dynamic"; then
PYTHON3_OBJ="objects/if_python3.o"
PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${python3_INSTSONAME}\\\""
PYTHON3_LIBS=
+elif test "$python3_ok" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -fPIE can be added for Python3" >&5
+$as_echo_n "checking if -fPIE can be added for Python3... " >&6; }
+ cflags_save=$CFLAGS
+ libs_save=$LIBS
+ CFLAGS="$CFLAGS $PYTHON3_CFLAGS -fPIE"
+ LIBS="$LIBS $PYTHON3_LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }; fpie_ok=yes
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }; fpie_ok=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ CFLAGS=$cflags_save
+ LIBS=$libs_save
+ if test $fpie_ok = yes; then
+ PYTHON3_CFLAGS="$PYTHON3_CFLAGS -fPIE"
+ fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-tclinterp argument" >&5
diff --git a/src/configure.in b/src/configure.in
index 2fe5a9d8e2..4358524eec 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -1353,12 +1353,44 @@ elif test "$python_ok" = yes && test "$enable_pythoninterp" = "dynamic"; then
PYTHON_OBJ="objects/if_python.o"
PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
PYTHON_LIBS=
+elif test "$python_ok" = yes; then
+ dnl Check that adding -fPIE works. It may be needed when using a static
+ dnl Python library.
+ AC_MSG_CHECKING([if -fPIE can be added for Python])
+ cflags_save=$CFLAGS
+ libs_save=$LIBS
+ CFLAGS="$CFLAGS $PYTHON_CFLAGS -fPIE"
+ LIBS="$LIBS $PYTHON_LIBS"
+ AC_TRY_LINK(,[ ],
+ AC_MSG_RESULT(yes); fpie_ok=yes,
+ AC_MSG_RESULT(no); fpie_ok=no)
+ CFLAGS=$cflags_save
+ LIBS=$libs_save
+ if test $fpie_ok = yes; then
+ PYTHON_CFLAGS="$PYTHON_CFLAGS -fPIE"
+ fi
elif test "$python3_ok" = yes && test "$enable_python3interp" = "dynamic"; then
AC_DEFINE(DYNAMIC_PYTHON3)
PYTHON3_SRC="if_python3.c"
PYTHON3_OBJ="objects/if_python3.o"
PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${python3_INSTSONAME}\\\""
PYTHON3_LIBS=
+elif test "$python3_ok" = yes; then
+ dnl Check that adding -fPIE works. It may be needed when using a static
+ dnl Python library.
+ AC_MSG_CHECKING([if -fPIE can be added for Python3])
+ cflags_save=$CFLAGS
+ libs_save=$LIBS
+ CFLAGS="$CFLAGS $PYTHON3_CFLAGS -fPIE"
+ LIBS="$LIBS $PYTHON3_LIBS"
+ AC_TRY_LINK(,[ ],
+ AC_MSG_RESULT(yes); fpie_ok=yes,
+ AC_MSG_RESULT(no); fpie_ok=no)
+ CFLAGS=$cflags_save
+ LIBS=$libs_save
+ if test $fpie_ok = yes; then
+ PYTHON3_CFLAGS="$PYTHON3_CFLAGS -fPIE"
+ fi
fi
AC_MSG_CHECKING(--enable-tclinterp argument)
diff --git a/src/version.c b/src/version.c
index 9b5343e9d6..61694a4672 100644
--- a/src/version.c
+++ b/src/version.c
@@ -728,6 +728,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 10,
+/**/
9,
/**/
8,