2
dnl Configuring c-wrapper
3
dnl process this file with autoconf to generate 'configure'.
4
dnl $Id: configure.ac 657 2009-08-08 14:37:26Z naoki $
8
AC_INIT(c-wrapper, 0.6.1, 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.
49
AC_CHECK_PROGS(MAKEINFO, makeinfo)
50
AC_CHECK_PROGS(GZIP_PROGRAM, gzip)
51
AC_CHECK_PROGS(SED, sed)
52
AC_PATH_PROG([LDCONFIG], [ldconfig], [], [$PATH:/sbin:/usr/sbin])
54
dnl Check for libraries
55
dnl Add your macro calls to check required libraries, if you have any.
57
dnl Platform-dependent configuration.
58
AC_ARG_ENABLE(objc, [ --enable-objc turn on Objective-C support])
61
rpath=AC_ARG_WITH(rpath, AC_HELP_STRING([--with-rpath=PATH:PATH...],
62
[Use -rpath option while building dynamically loadable objects.]),
67
*) rpath="`echo $with_rpath | sed -e 's/^/-Wl,-rpath /' -e 's/:/ -Wl,-rpath /g'`";;
71
STUBGEN_FFI_MODULE=c-wrapper.c-ffi
73
LD_LIBRARY_PATH_ENVS='"LD_LIBRARY_PATH"'
74
LDFLAGS="$LDFLAGS $rpath"
75
TESTLIB_CFLAGS="-c -fPIC -o"
76
TESTLIB_LDFLAGS="$rpath -shared -o"
77
SYS_LIBRARY_PATHS="/usr/lib /lib"
80
CWCOMPILE_DEFAULT_LIBS=""
83
LD_LIBRARY_PATH_ENVS='"LD_LIBRARY_PATH" "DYLD_LIBRARY_PATH"'
84
TESTLIB_LDFLAGS="-dynamiclib -o"
85
if test "$enable_objc" = ""; then
89
i?86-*-linux*|sparc*-*-linux*)
90
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
91
if test "X$LDCONFIG" != "X" -a "X$SED" != "X"; then
92
LDCONFIG_CMD="$LDCONFIG -p | $SED -n -e '/lib64/n' -e '/^ /s/^.*=> //p'"
96
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
97
if test "X$LDCONFIG" != "X" -a "X$SED" != "X"; then
98
LDCONFIG_CMD="$LDCONFIG -p | $SED -n '/^ /s/^.*=> //p'"
102
if test "X$LDCONFIG" != "X" -a "X$SED" != "X"; then
103
LDCONFIG_CMD="$LDCONFIG -r | $SED -n '/^ /s/^.*=> //p'"
107
SYS_LIBRARY_PATHS="$SYS_LIBRARY_PATHS /usr/pkg/lib"
108
if test "X$LDCONFIG" != "X" -a "X$SED" != "X"; then
109
LDCONFIG_CMD="$LDCONFIG -r | $SED -n '/^ /s/^.*=> //p'"
113
LIBS="-lgauche-uvector -lpsapi $LIBS"
114
LDFLAGS="$LDFLAGS -L."
115
TESTLIB_CFLAGS="-c -o"
116
CPARSER_LIBS="-lc-ffi -lc-lex"
117
SYS_LIBRARY_PATHS="$SYS_LIBRARY_PATHS /usr/bin"
119
CWCOMPILE_DEFAULT_LIBS="-lgauche-uvector"
123
if test "$enable_objc" = "yes"; then
124
CPPFLAGS="$CPPFLAGS -x objective-c -fobjc-exceptions"
125
LDFLAGS="$LDFLAGS -framework Foundation"
127
STUBGEN_FFI_MODULE=c-wrapper.objc-ffi
131
AC_SUBST(LD_LIBRARY_PATH_ENVS)
132
AC_SUBST(TESTLIB_CFLAGS)
133
AC_SUBST(TESTLIB_LDFLAGS)
134
AC_SUBST(OBJC_ENABLE_TRUE)
135
AC_SUBST(STUBGEN_FFI_MODULE)
136
AC_SUBST(LDCONFIG_CMD)
137
AC_SUBST(SYS_LIBRARY_PATHS)
138
AC_SUBST(CPARSER_LIBS)
139
AC_SUBST(CYGWIN_FLAG)
140
AC_SUBST(CWCOMPILE_DEFAULT_LIBS)
142
dnl Creating gpd (gauche package description) file
143
GAUCHE_PACKAGE_CONFIGURE_ARGS="`echo ""$ac_configure_args"" | sed 's/[\\""\`\$]/\\\&/g'`"
144
AC_MSG_NOTICE([creating ${PACKAGE_NAME}.gpd])
145
$GAUCHE_PACKAGE make-gpd "$PACKAGE_NAME" \
146
-version "$PACKAGE_VERSION" \
147
-configure "./configure $GAUCHE_PACKAGE_CONFIGURE_ARGS"
150
echo $PACKAGE_VERSION > VERSION
151
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)