Added a check for the -R linker option.
authorJohn Criswell <criswell@uiuc.edu>
Mon, 17 Nov 2003 19:46:02 +0000 (19:46 +0000)
committerJohn Criswell <criswell@uiuc.edu>
Mon, 17 Nov 2003 19:46:02 +0000 (19:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10056 91177308-0d34-0410-b5e6-96231b3b80d8

autoconf/aclocal.m4
autoconf/configure.ac
configure

index aca868ab123a4bc6a9efe8de447d8569fb57c071..32db1b3cfee3f8d6ed949f456ca81b033fb967be 100644 (file)
@@ -6244,4 +6244,20 @@ AC_DEFUN([AC_C_PRINTF_A],
        fi
 ])
 
-
+#
+# Determine if the system can handle the -R option being passed to the linker.
+#
+AC_DEFUN([AC_LINK_USE_R],
+[
+  AC_LANG_SAVE
+  AC_LANG_C
+  oldcflags=${CFLAGS}
+  CFLAGS="${CFLAGS} -Wl,-R."
+  AC_LINK_IFELSE([int main() { return 0;}],[ac_cv_link_use_r=yes],[ac_cv_link_se_r=no])
+  CFLAGS=${oldcflags}
+  AC_LANG_RESTORE
+  if test "$ac_cv_link_use_r = yes"
+  then
+    AC_DEFINE([HAVE_LINK_R],[1])
+  fi
+])
index 06d06b9525bb5e1184c2133525d006e03a5beb33..c3d6c0af8cede64f7df2b8816a611505d5935060 100644 (file)
@@ -523,6 +523,9 @@ dnl these checks should go away.
 AC_CHECK_FUNC(mmap,,AC_MSG_ERROR([Function mmap() required but not found]))
 AC_CHECK_FUNC(mprotect,,AC_MSG_ERROR([Function mprotect() required but not found]))
 
+dnl Determine if the linker supports the -R option.
+AC_LINK_USE_R()
+
 dnl **************************************************************************
 dnl * Enable various compile-time options
 dnl **************************************************************************
index 4f70a4cc015719924549c46eb3bc7793095220cb..abdffc336b72731d14be96e14c96c943fbe681f8 100755 (executable)
--- a/configure
+++ b/configure
 
 
 
+
+
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+  oldcflags=${CFLAGS}
+  CFLAGS="${CFLAGS} -Wl,-R."
+  cat >conftest.$ac_ext <<_ACEOF
+int main() { return 0;}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_link_use_r=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_link_se_r=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+  CFLAGS=${oldcflags}
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+  if test "$ac_cv_link_use_r = yes"
+  then
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_LINK_R 1
+_ACEOF
+
+  fi
+
+
+
 # Check whether --enable-purify or --disable-purify was given.
 if test "${enable_purify+set}" = set; then
   enableval="$enable_purify"