root/NEWT0/trunk/configure.in

Revision 114, 4.8 kB (checked in by gnue, 12 months ago)

removed "contrib/inwt/inwt" in AC_CONFIG_FILES

  • Property svn:executable set to *
Line 
1#                                               -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.
3
4AC_PREREQ(2.57)
5AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS)
6AC_CONFIG_SRCDIR([src/main.c])
7AC_CONFIG_HEADERS([src/config.h])
8AC_CONFIG_HEADERS([src/newt_core/incs/NewtConf.h])
9
10# Checks for programs.
11AC_PROG_CC
12AC_PROG_YACC
13AC_PROG_LEX
14
15AC_CHECK_TOOL(AR, ar)
16AC_CHECK_TOOL(RANLIB, ranlib, :)
17
18#
19AC_CANONICAL_SYSTEM
20
21case "$target_os" in
22  freebsd*)
23    export LDFLAGS=-L/usr/local/lib
24    export CPPFLAGS=-I/usr/local/include
25    ;;
26esac
27
28
29# Checks for libraries.
30#AC_CHECK_LIB(iconv, iconv_open)
31
32SAVE_LIBS="$LIBS"
33LIBS="$LIBS -liconv"
34result='no'
35AC_MSG_CHECKING(checking for libiconv)
36AC_TRY_LINK([
37    #include <stdlib.h>
38    #include <iconv.h>
39    ], [
40    iconv_t cd = iconv_open("", "");
41    iconv(cd, NULL, NULL, NULL, NULL);
42    iconv_close(cd);
43    ],
44    AC_DEFINE(HAVE_LIBICONV)
45    result='yes',
46    LIBS="$SAVE_LIBS")
47AC_MSG_RESULT($result)
48
49
50HAVE_DLOPEN='no'
51AC_MSG_CHECKING(checking for dlopen)
52AC_TRY_LINK([
53    #include <dlfcn.h>
54    ], [
55    void *  install_call;
56    void *  lib;
57
58    lib = dlopen("", RTLD_LAZY);
59    install_call = dlsym(lib, "");
60    dlclose(lib);
61    ],
62    HAVE_DLOPEN='yes',
63
64    SAVE_LIBS="$LIBS"
65    LIBS="$LIBS -ldl"
66    AC_TRY_LINK([
67        #include <dlfcn.h>
68        ], [
69        void *  install_call;
70        void *  lib;
71
72        lib = dlopen("", RTLD_LAZY);
73        install_call = dlsym(lib, "");
74        dlclose(lib);
75        ],
76        HAVE_DLOPEN='yes'
77        LIBDL=" -ldl")
78    LIBS="$SAVE_LIBS")
79AC_MSG_RESULT($HAVE_DLOPEN)
80
81
82# Checks for header files.
83AC_HEADER_STDC
84AC_CHECK_HEADERS([inttypes.h memory.h stdint.h stdlib.h string.h unistd.h termios.h endian.h machine/endian.h])
85
86# Checks for typedefs, structures, and compiler characteristics.
87AC_HEADER_STDBOOL
88AC_C_CONST
89AC_TYPE_SIZE_T
90
91# Checks for library functions.
92AC_FUNC_MALLOC
93AC_FUNC_MEMCMP
94AC_FUNC_REALLOC
95AC_FUNC_VPRINTF
96AC_CHECK_FUNCS([getcwd memchr memmove memset regcomp strcasecmp strchr strdup strncasecmp mmap chdir getpwnam])
97
98
99#
100# AC_CANONICAL_SYSTEM
101
102case "$target_os" in
103  darwin*)
104    LIBNEWT_LDSHARED='$(CC) -dynamic -bundle -undefined suppress -flat_namespace'
105    DLEXT='dylib'
106    ;;
107  cygwin*|mingw*)
108    AC_DEFINE(__WIN32__)
109    HAVE_DLOPEN='yes'
110    NEWT_LDIMPORT='$(build)/libnewt.a'
111    NEWT_LDFLAGS='-Wl,--export-all-symbols,--out-implib=$(LDIMPORT)'
112    LIBNEWT_LDSHARED='$(CC) -shared'
113    LIBREGEX='$(LIBREGEX)'
114    DLEXT='dll'
115    ;;
116  linux*)
117#    NEWT_LDFLAGS='-ldl -rdynamic'
118    NEWT_LDFLAGS='-rdynamic'
119    LIBNEWT_LDSHARED='$(CC) -shared'
120    DLEXT='so'
121    ;;
122  freebsd*)
123    NEWT_LDFLAGS='-rdynamic'
124    LIBNEWT_LDSHARED='$(CC) -shared'
125    DLEXT='so'
126    ;;
127  beos*)
128#    NEWT_LDFLAGS='-ldl'
129    LIBNEWT_LDSHARED='$(CC) -nostart $(build)/_APP_'
130    LINK_NEWT_APP_='cd $@; ln -s newt _APP_'
131    DLEXT='so'
132    ;;
133  *)
134    NEWT_LDFLAGS='-rdynamic'
135    LIBNEWT_LDSHARED='$(CC) -shared'
136    DLEXT='so'
137    ;;
138esac
139
140
141case "$target_vendor" in
142  *ipod*)
143    AC_DEFINE(__IPOD__)
144    NEWT_LDFLAGS=
145    ;;
146esac
147
148case "$HAVE_DLOPEN" in
149  yes)
150    AC_DEFINE(HAVE_DLOPEN)
151    MAKE_EXT='ext'
152    ;;
153esac
154
155test "x$prefix" = xNONE && prefix=$ac_default_prefix
156
157AC_ARG_WITH(sitedir,
158    AS_HELP_STRING([--with-sitedir=DIR],
159        [site libraries in DIR [[PREFIX/lib/newt0]]]),
160    [sitedir=$withval],
161    [sitedir='${prefix}/lib/newt0'])
162SITE_DIR="`eval \"echo ${sitedir}\"`"
163
164AC_ARG_WITH(libffidir,
165    AS_HELP_STRING([--with-libffidir=DIR],
166        [where libffi libraries can be found [[PREFIX]]]),
167    [libffidir=$withval],
168    [libffidir='${prefix}'])
169
170AC_ARG_ENABLE(compat,
171    AS_HELP_STRING([--enable-compat],
172        [enable compatibility with the Newton, and break many features on the desktop]),
173        [compat='yes'],
174        [compat='no'])
175
176AC_ARG_ENABLE(contrib,
177    AS_HELP_STRING([--enable-contrib],
178        [include contrib packages (inwt, NativeCalls, and NewtObjC)]),
179        [MAKE_CONTRIB='contrib'])
180
181test "x$compat" = xno && AC_DEFINE(__NAMED_MAGIC_POINTER__)
182
183AC_DEFINE_UNQUOTED(__PLATFORM__, "$target_os")
184AC_DEFINE_UNQUOTED(__DYLIBSUFFIX__, ".$DLEXT")
185AC_DEFINE_UNQUOTED(__LIBDIR__, "${SITE_DIR}")
186
187NEWT_LDFLAGS="$NEWT_LDFLAGS $LIBDL"
188
189AC_SUBST(NEWT_LDIMPORT)
190AC_SUBST(NEWT_LDFLAGS)
191AC_SUBST(LIBNEWT_LDSHARED)
192AC_SUBST(LINK_NEWT_APP_)
193AC_SUBST(DLEXT)
194AC_SUBST(MAKE_EXT)
195AC_SUBST(MAKE_CONTRIB)
196AC_SUBST(BINDIR)
197AC_SUBST(sitedir)
198AC_SUBST(libffidir)
199AC_SUBST(__NAMED_MAGIC_POINTER__)
200
201AC_SUBST(LIBREGEX)
202
203dnl
204dnl How to create static libraries
205dnl
206AC_PROG_RANLIB
207AC_PATH_PROG(AR, ar)
208if test "x$AR" = "x:"; then
209    AC_MSG_ERROR(Configure could not find the library archiver, aborting.)
210fi
211if test "x$RANLIB" != "x:"; then
212    LIBCOMMAND="$AR cr"
213else
214    LIBCOMMAND="$AR crs"
215fi
216AC_SUBST(LIBCOMMAND)
217LIBEXT=".a"
218AC_SUBST(LIBEXT)
219
220
221AC_CONFIG_FILES([Makefile
222                 ext/protoFILE/Makefile
223                 ext/protoREGEX/Makefile
224                 contrib/inwt/Makefile
225                 contrib/NativeCalls/Makefile
226                 contrib/NewtObjC/Makefile])
227AC_OUTPUT
Note: See TracBrowser for help on using the browser.