quvi.h.in: Apply astyle
[quvi.git] / configure.ac
bloba0db01718b16e1dac35885b468c133005f066ee7
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
4 AC_PREREQ([2.68])
6 m4_include([m4/version.m4])
8 AC_INIT(
9     [quvi], [_QUVI_VERSION],
10     [http://sourceforge.net/apps/trac/quvi],
11     [],
12     [http://quvi.sourceforge.net/])
14 # Interface:
15 QUVI_CURRENT=_QUVI_CURRENT
16 QUVI_REVISION=_QUVI_REVISION
17 QUVI_AGE=_QUVI_AGE
18 AC_SUBST(QUVI_CURRENT)
19 AC_SUBST(QUVI_REVISION)
20 AC_SUBST(QUVI_AGE)
22 AC_CONFIG_SRCDIR([lib/quvi.c])
23 AC_CONFIG_HEADERS([config.h])
24 AC_CONFIG_AUX_DIR([config.aux])
25 AC_CONFIG_MACRO_DIR([m4])
27 AC_CANONICAL_SYSTEM
28 AC_GNU_SOURCE
30 AC_DEFINE_UNQUOTED([CANONICAL_TARGET], "$target", [...])
31 AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [...])
33 AM_INIT_AUTOMAKE([-Wall -Werror foreign dist-bzip2 dist-xz])
35 LT_INIT()
36 LT_PREREQ([2.2])
38 # Host specific.
39 NO_UNDEFINED=
40 case "$host" in
41     *-*-mingw32* | *-*-cygwin*)
42         AC_DEFINE([HOST_W32], [1], [...])
43         host_w32=yes
44         if [ test x"$enable_shared" != "xno" ]; then
45             NO_UNDEFINED="-no-undefined"
46         fi
47     ;;
48 esac
49 EXTRA_LIBQUVI_LDFLAGS="$NO_UNDEFINED"
50 AC_SUBST(EXTRA_LIBQUVI_LDFLAGS)
52 # Checks for programs.
53 AC_PROG_AWK
54 AC_PROG_CC
55 AC_PROG_CXX
56 AC_PROG_LN_S
57 AC_PROG_INSTALL
58 AC_PROG_MAKE_SET
59 AC_PROG_MKDIR_P
61 AC_PATH_PROG(GENGETOPT, gengetopt, no)
62 AM_CONDITIONAL([HAVE_GENGETOPT], [test x"$GENGETOPT" != "xno"])
63 AC_SUBST(GENGETOPT)
65 AC_PATH_PROG(DOXYGEN, doxygen, no)
66 AM_CONDITIONAL([HAVE_DOXYGEN], [test x"$DOXYGEN" != "xno"])
67 AC_SUBST(DOXYGEN)
69 AC_PATH_PROG(PROVE, prove, no)
70 AM_CONDITIONAL([HAVE_PROVE], [test x"$PROVE" != "xno"])
71 AC_SUBST(PROVE)
73 AC_PATH_PROG(VALGRIND, valgrind, no)
74 AM_CONDITIONAL([HAVE_VALGRIND], [test x"$VALGRIND" != "xno"])
75 AC_SUBST(VALGRIND)
77 AC_PATH_PROG(POD2MAN, pod2man, no)
78 AM_CONDITIONAL([HAVE_POD2MAN], [test x"$POD2MAN" != "xno"])
79 AC_SUBST(POD2MAN)
81 AC_PATH_PROG(POD2HTML, pod2html, no)
82 AM_CONDITIONAL([HAVE_POD2HTML], [test x"$POD2HTML" != "xno"])
83 AC_SUBST(POD2HTML)
85 AC_PATH_PROG(DATE, date, no)
86 if [ test x"$DATE" != "xno" ]; then
87     build_date=`"$DATE" +%Y-%m-%d 2>/dev/null`
88     if [ test x"$build_date" != "x" ]; then
89         AC_DEFINE_UNQUOTED([BUILD_DATE], "$build_date", [We have 'date'])
90     fi
93 AC_PATH_PROG(GIT, git, no)
94 if [ test x"$GIT" != "xno" ]; then
95     QUVI_BRANCH=_QUVI_BRANCH
96     git_describe=`"$GIT" describe "$QUVI_BRANCH" 2>/dev/null`
97     if [ test x"$git_describe" != "x" ]; then
98         AC_DEFINE_UNQUOTED([GIT_DESCRIBE],
99             "$git_describe", [We have 'git describe'])
100     fi
103 # Checks for libraries.
104 AM_ICONV
105 PKG_CHECK_MODULES(libcurl, libcurl >= 7.18.0)
106 PKG_CHECK_MODULES(liblua, lua >= 5.1, [], [
107     PKG_CHECK_MODULES(liblua, lua51 >= 5.1, [], [
108         PKG_CHECK_MODULES(liblua, lua5.1 >= 5.1, [], [
109             PKG_CHECK_MODULES(liblua, lua-5.1 >= 5.1)
110         ])
111     ])
113 AM_SILENT_RULES([yes])
115 # Checks for header files.
116 AC_HEADER_STDC # `stdlib.h', `stdarg.h', `string.h', ...
117 AC_CHECK_HEADERS([memory.h stdint.h stdlib.h limits.h stddef.h])
119 # Checks for typedefs, structures, and compiler characteristics.
120 AC_TYPE_SIZE_T
121 AC_TYPE_UINT32_T
122 AC_TYPE_UINT64_T
123 AC_TYPE_UINT8_T
124 AC_CHECK_TYPES([ptrdiff_t])
126 # Checks for library functions.
127 if [ test x"$host_w32" = "xno" ]; then
128     AC_FUNC_MALLOC
129     AC_FUNC_REALLOC
131 AC_CHECK_FUNCS(
132 [memset strdup strstr strtol strerror strcspn getcwd strchr strrchr strspn])
133 AC_FUNC_STRTOD
135 have_asprintf=no
136 AC_CHECK_FUNCS([vasprintf], [
137     AC_CHECK_FUNCS([asprintf], [have_asprintf=yes])
139 AM_CONDITIONAL([NO_ASPRINTF], [test x"$have_asprintf" != "xyes"])
141 # --enable-quvi
142 AC_ARG_ENABLE([quvi],
143     [AS_HELP_STRING([--enable-quvi],
144         [build quvi command line tool@<:@default=yes@:>@])],
145     [],
146     [enable_quvi=yes])
147 AM_CONDITIONAL([ENABLE_QUVI], [test x"$enable_quvi" != "xno"])
149 # --enable-examples
150 AC_ARG_ENABLE([examples],
151     [AS_HELP_STRING([--enable-examples],
152         [build examples @<:@default=no@:>@])],
153     [],
154     [enable_examples=no])
155 AM_CONDITIONAL([ENABLE_EXAMPLES], [test x"$enable_examples" != "xno"])
157 # --enable-tests
158 AC_ARG_ENABLE([tests],
159     [AS_HELP_STRING([--enable-tests],
160         [enable tests @<:@default=no@:>@])],
161     [],
162     [enable_tests=no])
163 AM_CONDITIONAL([ENABLE_TESTS], [test x"$enable_tests" != "xno"])
165 # --enable-verbose-tests
166 AC_ARG_ENABLE([verbose-tests],
167     [AS_HELP_STRING([--enable-verbose-tests],
168         [enable verbose tests @<:@default=no@:>@])],
169     [],
170     [enable_verbose_tests=no])
171 AM_CONDITIONAL([ENABLE_VERBOSE_TESTS],
172     [test x"$enable_verbose_tests" != "xno"])
174 # --enable-nsfw
175 AC_ARG_ENABLE([nsfw],
176     [AS_HELP_STRING([--enable-nsfw],
177         [build with adult website support @<:@default=no@:>@])],
178     [],
179     [enable_nsfw=no])
180 AM_CONDITIONAL([ENABLE_NSFW], [test x"$enable_nsfw" != "xno"])
182 if [ test x"$enable_nsfw" != "xno" ]; then
183     AC_DEFINE([ENABLE_NSFW], [1], [Define to enable nsfw])
186 # --enable-todo
187 AC_ARG_ENABLE([todo],
188     [AS_HELP_STRING([--enable-todo],
189         [with website scripts marked as "todo" @<:@default=no@:>@])],
190     [],
191     [enable_todo=no])
192 AM_CONDITIONAL([ENABLE_TODO], [test x"$enable_todo" != "xno"])
194 if [ test x"$enable_todo" != "xno" ]; then
195     AC_DEFINE([ENABLE_TODO], [1], [Define to enable todo support])
198 # --enable-nlfy
199 AC_ARG_ENABLE([nlfy],
200     [AS_HELP_STRING([--enable-nlfy],
201         [test scripts marked as "nlfy" @<:@default=no@:>@])],
202     [],
203     [enable_nlfy=no])
204 AM_CONDITIONAL([ENABLE_NLFY], [test x"$enable_nlfy" != "xno"])
206 # --with-man
207 AC_ARG_WITH([man],
208     [AS_HELP_STRING([--with-man],
209         [install manual pages @<:@default=yes@:>@])],
210     [],
211     [with_man=yes])
212 AM_CONDITIONAL([WITH_MAN], [test x"$with_man" != "xno"])
214 # --with-doc
215 AC_ARG_WITH([doc],
216     [AS_HELP_STRING([--with-doc],
217         [install documentation @<:@default=yes@:>@])],
218     [],
219     [with_doc=yes])
220 AM_CONDITIONAL([WITH_DOC], [test x"$with_doc" != "xno"])
222 # GNU ld?
223 AM_CONDITIONAL([HAVE_GNU_LD], [test x"$with_gnu_ld" = "xyes"])
225 AC_CONFIG_FILES([
226     Makefile
227     include/Makefile
228     include/quvi/Makefile
229     include/quvi/quvi.h
230     lib/Makefile
231     man1/Makefile
232     share/Makefile
233     doc/Makefile
234     src/Makefile
235     examples/Makefile
236     tests/Makefile
237     scripts/Makefile
238     libquvi.pc
239     doxygen.conf
242 AC_OUTPUT
244 AC_MSG_NOTICE([
246 Configured:
247     quvi version:   ${VERSION}  g:${git_describe}  b:${build_date}
248     host setup:     ${host}
249     compiler:       ${CC}
250     cflags:         ${CFLAGS}
251     prefix:         ${prefix}
253 Options:
254     build libquvi:  shared=${enable_shared} static=${enable_static}
255     build examples: ${enable_examples}
256     build quvi:     ${enable_quvi}
257     --
258     enable tests:   ${enable_tests}
259     enable todo:    ${enable_todo}
260     enable nsfw:    ${enable_nsfw}
261     enable nlfy:    ${enable_nlfy}
262     --
263     install manual: ${with_man}
264     install docs:   ${with_doc}
267 #Other:
268 #    gengetopt:      ${GENGETOPT}
269 #    doxygen:        ${DOXYGEN}
270 #    prove:          ${PROVE}
271 #    pod2man:        ${POD2MAN}
272 #    pod2html:       ${POD2HTML}