# Check for binary relocation support. # Written by Hongli Lai # http://autopackage.org/ AC_DEFUN([AM_BINRELOC], [ AC_ARG_ENABLE(binreloc, [ --enable-binreloc compile with binary relocation support (default=enable when available)], enable_binreloc=$enableval,enable_binreloc=auto) BINRELOC_CFLAGS= BINRELOC_LIBS= if test "x$enable_binreloc" = "xauto"; then AC_CHECK_FILE([/proc/self/maps]) AC_CACHE_CHECK([whether everything is installed to the same prefix], [br_cv_valid_prefixes], [ # datarootdir variables was introduced with autoconf-2.60 if test "$bindir" = '${exec_prefix}/bin' -a "$sbindir" = '${exec_prefix}/sbin' -a \ \( "$datadir" = '${prefix}/share' -o \( "$datadir" = '${datarootdir}' -a "$datarootdir" = '${prefix}/share' \) \) -a \ "$libdir" = '${exec_prefix}/lib' -a \ "$libexecdir" = '${exec_prefix}/libexec' -a "$sysconfdir" = '${prefix}/etc' then br_cv_valid_prefixes=yes else br_cv_valid_prefixes=no fi ]) fi AC_CACHE_CHECK([whether binary relocation support should be enabled], [br_cv_binreloc], [if test "x$enable_binreloc" = "xyes"; then br_cv_binreloc=yes elif test "x$enable_binreloc" = "xauto"; then if test "x$br_cv_valid_prefixes" = "xyes" -a \ "x$ac_cv_file__proc_self_maps" = "xyes"; then br_cv_binreloc=yes else br_cv_binreloc=no fi else br_cv_binreloc=no fi]) if test "x$br_cv_binreloc" = "xyes"; then BINRELOC_CFLAGS="-DENABLE_BINRELOC" AC_DEFINE(ENABLE_BINRELOC,,[Use binary relocation?]) fi AC_SUBST(BINRELOC_CFLAGS) AC_SUBST(BINRELOC_LIBS) ]) #dnl Macro taken from samba's aclocal.m4 dnl AC_PROG_CC_FLAG(flag) AC_DEFUN([AC_PROG_CC_FLAG], [AC_CACHE_CHECK(whether ${CC-cc} accepts $1, [ac_cv_prog_cc_]translit([$1], [-A-Z ], [_a-z_]), [ ac_save_CFLAGS="$CFLAGS" CFLAGS="${CFLAGS} $1" AC_RUN_IFELSE([AC_LANG_PROGRAM([],[])], [ac_cv_prog_cc_]translit([$1], [-A-Z ], [_a-z_])[=yes], [ac_cv_prog_cc_]translit([$1], [-A-Z ], [_a-z_])[=no]) CFLAGS="${ac_save_CFLAGS}" ])])