Merge branch 'tg/add-totallynsfw'
[quvi.git] / configure.ac
blob4f5f8e9cd7e230f83766076ad1797243c4dfa8ac
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([src/libquvi/quvi_api.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])
34 AM_SILENT_RULES([yes])
36 LT_INIT()
37 LT_PREREQ([2.2])
39 # Host specific.
40 NO_UNDEFINED=
41 case "$host" in
42     *-*-mingw32* | *-*-cygwin*)
43         AC_DEFINE([HOST_W32], [1], [...])
44         host_w32=yes
45         if [ test x"$enable_shared" != "xno" ]; then
46             NO_UNDEFINED="-no-undefined"
47         fi
48     ;;
49 esac
50 EXTRA_LIBQUVI_LDFLAGS="$NO_UNDEFINED"
51 AC_SUBST(EXTRA_LIBQUVI_LDFLAGS)
53 # Checks for programs.
54 AC_PROG_AWK
55 AC_PROG_CC
56 AC_PROG_CXX
57 AC_PROG_LN_S
58 AC_PROG_INSTALL
59 AC_PROG_MAKE_SET
60 AC_PROG_MKDIR_P
62 AC_PATH_PROG(PROVE, prove, no)
63 AM_CONDITIONAL([HAVE_PROVE], [test x"$PROVE" != "xno"])
64 AC_SUBST(PROVE)
66 AC_PATH_PROG(VALGRIND, valgrind, no)
67 AM_CONDITIONAL([HAVE_VALGRIND], [test x"$VALGRIND" != "xno"])
68 AC_SUBST(VALGRIND)
70 AC_PATH_PROG(DATE, date, no)
71 if [ test x"$DATE" != "xno" ]; then
72     build_date=`"$DATE" +%Y-%m-%d 2>/dev/null`
73     if [ test x"$build_date" != "x" ]; then
74         AC_DEFINE_UNQUOTED([BUILD_DATE], "$build_date", [We have 'date'])
75     fi
78 AC_PATH_PROG(GIT, git, no)
79 if [ test x"$GIT" != "xno" ]; then
80     QUVI_BRANCH=_QUVI_BRANCH
81     git_describe=`"$GIT" describe "$QUVI_BRANCH" 2>/dev/null`
82     if [ test x"$git_describe" != "x" ]; then
83         AC_DEFINE_UNQUOTED([GIT_DESCRIBE],
84             "$git_describe", [We have 'git describe'])
85     fi
88 AC_PATH_PROGS(ND, [naturaldocs NaturalDocs], no)
89 AM_CONDITIONAL([HAVE_ND], [test "x$ND" != "xno"])
91 # Checks for libraries.
92 AM_ICONV
93 PKG_CHECK_MODULES([libcurl], [libcurl >= 7.18.2])
94 PKG_CHECK_MODULES([liblua], [lua >= 5.1], [], [
95     PKG_CHECK_MODULES([liblua], [lua51 >= 5.1], [], [
96         PKG_CHECK_MODULES([liblua], [lua5.1 >= 5.1], [], [
97             PKG_CHECK_MODULES(liblua, [lua-5.1 >= 5.1])
98         ])
99     ])
102 AC_ARG_WITH([soup], AS_HELP_STRING([--with-soup], [Build with libsoup]))
104 AS_IF([test "x$with_soup" = "xyes"], [
105     # Either libsoup-gnome or libsoup.
106     PKG_CHECK_MODULES( [libsoup_gnome], [libsoup-gnome-2.4 >= 2.26], [
107         AC_DEFINE([HAVE_LIBSOUP_GNOME], [1], [Have libsoup-gnome])
108         libsoup_CFLAGS="$libsoup_gnome_CFLAGS"
109         libsoup_LIBS="$libsoup_gnome_LIBS"
110         ], [PKG_CHECK_MODULES([libsoup], [libsoup-2.4 >= 2.26])]
111     )
112     AC_SUBST(libsoup_CFLAGS)
113     AC_SUBST(libsoup_LIBS)
116 AM_CONDITIONAL([WITH_SOUP], [test x"$with_soup" = "xyes"])
118 ND_FORMAT=HTML
119 AC_ARG_WITH([nd-output],
120   [AS_HELP_STRING([--with-nd-output=FORMAT],
121     [NaturalDocs output format (HTML or FramedHTML)])],
122   [
123     if [ test x"$ND" = "xno" ]; then
124       AC_MSG_ERROR([NaturalDocs not found. No point in setting output format])
125     fi
126     case $withval in
127       HTML|FramedHTML)
128         ND_FORMAT=$withval
129         ;;
130       *)
131         AC_MSG_ERROR([NaturalDocs does not support $withval output format])
132         ;;
133     esac
134   ])
135 AC_SUBST(ND_FORMAT)
137 # Checks for header files.
138 AC_HEADER_STDC # `stdlib.h', `stdarg.h', `string.h', ...
139 AC_CHECK_HEADERS([memory.h stdint.h stdlib.h limits.h stddef.h])
141 # Checks for typedefs, structures, and compiler characteristics.
142 AC_TYPE_SIZE_T
143 AC_TYPE_UINT32_T
144 AC_TYPE_UINT64_T
145 AC_TYPE_UINT8_T
146 AC_CHECK_TYPES([ptrdiff_t])
148 # Checks for library functions.
149 if [ test x"$host_w32" = "xno" ]; then
150     AC_FUNC_MALLOC
151     AC_FUNC_REALLOC
153 AC_CHECK_FUNCS(
154 [memset strdup strstr strtol strerror strcspn getcwd strchr strrchr strspn])
155 AC_FUNC_STRTOD
157 have_asprintf=no
158 AC_CHECK_FUNCS([vasprintf], [
159     AC_CHECK_FUNCS([asprintf], [have_asprintf=yes])
161 AM_CONDITIONAL([NO_ASPRINTF], [test x"$have_asprintf" != "xyes"])
163 # --enable-quvi
164 AC_ARG_ENABLE([quvi],
165     [AS_HELP_STRING([--enable-quvi],
166         [build quvi command line tool@<:@default=yes@:>@])],
167     [],
168     [enable_quvi=yes])
169 AM_CONDITIONAL([ENABLE_QUVI], [test x"$enable_quvi" != "xno"])
171 # --enable-examples
172 AC_ARG_ENABLE([examples],
173     [AS_HELP_STRING([--enable-examples],
174         [build examples @<:@default=no@:>@])],
175     [],
176     [enable_examples=no])
177 AM_CONDITIONAL([ENABLE_EXAMPLES], [test x"$enable_examples" != "xno"])
179 # --enable-tests
180 AC_ARG_ENABLE([tests],
181     [AS_HELP_STRING([--enable-tests],
182         [enable tests @<:@default=no@:>@])],
183     [],
184     [enable_tests=no])
185 AM_CONDITIONAL([ENABLE_TESTS], [test x"$enable_tests" != "xno"])
187 # --enable-nsfw
188 AC_ARG_ENABLE([nsfw],
189     [AS_HELP_STRING([--enable-nsfw],
190         [build with adult website support @<:@default=no@:>@])],
191     [],
192     [enable_nsfw=no])
193 AM_CONDITIONAL([ENABLE_NSFW], [test x"$enable_nsfw" != "xno"])
195 if [ test x"$enable_nsfw" != "xno" ]; then
196     AC_DEFINE([ENABLE_NSFW], [1], [Define to enable nsfw])
199 # --enable-todo
200 AC_ARG_ENABLE([todo],
201     [AS_HELP_STRING([--enable-todo],
202         [with website scripts marked as "todo" @<:@default=no@:>@])],
203     [],
204     [enable_todo=no])
205 AM_CONDITIONAL([ENABLE_TODO], [test x"$enable_todo" != "xno"])
207 if [ test x"$enable_todo" != "xno" ]; then
208     AC_DEFINE([ENABLE_TODO], [1], [Define to enable todo support])
211 # --enable-nlfy
212 AC_ARG_ENABLE([nlfy],
213     [AS_HELP_STRING([--enable-nlfy],
214         [test scripts marked as "nlfy" @<:@default=no@:>@])],
215     [],
216     [enable_nlfy=no])
217 AM_CONDITIONAL([ENABLE_NLFY], [test x"$enable_nlfy" != "xno"])
219 # --with-manual
220 AC_ARG_WITH([manual],
221     [AS_HELP_STRING([--with-manual],
222         [install manual pages @<:@default=yes@:>@])],
223     [],
224     [with_manual=yes])
225 AM_CONDITIONAL([WITH_MANUAL], [test x"$with_manual" != "xno"])
227 AC_CONFIG_FILES([
228     Makefile
229     src/Makefile
230     src/libquvi/Makefile
231     src/libquvi/quvi/Makefile
232     src/quvi/Makefile
233     examples/Makefile
234     tests/Makefile
235     doc/Makefile
236     doc/man1/Makefile
237     share/Makefile
238     scripts/Makefile
239     libquvi.pc
242 AC_OUTPUT
244 AC_MSG_NOTICE([
246  quvi version:   ${VERSION}  g:${git_describe}  b:${build_date}
247  host setup:     ${host}
248  compiler:       ${CC}
249  cflags:         ${CFLAGS}
250  prefix:         ${prefix}
252 Options:
253  build examples: ${enable_examples}
254  build libquvi:  shared=${enable_shared} static=${enable_static}
255  build quvi:     ${enable_quvi}
257  enable tests:   ${enable_tests}
258  enable todo:    ${enable_todo}
259  enable nsfw:    ${enable_nsfw}
260  enable nlfy:    ${enable_nlfy}
262  install manual: ${with_manual}