OSDN Git Service

e9ec62972ef7f13728541b587faf72e08e619bef
[pf3gnuchains/gcc-fork.git] / libffi / configure.in
1 dnl Process this with autoconf to create configure
2 AC_INIT(fficonfig.h.in)
3 AM_CONFIG_HEADER(fficonfig.h)
4
5 AC_MSG_WARN(***********************************************************)
6 AC_MSG_WARN(***********************************************************)
7 AC_MSG_WARN(This is beta code.  If you're looking for a stable release)
8 AC_MSG_WARN(then use the most recent one - libffi-1.20.)
9 AC_MSG_WARN(***********************************************************)
10 AC_MSG_WARN(***********************************************************)
11
12 AC_CANONICAL_HOST
13
14 AM_INIT_AUTOMAKE(libffi,2.00-beta)
15
16 AC_EXEEXT
17 AM_MAINTAINER_MODE
18
19 AC_PROG_CC
20 AC_PROG_LIBTOOL
21
22 TARGETDIR="unknown"
23 case "$host" in
24 mips-sgi-irix5.* | mips-sgi-irix6.*) TARGET=MIPS; TARGETDIR=mips;;
25 i*86-pc-linux*) TARGET=X86; TARGETDIR=x86;;
26 i*86-*-beos*) TARGET=X86; TARGETDIR=x86;;
27 sparc-sun-4*) TARGET=SPARC; TARGETDIR=sparc;;
28 sparc-sun-*) TARGET=SPARC; TARGETDIR=sparc;;
29 alpha*-*-linux* | alpha*-*-osf*) TARGET=ALPHA; TARGETDIR=alpha;;
30 m68k-*-linux*) TARGET=M68K; TARGETDIR=m68k;;
31 powerpc-*-linux* | powerpc-*-sysv*) TARGET=POWERPC; TARGETDIR=powerpc;;
32 powerpc-*-beos*) TARGET=POWERPC; TARGETDIR=powerpc;;
33 arm-*-linux-*) TARGET=ARM; TARGETDIR=arm;;
34 esac
35
36 if test $TARGETDIR = unknown; then
37   AC_ERROR("libffi has not been ported to $host.")
38 fi
39
40 AM_CONDITIONAL(MIPS_GCC, test ${TARGET}${ac_cv_prog_gcc} = MIPSyes)
41 AM_CONDITIONAL(MIPS_SGI, test ${TARGET}${ac_cv_prog_gcc} = MIPSno)
42 AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
43 AM_CONDITIONAL(X86, test x$TARGET = xX86)
44 AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
45 AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
46 AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
47 AM_CONDITIONAL(ARM, test x$TARGET = xARM)
48
49 AC_HEADER_STDC
50 AC_CHECK_FUNCS(memcpy)
51 AC_FUNC_ALLOCA
52
53 dnl AC_CHECK_SIZEOF(char)
54 AC_CHECK_SIZEOF(short)
55 AC_CHECK_SIZEOF(int)
56 AC_CHECK_SIZEOF(long)
57 AC_CHECK_SIZEOF(long long)
58 AC_CHECK_SIZEOF(float)
59 AC_CHECK_SIZEOF(double)
60 AC_CHECK_SIZEOF(long double)
61
62 AC_CHECK_SIZEOF(void *)
63 AC_C_BIGENDIAN
64
65 AC_SUBST(TARGET)
66 AC_SUBST(TARGETDIR)
67
68 AC_SUBST(SHELL)
69
70 AC_ARG_ENABLE(debug,[  --enable-debug          Debugging mode], AC_DEFINE(FFI_DEBUG))
71
72 AC_ARG_ENABLE(debug,[  --disable-structs       Omit code for struct support], AC_DEFINE(FFI_NO_STRUCTS))
73
74 AC_ARG_ENABLE(debug,[  --disable-raw-api       Make the raw api unavailable], AC_DEFINE(FFI_NO_RAW_API))
75
76 AC_ARG_ENABLE(purify-safety,
77 [  --enable-purify-safety  Purify-safe mode], AC_DEFINE(USING_PURIFY))
78
79 AC_OUTPUT(include/Makefile include/ffi.h Makefile,, 
80 test ! -d include && mkdir include
81 test ! -f include/fficonfig.h && cp fficonfig.h include/fficonfig.h
82 if cmp -s fficonfig.h include/fficonfig.h 2>/dev/null; then 
83         echo fficonfig.h unchanged
84 else
85         echo Moving fficonfig.h to include/fficonfig.h
86         cp fficonfig.h include/fficonfig.h
87 fi
88 )