Add support for PIE

FossilOrigin-Name: 53f278138f2e1e4ef3b8b60b27b35b150e74395caeafc218801ba87e36622993
This commit is contained in:
Jonathan Schleifer 2025-03-22 23:38:53 +00:00
parent f1642bd767
commit 502d993bd7
2 changed files with 39 additions and 0 deletions

View file

@ -209,6 +209,43 @@ AC_DEFUN([BUILDSYS_PROG_IMPLIB], [
AC_SUBST(PROG_IMPLIB_LDFLAGS)
])
AC_DEFUN([BUILDSYS_PIE], [
AC_REQUIRE([AC_CANONICAL_HOST])
AC_MSG_CHECKING(for Position Independent Executable support)
old_CFLAGS="$CFLAGS"
old_CXXFLAGS="$CXXFLAGS"
old_OBJCFLAGS="$OBJCFLAGS"
old_OBJCXXFLAGS="$OBJCXXFLAGS"
old_LDFLAGS="$LDFLAGS"
CFLAGS="$CFLAGS -fPIE"
CXXFLAGS="$CXXFLAGS -fPIE"
OBJCFLAGS="$OBJCFLAGS -fPIE"
OBJCXXFLAGS="$OBJCXXFLAGS -fPIE"
LDFLAGS="$LDFLAGS -pie"
AC_LINK_IFELSE([
AC_LANG_PROGRAM([
#include <stdio.h>
], [
puts("PIE test");
])
], [
AC_MSG_RESULT(yes)
AC_SUBST(PIE_CFLAGS, -fPIE)
AC_SUBST(PIE_LDFLAGS, -pie)
], [
AC_MSG_RESULT(no)
])
CFLAGS="$old_CFLAGS"
CXXFLAGS="$old_CXXFLAGS"
OBJCFLAGS="$old_OBJCFLAGS"
OBJCXXFLAGS="$old_OBJCXXFLAGS"
LDFLAGS="$old_LDFLAGS"
])
AC_DEFUN([BUILDSYS_SHARED_LIB], [
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([BUILDSYS_CHECK_IOS])