updated version string to beta1
[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 - 2009 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.0beta1, 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 DX_HTML_FEATURE(ON)
47 DX_CHM_FEATURE(OFF)
48 DX_CHI_FEATURE(OFF)
49 DX_MAN_FEATURE(OFF)
50 DX_RTF_FEATURE(OFF)
51 DX_XML_FEATURE(OFF)
52 DX_PDF_FEATURE(OFF)
53 DX_PS_FEATURE(OFF)
54
55 DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen.conf, doc/doxygen)
56
57 #  Debug support
58 # ----------------------------------------------------------------------
59
60 dnl Debugging option
61 dnl FIXME: official release convert default to 'no'
62 dnl
63
64 AC_ARG_ENABLE([debug-flags], [
65 Development options:
66 AC_HELP_STRING([--enable-debug-flags], [use compiler flags for debugging [default=no]])], [],
67 [
68 if test "x${enable_developer}" != "xyes"
69 then
70   enable_debug_flags="no"
71 else
72   enable_debug_flags="yes"
73 fi
74 ])
75
76 AC_ARG_ENABLE([debug-log], [
77 Development options:
78 AC_HELP_STRING([--enable-debug-log], [enable debugging messages [default=yes]])], [], [enable_debug_log="yes"])
79
80 if test "x${enable_debug_flags}" != "xno"
81 then
82   if test "x${enable_developer}" == "xyes"
83   then
84     CXXFLAGS="${CXXFLAGS} -Wall"
85     CFLAGS="${CFLAGS} -Wstrict-prototypes -Wall"
86   fi
87   __COMMONFLAGS="-g -O0 -Wextra -Wunused-value -Wunused-variable -Wunused-function -Wunused-label -Wcomment -Wmissing-braces -Wparentheses -Wreturn-type -Wswitch -Wstrict-aliasing -Wno-unused-parameter -Wformat -Wformat-security -DGQ_DEBUG_PATH_UTF8=1"
88   CXXFLAGS="${CXXFLAGS} ${__COMMONFLAGS}"
89   CFLAGS="${CFLAGS} ${__COMMONFLAGS} -Wimplicit-int -Werror-implicit-function-declaration"
90   __IS_DEBUG_FLAGS=yes
91 else
92   __IS_DEBUG_FLAGS=no
93 fi
94
95 if test "x${enable_debug_log}" != "xno"
96 then
97   AC_DEFINE(DEBUG,1,[Defined if Geeqie is compiled with debugging messages support])
98   __IS_DEBUG_LOG=yes
99 else
100   __IS_DEBUG_LOG=no
101 fi
102
103 AM_CONDITIONAL(DEBUG, test x$enable_debug_flags = xyes)
104
105 AC_ARG_ENABLE(deprecated, [
106 AC_HELP_STRING([--enable-deprecated], [turn off checking of deprecated functions [default=yes]])], [], 
107 [
108 if test "x${enable_developer}" != "xyes"
109 then
110   enable_deprecated="no"
111 else
112   enable_deprecated="yes"
113 fi
114 ])
115
116 if test "x${enable_deprecated}" != "xno"
117 then
118   CXXFLAGS="${CXXFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1"
119   CFLAGS="${CFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1"
120   __IS_DEPRECATED=yes
121 else
122   __IS_DEPRECATED=no
123 fi
124
125
126 AC_ISC_POSIX
127 AC_PROG_CC
128 AC_PROG_CXX
129 AC_STDC_HEADERS
130 AC_ARG_PROGRAM
131
132 dnl checks for functions
133 AC_CHECK_FUNCS(strverscmp access fsync fflush)
134
135
136 # Check target architecture
137
138 # Check for Win32
139 AC_MSG_CHECKING([for some Win32 platform])
140 case "$target_os" in
141   mingw* | cygwin*)
142     platform_win32=yes
143     AC_DEFINE(PLATFORM_WIN32, 1, [Build on win32 OS])
144     ;;
145   *)
146     platform_win32=no
147     ;;
148 esac
149 AC_MSG_RESULT([$platform_win32])
150 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
151
152 AC_MSG_CHECKING([for native Win32])
153 case "$target_os" in
154   mingw*)
155     os_win32=yes
156     AC_DEFINE(OS_WIN32, 1, [Build on native win32 OS])
157     os_unix=no
158     PATHSEP=';'
159     ;;
160   *)
161     os_win32=no
162     os_unix=yes
163     PATHSEP=':'
164     ;;
165 esac
166 AC_MSG_RESULT([$os_win32])
167 AC_SUBST(PATHSEP)
168 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
169 AM_CONDITIONAL(OS_UNIX, test "$os_unix" = "yes")
170
171 if test "$os_win32" = "yes"; then
172   AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
173   AC_CHECK_TOOL(WINDRES, windres, :)
174 else
175   WINDRES=":"
176 fi
177
178 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
179 AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
180 AC_SUBST(WINDRES)
181
182 dnl reasonable guesses for where stuff is installed
183 if test "x$prefix" = "xNONE"; then
184   prefix="/usr/local"
185 else
186   prefix=$prefix
187 fi
188
189 AM_PATH_GLIB_2_0(2.4.0,,AC_MSG_ERROR(GLIB >= 2.4.0 not installed.))
190 AM_PATH_GTK_2_0(2.4.0,,AC_MSG_ERROR(GTK+ >= 2.4.0 not installed.))
191
192 threads="auto"
193 AC_ARG_ENABLE([threads],
194   AC_HELP_STRING([--disable-threads], [disable thread support]), [threads="${enableval}"])
195
196 have_gthread="no"
197 if test "x${threads}" != "xno" ; then
198   PKG_CHECK_MODULES(GTHREAD, [gthread-2.0], have_gthread="yes", [AC_MSG_WARN("No thread support in glib")])
199 fi
200
201 if test "x$have_gthread" != "xno"; then
202         AC_DEFINE(HAVE_GTHREAD, 1, Define if you have gthread library)
203         GLIB_CFLAGS="$GTHREAD_CFLAGS"
204         GLIB_LIBS="$GTHREAD_LIBS"
205 fi
206
207
208 AC_PATH_PROGS(GDK_PIXBUF_CSOURCE, "gdk-pixbuf-csource")
209 AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
210
211 AC_ARG_WITH(readmedir, [  --with-readmedir=DIR    install path for readme files],
212             readmedir=$withval, readmedir="$prefix/share/doc/geeqie-$VERSION")
213 AC_ARG_WITH(htmldir, [  --with-htmldir=DIR      install path for html files],
214             htmldir=$withval, htmldir="$readmedir/html")
215
216 AC_DEFINE_UNQUOTED(GQ_HELPDIR, "$readmedir", [Location of documentation files])
217 AC_DEFINE_UNQUOTED(GQ_HTMLDIR, "$htmldir", [Location of html documentation])
218
219 AC_SUBST(readmedir)
220 AC_SUBST(htmldir)
221
222 eval "eval appdir=${datadir}/${PACKAGE}"
223 AC_DEFINE_UNQUOTED([GQ_APP_DIR], "$appdir", [Location of application data])
224
225 #  LIRC support
226 # ----------------------------------------------------------------------
227
228 dnl Check for LIRC client support
229 AC_MSG_CHECKING(if LIRC support is enabled)
230 lirc=no
231 AC_ARG_ENABLE([lirc],
232   AC_HELP_STRING([--disable-lirc], [disable lirc support (auto)]),
233 [
234 if test "x${enableval}" = "xyes" -a "x$GCC" = "xyes"; then
235   AC_MSG_RESULT(yes)
236   lirc=yes
237 else
238   AC_MSG_RESULT(no)
239   lirc=no
240 fi], AC_MSG_RESULT(no))
241
242
243 AC_ARG_WITH(lirc-prefix,
244 [  --with-lirc-prefix=PATH Prefix where LIRC is installed],
245 [
246 for dir in `echo "$withval" | tr : ' '`; do
247   if test -d $dir/lib; then CXXFLAGS="$CXXFLAGS -L$dir/lib"; fi
248   if test -d $dir/include; then CXXFLAGS="$CXXFLAGS -I$dir/include"; fi
249   done
250 ])
251
252 HAVE_LIRC=no
253 if test "x${lirc}" != "xno" ; then
254   AC_CHECK_HEADER(lirc/lirc_client.h,
255     [AC_CHECK_LIB(lirc_client,lirc_init,[HAVE_LIRC=yes;LIBS=-llirc_client $LIBS;AC_DEFINE([HAVE_LIRC],[],[Define to 1 if LIRC must be used])],,)],)
256 fi
257 AM_CONDITIONAL(HAVE_LIRC, [test "x$HAVE_LIRC" = xyes])
258
259
260 #  LCMS support
261 # ----------------------------------------------------------------------
262
263 AC_ARG_ENABLE([lcms],
264   AC_HELP_STRING([--disable-lcms], [disable lcms support]),
265     [liblcms=$enableval], [liblcms=auto])
266
267 if test "x${liblcms}" != "xno"; then
268   PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
269     [
270       HAVE_LCMS=yes
271       AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
272     ],
273     [
274       HAVE_LCMS=no
275       AC_MSG_WARN([$LCMS_PKG_ERRORS])
276     ])
277 else
278   HAVE_LCMS=disabled
279 fi
280         
281 AM_CONDITIONAL(HAVE_LCMS, [test "x$HAVE_LCMS" = xyes])
282 AC_SUBST(LCMS_CFLAGS)
283 AC_SUBST(LCMS_LIBS)
284
285
286 #  Exiv2 support
287 # ----------------------------------------------------------------------
288
289 AC_ARG_ENABLE([exiv2],
290   AC_HELP_STRING([--disable-exiv2], [disable exiv2 support]),
291     [libexiv2=$enableval], [libexiv2=auto])
292
293 if test "x${libexiv2}" != "xno"; then
294   PKG_CHECK_MODULES(EXIV2, [exiv2 >= 0.11],
295     [
296       HAVE_EXIV2=yes
297       AC_DEFINE(HAVE_EXIV2, 1, [define to enable exiv2 support])
298     ],
299     [
300       HAVE_EXIV2=no
301       AC_MSG_WARN([$EXIV2_PKG_ERRORS])
302     ])
303 else
304   HAVE_EXIV2=disabled
305 fi
306         
307 AM_CONDITIONAL(HAVE_EXIV2, [test "x$HAVE_EXIV2" = xyes])
308 AC_SUBST(EXIV2_CFLAGS)
309 AC_SUBST(EXIV2_LIBS)
310
311
312 #  Gettext support
313 # ----------------------------------------------------------------------
314
315 dnl Set of available languages
316 ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
317 AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/po/LINGUAS'])
318
319 GETTEXT_PACKAGE=$PACKAGE
320 AC_SUBST(GETTEXT_PACKAGE)
321 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${GETTEXT_PACKAGE}"],[Name of gettext file])
322 AM_GLIB_GNU_GETTEXT
323 AM_GLIB_DEFINE_LOCALEDIR(GQ_LOCALEDIR)
324
325 AC_SUBST(CFLAGS)
326 AC_SUBST(CXXFLAGS)
327 AC_SUBST(CPPFLAGS)
328 AC_SUBST(LDFLAGS)
329
330
331 AH_TOP([
332 /** @file config.h
333  * autogenerated definition by autoheader.
334  * @author Bruclik
335  */
336  
337 /*
338  *  This file is a part of Geeqie project (http://geeqie.sourceforge.net/).
339  *  Copyright (C) 2008 - 2009 The Geeqie Team
340  *  
341  *  This program is free software; you can redistribute it and/or modify
342  *  it under the terms of the GNU General Public License as published by
343  *  the Free Software Foundation; either version 2 of the License, or 
344  *  (at your option) any later version.
345  *  
346  *  This program is distributed in the hope that it will be useful,
347  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
348  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
349  *  GNU General Public License for more details.
350  */ 
351  
352 #ifndef _INCLUDE_CONFIG_H
353 #define _INCLUDE_CONFIG_H
354 ])
355
356 AH_BOTTOM([#endif])
357
358 dnl Write the output
359 dnl
360
361 AC_CONFIG_FILES([
362     Makefile
363     src/Makefile
364     src/icons/Makefile
365     src/icons/svg/Makefile
366     po/Makefile.in
367     doc/Makefile
368     plugins/Makefile
369     plugins/symlink/Makefile
370     geeqie.spec
371 ])
372
373 AC_OUTPUT
374 dnl Print the results
375 dnl
376
377 cat > config.report << END
378
379      Config results:
380     -=-=-=-=-=-=-=-=-
381
382 Package:
383   Name:          $PACKAGE_NAME
384   Version:       $PACKAGE_VERSION
385   Patch version: $GQ_PATCH_VERSION
386   Date:          $GQ_PATCH_DATE
387
388 Architecture:
389   UNIX:          $os_unix
390   Win32:         $platform_win32 (native: $os_win32)
391
392 Flags:
393   Geeqie:        $GQ_CFLAGS
394   DEFS:          $DEFS
395   CPPFLAGS:      $__CPPFLAGS
396   CFLAGS:        $CFLAGS
397   CXXFLAGS:      $CXXFLAGS
398   Gtk:           $GTK_CFLAGS
399   Glib:          $GLIB_CFLAGS
400   Thread:        $GTHREAD_LIBS
401   Others:        $LCMS_LIBS $EXIV2_LIBS
402
403 Localization:
404   NLS support:   $USE_NLS
405   LINGUAS:       $LINGUAS
406
407 Settings:
408   Developer:     $__IS_DEVELOPER
409   Debug flags:   $__IS_DEBUG_FLAGS
410   Debug log:     $__IS_DEBUG_LOG
411   Deprecated:    $__IS_DEPRECATED
412
413 Support:
414   LCMS:          $HAVE_LCMS
415   Exiv2:         $HAVE_EXIV2
416   Lirc:          $HAVE_LIRC
417
418 Documentation:
419   Doxygen:       $DOXYGEN
420   Formats:       $doxy_formats_report
421 END
422
423 cat config.report
424 cat <<EOF
425
426   Now you can type "make" to build Geeqie
427   (or you take blue pill and the story ends :)
428
429 EOF
430