blob: 477185be4480596bd44670b1596d08519870d187 [file] [log] [blame]
Werner Lemberge42dbce2003-11-09 08:37:14 +00001# This file is part of the FreeType project.
2#
3# Process this file with autoconf to produce a configure script.
Werner Lemberg60a04df2005-06-04 23:04:30 +00004#
Werner Lemberg9b9d3342008-02-21 23:22:06 +00005# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by
Werner Lemberg60a04df2005-06-04 23:04:30 +00006# David Turner, Robert Wilhelm, and Werner Lemberg.
7#
8# This file is part of the FreeType project, and may only be used, modified,
9# and distributed under the terms of the FreeType project license,
10# LICENSE.TXT. By continuing to use, modify, or distribute this file you
11# indicate that you have read the license and understand and accept it
12# fully.
David Turner74043012000-07-08 00:22:20 +000013
Werner Lemberg4df5b262006-05-08 07:10:29 +000014AC_INIT([FreeType], [@VERSION@], [freetype@nongnu.org], [freetype])
Werner Lembergb3f32102001-06-08 12:19:22 +000015AC_CONFIG_SRCDIR([ftconfig.in])
David Turner74043012000-07-08 00:22:20 +000016
David Turner74043012000-07-08 00:22:20 +000017
Werner Lemberge42dbce2003-11-09 08:37:14 +000018# Don't forget to update docs/VERSION.DLL!
19
Werner Lembergbe54a682008-06-29 07:43:41 +000020version_info='9:18:3'
Werner Lemberge42dbce2003-11-09 08:37:14 +000021AC_SUBST([version_info])
Werner Lemberg3de5b072001-03-20 07:52:52 +000022ft_version=`echo $version_info | tr : .`
Werner Lemberge42dbce2003-11-09 08:37:14 +000023AC_SUBST([ft_version])
David Turner74043012000-07-08 00:22:20 +000024
David Turner74043012000-07-08 00:22:20 +000025
Werner Lemberge42dbce2003-11-09 08:37:14 +000026# checks for system type
27
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000028AC_CANONICAL_BUILD
29AC_CANONICAL_HOST
Werner Lemberge42dbce2003-11-09 08:37:14 +000030AC_CANONICAL_TARGET
31
32
33# checks for programs
34
David Turner74043012000-07-08 00:22:20 +000035AC_PROG_CC
36AC_PROG_CPP
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000037AC_SUBST(EXEEXT)
38
39
40# checks for native programs to generate building tool
41
42if test ${cross_compiling} = yes; then
Suzuki, Toshiya (鈴木俊哉)4fc0cce2007-08-11 16:35:06 +000043 AC_CHECK_PROG(CC_BUILD, ${build}-gcc, ${build}-gcc)
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000044 test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, gcc, gcc)
45 test -z "${CC_BUILD}" && AC_CHECK_PROG(CC_BUILD, cc, cc, , , /usr/ucb/cc)
46 test -z "${CC_BUILD}" && AC_MSG_ERROR([cannot find native C compiler])
47
48 AC_MSG_CHECKING([for suffix of native executables])
49 rm -f a.* b.* a_out.exe conftest.*
50 echo > conftest.c "int main() { return 0;}"
51 ${CC_BUILD} conftest.c || AC_MSG_ERROR([native C compiler is not working])
52 rm -f conftest.c
53 if test -x a.out -o -x b.out -o -x conftest; then
54 EXEEXT_BUILD=""
55 elif test -x a_out.exe -o -x conftest.exe; then
56 EXEEXT_BUILD=".exe"
57 elif test -x conftest.* ; then
58 EXEEXT_BUILD=`echo conftest.* | sed -n '1s/^.*\.//g'`
59 fi
60 AC_MSG_RESULT($EXEEXT_BUILD)
61else
62 CC_BUILD=${CC}
63 EXEEXT_BUILD=${EXEEXT}
64fi
65
66
67if test ! -z ${EXEEXT_BUILD}; then
68 EXEEXT_BUILD=."${EXEEXT_BUILD}"
69fi
70AC_SUBST(CC_BUILD)
71AC_SUBST(EXEEXT_BUILD)
72
David Turner74043012000-07-08 00:22:20 +000073
Werner Lemberge42dbce2003-11-09 08:37:14 +000074
75# get compiler flags right
76
David Turner74043012000-07-08 00:22:20 +000077if test "x$CC" = xgcc; then
Werner Lemberg92aa5272005-05-23 21:33:02 +000078 XX_CFLAGS="-Wall"
David Turner74043012000-07-08 00:22:20 +000079 XX_ANSIFLAGS="-pedantic -ansi"
80else
81 case "$host" in
Werner Lemberge42dbce2003-11-09 08:37:14 +000082 *-dec-osf*)
83 CFLAGS=
84 XX_CFLAGS="-std1 -g3"
85 XX_ANSIFLAGS=
86 ;;
87 *)
88 XX_CFLAGS=
89 XX_ANSIFLAGS=
90 ;;
David Turner74043012000-07-08 00:22:20 +000091 esac
92fi
Werner Lemberge42dbce2003-11-09 08:37:14 +000093AC_SUBST([XX_CFLAGS])
94AC_SUBST([XX_ANSIFLAGS])
David Turner74043012000-07-08 00:22:20 +000095
Werner Lembergfd9777e2000-07-31 10:56:42 +000096
Werner Lemberge42dbce2003-11-09 08:37:14 +000097# auxiliary programs
98
99AC_CHECK_PROG([RMF], [rm], [rm -f])
100AC_CHECK_PROG([RMDIR], [rmdir], [rmdir])
101
102
103# Since this file will be finally moved to another directory we make
104# the path of the install script absolute. This small code snippet has
105# been taken from automake's `ylwrap' script.
106
David Turner74043012000-07-08 00:22:20 +0000107AC_PROG_INSTALL
Werner Lembergfd9777e2000-07-31 10:56:42 +0000108case "$INSTALL" in
Werner Lemberge42dbce2003-11-09 08:37:14 +0000109/*)
110 ;;
111*/*)
112 INSTALL="`pwd`/$INSTALL" ;;
Werner Lembergfd9777e2000-07-31 10:56:42 +0000113esac
David Turner74043012000-07-08 00:22:20 +0000114
Werner Lemberge42dbce2003-11-09 08:37:14 +0000115
116# checks for header files
117
Werner Lembergd060a752000-07-20 06:57:41 +0000118AC_HEADER_STDC
Werner Lemberge42dbce2003-11-09 08:37:14 +0000119AC_CHECK_HEADERS([fcntl.h unistd.h])
David Turner74043012000-07-08 00:22:20 +0000120
Werner Lemberge42dbce2003-11-09 08:37:14 +0000121
122# checks for typedefs, structures, and compiler characteristics
123
David Turner74043012000-07-08 00:22:20 +0000124AC_C_CONST
Werner Lemberge42dbce2003-11-09 08:37:14 +0000125AC_CHECK_SIZEOF([int])
126AC_CHECK_SIZEOF([long])
David Turner74043012000-07-08 00:22:20 +0000127
David Turner74043012000-07-08 00:22:20 +0000128
Werner Lemberge42dbce2003-11-09 08:37:14 +0000129# checks for library functions
130
131# Here we check whether we can use our mmap file component.
132
David Turner74043012000-07-08 00:22:20 +0000133AC_FUNC_MMAP
134if test "$ac_cv_func_mmap_fixed_mapped" != yes; then
Werner Lemberg858f3102003-06-09 04:46:30 +0000135 FTSYS_SRC='$(BASE_DIR)/ftsystem.c'
David Turner74043012000-07-08 00:22:20 +0000136else
Werner Lemberg858f3102003-06-09 04:46:30 +0000137 FTSYS_SRC='$(BUILD_DIR)/ftsystem.c'
Werner Lembergb1dd3532000-07-31 22:51:00 +0000138
Werner Lemberge42dbce2003-11-09 08:37:14 +0000139 AC_CHECK_DECLS([munmap],
140 [],
141 [],
142 [
143
144#ifdef HAVE_UNISTD_H
145#include <unistd.h>
146#endif
147#include <sys/mman.h>
148
149 ])
150
Werner Lembergb1dd3532000-07-31 22:51:00 +0000151 FT_MUNMAP_PARAM
David Turner74043012000-07-08 00:22:20 +0000152fi
Werner Lemberge42dbce2003-11-09 08:37:14 +0000153AC_SUBST([FTSYS_SRC])
David Turner74043012000-07-08 00:22:20 +0000154
Werner Lemberge42dbce2003-11-09 08:37:14 +0000155AC_CHECK_FUNCS([memcpy memmove])
David Turner74043012000-07-08 00:22:20 +0000156
Werner Lemberge42dbce2003-11-09 08:37:14 +0000157
Werner Lemberg745a4f42008-06-22 22:41:24 +0000158# check for system zlib
Werner Lemberge42dbce2003-11-09 08:37:14 +0000159
Werner Lembergfd7456c2006-04-03 15:46:48 +0000160# don't quote AS_HELP_STRING!
Werner Lemberge42dbce2003-11-09 08:37:14 +0000161AC_ARG_WITH([zlib],
Werner Lemberge42dbce2003-11-09 08:37:14 +0000162 AS_HELP_STRING([--without-zlib],
163 [use internal zlib instead of system-wide]))
David Turner621e4882002-12-16 21:51:24 +0000164if test x$with_zlib != xno && test -z "$LIBZ"; then
Werner Lemberge42dbce2003-11-09 08:37:14 +0000165 AC_CHECK_LIB([z], [gzsetparams], [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])])
David Turner621e4882002-12-16 21:51:24 +0000166fi
167if test x$with_zlib != xno && test -n "$LIBZ"; then
168 CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_SYSTEM_ZLIB"
David Turner19b6b992002-12-23 22:40:21 +0000169 LDFLAGS="$LDFLAGS $LIBZ"
David Turner621e4882002-12-16 21:51:24 +0000170 SYSTEM_ZLIB=yes
171fi
Werner Lemberg6eb116e2003-05-11 07:12:26 +0000172
Werner Lemberge42dbce2003-11-09 08:37:14 +0000173
Werner Lembergbe54a682008-06-29 07:43:41 +0000174# check Apple's `-isysroot' option and duplicate it to LDFLAGS if required --
Werner Lemberg745a4f42008-06-22 22:41:24 +0000175# Apple TechNote 2137 recommends to include it in CFLAGS but not in LDFLAGS
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +0000176
Werner Lemberg745a4f42008-06-22 22:41:24 +0000177AC_MSG_CHECKING([whether CFLAGS includes -isysroot option])
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +0000178case "$CFLAGS" in
Werner Lemberg745a4f42008-06-22 22:41:24 +0000179*sysroot* )
180 AC_MSG_RESULT([yes])
181 AC_MSG_CHECKING([whether LDFLAGS includes -isysroot option])
182 case "$LDFLAGS" in
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +0000183 *sysroot* )
184 AC_MSG_RESULT([yes])
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +0000185 ;;
186 *)
187 AC_MSG_RESULT([no])
Werner Lemberg745a4f42008-06-22 22:41:24 +0000188 isysroot_dir=`echo ${CFLAGS} | tr '\t' ' ' | sed 's/^.*-isysroot *//;s/ .*//'`
189 AC_MSG_WARN(-isysroot ${isysroot_dir} is added to LDFLAGS)
190 LDFLAGS="-isysroot ${isysroot_dir} ${LDFLAGS}"
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +0000191 ;;
Werner Lemberg745a4f42008-06-22 22:41:24 +0000192 esac
193 ;;
194*)
195 AC_MSG_RESULT([no])
196 ;;
Suzuki, Toshiya (鈴木俊哉)b1c36cf2008-06-22 15:32:56 +0000197esac
198
199
Werner Lemberg435046b2006-01-11 10:57:42 +0000200# Whether to use Mac OS resource-based fonts.
Werner Lemberge42dbce2003-11-09 08:37:14 +0000201
Werner Lembergfd7456c2006-04-03 15:46:48 +0000202# don't quote AS_HELP_STRING!
Werner Lemberge42dbce2003-11-09 08:37:14 +0000203AC_ARG_WITH([old-mac-fonts],
Werner Lemberge42dbce2003-11-09 08:37:14 +0000204 AS_HELP_STRING([--with-old-mac-fonts],
205 [allow Mac resource-based fonts to be used]))
Werner Lemberg6eb116e2003-05-11 07:12:26 +0000206if test x$with_old_mac_fonts = xyes; then
Suzuki, Toshiya (鈴木俊哉)458c3422006-02-08 12:58:24 +0000207 orig_LDFLAGS="${LDFLAGS}"
208 AC_MSG_CHECKING([CoreServices & ApplicationServices of Mac OS X])
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +0000209 FT2_EXTRA_LIBS="-Wl,-framework,CoreServices -Wl,-framework,ApplicationServices"
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +0000210 LDFLAGS="$LDFLAGS $FT2_EXTRA_LIBS"
Werner Lemberga984fda2008-06-09 21:02:13 +0000211 AC_LINK_IFELSE([
212 AC_LANG_PROGRAM([
Werner Lembergdcbb7082007-02-08 08:54:09 +0000213
Suzuki, Toshiya (鈴木俊哉)7e3d6012006-12-15 15:23:21 +0000214#if defined(__GNUC__) && defined(__APPLE_CC__)
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000215# include <CoreServices/CoreServices.h>
Suzuki, Toshiya (鈴木俊哉)7e3d6012006-12-15 15:23:21 +0000216# include <ApplicationServices/ApplicationServices.h>
217#else
218# include <ConditionalMacros.h>
219# include <Files.h>
220#endif
Werner Lembergdcbb7082007-02-08 08:54:09 +0000221
Werner Lemberga984fda2008-06-09 21:02:13 +0000222 ],
223 [
Suzuki, Toshiya (鈴木俊哉)7e3d6012006-12-15 15:23:21 +0000224
Werner Lemberga984fda2008-06-09 21:02:13 +0000225 short res = 0;
Suzuki, Toshiya (鈴木俊哉)7e3d6012006-12-15 15:23:21 +0000226
227
Werner Lemberga984fda2008-06-09 21:02:13 +0000228 UseResFile( res );
Suzuki, Toshiya (鈴木俊哉)7e3d6012006-12-15 15:23:21 +0000229
Werner Lemberga984fda2008-06-09 21:02:13 +0000230 ])],
Suzuki, Toshiya (鈴木俊哉)027357f2007-02-05 02:50:45 +0000231 [AC_MSG_RESULT([ok])
232 AC_MSG_CHECKING([OS_INLINE macro is ANSI compatible])
233 orig_CFLAGS="$CFLAGS"
234 CFLAGS="$CFLAGS $XX_CFLAGS $XX_ANSIFLAGS"
Werner Lemberga984fda2008-06-09 21:02:13 +0000235 AC_COMPILE_IFELSE([
236 AC_LANG_PROGRAM([
Werner Lembergdcbb7082007-02-08 08:54:09 +0000237
Suzuki, Toshiya (鈴木俊哉)027357f2007-02-05 02:50:45 +0000238#if defined(__GNUC__) && defined(__APPLE_CC__)
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000239# include <CoreServices/CoreServices.h>
Suzuki, Toshiya (鈴木俊哉)027357f2007-02-05 02:50:45 +0000240# include <ApplicationServices/ApplicationServices.h>
241#else
242# include <ConditionalMacros.h>
243# include <Files.h>
244#endif
Werner Lembergdcbb7082007-02-08 08:54:09 +0000245
Werner Lemberga984fda2008-06-09 21:02:13 +0000246 ],
247 [
Werner Lembergdcbb7082007-02-08 08:54:09 +0000248
Werner Lemberga984fda2008-06-09 21:02:13 +0000249 /* OSHostByteOrder() is typed as OS_INLINE */
250 int32_t os_byte_order = OSHostByteOrder();
Werner Lembergdcbb7082007-02-08 08:54:09 +0000251
252
Werner Lemberga984fda2008-06-09 21:02:13 +0000253 if ( OSBigEndian != os_byte_order )
254 return 1;
Werner Lembergdcbb7082007-02-08 08:54:09 +0000255
Werner Lemberga984fda2008-06-09 21:02:13 +0000256 ])],
Werner Lembergdcbb7082007-02-08 08:54:09 +0000257 [AC_MSG_RESULT([ok])
258 CFLAGS="$orig_CFLAGS"
259 CFLAGS="$CFLAGS -DHAVE_ANSI_OS_INLINE=1"
260 ],
261 [AC_MSG_RESULT([no, ANSI incompatible])
262 CFLAGS="$orig_CFLAGS"
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +0000263 ])
264 AC_MSG_CHECKING([type ResourceIndex])
265 orig_CFLAGS="$CFLAGS"
266 CFLAGS="$CFLAGS $XX_CFLAGS $XX_ANSIFLAGS"
267 AC_COMPILE_IFELSE([
268 AC_LANG_PROGRAM([
269
270#if defined(__GNUC__) && defined(__APPLE_CC__)
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000271# include <CoreServices/CoreServices.h>
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +0000272# include <ApplicationServices/ApplicationServices.h>
273#else
274# include <ConditionalMacros.h>
275# include <Files.h>
276# include <Resources.h>
277#endif
278
279 ],
280 [
281
282 ResourceIndex i = 0;
283 return i;
284
285 ])],
286 [AC_MSG_RESULT([ok])
287 CFLAGS="$orig_CFLAGS"
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +0000288 CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=1"
Suzuki, Toshiya (鈴木俊哉)f3a924d2008-06-24 17:13:58 +0000289 ],
290 [AC_MSG_RESULT([no])
291 CFLAGS="$orig_CFLAGS"
Suzuki, Toshiya (鈴木俊哉)fdc2d762008-08-18 06:02:07 +0000292 CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=0"
Werner Lemberge172c332008-06-25 22:21:42 +0000293 ])],
Werner Lemberg6be99f92006-02-09 07:38:57 +0000294 [AC_MSG_RESULT([not found])
Suzuki, Toshiya (鈴木俊哉)8e296452008-09-05 03:21:21 +0000295 FT2_EXTRA_LIBS=""
Werner Lemberg6be99f92006-02-09 07:38:57 +0000296 LDFLAGS="${orig_LDFLAGS}"
297 CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"])
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +0000298else
299 case x$target_os in
300 xdarwin*)
301 dnl AC_MSG_WARN([target system is MacOS but configured to build without Carbon])
302 CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"
303 ;;
304 *) ;;
305 esac
Werner Lemberg6eb116e2003-05-11 07:12:26 +0000306fi
307
Werner Lemberge42dbce2003-11-09 08:37:14 +0000308
Werner Lemberg435046b2006-01-11 10:57:42 +0000309# Whether to use FileManager which is deprecated since Mac OS X 10.4.
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000310
311AC_ARG_WITH([fsspec],
312 AS_HELP_STRING([--with-fsspec],
313 [use obsolete FSSpec API of MacOS, if available (default=yes)]))
314if test x$with_fsspec = xno; then
315 CFLAGS="$CFLAGS -DHAVE_FSSPEC=0"
Suzuki, Toshiya (鈴木俊哉)7e3d6012006-12-15 15:23:21 +0000316elif test x$with_old_mac_fonts = xyes -a x$with_fsspec != x; then
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000317 AC_MSG_CHECKING([FSSpec-based FileManager])
Werner Lemberga984fda2008-06-09 21:02:13 +0000318 AC_LINK_IFELSE([
319 AC_LANG_PROGRAM([
Werner Lemberg435046b2006-01-11 10:57:42 +0000320
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000321#if defined(__GNUC__) && defined(__APPLE_CC__)
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000322# include <CoreServices/CoreServices.h>
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000323# include <ApplicationServices/ApplicationServices.h>
324#else
325# include <ConditionalMacros.h>
326# include <Files.h>
327#endif
Werner Lemberg435046b2006-01-11 10:57:42 +0000328
Werner Lemberga984fda2008-06-09 21:02:13 +0000329 ],
330 [
Werner Lemberg435046b2006-01-11 10:57:42 +0000331
Werner Lemberga984fda2008-06-09 21:02:13 +0000332 FCBPBPtr paramBlock;
333 short vRefNum;
334 long dirID;
335 ConstStr255Param fileName;
336 FSSpec* spec;
Werner Lemberg435046b2006-01-11 10:57:42 +0000337
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000338
Werner Lemberga984fda2008-06-09 21:02:13 +0000339 /* FSSpec functions: deprecated since Mac OS X 10.4 */
340 PBGetFCBInfoSync( paramBlock );
341 FSMakeFSSpec( vRefNum, dirID, fileName, spec );
Werner Lembergb4142d52007-01-17 12:45:26 +0000342
Werner Lemberga984fda2008-06-09 21:02:13 +0000343 ])],
Werner Lemberg6be99f92006-02-09 07:38:57 +0000344 [AC_MSG_RESULT([ok])
345 CFLAGS="$CFLAGS -DHAVE_FSSPEC=1"],
346 [AC_MSG_RESULT([not found])
347 CFLAGS="$CFLAGS -DHAVE_FSSPEC=0"])
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000348fi
349
Werner Lemberg435046b2006-01-11 10:57:42 +0000350
351# Whether to use FileManager in Carbon since MacOS 9.x.
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000352
353AC_ARG_WITH([fsref],
354 AS_HELP_STRING([--with-fsref],
355 [use Carbon FSRef API of MacOS, if available (default=yes)]))
356if test x$with_fsref = xno; then
357 AC_MSG_WARN([
358*** WARNING
359 FreeType2 built without FSRef API cannot load
360 data-fork fonts on MacOS, except of XXX.dfont.
Werner Lemberg6be99f92006-02-09 07:38:57 +0000361 ])
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000362 CFLAGS="$CFLAGS -DHAVE_FSREF=0"
Suzuki, Toshiya (鈴木俊哉)7e3d6012006-12-15 15:23:21 +0000363elif test x$with_old_mac_fonts = xyes -a x$with_fsref != x; then
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000364 AC_MSG_CHECKING([FSRef-based FileManager])
Werner Lemberga984fda2008-06-09 21:02:13 +0000365 AC_LINK_IFELSE([
366 AC_LANG_PROGRAM([
Werner Lemberg435046b2006-01-11 10:57:42 +0000367
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000368#if defined(__GNUC__) && defined(__APPLE_CC__)
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000369# include <CoreServices/CoreServices.h>
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000370# include <ApplicationServices/ApplicationServices.h>
371#else
372# include <ConditionalMacros.h>
373# include <Files.h>
374#endif
Werner Lemberg435046b2006-01-11 10:57:42 +0000375
Werner Lemberga984fda2008-06-09 21:02:13 +0000376 ],
377 [
Werner Lemberg435046b2006-01-11 10:57:42 +0000378
Werner Lemberga984fda2008-06-09 21:02:13 +0000379 short vRefNum;
380 long dirID;
381 ConstStr255Param fileName;
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000382
Werner Lemberga984fda2008-06-09 21:02:13 +0000383 Boolean* isDirectory;
384 UInt8* path;
385 SInt16 desiredRefNum;
386 SInt16* iterator;
387 SInt16* actualRefNum;
388 HFSUniStr255* outForkName;
389 FSVolumeRefNum volume;
390 FSCatalogInfoBitmap whichInfo;
391 FSCatalogInfo* catalogInfo;
392 FSForkInfo* forkInfo;
393 FSRef* ref;
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000394
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +0000395#if HAVE_FSSPEC
Werner Lemberga984fda2008-06-09 21:02:13 +0000396 FSSpec* spec;
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +0000397#endif
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000398
Werner Lemberga984fda2008-06-09 21:02:13 +0000399 /* FSRef functions: no need to check? */
400 FSGetForkCBInfo( desiredRefNum, volume, iterator,
401 actualRefNum, forkInfo, ref,
402 outForkName );
403 FSPathMakeRef( path, ref, isDirectory );
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +0000404
405#if HAVE_FSSPEC
Werner Lemberga984fda2008-06-09 21:02:13 +0000406 FSpMakeFSRef ( spec, ref );
407 FSGetCatalogInfo( ref, whichInfo, catalogInfo,
408 outForkName, spec, ref );
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +0000409#endif
Werner Lemberga984fda2008-06-09 21:02:13 +0000410 ])],
Werner Lemberg6be99f92006-02-09 07:38:57 +0000411 [AC_MSG_RESULT([ok])
412 CFLAGS="$CFLAGS -DHAVE_FSREF=1"],
413 [AC_MSG_RESULT([not found])
414 CFLAGS="$CFLAGS -DHAVE_FSREF=0"])
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000415fi
416
Werner Lemberg435046b2006-01-11 10:57:42 +0000417
Werner Lembergdcbb7082007-02-08 08:54:09 +0000418# Whether to use QuickDraw API in ToolBox which is deprecated since
419# Mac OS X 10.4.
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000420
421AC_ARG_WITH([quickdraw-toolbox],
422 AS_HELP_STRING([--with-quickdraw-toolbox],
423 [use MacOS QuickDraw in ToolBox, if available (default=yes)]))
424if test x$with_quickdraw_toolbox = xno; then
425 CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_TOOLBOX=0"
Suzuki, Toshiya (鈴木俊哉)7e3d6012006-12-15 15:23:21 +0000426elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_toolbox != x; then
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000427 AC_MSG_CHECKING([QuickDraw FontManager functions in ToolBox])
Werner Lemberga984fda2008-06-09 21:02:13 +0000428 AC_LINK_IFELSE([
429 AC_LANG_PROGRAM([
Werner Lemberg435046b2006-01-11 10:57:42 +0000430
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000431#if defined(__GNUC__) && defined(__APPLE_CC__)
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000432# include <CoreServices/CoreServices.h>
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000433# include <ApplicationServices/ApplicationServices.h>
434#else
435# include <ConditionalMacros.h>
436# include <Fonts.h>
437#endif
Werner Lemberg435046b2006-01-11 10:57:42 +0000438
Werner Lemberga984fda2008-06-09 21:02:13 +0000439 ],
440 [
Werner Lemberg435046b2006-01-11 10:57:42 +0000441
Werner Lemberga984fda2008-06-09 21:02:13 +0000442 Str255 familyName;
443 SInt16 familyID = 0;
444 FMInput* fmIn = NULL;
445 FMOutput* fmOut = NULL;
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000446
447
Werner Lemberga984fda2008-06-09 21:02:13 +0000448 GetFontName( familyID, familyName );
449 GetFNum( familyName, &familyID );
450 fmOut = FMSwapFont( fmIn );
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000451
Werner Lemberga984fda2008-06-09 21:02:13 +0000452 ])],
Werner Lemberg6be99f92006-02-09 07:38:57 +0000453 [AC_MSG_RESULT([ok])
454 CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_TOOLBOX=1"],
455 [AC_MSG_RESULT([not found])
456 CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_TOOLBOX=0"])
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000457fi
458
459
Werner Lembergdcbb7082007-02-08 08:54:09 +0000460# Whether to use QuickDraw API in Carbon which is deprecated since
461# Mac OS X 10.4.
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000462
463AC_ARG_WITH([quickdraw-carbon],
464 AS_HELP_STRING([--with-quickdraw-carbon],
465 [use MacOS QuickDraw in Carbon, if available (default=yes)]))
466if test x$with_quickdraw_carbon = xno; then
467 CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_CARBON=0"
Suzuki, Toshiya (鈴木俊哉)7e3d6012006-12-15 15:23:21 +0000468elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_carbon != x; then
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000469 AC_MSG_CHECKING([QuickDraw FontManager functions in Carbon])
Werner Lemberga984fda2008-06-09 21:02:13 +0000470 AC_LINK_IFELSE([
471 AC_LANG_PROGRAM([
Werner Lemberg435046b2006-01-11 10:57:42 +0000472
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000473#if defined(__GNUC__) && defined(__APPLE_CC__)
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000474# include <CoreServices/CoreServices.h>
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000475# include <ApplicationServices/ApplicationServices.h>
476#else
477# include <ConditionalMacros.h>
478# include <Fonts.h>
479#endif
Werner Lemberg435046b2006-01-11 10:57:42 +0000480
Werner Lemberga984fda2008-06-09 21:02:13 +0000481 ],
482 [
Werner Lemberg435046b2006-01-11 10:57:42 +0000483
Werner Lemberga984fda2008-06-09 21:02:13 +0000484 FMFontFamilyIterator famIter;
485 FMFontFamily family;
486 Str255 famNameStr;
487 FMFontFamilyInstanceIterator instIter;
488 FMFontStyle style;
489 FMFontSize size;
490 FMFont font;
491 FSSpec* pathSpec;
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000492
493
Werner Lemberga984fda2008-06-09 21:02:13 +0000494 FMCreateFontFamilyIterator( NULL, NULL, kFMUseGlobalScopeOption,
495 &famIter );
496 FMGetNextFontFamily( &famIter, &family );
497 FMGetFontFamilyName( family, famNameStr );
498 FMCreateFontFamilyInstanceIterator( family, &instIter );
499 FMGetNextFontFamilyInstance( &instIter, &font, &style, &size );
500 FMDisposeFontFamilyInstanceIterator( &instIter );
501 FMDisposeFontFamilyIterator( &famIter );
502 FMGetFontContainer( font, pathSpec );
Werner Lemberg435046b2006-01-11 10:57:42 +0000503
Werner Lemberga984fda2008-06-09 21:02:13 +0000504 ])],
Werner Lemberg6be99f92006-02-09 07:38:57 +0000505 [AC_MSG_RESULT([ok])
506 CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_CARBON=1"],
507 [AC_MSG_RESULT([not found])
508 CFLAGS="$CFLAGS -DHAVE_QUICKDRAW_CARBON=0"])
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000509fi
510
511
Werner Lemberg435046b2006-01-11 10:57:42 +0000512# Whether to use AppleTypeService since Mac OS X.
513
Werner Lembergfd7456c2006-04-03 15:46:48 +0000514# don't quote AS_HELP_STRING!
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000515AC_ARG_WITH([ats],
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000516 AS_HELP_STRING([--with-ats],
517 [use AppleTypeService, if available (default=yes)]))
518if test x$with_ats = xno; then
519 CFLAGS="$CFLAGS -DHAVE_ATS=0"
Suzuki, Toshiya (鈴木俊哉)7e3d6012006-12-15 15:23:21 +0000520elif test x$with_old_mac_fonts = xyes -a x$with_ats != x ; then
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000521 AC_MSG_CHECKING([AppleTypeService functions])
Werner Lemberga984fda2008-06-09 21:02:13 +0000522 AC_LINK_IFELSE([
523 AC_LANG_PROGRAM([
Werner Lemberg435046b2006-01-11 10:57:42 +0000524
Suzuki, Toshiya (鈴木俊哉)a8700d42008-08-18 05:08:01 +0000525#if defined(__GNUC__) && defined(__APPLE_CC__)
526# include <CoreServices/CoreServices.h>
527# include <ApplicationServices/ApplicationServices.h>
528#else
529# include <ConditionalMacros.h>
530# include <Files.h>
531#endif
Werner Lemberg435046b2006-01-11 10:57:42 +0000532
Werner Lemberga984fda2008-06-09 21:02:13 +0000533 ],
534 [
Werner Lemberg435046b2006-01-11 10:57:42 +0000535
Werner Lemberga984fda2008-06-09 21:02:13 +0000536 FSSpec* pathSpec;
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000537
538
Werner Lemberga984fda2008-06-09 21:02:13 +0000539 ATSFontFindFromName( NULL, kATSOptionFlagsUnRestrictedScope );
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +0000540#if HAVE_FSSPEC
Werner Lemberga984fda2008-06-09 21:02:13 +0000541 ATSFontGetFileSpecification( 0, pathSpec );
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +0000542#endif
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000543
Werner Lemberga984fda2008-06-09 21:02:13 +0000544 ])],
Werner Lemberg6be99f92006-02-09 07:38:57 +0000545 [AC_MSG_RESULT([ok])
546 CFLAGS="$CFLAGS -DHAVE_ATS=1"],
547 [AC_MSG_RESULT([not found])
548 CFLAGS="$CFLAGS -DHAVE_ATS=0"])
Werner Lemberg435046b2006-01-11 10:57:42 +0000549fi
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000550
Suzuki, Toshiya (鈴木俊哉)7e3d6012006-12-15 15:23:21 +0000551case "$CFLAGS" in
552 *HAVE_FSSPEC* | *HAVE_FSREF* | *HAVE_QUICKDRAW* | *HAVE_ATS* )
553 AC_MSG_WARN([
554*** WARNING
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000555 FSSpec/FSRef/QuickDraw/ATS options are explicitly given,
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +0000556 thus it is recommended to replace src/base/ftmac.c by builds/mac/ftmac.c.
Suzuki, Toshiya (鈴木俊哉)7e3d6012006-12-15 15:23:21 +0000557 ])
558 CFLAGS="$CFLAGS "'-I$(TOP_DIR)/builds/mac/'
559 ;;
560 *)
561 ;;
562esac
563
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +0000564
Werner Lemberge42dbce2003-11-09 08:37:14 +0000565AC_SUBST([LIBZ])
566AC_SUBST([CFLAGS])
567AC_SUBST([LDFLAGS])
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +0000568AC_SUBST([FT2_EXTRA_LIBS])
Werner Lemberge42dbce2003-11-09 08:37:14 +0000569AC_SUBST([SYSTEM_ZLIB])
570
David Turner621e4882002-12-16 21:51:24 +0000571
Werner Lemberga984fda2008-06-09 21:02:13 +0000572LT_INIT(win32-dll)
Werner Lembergb6617882007-08-04 22:17:48 +0000573
Werner Lemberg53a1edd2004-02-08 22:45:48 +0000574AC_SUBST([hardcode_libdir_flag_spec])
575AC_SUBST([wl])
Werner Lemberg26bd7a22008-06-09 21:27:17 +0000576AC_SUBST([build_libtool_libs])
David Turner74043012000-07-08 00:22:20 +0000577
Werner Lemberge42dbce2003-11-09 08:37:14 +0000578
579# configuration file -- stay in 8.3 limit
580#
581# since #undef doesn't survive in configuration header files we replace
582# `/undef' with `#undef' after creating the output file
583
584AC_CONFIG_HEADERS([ftconfig.h:ftconfig.in],
585 [mv ftconfig.h ftconfig.tmp
586 sed 's|/undef|#undef|' < ftconfig.tmp > ftconfig.h
587 rm ftconfig.tmp])
588
589# create the Unix-specific sub-Makefiles `builds/unix/unix-def.mk'
Werner Lembergdcbb7082007-02-08 08:54:09 +0000590# and `builds/unix/unix-cc.mk' that will be used by the build system
Werner Lemberge42dbce2003-11-09 08:37:14 +0000591#
Werner Lemberg3a317c62003-04-28 09:43:32 +0000592AC_CONFIG_FILES([unix-cc.mk:unix-cc.in
593 unix-def.mk:unix-def.in
594 freetype-config
595 freetype2.pc:freetype2.in])
David Turnerce9a0442002-01-08 18:33:55 +0000596
Werner Lemberge42dbce2003-11-09 08:37:14 +0000597# re-generate the Jamfile to use libtool now
598#
599# AC_CONFIG_FILES([../../Jamfile:../../Jamfile.in])
David Turnerce9a0442002-01-08 18:33:55 +0000600
Werner Lembergb3f32102001-06-08 12:19:22 +0000601AC_OUTPUT
David Turner74043012000-07-08 00:22:20 +0000602
Werner Lembergdcbb7082007-02-08 08:54:09 +0000603# end of configure.raw