diff options
Diffstat (limited to 'x11-libs/gtkmathview/files/binreloc.m4')
-rw-r--r-- | x11-libs/gtkmathview/files/binreloc.m4 | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/x11-libs/gtkmathview/files/binreloc.m4 b/x11-libs/gtkmathview/files/binreloc.m4 new file mode 100644 index 000000000000..46696bf64567 --- /dev/null +++ b/x11-libs/gtkmathview/files/binreloc.m4 @@ -0,0 +1,77 @@ +# Check for binary relocation support +# Hongli Lai +# http://autopackage.org/ + +AC_DEFUN([AM_BINRELOC], +[ + AC_ARG_ENABLE(binreloc, + [ --enable-binreloc compile with binary relocation support + (default=disable)], + enable_binreloc=$enableval,enable_binreloc=no) + + AC_ARG_ENABLE(binreloc-threads, + [ --enable-binreloc-threads compile binary relocation with threads support + (default=yes)], + enable_binreloc_threads=$enableval,enable_binreloc_threads=yes) + + 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], [ + if test "$bindir" = '${exec_prefix}/bin' -a "$sbindir" = '${exec_prefix}/sbin' -a \ + "$datadir" = '${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?]) + if test "x$enable_binreloc_threads" = "xyes"; then + AC_CHECK_LIB([pthread], [pthread_getspecific]) + fi + + AC_CACHE_CHECK([whether binary relocation should use threads], + [br_cv_binreloc_threads], + [if test "x$enable_binreloc_threads" = "xyes"; then + if test "x$ac_cv_lib_pthread_pthread_getspecific" = "xyes"; then + br_cv_binreloc_threads=yes + else + br_cv_binreloc_threads=no + fi + else + br_cv_binreloc_threads=no + fi]) + + if test "x$br_cv_binreloc_threads" = "xyes"; then + BINRELOC_LIBS="-lpthread" + AC_DEFINE(BR_PTHREAD,1,[Include pthread support for binary relocation?]) + else + BINRELOC_CFLAGS="$BINRELOC_CFLAGS -DBR_PTHREADS=0" + AC_DEFINE(BR_PTHREAD,0,[Include pthread support for binary relocation?]) + fi + fi + AC_SUBST(BINRELOC_CFLAGS) + AC_SUBST(BINRELOC_LIBS) +]) |