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

Diff of /trunk/configure.ac

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

trunk/configure.in Revision 56 trunk/configure.ac Revision 232
1AC_PREREQ(2.59) 1AC_PREREQ([2.59])
2AC_INIT(sandbox, 1.2.2, dev-portage@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
6# Checks for programs. 6dnl Checks for programs.
7AC_PROG_CC 7AC_PROG_CC
8AC_ISC_POSIX 8AC_ISC_POSIX
9AC_PROG_INSTALL 9AC_PROG_INSTALL
10AC_PROG_MAKE_SET 10AC_PROG_MAKE_SET
11AC_PROG_AWK 11AC_PROG_AWK
12AC_CHECK_PROGS([READELF], [readelf], [false])
12 13
13AC_ENABLE_SHARED 14AC_ENABLE_SHARED
14AC_DISABLE_STATIC 15AC_DISABLE_STATIC
16dnl Next four lines is a hack to prevent libtool checking for CXX/F77
15m4_undefine([AC_PROG_CXX]) 17m4_undefine([AC_PROG_CXX])
16m4_defun([AC_PROG_CXX],[]) 18m4_defun([AC_PROG_CXX],[])
17m4_undefine([AC_PROG_F77]) 19m4_undefine([AC_PROG_F77])
18m4_defun([AC_PROG_F77],[]) 20m4_defun([AC_PROG_F77],[])
19AC_PROG_LIBTOOL 21AC_PROG_LIBTOOL
20 22
21AC_PREFIX_DEFAULT([/usr]) 23AC_PREFIX_DEFAULT([/usr])
22 24
23# Checks for libraries. 25dnl Checks for libraries.
24# Checks for header files. 26dnl Checks for header files.
25AC_FUNC_ALLOCA 27AC_FUNC_ALLOCA
26AC_HEADER_DIRENT 28AC_HEADER_DIRENT
27AC_HEADER_STDC 29AC_HEADER_STDC
28AC_HEADER_SYS_WAIT 30AC_HEADER_SYS_WAIT
29AC_CHECK_HEADERS([ \ 31AC_CHECK_HEADERS([ \
30fcntl.h limits.h memory.h stddef.h \ 32 fcntl.h limits.h memory.h stddef.h \
31stdlib.h string.h strings.h sys/file.h \ 33 stdlib.h string.h strings.h sys/file.h \
32sys/param.h sys/time.h unistd.h utime.h \ 34 sys/param.h sys/time.h unistd.h utime.h \
33]) 35])
34 36
35# Checks for typedefs, structures, and compiler characteristics. 37dnl Checks for typedefs, structures, and compiler characteristics.
36AC_C_CONST 38AC_C_CONST
37AC_TYPE_UID_T 39AC_TYPE_UID_T
38AC_TYPE_MODE_T 40AC_TYPE_MODE_T
39AC_TYPE_SIZE_T 41AC_TYPE_SIZE_T
40AC_CHECK_TYPES([ptrdiff_t]) 42AC_CHECK_TYPES([ptrdiff_t])
41 43
42# Checks for library functions. 44dnl Checks for library functions.
43AC_FUNC_CHOWN 45AC_FUNC_CHOWN
44AC_FUNC_FORK 46AC_FUNC_FORK
45AC_FUNC_LSTAT 47AC_FUNC_LSTAT
46AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK 48AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
47AC_FUNC_MALLOC
48AC_FUNC_REALLOC
49AC_TYPE_SIGNAL 49AC_TYPE_SIGNAL
50AC_FUNC_STAT 50AC_FUNC_STAT
51AC_CHECK_FUNCS([ \ 51AC_CHECK_FUNCS([ \
52bzero ftruncate getcwd lchown memmove \ 52 bzero ftruncate getcwd lchown memmove \
53mempcpy memset mkdir pathconf realpath \ 53 memcpy memset mkdir pathconf realpath \
54rmdir setenv strcasecmp strchr strdup \ 54 rmdir setenv strcasecmp strchr strdup \
55strerror strndup strrchr strspn strstr \ 55 strerror strndup strrchr strspn strstr \
56]) 56])
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
75dnl uClibc doesn't currently provide dlvsym() so lets
76dnl verify the toolchain supports it
77AC_CHECK_LIB([$DL_LIB], [dlvsym],
78 [AC_DEFINE([HAVE_DLVSYM], [1], [libdl supports dlvsym])],
79 [AC_DEFINE([HAVE_DLVSYM], [0], [libdl does not support dlvsym])]
80)
57 81
58dnl 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
59dnl libc5, but it's off_t with libc6 (glibc2). 83dnl libc5, but it's off_t with libc6 (glibc2).
60AC_MSG_CHECKING(truncate argument type) 84AC_MSG_CHECKING([truncate argument type])
61if echo '#include <unistd.h>' | $CC -E - | grep -q 'truncate.*size_t' ; then 85TRUNC_ARG_TYPE=`echo '#include <unistd.h>' | $CC -E - | grep -q 'truncate.*size_t'`
86if test "$TRUNC_ARG_TYPE"x != x ; then
62 AC_MSG_RESULT(size_t) 87 AC_MSG_RESULT([size_t])
63 AC_DEFINE(TRUNCATE_T, size_t, [truncate arg type]) 88 AC_DEFINE([TRUNCATE_T], [size_t], [truncate arg type])
64else 89else
65 AC_MSG_RESULT(off_t) 90 AC_MSG_RESULT([off_t])
66 AC_DEFINE(TRUNCATE_T, off_t, [truncate arg type]) 91 AC_DEFINE([TRUNCATE_T], [off_t], [truncate arg type])
67fi 92fi
93
94dnl Check if libc provides RTLD_NEXT
95AC_MSG_CHECKING([for RTLD_NEXT])
96AC_TRY_COMPILE([
97#define _GNU_SOURCE
98#include <dlfcn.h>
99], [
100#if !defined(RTLD_NEXT)
101# error no RTLD_NEXT
102#endif
103
104int
105main (void)
106{
107 return 0;
108}
109],
110 [have_rtld_next="yes"],
111 [have_rtld_next="no"]
112)
113AC_MSG_RESULT([$have_rtld_next])
114AM_CONDITIONAL([HAVE_RTLD_NEXT], [test x"$have_rtld_next" = xyes])
68 115
69dnl we need to handle symbols differently based upon their version, 116dnl we need to handle symbols differently based upon their version,
70dnl but we have to know which symbols the libc supports first 117dnl but we have to know which symbols the libc supports first
71AC_MSG_CHECKING(libc path) 118AC_MSG_CHECKING([libc path])
72echo "int main(void) { return 0; }" > libctest.c 119echo "int main(void) { return 0; }" > libctest.c
73$CC -Wall -o libctest libctest.c 120$CC -Wall -o libctest libctest.c
74LIBC_PATH=`$CC $CFLAGS -Wl,-verbose -o libctest libctest.c 2>&1 | \ 121LIBC_PATH=`$CC $CFLAGS -Wl,-verbose -o libctest libctest.c 2>&1 | \
75 $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}'`
76if test "$LIBC_PATH"x = x ; then 123rm -f libctest.c
124if test "$LIBC_PATH"x = x || ! test -r "$LIBC_PATH"; then
77 AC_MSG_ERROR(Unable to determine LIBC PATH) 125 AC_MSG_ERROR([Unable to determine LIBC PATH])
78fi 126fi
79AC_MSG_RESULT($LIBC_PATH) 127AC_MSG_RESULT([$LIBC_PATH])
80AC_SUBST(LIBC_PATH) 128AC_SUBST([LIBC_PATH])
81 129
82dnl when intercepting libc calls, we have to know the name of the 130dnl when intercepting libc calls, we have to know the name of the
83dnl libc to load and search with dl*() calls 131dnl libc to load and search with dl*() calls
84AC_MSG_CHECKING(libc version) 132AC_MSG_CHECKING([libc version])
85dnl the sed script at the end here looks funny but it's ok ... 133dnl the sed script at the end here looks funny but it's ok ...
86dnl they're m4 escape sequences for left and right brackets 134dnl they're m4 escape sequences for left and right brackets
87LIBC_VERSION=`readelf -d libctest | grep NEEDED.*libc\\.so | $AWK '{print $NF}' | sed -e 's:\@<:@::' -e 's:\@:>@::'` 135LIBC_VERSION=`readelf -d libctest | grep NEEDED.*libc\\.so | $AWK '{print $NF}' | sed -e 's:\@<:@::' -e 's:\@:>@::'`
88if test "$LIBC_VERSION"x = x ; then 136if test "$LIBC_VERSION"x = x ; then
89 AC_MSG_ERROR(Unable to determine LIBC VERSION) 137 AC_MSG_ERROR([Unable to determine LIBC VERSION])
90fi 138fi
91AC_MSG_RESULT($LIBC_VERSION)
92AC_DEFINE_UNQUOTED(LIBC_VERSION, "$LIBC_VERSION", [name of libc to hook into])
93rm -f libctest 139rm -f libctest
140AC_MSG_RESULT([$LIBC_VERSION])
141AC_DEFINE_UNQUOTED([LIBC_VERSION], ["$LIBC_VERSION"], [name of libc to hook into])
94 142
95AC_OUTPUT([Makefile]) 143dnl check if we have 32bit or 64bit output
144AC_ARG_ENABLE([multilib],
145 AS_HELP_STRING([--enable-multilib],
146 [enable building for multilib setups (default=disabled)]),
147 [enable_multilib="$enableval"],
148 [enable_multilib="no"]
149)
150
151if test x"$enable_multilib" != xno ; then
152 AC_DEFINE_UNQUOTED([SB_HAVE_MULTILIB], [1], [have multilib enabled system])
153fi
154
155AC_OUTPUT([
156 Makefile
157 scripts/Makefile
158 data/Makefile
159 src/Makefile
160])

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

  ViewVC Help
Powered by ViewVC 1.1.20