]>
Commit | Line | Data |
---|---|---|
1 | dnl configuration script for expat | |
2 | dnl Process this file with autoconf to produce a configure script. | |
3 | dnl | |
4 | dnl Copyright 2000 Clark Cooper | |
5 | dnl | |
6 | dnl This file is part of EXPAT. | |
7 | dnl | |
8 | dnl EXPAT is free software; you can redistribute it and/or modify it | |
9 | dnl under the terms of the License (based on the MIT/X license) contained | |
10 | dnl in the file COPYING that comes with this distribution. | |
11 | dnl | |
12 | ||
13 | dnl Ensure that Expat is configured with autoconf 2.52 or newer | |
14 | AC_PREREQ(2.52) | |
15 | ||
16 | dnl Get the version number of Expat, using m4's esyscmd() command to run | |
17 | dnl the command at m4-generation time. This allows us to create an m4 | |
18 | dnl symbol holding the correct version number. AC_INIT() requires the | |
19 | dnl version number at m4-time, rather than when ./configure is run, so | |
20 | dnl all this must happen as part of m4, not as part of the shell code | |
21 | dnl contained in ./configure. | |
22 | dnl | |
23 | dnl NOTE: esyscmd() is a GNU M4 extension. Thus, we wrap it in an appropriate | |
24 | dnl test. I believe this test will work, but I don't have a place with non- | |
25 | dnl GNU M4 to test it right now. | |
26 | define([expat_version], ifdef([__gnu__], | |
27 | [esyscmd(conftools/get-version.sh lib/expat.h)], | |
28 | [1.95.x])) | |
29 | AC_INIT(expat, expat_version, expat-bugs@mail.libexpat.org) | |
30 | undefine([expat_version]) | |
31 | ||
32 | AC_CONFIG_SRCDIR(Makefile.in) | |
33 | AC_CONFIG_AUX_DIR(conftools) | |
34 | ||
35 | ||
36 | dnl | |
37 | dnl Increment LIBREVISION if source code has changed at all | |
38 | dnl | |
39 | dnl If the API has changed, increment LIBCURRENT and set LIBREVISION to 0 | |
40 | dnl | |
41 | dnl If the API changes compatibly (i.e. simply adding a new function | |
42 | dnl without changing or removing earlier interfaces), then increment LIBAGE. | |
43 | dnl | |
44 | dnl If the API changes incompatibly set LIBAGE back to 0 | |
45 | dnl | |
46 | ||
47 | LIBCURRENT=4 | |
48 | LIBREVISION=0 | |
49 | LIBAGE=4 | |
50 | ||
51 | AC_CONFIG_HEADER(expat_config.h) | |
52 | ||
53 | sinclude(conftools/libtool.m4) | |
54 | sinclude(conftools/ac_c_bigendian_cross.m4) | |
55 | ||
56 | ||
57 | dnl Check for many C compilers (have to do this before libtool stuff) | |
58 | AC_BAKEFILE_PROG_CC | |
59 | ||
60 | AC_LIBTOOL_WIN32_DLL | |
61 | AC_PROG_LIBTOOL | |
62 | ||
63 | AC_SUBST(LIBCURRENT) | |
64 | AC_SUBST(LIBREVISION) | |
65 | AC_SUBST(LIBAGE) | |
66 | ||
67 | dnl Checks for programs. | |
68 | AC_PROG_INSTALL | |
69 | ||
70 | if test "$GCC" = yes ; then | |
71 | dnl | |
72 | dnl Be careful about adding the -fexceptions option; some versions of | |
73 | dnl GCC don't support it and it causes extra warnings that are only | |
74 | dnl distracting; avoid. | |
75 | dnl | |
76 | OLDCFLAGS="$CFLAGS -Wall -Wmissing-prototypes -Wstrict-prototypes" | |
77 | CFLAGS="$OLDCFLAGS -fexceptions" | |
78 | AC_MSG_CHECKING(whether gcc accepts -fexceptions) | |
79 | AC_TRY_COMPILE(,(void)1, | |
80 | AC_MSG_RESULT(yes), | |
81 | AC_MSG_RESULT(no); CFLAGS="$OLDCFLAGS") | |
82 | fi | |
83 | ||
84 | dnl Checks for header files. | |
85 | AC_HEADER_STDC | |
86 | AC_CHECK_HEADERS(fcntl.h unistd.h) | |
87 | ||
88 | dnl Checks for typedefs, structures, and compiler characteristics. | |
89 | ||
90 | dnl Note: Avoid using AC_C_BIGENDIAN because it does not | |
91 | dnl work in a cross compile. | |
92 | AC_C_BIGENDIAN_CROSS | |
93 | ||
94 | AC_C_CONST | |
95 | AC_TYPE_OFF_T | |
96 | AC_TYPE_SIZE_T | |
97 | ||
98 | dnl Checks for library functions. | |
99 | ||
100 | AC_FUNC_MEMCMP | |
101 | AC_FUNC_MMAP | |
102 | ||
103 | if test "$ac_cv_func_mmap_fixed_mapped" = "yes"; then | |
104 | FILEMAP=unixfilemap | |
105 | else | |
106 | FILEMAP=readfilemap | |
107 | fi | |
108 | AC_SUBST(FILEMAP) | |
109 | ||
110 | AC_CHECK_FUNCS(memmove bcopy) | |
111 | ||
112 | dnl some basic configuration | |
113 | AC_DEFINE([XML_NS], 1, | |
114 | [Define to make XML Namespaces functionality available.]) | |
115 | AC_DEFINE([XML_DTD], 1, | |
116 | [Define to make parameter entity parsing functionality available.]) | |
117 | AC_DEFINE([XML_CONTEXT_BYTES], 1024, | |
118 | [Define to specify how much context to retain around the current parse point.]) | |
119 | ||
120 | AC_CONFIG_FILES(Makefile) | |
121 | AC_OUTPUT | |
122 | ||
123 | abs_srcdir="`cd $srcdir && pwd`" | |
124 | abs_builddir="`pwd`" | |
125 | if test "$abs_srcdir" != "$abs_builddir"; then | |
126 | ${MAKE:-make} mkdir-init | |
127 | fi |