changeset 29811:0cc6fcd342fd

Add a check if compiler creates PIC code and if so add -DPIC to YASMFLAGS. Should make it possible to compile MPlayer as PIE on x86_64 e.g. on hardened Gentoo and probably OpenBSD, too.
author reimar
date Sun, 08 Nov 2009 15:38:59 +0000
parents c540d350f7ab
children 54aafbe45eb4
files configure
diffstat 1 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/configure	Sun Nov 08 15:01:05 2009 +0000
+++ b/configure	Sun Nov 08 15:38:59 2009 +0000
@@ -2576,6 +2576,20 @@
 cc_check && ebx_available=yes && def_ebx_available='#define HAVE_EBX_AVAILABLE 1'
 echores $ebx_available
 
+echocheck "PIC"
+pic=no
+cat > $TMPC << EOF
+int main(void) {
+// keep in sync with mangle.h and libavutil/internal.h
+#if !(defined(__PIC__) || defined(__pic__) || defined(PIC))
+#error PIC not enabled
+#endif
+    return 0;
+}
+EOF
+cc_check && pic=yes
+echores $pic
+
 echocheck "yasm"
 if test -z "$YASMFLAGS" ; then
   if darwin ; then
@@ -2588,6 +2602,7 @@
   # currently tested for Linux x86, x86_64
   YASMFLAGS="-f $objformat"
   x86_64 && YASMFLAGS="$YASMFLAGS -DARCH_X86_64 -m amd64"
+  test "$pic" = "yes" && YASMFLAGS="$YASMFLAGS -DPIC"
   case "$objformat" in
     elf) test $_debug && YASMFLAGS="$YASMFLAGS -g dwarf2" ;;
     macho64)             YASMFLAGS="$YASMFLAGS -DPIC -DPREFIX" ;;