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

Contents of /trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


Revision 181 - (hide annotations) (download)
Mon Nov 28 11:35:30 2005 UTC (8 years, 9 months ago) by azarah
Original Path: trunk/configure.in
File MIME type: text/plain
File size: 3514 byte(s)
Revert 64bit arch test, as we should build the 32bit version without full
path checking as well, and add --enable-multilib switch to configure.

1 azarah 180 AC_PREREQ([2.59])
2     AC_INIT([sandbox], [1.2.14], [sandbox@gentoo.org])
3 ferringb 2 AM_INIT_AUTOMAKE
4 ferringb 16 AC_CONFIG_HEADER([config.h])
5 ferringb 2
6 vapier 61 dnl Checks for programs.
7 ferringb 2 AC_PROG_CC
8 azarah 29 AC_ISC_POSIX
9     AC_PROG_INSTALL
10     AC_PROG_MAKE_SET
11     AC_PROG_AWK
12    
13 vapier 21 AC_ENABLE_SHARED
14     AC_DISABLE_STATIC
15 vapier 61 dnl Next four lines is a hack to prevent libtool checking for CXX/F77
16 azarah 56 m4_undefine([AC_PROG_CXX])
17     m4_defun([AC_PROG_CXX],[])
18     m4_undefine([AC_PROG_F77])
19     m4_defun([AC_PROG_F77],[])
20 ferringb 2 AC_PROG_LIBTOOL
21    
22     AC_PREFIX_DEFAULT([/usr])
23 azarah 29
24 vapier 61 dnl Checks for libraries.
25     dnl Checks for header files.
26 ferringb 2 AC_FUNC_ALLOCA
27     AC_HEADER_DIRENT
28     AC_HEADER_STDC
29     AC_HEADER_SYS_WAIT
30 vapier 21 AC_CHECK_HEADERS([ \
31 azarah 180 fcntl.h limits.h memory.h stddef.h \
32     stdlib.h string.h strings.h sys/file.h \
33     sys/param.h sys/time.h unistd.h utime.h \
34 vapier 21 ])
35 ferringb 2
36 vapier 61 dnl Checks for typedefs, structures, and compiler characteristics.
37 ferringb 2 AC_C_CONST
38     AC_TYPE_UID_T
39     AC_TYPE_MODE_T
40     AC_TYPE_SIZE_T
41     AC_CHECK_TYPES([ptrdiff_t])
42    
43 vapier 61 dnl Checks for library functions.
44 ferringb 2 AC_FUNC_CHOWN
45     AC_FUNC_FORK
46     AC_FUNC_LSTAT
47     AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
48     AC_FUNC_MALLOC
49     AC_FUNC_REALLOC
50     AC_TYPE_SIGNAL
51     AC_FUNC_STAT
52 vapier 21 AC_CHECK_FUNCS([ \
53 azarah 180 bzero ftruncate getcwd lchown memmove \
54     mempcpy memset mkdir pathconf realpath \
55     rmdir setenv strcasecmp strchr strdup \
56     strerror strndup strrchr strspn strstr \
57 vapier 21 ])
58 ferringb 2
59 vapier 62 dnl uClibc doesn't currently provide dlvsym() so lets
60     dnl verify the toolchain supports it
61     AC_CHECK_LIB(dl, dlvsym,
62 azarah 180 [AC_DEFINE([HAVE_DLVSYM], [1], [libdl supports dlvsym])],
63     [AC_DEFINE([HAVE_DLVSYM], [0], [libdl does not support dlvsym])]
64 vapier 62 )
65    
66 vapier 23 dnl when using libc5, (f)trucate's offset argument type is size_t with
67     dnl libc5, but it's off_t with libc6 (glibc2).
68 azarah 180 AC_MSG_CHECKING([truncate argument type])
69     TRUNC_ARG_TYPE=`echo '#include <unistd.h>' | $CC -E - | grep -q 'truncate.*size_t'`
70     if test "$TRUNC_ARG_TYPE"x != x ; then
71     AC_MSG_RESULT([size_t])
72     AC_DEFINE([TRUNCATE_T], [size_t], [truncate arg type])
73 vapier 23 else
74 azarah 180 AC_MSG_RESULT([off_t])
75     AC_DEFINE([TRUNCATE_T], [off_t], [truncate arg type])
76 vapier 23 fi
77    
78 vapier 53 dnl we need to handle symbols differently based upon their version,
79     dnl but we have to know which symbols the libc supports first
80 azarah 180 AC_MSG_CHECKING([libc path])
81 vapier 23 echo "int main(void) { return 0; }" > libctest.c
82 vapier 53 $CC -Wall -o libctest libctest.c
83     LIBC_PATH=`$CC $CFLAGS -Wl,-verbose -o libctest libctest.c 2>&1 | \
84 vapier 55 $AWK '/attempt to open/ { if (($4 ~ /libc\.so/) && ($5 == "succeeded")) LIBC = $4; }; END {print LIBC}'`
85 azarah 75 rm -f libctest.c
86 vapier 53 if test "$LIBC_PATH"x = x ; then
87 azarah 180 AC_MSG_ERROR([Unable to determine LIBC PATH])
88 vapier 53 fi
89 azarah 180 AC_MSG_RESULT([$LIBC_PATH])
90     AC_SUBST([LIBC_PATH])
91 vapier 23
92 vapier 53 dnl when intercepting libc calls, we have to know the name of the
93     dnl libc to load and search with dl*() calls
94 azarah 180 AC_MSG_CHECKING([libc version])
95 vapier 53 dnl the sed script at the end here looks funny but it's ok ...
96     dnl they're m4 escape sequences for left and right brackets
97     LIBC_VERSION=`readelf -d libctest | grep NEEDED.*libc\\.so | $AWK '{print $NF}' | sed -e 's:\@<:@::' -e 's:\@:>@::'`
98     if test "$LIBC_VERSION"x = x ; then
99 azarah 180 AC_MSG_ERROR([Unable to determine LIBC VERSION])
100 vapier 53 fi
101 azarah 181 rm -f libctest
102 azarah 180 AC_MSG_RESULT([$LIBC_VERSION])
103     AC_DEFINE_UNQUOTED([LIBC_VERSION], ["$LIBC_VERSION"], [name of libc to hook into])
104 vapier 53
105 azarah 179 dnl check if we have 32bit or 64bit output
106 azarah 181 AC_ARG_ENABLE([multilib],
107     AS_HELP_STRING([--enable-multilib],
108     [enable building for multilib setups (default=disabled)]),
109     [enable_multilib="$enableval"],
110     [enable_multilib="no"]
111     )
112    
113     if test "$enable_multilib"x != xno ; then
114     AC_DEFINE_UNQUOTED([SB_HAVE_MULTILIB], [1], [have multilib enabled system])
115 azarah 179 fi
116    
117 azarah 178 AC_OUTPUT([Makefile data/Makefile src/Makefile])

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.20