Example: Changed glyph-outline.shape for use with FontConfig.
[shapes.git] / configure.ac
blobedd767953c94e444d57f96973df9b9f27845fb4b
1 # This file is part of Shapes.
3 # Shapes is free software: you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation, either version 3 of the License, or
6 # any later version.
8 # Shapes is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 # GNU General Public License for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with Shapes.  If not, see <http://www.gnu.org/licenses/>.
16 # Copyright 2008, 2009, 2010 Gustaf Hendeby
18 #                                               -*- Autoconf -*-
19 # Process this file with autoconf to produce a configure script.
21 AC_PREREQ(2.59)
22 AC_INIT(Shapes, 0.5.2, tidefelt@isy.liu.se)
23 AC_CONFIG_AUX_DIR([config])
24 AC_CONFIG_MACRO_DIR([m4])
25 AM_INIT_AUTOMAKE([foreign])
27 AC_CONFIG_SRCDIR([source/Shapes_Kernel_decls.h])
28 AM_CONFIG_HEADER([config.h])
30 # Checks for programs.
31 AC_PROG_CXX
32 AC_PROG_CC
33 AC_PROG_FLEX(2.5.33)
34 AC_PROG_BISON(2.3)
35 AC_PROG_COMPARE(6.4.0)
36 AM_PATH_SAXON(9)
37 AC_PROG_LIBTOOL
39 # Set compiler options
40 AC_DEBUG
41 AC_PROFILE
42 AC_OPTIMIZATION
44 # Checks for libraries.
45 AM_ICONV()
46 if test "X$HAVE_ICONV" != "Xyes"
47 then
48   AC_MSG_ERROR(Missing iconv.  Consider installing GNU libiconv.)
50 AH_VERBATIM([ICONV_CAST],
51 [/* Macro to handle different const convention in iconv calls */
52 #define ICONV_CAST( ptr ) const_cast< ICONV_CONST char ** > ( ptr )
54 AC_CHECK_LIB([c], [close])
55 AM_PATH_GSL([1.9],, AC_MSG_ERROR(GSL not found))
56 AC_CHECK_LIB([m], [cos])
57 AM_PATH_ZLIB()
58 AC_CHECK_NANSIGNAL()
60 # Check optional dependencies
61 AM_PATH_LIBPNG()
62 AM_PATH_LIBJPEG()
63 AC_CHECK_FT2(7.0.1,AC_DEFINE_UNQUOTED(HAVE_FT2, true, [Define to true if FreeType 2 is installed]),missing_ft2=yes)
64 AC_CHECK_HEADER([fontconfig/fontconfig.h],,missing_fontconfig=yes)
65 if test "X$missing_fontconfig" == "X"
66 then
67 AC_SEARCH_LIBS( [FcPatternCreate], [fontconfig],
68  AC_DEFINE_UNQUOTED( HAVE_FONTCONFIG, true, [Define to true if Fontconfig (library and header) is installed] )
69  FONTCONFIG_LIBS=$ac_cv_search_FcPatternCreate
70  AC_SUBST(FONTCONFIG_LIBS)
72  missing_fontconfig=yes )
75 # Allow configuration of operator dispatch implementation.
76 AM_DISPATCH_STYLE()
78 # Checks for header files.
79 AC_FUNC_ALLOCA
80 AC_HEADER_STDC
81 AC_HEADER_SYS_WAIT
82 AC_CHECK_HEADERS([inttypes.h libintl.h limits.h malloc.h stddef.h stdlib.h string.h sys/time.h unistd.h])
84 # Checks for typedefs, structures, and compiler characteristics.
85 AC_HEADER_STDBOOL
86 AC_C_CONST
87 AC_C_INLINE
88 AC_TYPE_PID_T
89 AC_C_RESTRICT
90 AC_TYPE_SIZE_T
91 AC_HEADER_TIME
92 AC_STRUCT_TM
94 # Checks for library functions.
95 AC_FUNC_ERROR_AT_LINE
96 AC_FUNC_FORK
97 AC_FUNC_MALLOC
98 AC_FUNC_REALLOC
99 AC_FUNC_STAT
100 AC_FUNC_STRFTIME
101 AC_FUNC_STRTOD
102 AC_CHECK_FUNCS([floor memchr memset pow rint sqrt strchr strdup strrchr strtol])
105 htmldir='${pkgdatadir}/doc/html'
106 AC_SUBST(htmldir)
109 AC_CONFIG_FILES([Makefile source/Makefile resources/Makefile
110                  test/Makefile test/text/Makefile test/graphics/Makefile
111                  doc/Makefile doc/tools/Makefile
112                  doc/tools/ssi/Makefile doc/tools/postproc/Makefile
113                  doc/tools/xhtml-deps/Makefile doc/build/Makefile
114                  doc/build/man/Makefile doc/build/html/Makefile doc/build/proj-web/Makefile doc/build/text/Makefile])
116 if test "X$HAVE_FLEX" != "X1"
117 then
118     echo "\
119 WARNING: \`flex' is missing on your system.  You should only need it if you modified a \`.ll' file, but due to problems with the build process it may be needed otherwise as well.  You can get directions for how to obtaion a recent \`Flex' from any GNU archive site."
122 if test "X$COMPARE" != "Xyes"
123 then
124   echo "\
125 WARNING:  The program \`compare' was not found, or its version too low.  Without it, errors in the tests are less likely to be detected."
128 if test "X$HAVE_SAXON" != "X1"
129 then
130   echo "\
131 WARNING: The program \`Saxon' was not found, without it installed the documentation cannot be rebuilt."
133 AM_CONDITIONAL(HAVE_SAXON, test "X$HAVE_SAXON" = "X1")
135 if test "X$HAVE_LIBPNG" != "Xtrue"
136 then
137   echo "\
138 WARNING:  The library \`libpng' was not found, or its version too low.  Without it, your Shapes compiler will lack some functionality."
141 if test "X$HAVE_LIBJPEG" != "Xtrue"
142 then
143   echo "\
144 WARNING:  The library \`libjpeg' was not found.  Without it, your Shapes compiler will lack some functionality."
147 if test "X$missing_ft2" != "X"
148 then
149   echo "\
150 WARNING:  FreeType 2 was not found.  Without it, your Shapes compiler will lack some functionality."
153 if test "X$missing_fontconfig" != "X"
154 then
155   echo "\
156 WARNING:  Fontconfig was not found.  Without it, your Shapes compiler will lack some functionality."
159 AC_OUTPUT