~ubuntu-branches/ubuntu/lucid/gauche-c-wrapper/lucid

« back to all changes in this revision

Viewing changes to configure.ac

  • Committer: Bazaar Package Importer
  • Author(s): NIIBE Yutaka
  • Date: 2008-04-07 09:15:03 UTC
  • Revision ID: james.westby@ubuntu.com-20080407091503-wu0h414koe95kj4i
Tags: upstream-0.5.2
ImportĀ upstreamĀ versionĀ 0.5.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
dnl
 
2
dnl Configuring ffi
 
3
dnl  process this file with autoconf to generate 'configure'.
 
4
dnl $Id: configure.ac 461 2007-05-19 23:22:04Z naoki $
 
5
dnl
 
6
 
 
7
AC_PREREQ(2.54)
 
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.
 
12
AC_CANONICAL_SYSTEM
 
13
 
 
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)
 
21
 
 
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`
 
28
AC_SUBST(SOEXT)
 
29
AC_SUBST(OBJEXT)
 
30
AC_SUBST(EXEEXT)
 
31
AC_SUBST(DYLIBEXT)
 
32
 
 
33
ac_default_prefix=`$GAUCHE_CONFIG --prefix`
 
34
 
 
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)
 
41
 
 
42
dnl Check for headers.
 
43
dnl Add your macro calls to check required headers, if you have any.
 
44
 
 
45
dnl Check for other programs.
 
46
dnl Add your macro calls to check existence of programs, if you have any.
 
47
AC_PROG_CC
 
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)
 
52
 
 
53
dnl Check for libraries
 
54
dnl Add your macro calls to check required libraries, if you have any.
 
55
 
 
56
dnl Platform-dependent configuration.
 
57
AC_ARG_ENABLE(objc, [  --enable-objc           turn on Objective-C support])
 
58
 
 
59
STUBGEN_FFI_MODULE=c-wrapper.c-ffi
 
60
LDCONFIG_CMD=""
 
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"
 
65
case "$target" in
 
66
    *darwin*)
 
67
        if test "$enable_objc" != "no"; then
 
68
           enable_objc="yes"
 
69
        fi
 
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
 
74
        ;;
 
75
    *linux*)
 
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'"
 
79
        fi
 
80
        ;;
 
81
    *freebsd*|*netbsd*)
 
82
        if test "X$LDCONFIG" != "X" -a "X$SED" != "X"; then
 
83
            LDCONFIG_CMD="$LDCONFIG -r | $SED -n '/^    /s/^.*=> //p'"
 
84
        fi
 
85
        ;;
 
86
esac
 
87
 
 
88
if test "$enable_objc" = "yes"; then
 
89
   CPPFLAGS="$CPPFLAGS -x objective-c -fobjc-exceptions"
 
90
   LDFLAGS="$LDFLAGS -framework Foundation"
 
91
   OBJC_ENABLE_TRUE=""
 
92
else
 
93
   OBJC_ENABLE_TRUE="#"   
 
94
fi
 
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)
 
102
 
 
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"
 
109
 
 
110
dnl Output
 
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)
 
113