File dovecot-1.2.4_pie.patch of Package dovecot12
Index: configure.in
===================================================================
--- configure.in.orig 2009-08-27 13:00:53.000000000 -0300
+++ configure.in 2009-08-27 13:00:59.000000000 -0300
@@ -31,6 +31,15 @@
AC_DEFINE(DEBUG,, Build with extra debugging checks)
fi)
+AC_ARG_ENABLE(pie,
+[ --enable-pie Enable PIE support (default)],
+ if test x$enableval = xno; then
+ want_pie=no
+ else
+ want_pie=yes
+ fi,
+ want_pie=no)
+
AC_ARG_ENABLE(asserts,
[ --enable-asserts Enable asserts (default)],
if test x$enableval = xno; then
@@ -1625,6 +1634,29 @@
])
fi
+
+dnl **
+dnl ** PIE check
+dnl **
+
+if test $want_pie = yes; then
+ AC_MSG_CHECKING([if we can use PIE])
+ # try to compile something with pie
+ old_cflags=$CFLAGS
+ CFLAGS="-pie -fPIE -DPIE -Werror"
+ AC_TRY_LINK([],,[
+ LIBS="$LIBS -pie"
+ # enforce -fPIC so all objects are compiled with it
+ CFLAGS="$old_cflags -fPIC -DPIC"
+ ac_want_pie="yes"
+ ], [
+ # restore old CFLAGS
+ CFLAGS="$old_cflags"
+ ac_want_pie="no"
+ ])
+ AC_MSG_RESULT($ac_want_pie)
+fi
+
dnl **
dnl ** userdb and passdb checks
dnl **