depreceated -> deprecated
[geeqie.git] / configure.in
1 dnl Process this file with autoconf to produce a configure script.  -*- Autoconf
2  -*-
3
4 dnl This file is a part of Geeqie project (http://geeqie.sourceforge.net/).
5 dnl Copyright (C) 2008 The Geeqie team
6 dnl
7 dnl This program is free software; you can redistribute it and/or modify
8 dnl it under the terms of the GNU General Public License as published by
9 dnl the Free Software Foundation; either version 2 of the License, or
10 dnl (at your option) any later version.
11 dnl
12 dnl This program is distributed in the hope that it will be useful,
13 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
14 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 dnl GNU General Public License for more details.
16
17 AC_PREREQ(2.57)
18 AC_INIT(geeqie, 1.0alpha1, geeqie-devel@lists.sourceforge.net)
19
20 # Check for rightly dirs
21 AC_CONFIG_SRCDIR([src/main.c])
22
23 AC_CONFIG_AUX_DIR(auxdir)
24 AM_INIT_AUTOMAKE
25
26 AC_CONFIG_HEADER([config.h])
27
28 # Only for developers
29 AM_MAINTAINER_MODE
30
31 AC_ARG_ENABLE(developer, [
32 Development options:
33 AC_HELP_STRING([--enable-developer], [turn on developers mode [default=no]])],
34 [
35   __IS_DEVELOPER=yes
36 ],
37 [
38 if test "x${enable_developer}" != "xyes"
39 then
40   __IS_DEVELOPER=no
41 else
42   __IS_DEVELOPER=yes
43 fi
44 ])
45
46 #  Debug support
47 # ----------------------------------------------------------------------
48
49 dnl Debugging option
50 dnl FIXME: official release convert default to 'no'
51 dnl
52
53 AC_ARG_ENABLE([debug], [
54 Development options:
55 AC_HELP_STRING([--enable-debug], [turn on debugging [default=no]])], [],
56 [
57 if test "x${enable_developer}" != "xyes"
58 then
59   enable_debug="no"
60 else
61   enable_debug="yes"
62 fi
63 ])
64
65 if test "x${enable_debug}" != "xno"
66 then
67   CXXFLAGS="${CXXFLAGS} -g -O0 -Wstrict-prototypes -Wunused-value -Wunused-variable -Wcomment -Wimplicit-int -Werror-implicit-function-declaration -Wmissing-braces -Wparentheses -Wreturn-type -Wswitch -Wstrict-aliasing -W"
68   CFLAGS="${CFLAGS} -g -O0 -Wstrict-prototypes -Wunused-value -Wunused-variable -Wcomment -Wimplicit-int -Werror-implicit-function-declaration -Wmissing-braces -Wparentheses -Wreturn-type -Wswitch -Wstrict-aliasing -W"
69   AC_DEFINE(DEBUG,1,[Defined if Geeqie is compiled with debugging support])
70   __IS_DEBUG=yes
71 else
72   __IS_DEBUG=no
73 fi
74
75 AM_CONDITIONAL(DEBUG, test x$enable_debug = xyes)
76
77 AC_ARG_ENABLE(deprecated, [
78 AC_HELP_STRING([--enable-deprecated], [turn off checking of deprecated functions [default=yes]])], [], 
79 [
80 if test "x${enable_developer}" != "xyes"
81 then
82   enable_deprecated="no"
83 else
84   enable_deprecated="yes"
85 fi
86 ])
87
88 if test "x${enable_deprecated}" != "xno"
89 then
90   CXXFLAGS="${CXXFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1"
91   CFLAGS="${CFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1"
92   __IS_DEPRECATED=no
93 else
94   __IS_DEPRECATED=yes
95 fi
96
97
98 AC_ISC_POSIX
99 AC_PROG_CC
100 AC_PROG_CXX
101 AC_STDC_HEADERS
102 AC_ARG_PROGRAM
103
104 dnl checks for functions
105 AC_CHECK_FUNCS(strverscmp access fsync fflush)
106
107
108 # Check target architecture
109
110 # Check for Win32
111 AC_MSG_CHECKING([for some Win32 platform])
112 case "$target_os" in
113   mingw* | cygwin*)
114     platform_win32=yes
115     AC_DEFINE(PLATFORM_WIN32, 1, [Build on win32 OS])
116     ;;
117   *)
118     platform_win32=no
119     ;;
120 esac
121 AC_MSG_RESULT([$platform_win32])
122 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
123
124 AC_MSG_CHECKING([for native Win32])
125 case "$target_os" in
126   mingw*)
127     os_win32=yes
128     AC_DEFINE(OS_WIN32, 1, [Build on native win32 OS])
129     os_unix=no
130     PATHSEP=';'
131     ;;
132   *)
133     os_win32=no
134     os_unix=yes
135     PATHSEP=':'
136     ;;
137 esac
138 AC_MSG_RESULT([$os_win32])
139 AC_SUBST(PATHSEP)
140 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
141 AM_CONDITIONAL(OS_UNIX, test "$os_unix" = "yes")
142
143 if test "$os_win32" = "yes"; then
144   AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
145   AC_CHECK_TOOL(WINDRES, windres, :)
146 else
147   WINDRES=":"
148 fi
149
150 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
151 AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
152 AC_SUBST(WINDRES)
153
154 AC_MSG_CHECKING(for libpthread)
155 have_libpthread=no
156 AC_CHECK_LIB([pthread], [main],
157   [AC_CHECK_HEADER([pthread.h],
158      have_libpthread=yes,
159      have_libpthread=no)],
160   [AC_MSG_ERROR([Can't find the POSIX thread libraries])], [-lpthread])
161 if test "x${have_libpthread}" = "xyes"; then
162         LIBPTHREAD='-lpthread'
163         AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if pthread is available])
164 else
165   AC_MSG_WARN([POSIX thread header not installed])
166 fi
167 AC_MSG_RESULT([${have_libpthread}])
168
169 dnl reasonable guesses for where stuff is installed
170 if test "x$prefix" = "xNONE"; then
171   prefix="/usr/local"
172 else
173   prefix=$prefix
174 fi
175
176 AM_PATH_GTK_2_0(2.4.0,,AC_MSG_ERROR(GTK+ >= 2.4.0 not installed.))
177 AC_PATH_PROGS(GDK_PIXBUF_CSOURCE, "gdk-pixbuf-csource")
178
179 AC_ARG_WITH(readmedir, [  --with-readmedir=DIR    install path for readme files],
180             readmedir=$withval, readmedir="$prefix/share/doc/geeqie-$VERSION")
181 AC_ARG_WITH(htmldir, [  --with-htmldir=DIR      install path for html files],
182             htmldir=$withval, htmldir="$readmedir/html")
183
184 AC_DEFINE_UNQUOTED(GQ_HELPDIR, "$readmedir", [Location of documentation files])
185 AC_DEFINE_UNQUOTED(GQ_HTMLDIR, "$htmldir", [Location of html documentation])
186
187 AC_SUBST(readmedir)
188 AC_SUBST(htmldir)
189
190 #  LIRC support
191 # ----------------------------------------------------------------------
192
193 dnl Check for LIRC client support
194 AC_ARG_ENABLE([lirc],
195   AC_HELP_STRING([--disable-lirc], [disable lirc support (auto)]),
196 [
197 if test x"${enableval}" = x"yes" -a x"$GCC" = x"yes"; then
198   AC_MSG_RESULT(yes)
199   lirc=yes
200 else
201   AC_MSG_RESULT(no)
202   lirc=no
203 fi], AC_MSG_RESULT(no))
204
205
206 AC_ARG_WITH(lirc-prefix,
207 [  --with-lirc-prefix=PATH Prefix where LIRC is installed],
208 [
209 for dir in `echo "$withval" | tr : ' '`; do
210   if test -d $dir/lib; then CXXFLAGS="$CXXFLAGS -L$dir/lib"; fi
211   if test -d $dir/include; then CXXFLAGS="$CXXFLAGS -I$dir/include"; fi
212   done
213 ])
214
215 if test "x${lirc}" != x"no" ; then
216   AC_CHECK_HEADER(lirc/lirc_client.h,
217     [AC_CHECK_LIB(lirc_client,lirc_init,[LIBS=-llirc_client $LIBS;AC_DEFINE([HAVE_LIRC],[],[Define to 1 if LIRC must be used])],,)],)
218 fi
219
220
221 #  LCMS support
222 # ----------------------------------------------------------------------
223
224 AC_ARG_ENABLE([lcms],
225   AC_HELP_STRING([--disable-lcms], [disable lcms support]),
226     [liblcms=$enableval], [liblcms=auto])
227
228 if test "x${liblcms}" != "xno"; then
229   PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
230     [
231       HAVE_LCMS=yes
232       AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
233     ],
234     [
235       HAVE_LCMS=no
236       AC_MSG_WARN([$LCMS_PKG_ERRORS])
237     ])
238 else
239   HAVE_LCMS=disabled
240 fi
241         
242 AM_CONDITIONAL(HAVE_LCMS, [test "x$HAVE_LCMS" = xyes])
243 AC_SUBST(LCMS_CFLAGS)
244 AC_SUBST(LCMS_LIBS)
245
246
247 #  Exiv2 support
248 # ----------------------------------------------------------------------
249
250 AC_ARG_ENABLE([exiv2],
251   AC_HELP_STRING([--disable-exiv2], [disable exiv2 support]),
252     [libexiv2=$enableval], [libexiv2=auto])
253
254 if test "x${libexiv2}" != "xno"; then
255   PKG_CHECK_MODULES(EXIV2, [exiv2 >= 0.11],
256     [
257       HAVE_EXIV2=yes
258       AC_DEFINE(HAVE_EXIV2, 1, [define to enable exiv2 support])
259     ],
260     [
261       HAVE_EXIV2=no
262       AC_MSG_WARN([$EXIV2_PKG_ERRORS])
263     ])
264 else
265   HAVE_EXIV2=disabled
266 fi
267         
268 AM_CONDITIONAL(HAVE_EXIV2, [test "x$HAVE_EXIV2" = xyes])
269 AC_SUBST(EXIV2_CFLAGS)
270 AC_SUBST(EXIV2_LIBS)
271
272
273 #  Gettext support
274 # ----------------------------------------------------------------------
275
276 dnl Set of available languages
277 ALL_LINGUAS="ar be bg ca cs da de eo es et eu fi fr hu id it ja ko nl nb pl pt_BR ro ru sk sl sv th tr uk vi zh_CN.GB2312 zh_TW"
278
279 GETTEXT_PACKAGE=$PACKAGE
280 AC_SUBST(GETTEXT_PACKAGE)
281 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${GETTEXT_PACKAGE}"],[Name of gettext file])
282 AM_GLIB_GNU_GETTEXT
283 AM_GLIB_DEFINE_LOCALEDIR(GQ_LOCALEDIR)
284
285 AC_SUBST(CFLAGS)
286 AC_SUBST(CXXFLAGS)
287 AC_SUBST(CPPFLAGS)
288 AC_SUBST(LDFLAGS)
289
290
291 AH_TOP([
292 /** @file config.h
293  * autogenerated definition by autoheader.
294  * @author Bruclik
295  */
296  
297 /*
298  *  This file is a part of Geeqie project (http://geeqie.sourceforge.net/).
299  *  Copyright (C) 2008 The Geeqie team
300  *  
301  *  This program is free software; you can redistribute it and/or modify
302  *  it under the terms of the GNU General Public License as published by
303  *  the Free Software Foundation; either version 2 of the License, or 
304  *  (at your option) any later version.
305  *  
306  *  This program is distributed in the hope that it will be useful,
307  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
308  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
309  *  GNU General Public License for more details.
310  */ 
311  
312 #ifndef _INCLUDE_CONFIG_H
313 #define _INCLUDE_CONFIG_H
314 ])
315
316 AH_BOTTOM([#endif])
317
318 dnl Write the output
319 dnl
320
321 AC_CONFIG_FILES([
322     Makefile
323     src/Makefile
324     src/icons/Makefile
325     src/icons/svg/Makefile
326     po/Makefile.in
327     doc/Makefile
328     geeqie.spec
329 ])
330
331 AC_OUTPUT
332 dnl Print the results
333 dnl
334
335 cat > config.report << END
336
337      Config results:
338     -=-=-=-=-=-=-=-=-
339
340 Package:
341   Name:          $PACKAGE_NAME
342   Version:       $PACKAGE_VERSION
343   Patch version: $GQ_PATCH_VERSION
344   Date:          $GQ_PATCH_DATE
345
346 Architecture:
347   UNIX:          $os_unix
348   Win32:         $platform_win32 (native: $os_win32)
349
350 Settings:
351   Developer:     $__IS_DEVELOPER
352   Debug:         $__IS_DEBUG
353   Deprecated:    $__IS_DEPRECATED
354
355 Flags:
356   Geeqie:        $GQ_CFLAGS
357   DEFS:          $DEFS
358   CPPFLAGS:      $__CPPFLAGS
359   CFLAGS:        $CFLAGS
360   CXXFLAGS:      $CXXFLAGS
361   Gtk:           $GTK_CFLAGS
362   Glib:          $GLIB_CFLAGS
363   Thread:        $LIBPTHREAD
364   Others:        $LCMS_LIBS $EXIV2_LIBS
365
366 Support:
367   LCMS:          $HAVE_LCMS
368   Exiv2:         $HAVE_EXIV2
369 Localization:
370   NLS support:   $USE_NLS
371   LINGUAS:       $LINGUAS
372
373 Documentation:
374   Doxygen:       $DOXYGEN
375   Formats:       $doxy_formats_report
376 END
377
378 cat config.report
379 cat <<EOF
380
381   Now you can type "make" to build Geeqie
382   (or you take blue pill and the story ends :)
383
384 EOF
385