/[path-sandbox]/trunk/configure.ac
Gentoo

Diff of /trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 216 Revision 232
1AC_PREREQ([2.59]) 1AC_PREREQ([2.59])
2AC_INIT([sandbox], [1.2.16], [sandbox@gentoo.org]) 2AC_INIT([sandbox], [1.2.17], [sandbox@gentoo.org])
3AM_INIT_AUTOMAKE 3AM_INIT_AUTOMAKE
4AC_CONFIG_HEADER([config.h]) 4AC_CONFIG_HEADER([config.h])
5 5
6dnl Checks for programs. 6dnl Checks for programs.
7AC_PROG_CC 7AC_PROG_CC
48AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK 48AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
49AC_TYPE_SIGNAL 49AC_TYPE_SIGNAL
50AC_FUNC_STAT 50AC_FUNC_STAT
51AC_CHECK_FUNCS([ \ 51AC_CHECK_FUNCS([ \
52 bzero ftruncate getcwd lchown memmove \ 52 bzero ftruncate getcwd lchown memmove \
53 mempcpy memset mkdir pathconf realpath \ 53 memcpy memset mkdir pathconf realpath \
54 rmdir setenv strcasecmp strchr strdup \ 54 rmdir setenv strcasecmp strchr strdup \
55 strerror strndup strrchr strspn strstr \ 55 strerror strndup strrchr strspn strstr \
56]) 56])
57 57
58dnl Some libc's like those on bsd have dlopen() in libc, and not libdl
59AC_CHECK_LIB([dl], [dlopen],
60 [have_libdl="yes"],
61 [have_libdl="no"]
62)
63if test x"$have_libdl" = xyes ; then
64 LIBDL="-ldl"
65 AC_SUBST([LIBDL])
66 DL_LIB="dl"
67else
68 DL_LIB="c"
69 AC_CHECK_LIB([c], [dlopen],
70 [],
71 [AC_MSG_ERROR([Unable to determine library providing dlopen])]
72 )
73fi
74
58dnl uClibc doesn't currently provide dlvsym() so lets 75dnl uClibc doesn't currently provide dlvsym() so lets
59dnl verify the toolchain supports it 76dnl verify the toolchain supports it
60AC_CHECK_LIB(dl, dlvsym, 77AC_CHECK_LIB([$DL_LIB], [dlvsym],
61 [AC_DEFINE([HAVE_DLVSYM], [1], [libdl supports dlvsym])], 78 [AC_DEFINE([HAVE_DLVSYM], [1], [libdl supports dlvsym])],
62 [AC_DEFINE([HAVE_DLVSYM], [0], [libdl does not support dlvsym])] 79 [AC_DEFINE([HAVE_DLVSYM], [0], [libdl does not support dlvsym])]
63) 80)
64 81
65dnl when using libc5, (f)trucate's offset argument type is size_t with 82dnl when using libc5, (f)trucate's offset argument type is size_t with
72else 89else
73 AC_MSG_RESULT([off_t]) 90 AC_MSG_RESULT([off_t])
74 AC_DEFINE([TRUNCATE_T], [off_t], [truncate arg type]) 91 AC_DEFINE([TRUNCATE_T], [off_t], [truncate arg type])
75fi 92fi
76 93
77dnl Check if we have glibc or clone 94dnl Check if libc provides RTLD_NEXT
78AC_MSG_CHECKING([for glibc]) 95AC_MSG_CHECKING([for RTLD_NEXT])
79AC_TRY_COMPILE([ 96AC_TRY_COMPILE([
80#include <features.h> 97#define _GNU_SOURCE
98#include <dlfcn.h>
81], [ 99], [
82#if !defined(__GLIBC__) 100#if !defined(RTLD_NEXT)
83# error no glibc 101# error no RTLD_NEXT
84#endif 102#endif
85 103
104int
86int main (void) 105main (void)
87{ 106{
88 return 0; 107 return 0;
89} 108}
90], [have_glibc="yes"], [have_glibc="no"]) 109],
91if test x"$have_glibc" = xyes ; then 110 [have_rtld_next="yes"],
92 AC_MSG_RESULT([yes]) 111 [have_rtld_next="no"]
93else 112)
94 AC_MSG_RESULT([no]) 113AC_MSG_RESULT([$have_rtld_next])
95fi
96AM_CONDITIONAL([HAVE_GLIBC], [test x"$have_glibc" = xyes]) 114AM_CONDITIONAL([HAVE_RTLD_NEXT], [test x"$have_rtld_next" = xyes])
97 115
98dnl we need to handle symbols differently based upon their version, 116dnl we need to handle symbols differently based upon their version,
99dnl but we have to know which symbols the libc supports first 117dnl but we have to know which symbols the libc supports first
100AC_MSG_CHECKING([libc path]) 118AC_MSG_CHECKING([libc path])
101echo "int main(void) { return 0; }" > libctest.c 119echo "int main(void) { return 0; }" > libctest.c
102$CC -Wall -o libctest libctest.c 120$CC -Wall -o libctest libctest.c
103LIBC_PATH=`$CC $CFLAGS -Wl,-verbose -o libctest libctest.c 2>&1 | \ 121LIBC_PATH=`$CC $CFLAGS -Wl,-verbose -o libctest libctest.c 2>&1 | \
104 $AWK '/attempt to open/ { if (($4 ~ /libc\.so/) && ($5 == "succeeded")) LIBC = $4; }; END {print LIBC}'` 122 $AWK '/attempt to open/ { if (($4 ~ /\/libc\.so/) && ($5 == "succeeded")) LIBC = $4; }; END {print LIBC}'`
105rm -f libctest.c 123rm -f libctest.c
106if test "$LIBC_PATH"x = x || ! test -r "$LIBC_PATH"; then 124if test "$LIBC_PATH"x = x || ! test -r "$LIBC_PATH"; then
107 AC_MSG_ERROR([Unable to determine LIBC PATH]) 125 AC_MSG_ERROR([Unable to determine LIBC PATH])
108fi 126fi
109AC_MSG_RESULT([$LIBC_PATH]) 127AC_MSG_RESULT([$LIBC_PATH])

Legend:
Removed from v.216  
changed lines
  Added in v.232

  ViewVC Help
Powered by ViewVC 1.1.20