3
dnl process this file with autoconf to generate 'configure'.
4
dnl $Id: configure.ac 461 2007-05-19 23:22:04Z naoki $
8
AC_INIT(c-wrapper, 0.5.2, naoki@koguro.net)
9
dnl If you want to use the system name (OS, architecture, etc) in the
10
dnl configure, uncomment the following line. In such a case, you need
11
dnl to copy config.guess and config.sub from automake distribution.
14
dnl Set up gauche related commands. The commands are set by scanning
15
dnl PATH. You can override them by "GOSH=/my/gosh ./configure" etc.
16
AC_PATH_PROG([GOSH], gosh)
17
AC_PATH_PROG([GAUCHE_CONFIG], gauche-config)
18
AC_PATH_PROG([GAUCHE_PACKAGE], gauche-package)
19
AC_PATH_PROG([GAUCHE_INSTALL], gauche-install)
20
AC_PATH_PROG([GAUCHE_CESCONV], gauche-cesconv)
22
dnl Usually these parameters are set by AC_PROG_CC, but we'd rather use
23
dnl the same one as Gauche has been compiled with.
24
SOEXT=`$GAUCHE_CONFIG --so-suffix`
25
OBJEXT=`$GAUCHE_CONFIG --object-suffix`
26
EXEEXT=`$GAUCHE_CONFIG --executable-suffix`
27
DYLIBEXT=`$GAUCHE_CONFIG --dylib-suffix`
33
ac_default_prefix=`$GAUCHE_CONFIG --prefix`
35
GAUCHE_PKGINCDIR=`$GAUCHE_CONFIG --pkgincdir`
36
GAUCHE_PKGLIBDIR=`$GAUCHE_CONFIG --pkglibdir`
37
GAUCHE_PKGARCHDIR=`$GAUCHE_CONFIG --pkgarchdir`
38
AC_SUBST(GAUCHE_PKGINCDIR)
39
AC_SUBST(GAUCHE_PKGLIBDIR)
40
AC_SUBST(GAUCHE_PKGARCHDIR)
42
dnl Check for headers.
43
dnl Add your macro calls to check required headers, if you have any.
45
dnl Check for other programs.
46
dnl Add your macro calls to check existence of programs, if you have any.
48
AC_CHECK_PROGS(MAKEINFO, makeinfo)
49
AC_CHECK_PROGS(GZIP_PROGRAM, gzip)
50
AC_CHECK_PROGS(SED, sed)
51
AC_CHECK_PROGS(LDCONFIG, ldconfig)
53
dnl Check for libraries
54
dnl Add your macro calls to check required libraries, if you have any.
56
dnl Platform-dependent configuration.
57
AC_ARG_ENABLE(objc, [ --enable-objc turn on Objective-C support])
59
STUBGEN_FFI_MODULE=c-wrapper.c-ffi
61
LD_LIBRARY_PATH_ENVS='"LD_LIBRARY_PATH"'
62
TESTLIB_CFLAGS="-c -fPIC -o"
63
TESTLIB_LDFLAGS="-shared -o"
64
SYS_LIBRARY_PATHS="/usr/lib /lib"
67
if test "$enable_objc" != "no"; then
70
LD_LIBRARY_PATH_ENVS='"LD_LIBRARY_PATH" "DYLD_LIBRARY_PATH"'
71
TESTLIB_CFLAGS="-c -fPIC -o"
72
TESTLIB_LDFLAGS="-dynamiclib -r -nostartfiles -install_name ffitest -single_module -o"
73
STUBGEN_FFI_MODULE=c-wrapper.objc-ffi
76
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
77
if test "X$LDCONFIG" != "X" -a "X$SED" != "X"; then
78
LDCONFIG_CMD="$LDCONFIG -p | $SED -n '/^ /s/^.*=> //p'"
82
if test "X$LDCONFIG" != "X" -a "X$SED" != "X"; then
83
LDCONFIG_CMD="$LDCONFIG -r | $SED -n '/^ /s/^.*=> //p'"
88
if test "$enable_objc" = "yes"; then
89
CPPFLAGS="$CPPFLAGS -x objective-c -fobjc-exceptions"
90
LDFLAGS="$LDFLAGS -framework Foundation"
95
AC_SUBST(LD_LIBRARY_PATH_ENVS)
96
AC_SUBST(TESTLIB_CFLAGS)
97
AC_SUBST(TESTLIB_LDFLAGS)
98
AC_SUBST(OBJC_ENABLE_TRUE)
99
AC_SUBST(STUBGEN_FFI_MODULE)
100
AC_SUBST(LDCONFIG_CMD)
101
AC_SUBST(SYS_LIBRARY_PATHS)
103
dnl Creating gpd (gauche package description) file
104
GAUCHE_PACKAGE_CONFIGURE_ARGS="`echo ""$ac_configure_args"" | sed 's/[\\""\`\$]/\\\&/g'`"
105
AC_MSG_NOTICE([creating ${PACKAGE_NAME}.gpd])
106
$GAUCHE_PACKAGE make-gpd "$PACKAGE_NAME" \
107
-version "$PACKAGE_VERSION" \
108
-configure "./configure $GAUCHE_PACKAGE_CONFIGURE_ARGS"
111
echo $PACKAGE_VERSION > VERSION
112
AC_OUTPUT(Makefile src/Makefile lib/Makefile objc/Makefile testsuite/Makefile src/cwcompile lib/c-wrapper/config.scm lib/c-wrapper/stubgen.scm doc/Makefile)