0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

updated for version 7.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.
This commit is contained in:
Bram Moolenaar 2013-07-09 21:57:52 +02:00
parent fb97f28cc2
commit e741f2714d
3 changed files with 98 additions and 0 deletions

64
src/auto/configure vendored
View File

@ -5991,6 +5991,38 @@ elif test "$python_ok" = yes && test "$enable_pythoninterp" = "dynamic"; then
PYTHON_OBJ="objects/if_python.o" PYTHON_OBJ="objects/if_python.o"
PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\"" PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
PYTHON_LIBS= 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 elif test "$python3_ok" = yes && test "$enable_python3interp" = "dynamic"; then
$as_echo "#define DYNAMIC_PYTHON3 1" >>confdefs.h $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_OBJ="objects/if_python3.o"
PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${python3_INSTSONAME}\\\"" PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${python3_INSTSONAME}\\\""
PYTHON3_LIBS= 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 fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-tclinterp argument" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-tclinterp argument" >&5

View File

@ -1353,12 +1353,44 @@ elif test "$python_ok" = yes && test "$enable_pythoninterp" = "dynamic"; then
PYTHON_OBJ="objects/if_python.o" PYTHON_OBJ="objects/if_python.o"
PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\"" PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\\\"${python_INSTSONAME}\\\""
PYTHON_LIBS= 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 elif test "$python3_ok" = yes && test "$enable_python3interp" = "dynamic"; then
AC_DEFINE(DYNAMIC_PYTHON3) AC_DEFINE(DYNAMIC_PYTHON3)
PYTHON3_SRC="if_python3.c" PYTHON3_SRC="if_python3.c"
PYTHON3_OBJ="objects/if_python3.o" PYTHON3_OBJ="objects/if_python3.o"
PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${python3_INSTSONAME}\\\"" PYTHON3_CFLAGS="$PYTHON3_CFLAGS -DDYNAMIC_PYTHON3_DLL=\\\"${python3_INSTSONAME}\\\""
PYTHON3_LIBS= 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 fi
AC_MSG_CHECKING(--enable-tclinterp argument) AC_MSG_CHECKING(--enable-tclinterp argument)

View File

@ -727,6 +727,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
10,
/**/ /**/
9, 9,
/**/ /**/