/[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 180 trunk/configure.ac Revision 232
1AC_PREREQ([2.59]) 1AC_PREREQ([2.59])
2AC_INIT([sandbox], [1.2.14], [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
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
15dnl Next four lines is a hack to prevent libtool checking for CXX/F77 16dnl Next four lines is a hack to prevent libtool checking for CXX/F77
16m4_undefine([AC_PROG_CXX]) 17m4_undefine([AC_PROG_CXX])
43dnl Checks for library functions. 44dnl Checks for library functions.
44AC_FUNC_CHOWN 45AC_FUNC_CHOWN
45AC_FUNC_FORK 46AC_FUNC_FORK
46AC_FUNC_LSTAT 47AC_FUNC_LSTAT
47AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK 48AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
48AC_FUNC_MALLOC
49AC_FUNC_REALLOC
50AC_TYPE_SIGNAL 49AC_TYPE_SIGNAL
51AC_FUNC_STAT 50AC_FUNC_STAT
52AC_CHECK_FUNCS([ \ 51AC_CHECK_FUNCS([ \
53 bzero ftruncate getcwd lchown memmove \ 52 bzero ftruncate getcwd lchown memmove \
54 mempcpy memset mkdir pathconf realpath \ 53 memcpy memset mkdir pathconf realpath \
55 rmdir setenv strcasecmp strchr strdup \ 54 rmdir setenv strcasecmp strchr strdup \
56 strerror strndup strrchr strspn strstr \ 55 strerror strndup strrchr strspn strstr \
57]) 56])
58 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
59dnl uClibc doesn't currently provide dlvsym() so lets 75dnl uClibc doesn't currently provide dlvsym() so lets
60dnl verify the toolchain supports it 76dnl verify the toolchain supports it
61AC_CHECK_LIB(dl, dlvsym, 77AC_CHECK_LIB([$DL_LIB], [dlvsym],
62 [AC_DEFINE([HAVE_DLVSYM], [1], [libdl supports dlvsym])], 78 [AC_DEFINE([HAVE_DLVSYM], [1], [libdl supports dlvsym])],
63 [AC_DEFINE([HAVE_DLVSYM], [0], [libdl does not support dlvsym])] 79 [AC_DEFINE([HAVE_DLVSYM], [0], [libdl does not support dlvsym])]
64) 80)
65 81
66dnl 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
73else 89else
74 AC_MSG_RESULT([off_t]) 90 AC_MSG_RESULT([off_t])
75 AC_DEFINE([TRUNCATE_T], [off_t], [truncate arg type]) 91 AC_DEFINE([TRUNCATE_T], [off_t], [truncate arg type])
76fi 92fi
77 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])
115
78dnl we need to handle symbols differently based upon their version, 116dnl we need to handle symbols differently based upon their version,
79dnl but we have to know which symbols the libc supports first 117dnl but we have to know which symbols the libc supports first
80AC_MSG_CHECKING([libc path]) 118AC_MSG_CHECKING([libc path])
81echo "int main(void) { return 0; }" > libctest.c 119echo "int main(void) { return 0; }" > libctest.c
82$CC -Wall -o libctest libctest.c 120$CC -Wall -o libctest libctest.c
83LIBC_PATH=`$CC $CFLAGS -Wl,-verbose -o libctest libctest.c 2>&1 | \ 121LIBC_PATH=`$CC $CFLAGS -Wl,-verbose -o libctest libctest.c 2>&1 | \
84 $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}'`
85rm -f libctest.c 123rm -f libctest.c
86if test "$LIBC_PATH"x = x ; then 124if test "$LIBC_PATH"x = x || ! test -r "$LIBC_PATH"; then
87 AC_MSG_ERROR([Unable to determine LIBC PATH]) 125 AC_MSG_ERROR([Unable to determine LIBC PATH])
88fi 126fi
89AC_MSG_RESULT([$LIBC_PATH]) 127AC_MSG_RESULT([$LIBC_PATH])
90AC_SUBST([LIBC_PATH]) 128AC_SUBST([LIBC_PATH])
91 129
96dnl they're m4 escape sequences for left and right brackets 134dnl they're m4 escape sequences for left and right brackets
97LIBC_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:\@:>@::'`
98if test "$LIBC_VERSION"x = x ; then 136if test "$LIBC_VERSION"x = x ; then
99 AC_MSG_ERROR([Unable to determine LIBC VERSION]) 137 AC_MSG_ERROR([Unable to determine LIBC VERSION])
100fi 138fi
139rm -f libctest
101AC_MSG_RESULT([$LIBC_VERSION]) 140AC_MSG_RESULT([$LIBC_VERSION])
102AC_DEFINE_UNQUOTED([LIBC_VERSION], ["$LIBC_VERSION"], [name of libc to hook into]) 141AC_DEFINE_UNQUOTED([LIBC_VERSION], ["$LIBC_VERSION"], [name of libc to hook into])
103 142
104dnl check if we have 32bit or 64bit output 143dnl check if we have 32bit or 64bit output
105AC_MSG_CHECKING([output abi]) 144AC_ARG_ENABLE([multilib],
106OUTPUT_ABI=`file libctest | grep 'ELF 64-bit LSB'` 145 AS_HELP_STRING([--enable-multilib],
107if test "$OUTPUT_ABI"x = x ; then 146 [enable building for multilib setups (default=disabled)]),
108 OUTPUT_ABI="ELF 32-bit LSB" 147 [enable_multilib="$enableval"],
109else 148 [enable_multilib="no"]
110 OUTPUT_ABI="ELF 64-bit LSB" 149)
111 AC_DEFINE_UNQUOTED([SB_HAVE_64BIT_ARCH], ["1"], [have 64-bit abi]) 150
151if test x"$enable_multilib" != xno ; then
152 AC_DEFINE_UNQUOTED([SB_HAVE_MULTILIB], [1], [have multilib enabled system])
112fi 153fi
113AC_MSG_RESULT([$OUTPUT_ABI])
114rm -f libctest
115 154
116AC_OUTPUT([Makefile data/Makefile src/Makefile]) 155AC_OUTPUT([
156 Makefile
157 scripts/Makefile
158 data/Makefile
159 src/Makefile
160])

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

  ViewVC Help
Powered by ViewVC 1.1.20