author | Ryan C. Gordon <icculus@icculus.org> |
Wed, 10 Jul 2002 02:57:23 +0000 | |
changeset 319 | 3b555459053e |
parent 310 | f8bca4a93fd5 |
child 323 | 6da51f38cfd8 |
permissions | -rw-r--r-- |
213 | 1 |
# Process this file with autoconf to produce a configure script. |
2 |
AC_INIT(physfs.c) |
|
3 |
||
4 |
dnl --------------------------------------------------------------------- |
|
5 |
dnl System/version info |
|
6 |
dnl --------------------------------------------------------------------- |
|
7 |
||
8 |
# Making releases: |
|
9 |
# MICRO_VERSION += 1; |
|
10 |
# INTERFACE_AGE += 1; |
|
11 |
# BINARY_AGE += 1; |
|
12 |
# if any functions have been added, set INTERFACE_AGE to 0. |
|
13 |
# if backwards compatibility has been broken, |
|
14 |
# set BINARY_AGE and INTERFACE_AGE to 0. |
|
15 |
||
16 |
MAJOR_VERSION=0 |
|
17 |
MINOR_VERSION=1 |
|
237
2abc99254366
Upped version to 0.1.6
Ryan C. Gordon <icculus@icculus.org>
parents:
234
diff
changeset
|
18 |
MICRO_VERSION=6 |
213 | 19 |
INTERFACE_AGE=0 |
20 |
BINARY_AGE=0 |
|
21 |
VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION |
|
22 |
||
23 |
AC_SUBST(MAJOR_VERSION) |
|
24 |
AC_SUBST(MINOR_VERSION) |
|
25 |
AC_SUBST(MICRO_VERSION) |
|
26 |
AC_SUBST(INTERFACE_AGE) |
|
27 |
AC_SUBST(BINARY_AGE) |
|
28 |
AC_SUBST(VERSION) |
|
29 |
||
30 |
# libtool versioning |
|
31 |
LT_RELEASE=$MAJOR_VERSION.$MINOR_VERSION |
|
32 |
LT_CURRENT=`expr $MICRO_VERSION - $INTERFACE_AGE` |
|
33 |
LT_REVISION=$INTERFACE_AGE |
|
34 |
LT_AGE=`expr $BINARY_AGE - $INTERFACE_AGE` |
|
35 |
||
36 |
AC_SUBST(LT_RELEASE) |
|
37 |
AC_SUBST(LT_CURRENT) |
|
38 |
AC_SUBST(LT_REVISION) |
|
39 |
AC_SUBST(LT_AGE) |
|
40 |
||
41 |
dnl Detect the canonical host and target build environment |
|
296
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
42 |
AC_CANONICAL_BUILD |
213 | 43 |
AC_CANONICAL_HOST |
44 |
AC_CANONICAL_TARGET |
|
45 |
||
46 |
dnl Setup for automake |
|
47 |
AM_CONFIG_HEADER(config.h) |
|
48 |
AM_INIT_AUTOMAKE(physfs, $VERSION) |
|
49 |
||
50 |
||
51 |
dnl --------------------------------------------------------------------- |
|
52 |
dnl Compilers and other tools |
|
53 |
dnl --------------------------------------------------------------------- |
|
54 |
||
55 |
AC_PROG_CC |
|
234 | 56 |
AC_PROG_CXX |
213 | 57 |
AC_PROG_INSTALL |
58 |
AC_PROG_LN_S |
|
289
a0bca1a03a54
Can now build shared libraries under BeOS, and probably Cygwin, too.
Ryan C. Gordon <icculus@icculus.org>
parents:
285
diff
changeset
|
59 |
AC_LIBTOOL_WIN32_DLL |
302
b6fe2b615045
Build dance continues.
Ryan C. Gordon <icculus@icculus.org>
parents:
296
diff
changeset
|
60 |
LIBTOOL="libtool" |
b6fe2b615045
Build dance continues.
Ryan C. Gordon <icculus@icculus.org>
parents:
296
diff
changeset
|
61 |
AM_PROG_LIBTOOL |
296
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
62 |
AC_CHECK_PROG(we_have_sed, sed, yes, no) |
213 | 63 |
|
64 |
dnl --------------------------------------------------------------------- |
|
65 |
dnl Debug mode? |
|
66 |
dnl --------------------------------------------------------------------- |
|
67 |
||
68 |
AC_ARG_ENABLE(debug, |
|
216
d297da72cd4e
--enable-debug is default.
Ryan C. Gordon <icculus@icculus.org>
parents:
214
diff
changeset
|
69 |
[ --enable-debug enable debug mode [default=yes]], |
d297da72cd4e
--enable-debug is default.
Ryan C. Gordon <icculus@icculus.org>
parents:
214
diff
changeset
|
70 |
, enable_debug=yes) |
213 | 71 |
if test x$enable_debug = xyes; then |
72 |
if test x$ac_cv_prog_cc_g = xyes; then |
|
73 |
CFLAGS="-g -O0" |
|
74 |
else |
|
75 |
CFLAGS="-O0" |
|
76 |
fi |
|
252
5e537265e682
Added -Wall to debug builds.
Ryan C. Gordon <icculus@icculus.org>
parents:
241
diff
changeset
|
77 |
CFLAGS="$CFLAGS -Werror -Wall" |
213 | 78 |
AC_DEFINE(DEBUG) |
79 |
AC_DEFINE(DEBUG_CHATTER) |
|
80 |
else |
|
81 |
CFLAGS="-O2" |
|
82 |
AC_DEFINE(NDEBUG) |
|
83 |
fi |
|
84 |
||
85 |
||
86 |
dnl --------------------------------------------------------------------- |
|
87 |
dnl Build test program? |
|
88 |
dnl --------------------------------------------------------------------- |
|
89 |
||
90 |
AC_ARG_ENABLE(testprog, |
|
91 |
[ --enable-testprog build test program [default=yes]], |
|
92 |
, enable_testprog=yes) |
|
93 |
||
94 |
||
95 |
dnl --------------------------------------------------------------------- |
|
96 |
dnl Checks for libraries. |
|
97 |
dnl --------------------------------------------------------------------- |
|
98 |
||
261
9e1647c75ae0
64-bit _llseek() detection code.
Ryan C. Gordon <icculus@icculus.org>
parents:
252
diff
changeset
|
99 |
dnl !!! FIXME: Not sure how to detect this... |
9e1647c75ae0
64-bit _llseek() detection code.
Ryan C. Gordon <icculus@icculus.org>
parents:
252
diff
changeset
|
100 |
dnl check for 64-bit llseek()... |
9e1647c75ae0
64-bit _llseek() detection code.
Ryan C. Gordon <icculus@icculus.org>
parents:
252
diff
changeset
|
101 |
dnl AC_CHECK_LIB(c, llseek, have_llseek=yes) |
9e1647c75ae0
64-bit _llseek() detection code.
Ryan C. Gordon <icculus@icculus.org>
parents:
252
diff
changeset
|
102 |
if test x$have_llseek = xyes; then |
9e1647c75ae0
64-bit _llseek() detection code.
Ryan C. Gordon <icculus@icculus.org>
parents:
252
diff
changeset
|
103 |
AC_DEFINE(PHYSFS_HAVE_LLSEEK) |
9e1647c75ae0
64-bit _llseek() detection code.
Ryan C. Gordon <icculus@icculus.org>
parents:
252
diff
changeset
|
104 |
fi |
9e1647c75ae0
64-bit _llseek() detection code.
Ryan C. Gordon <icculus@icculus.org>
parents:
252
diff
changeset
|
105 |
|
213 | 106 |
require_zlib="no" |
107 |
||
108 |
dnl Check for zip archiver inclusion... |
|
109 |
AC_ARG_ENABLE(zip, |
|
110 |
[ --enable-zip enable ZIP support [default=yes]], |
|
111 |
, enable_zip=yes) |
|
112 |
if test x$enable_zip = xyes; then |
|
113 |
AC_DEFINE(PHYSFS_SUPPORTS_ZIP) |
|
114 |
require_zlib="yes" |
|
115 |
fi |
|
116 |
||
117 |
||
118 |
dnl Check for zip archiver inclusion... |
|
119 |
AC_ARG_ENABLE(grp, |
|
120 |
[ --enable-grp enable Build Engine GRP support [default=yes]], |
|
121 |
, enable_grp=yes) |
|
122 |
if test x$enable_grp = xyes; then |
|
123 |
AC_DEFINE(PHYSFS_SUPPORTS_GRP) |
|
124 |
fi |
|
125 |
||
126 |
||
127 |
AC_ARG_ENABLE(internal-zlib, |
|
128 |
[ --enable-internal-zlib use included zlib [default=only if needed]], |
|
129 |
, enable_internal_zlib=maybe) |
|
130 |
||
131 |
dnl Check for zlib if needed. |
|
132 |
have_external_zlib="no" |
|
133 |
if test x$enable_internal_zlib != xyes; then |
|
134 |
if test x$require_zlib = xyes; then |
|
135 |
AC_CHECK_HEADER(zlib.h, have_zlib_hdr=yes) |
|
136 |
AC_CHECK_LIB(z, zlibVersion, have_zlib_lib=yes) |
|
137 |
if test x$have_zlib_hdr = xyes -a x$have_zlib_lib = xyes; then |
|
138 |
have_external_zlib="yes" |
|
139 |
fi |
|
140 |
fi |
|
141 |
fi |
|
142 |
||
143 |
AC_MSG_CHECKING([what zlib to use]) |
|
144 |
||
145 |
dnl no zlib is needed at all if we aren't supporting ZIP files. |
|
146 |
if test x$require_zlib = xno; then |
|
147 |
enable_internal_zlib="no" |
|
148 |
enable_external_zlib="no" |
|
149 |
AC_MSG_RESULT([no zlib needed]) |
|
150 |
else |
|
151 |
||
152 |
if test x$enable_internal_zlib = xmaybe; then |
|
153 |
if test x$have_external_zlib = xyes; then |
|
154 |
enable_internal_zlib="no" |
|
155 |
enable_external_zlib="yes" |
|
156 |
else |
|
157 |
enable_internal_zlib="yes" |
|
158 |
enable_external_zlib="no" |
|
159 |
fi |
|
160 |
else |
|
161 |
if test x$enable_internal_zlib = xno -a x$have_external_zlib = xyes; then |
|
162 |
enable_internal_zlib="no" |
|
163 |
enable_external_zlib="yes" |
|
164 |
fi |
|
165 |
fi |
|
166 |
||
167 |
if test x$enable_internal_zlib = xyes; then |
|
168 |
AC_MSG_RESULT([internal zlib]) |
|
169 |
else |
|
170 |
if test x$enable_external_zlib = xyes; then |
|
171 |
AC_MSG_RESULT([external zlib]) |
|
172 |
LIBS="$LIBS -lz" |
|
173 |
else |
|
174 |
AC_MSG_ERROR([Need zlib, but you disabled our copy and have no system lib]) |
|
175 |
fi |
|
176 |
fi |
|
177 |
fi |
|
178 |
||
179 |
||
180 |
dnl determine if we should include readline support... |
|
181 |
AC_ARG_ENABLE(readline, |
|
182 |
[ --enable-readline use GNU readline in test program [default=yes]], |
|
183 |
, enable_readline=yes) |
|
184 |
if test x$enable_readline = xyes; then |
|
185 |
AC_CHECK_HEADER(readline/readline.h, have_readline_hdr=yes) |
|
218
9415dcace296
readline detection fixes by Edward Rudd.
Ryan C. Gordon <icculus@icculus.org>
parents:
216
diff
changeset
|
186 |
AC_CHECK_LIB(readline, readline, have_readline_lib=yes, , -lcurses) |
213 | 187 |
AC_CHECK_HEADER(readline/history.h, have_history_hdr=yes) |
218
9415dcace296
readline detection fixes by Edward Rudd.
Ryan C. Gordon <icculus@icculus.org>
parents:
216
diff
changeset
|
188 |
AC_CHECK_LIB(readline, add_history, have_history_lib=yes, , -lcurses) |
213 | 189 |
if test x$have_readline_hdr = xyes -a x$have_readline_lib = xyes; then |
190 |
if test x$have_history_hdr = xyes -a x$have_history_lib = xyes; then |
|
191 |
AC_DEFINE(PHYSFS_HAVE_READLINE) |
|
218
9415dcace296
readline detection fixes by Edward Rudd.
Ryan C. Gordon <icculus@icculus.org>
parents:
216
diff
changeset
|
192 |
LIBS="$LIBS -lreadline -lcurses" |
213 | 193 |
fi |
194 |
fi |
|
195 |
fi |
|
196 |
||
296
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
197 |
dnl AC_CHECK_HEADER(be/kernel/OS.h, this_is_beos=yes) |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
198 |
AC_MSG_CHECKING([if this is BeOS]) |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
199 |
if test x$build_os = xbeos; then |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
200 |
this_is_beos=yes |
234 | 201 |
LIBS="$LIBS -lroot -lbe" |
296
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
202 |
else |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
203 |
this_is_beos=no |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
204 |
fi |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
205 |
|
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
206 |
AC_MSG_RESULT([$this_is_beos]) |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
207 |
|
310
f8bca4a93fd5
Patched to compile on Cygwin.
Ryan C. Gordon <icculus@icculus.org>
parents:
307
diff
changeset
|
208 |
AC_MSG_CHECKING([if this is Cygwin]) |
f8bca4a93fd5
Patched to compile on Cygwin.
Ryan C. Gordon <icculus@icculus.org>
parents:
307
diff
changeset
|
209 |
if test x$build_os = xcygwin; then |
f8bca4a93fd5
Patched to compile on Cygwin.
Ryan C. Gordon <icculus@icculus.org>
parents:
307
diff
changeset
|
210 |
this_is_cygwin=yes |
f8bca4a93fd5
Patched to compile on Cygwin.
Ryan C. Gordon <icculus@icculus.org>
parents:
307
diff
changeset
|
211 |
CFLAGS="$CFLAGS -DWIN32" |
f8bca4a93fd5
Patched to compile on Cygwin.
Ryan C. Gordon <icculus@icculus.org>
parents:
307
diff
changeset
|
212 |
else |
f8bca4a93fd5
Patched to compile on Cygwin.
Ryan C. Gordon <icculus@icculus.org>
parents:
307
diff
changeset
|
213 |
this_is_cygwin=no |
f8bca4a93fd5
Patched to compile on Cygwin.
Ryan C. Gordon <icculus@icculus.org>
parents:
307
diff
changeset
|
214 |
fi |
f8bca4a93fd5
Patched to compile on Cygwin.
Ryan C. Gordon <icculus@icculus.org>
parents:
307
diff
changeset
|
215 |
|
f8bca4a93fd5
Patched to compile on Cygwin.
Ryan C. Gordon <icculus@icculus.org>
parents:
307
diff
changeset
|
216 |
AC_MSG_RESULT([$this_is_cygwin]) |
f8bca4a93fd5
Patched to compile on Cygwin.
Ryan C. Gordon <icculus@icculus.org>
parents:
307
diff
changeset
|
217 |
|
296
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
218 |
this_is_macosx=no |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
219 |
if test x$we_have_sed = xyes; then |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
220 |
AC_MSG_CHECKING([if this is MacOS X]) |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
221 |
x=`echo $build_os |sed "s/darwin.*/darwin/"` |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
222 |
if test x$x = xdarwin -a x$build_vendor = xapple; then |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
223 |
this_is_macosx=yes |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
224 |
fi |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
225 |
|
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
226 |
AC_MSG_RESULT([$this_is_macosx]) |
234 | 227 |
fi |
213 | 228 |
|
229 |
# Checks for header files. |
|
230 |
AC_HEADER_STDC |
|
231 |
AC_CHECK_HEADERS([stdlib.h string.h]) |
|
232 |
||
233 |
# Checks for typedefs, structures, and compiler characteristics. |
|
269
d41c0a399a99
Removed some unnecessary things that broke BeOS builds.
Ryan C. Gordon <icculus@icculus.org>
parents:
261
diff
changeset
|
234 |
dnl AC_C_CONST |
d41c0a399a99
Removed some unnecessary things that broke BeOS builds.
Ryan C. Gordon <icculus@icculus.org>
parents:
261
diff
changeset
|
235 |
dnl AC_TYPE_SIZE_T |
213 | 236 |
|
237 |
# Checks for library functions. |
|
238 |
||
239 |
# This is only in the bleeding edge autoconf distro... |
|
240 |
#AC_FUNC_MALLOC |
|
241 |
||
242 |
AC_FUNC_MEMCMP |
|
243 |
AC_CHECK_FUNCS([memset strrchr]) |
|
244 |
||
245 |
dnl Add Makefile conditionals |
|
246 |
AM_CONDITIONAL(BUILD_ZLIB, test x$enable_internal_zlib = xyes) |
|
247 |
AM_CONDITIONAL(BUILD_TEST_PHYSFS, test x$enable_testprog = xyes) |
|
296
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
248 |
AM_CONDITIONAL(BUILD_MACOSX, test x$this_is_macosx = xyes) |
307 | 249 |
AM_CONDITIONAL(BUILD_BEOS, test x$this_is_beos = xyes) |
310
f8bca4a93fd5
Patched to compile on Cygwin.
Ryan C. Gordon <icculus@icculus.org>
parents:
307
diff
changeset
|
250 |
AM_CONDITIONAL(BUILD_CYGWIN, test x$this_is_cygwin = xyes) |
302
b6fe2b615045
Build dance continues.
Ryan C. Gordon <icculus@icculus.org>
parents:
296
diff
changeset
|
251 |
|
289
a0bca1a03a54
Can now build shared libraries under BeOS, and probably Cygwin, too.
Ryan C. Gordon <icculus@icculus.org>
parents:
285
diff
changeset
|
252 |
LDFLAGS="$LDFLAGS -no-undefined" |
a0bca1a03a54
Can now build shared libraries under BeOS, and probably Cygwin, too.
Ryan C. Gordon <icculus@icculus.org>
parents:
285
diff
changeset
|
253 |
|
213 | 254 |
AC_OUTPUT([ |
255 |
Makefile |
|
296
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
256 |
archivers/Makefile |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
257 |
platform/Makefile |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
258 |
zlib114/Makefile |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
259 |
test/Makefile |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
260 |
extras/Makefile |
213 | 261 |
]) |
231
e4f81b0f1c93
Corrected to fix "make dist".
Ryan C. Gordon <icculus@icculus.org>
parents:
224
diff
changeset
|
262 |
|
296
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
263 |
dnl end of configure.in ... |
32658d27c62f
Build system should now work everywhere, including older autoconfs. I hope.
Ryan C. Gordon <icculus@icculus.org>
parents:
289
diff
changeset
|
264 |