Remove commented out code.
[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 - 2012 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.1, 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 AC_SYS_LARGEFILE
132 IT_PROG_INTLTOOL([0.35.0])
133
134
135 dnl checks for functions
136 AC_CHECK_FUNCS(strverscmp access fsync fflush)
137
138
139 # Check target architecture
140
141 # Check for Win32
142 AC_MSG_CHECKING([for some Win32 platform])
143 case "$target_os" in
144   mingw* | cygwin*)
145     platform_win32=yes
146     AC_DEFINE(PLATFORM_WIN32, 1, [Build on win32 OS])
147     ;;
148   *)
149     platform_win32=no
150     ;;
151 esac
152 AC_MSG_RESULT([$platform_win32])
153 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
154
155 AC_MSG_CHECKING([for native Win32])
156 case "$target_os" in
157   mingw*)
158     os_win32=yes
159     AC_DEFINE(OS_WIN32, 1, [Build on native win32 OS])
160     os_unix=no
161     PATHSEP=';'
162     ;;
163   *)
164     os_win32=no
165     os_unix=yes
166     PATHSEP=':'
167     ;;
168 esac
169 AC_MSG_RESULT([$os_win32])
170 AC_SUBST(PATHSEP)
171 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
172 AM_CONDITIONAL(OS_UNIX, test "$os_unix" = "yes")
173
174 if test "$os_win32" = "yes"; then
175   AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
176   AC_CHECK_TOOL(WINDRES, windres, :)
177 else
178   WINDRES=":"
179 fi
180
181 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
182 AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
183 AC_SUBST(WINDRES)
184
185 dnl reasonable guesses for where stuff is installed
186 if test "x$prefix" = "xNONE"; then
187   prefix="/usr/local"
188 else
189   prefix=$prefix
190 fi
191
192 AM_PATH_GLIB_2_0(2.24.0,,AC_MSG_ERROR(GLIB >= 2.24.0 not installed.))
193 AC_ARG_ENABLE([gtk3], AC_HELP_STRING([--disable-gtk3], [use gtk2 instead of gtk3]),[gtk3="${enableval}"], [gtk3=m4_ifdef([AM_PATH_GTK_3_0], [auto], [no])])
194
195 if test x$gtk3 == xyes; then
196     AC_MSG_WARN("Gtk3 enabled")
197     m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,AC_MSG_ERROR(GTK+ >= 3.0.0 not installed.))])
198 else
199     if test x$gtk3 != xno; then
200        AC_MSG_WARN("Gtk3 is preferred...")
201        m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,[gtk3=no])])
202     fi
203 fi
204
205 if test x$gtk3 == xno; then
206     m4_ifdef([AM_PATH_GTK_2_0], [AM_PATH_GTK_2_0(2.20.0,,AC_MSG_ERROR(GTK+ >= 2.20.0 not installed.))])
207     true
208 fi
209
210 threads="auto"
211 AC_ARG_ENABLE([threads],
212   AC_HELP_STRING([--disable-threads], [disable thread support]), [threads="${enableval}"])
213
214 have_gthread="no"
215 if test "x${threads}" != "xno" ; then
216   PKG_CHECK_MODULES(GTHREAD, [gthread-2.0], have_gthread="yes", [AC_MSG_WARN("No thread support in glib")])
217 fi
218
219 if test "x$have_gthread" != "xno"; then
220         AC_DEFINE(HAVE_GTHREAD, 1, Define if you have gthread library)
221         GLIB_CFLAGS="$GTHREAD_CFLAGS"
222         GLIB_LIBS="$GTHREAD_LIBS"
223 fi
224
225
226 AC_PATH_PROGS(GDK_PIXBUF_CSOURCE, "gdk-pixbuf-csource")
227 AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
228
229 AC_ARG_WITH(readmedir, [  --with-readmedir=DIR    install path for readme files],
230             readmedir=$withval, readmedir="$prefix/share/doc/geeqie-$VERSION")
231 AC_ARG_WITH(htmldir, [  --with-htmldir=DIR      install path for html files],
232             htmldir=$withval, htmldir="$readmedir/html")
233
234 AC_DEFINE_UNQUOTED(GQ_HELPDIR, "$readmedir", [Location of documentation files])
235 AC_DEFINE_UNQUOTED(GQ_HTMLDIR, "$htmldir", [Location of html documentation])
236
237 AC_PATH_PROG(GNOME_DOC_TOOL, gnome-doc-tool)
238
239 AC_SUBST(readmedir)
240 AC_SUBST(htmldir)
241
242 eval "eval appdir=${datadir}/${PACKAGE}"
243 AC_DEFINE_UNQUOTED([GQ_APP_DIR], "$appdir", [Location of application data])
244 AC_SUBST(appdir)
245
246 eval "eval gq_bindir=${prefix}/lib/${PACKAGE}"
247 AC_DEFINE_UNQUOTED([GQ_BIN_DIR], "$gq_bindir", [Location of helper scripts and executables])
248 AC_SUBST(gq_bindir)
249
250 #  LIRC support
251 # ----------------------------------------------------------------------
252
253 dnl Check for LIRC client support
254 AC_MSG_CHECKING(if LIRC support is enabled)
255 lirc=no
256 AC_ARG_ENABLE([lirc],
257   AC_HELP_STRING([--disable-lirc], [disable lirc support (auto)]),
258 [
259 if test "x${enableval}" = "xyes" -a "x$GCC" = "xyes"; then
260   AC_MSG_RESULT(yes)
261   lirc=yes
262 else
263   AC_MSG_RESULT(no)
264   lirc=no
265 fi], AC_MSG_RESULT(no))
266
267
268 AC_ARG_WITH(lirc-prefix,
269 [  --with-lirc-prefix=PATH Prefix where LIRC is installed],
270 [
271 for dir in `echo "$withval" | tr : ' '`; do
272   if test -d $dir/lib; then CXXFLAGS="$CXXFLAGS -L$dir/lib"; fi
273   if test -d $dir/include; then CXXFLAGS="$CXXFLAGS -I$dir/include"; fi
274   done
275 ])
276
277 HAVE_LIRC=no
278 if test "x${lirc}" != "xno" ; then
279   AC_CHECK_HEADER(lirc/lirc_client.h,
280     [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])],,)],)
281 fi
282 AM_CONDITIONAL(HAVE_LIRC, [test "x$HAVE_LIRC" = xyes])
283
284
285 #  LCMS support
286 # ----------------------------------------------------------------------
287
288 AC_ARG_ENABLE([lcms],
289   AC_HELP_STRING([--disable-lcms], [disable lcms support]),
290     [liblcms=$enableval], [liblcms=auto])
291
292 if test "x${liblcms}" != "xno"; then
293   PKG_CHECK_MODULES(LCMS, [lcms2 >= 2.0],
294     [
295       HAVE_LCMS=yes
296       AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
297       AC_DEFINE(HAVE_LCMS2, 1, [lcms2 is used])
298     ],
299     [
300     PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
301       [
302         HAVE_LCMS=yes
303         AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
304       ],
305       [
306         HAVE_LCMS=no
307         AC_MSG_WARN([$LCMS_PKG_ERRORS])
308       ])
309     ])
310 else
311   HAVE_LCMS=disabled
312 fi
313
314 AM_CONDITIONAL(HAVE_LCMS, [test "x$HAVE_LCMS" = xyes])
315 AC_SUBST(LCMS_CFLAGS)
316 AC_SUBST(LCMS_LIBS)
317
318 #  libjpeg support
319 # ----------------------------------------------------------------------
320
321 AC_ARG_ENABLE([jpeg],
322   AC_HELP_STRING([--disable-jpeg], [disable direct jpeg support]),
323     [libjpeg=$enableval], [libjpeg=auto])
324
325 if test "x${libjpeg}" != "xno"; then
326   AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
327       HAVE_JPEG=yes
328       JPEG_LIBS=-ljpeg
329       AC_DEFINE(HAVE_JPEG, 1, [define to enable use of custom jpeg loader]),
330       HAVE_JPEG=no)
331 else
332   HAVE_JPEG=disabled
333 fi
334
335 AM_CONDITIONAL(HAVE_JPEG, [test "x$HAVE_JPEG" = xyes])
336 AC_SUBST(JPEG_CFLAGS)
337 AC_SUBST(JPEG_LIBS)
338
339
340 #  libtiff support
341 # ----------------------------------------------------------------------
342
343 AC_ARG_ENABLE([tiff],
344   AC_HELP_STRING([--disable-tiff], [disable direct tiff support]),
345     [libtiff=$enableval], [libtiff=auto])
346
347 if test "x${libtiff}" != "xno"; then
348   AC_CHECK_LIB(tiff, TIFFClientOpen,
349       HAVE_TIFF=yes
350       TIFF_LIBS=-ltiff
351       AC_DEFINE(HAVE_TIFF, 1, [define to enable use of custom tiff loader]),
352       HAVE_TIFF=no)
353 else
354   HAVE_TIFF=disabled
355 fi
356
357 AM_CONDITIONAL(HAVE_TIFF, [test "x$HAVE_TIFF" = xyes])
358 AC_SUBST(TIFF_CFLAGS)
359 AC_SUBST(TIFF_LIBS)
360
361
362 #  Exiv2 support
363 # ----------------------------------------------------------------------
364
365 AC_ARG_ENABLE([exiv2],
366   AC_HELP_STRING([--disable-exiv2], [disable exiv2 support]),
367     [libexiv2=$enableval], [libexiv2=auto])
368
369 if test "x${libexiv2}" != "xno"; then
370   PKG_CHECK_MODULES(EXIV2, [exiv2 >= 0.11],
371     [
372       HAVE_EXIV2=yes
373       AC_DEFINE(HAVE_EXIV2, 1, [define to enable exiv2 support])
374     ],
375     [
376       HAVE_EXIV2=no
377       AC_MSG_WARN([$EXIV2_PKG_ERRORS])
378     ])
379 else
380   HAVE_EXIV2=disabled
381 fi
382
383 AM_CONDITIONAL(HAVE_EXIV2, [test "x$HAVE_EXIV2" = xyes])
384 AC_SUBST(EXIV2_CFLAGS)
385 AC_SUBST(EXIV2_LIBS)
386
387
388 #  Gettext support
389 # ----------------------------------------------------------------------
390
391 dnl Set of available languages
392 ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
393 AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/po/LINGUAS'])
394
395 GETTEXT_PACKAGE=$PACKAGE
396 AC_SUBST(GETTEXT_PACKAGE)
397 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${GETTEXT_PACKAGE}"],[Name of gettext file])
398 AM_GLIB_GNU_GETTEXT
399 AM_GLIB_DEFINE_LOCALEDIR(GQ_LOCALEDIR)
400
401 AC_SUBST(CFLAGS)
402 AC_SUBST(CXXFLAGS)
403 AC_SUBST(CPPFLAGS)
404 AC_SUBST(LDFLAGS)
405
406
407 #  clutter support - experimental
408 # ----------------------------------------------------------------------
409
410 AC_ARG_ENABLE([clutter],
411   AC_HELP_STRING([--enable-clutter], [enable clutter support - experimental]),
412     [libclutter=$enableval], [libclutter=auto])
413
414 if test "x${libclutter}" = "xyes" -o "x${libgps}" = "xyes"; then
415   PKG_CHECK_MODULES(CLUTTER, [clutter-1.0 >= 1.0],
416     [
417       PKG_CHECK_MODULES(CLUTTER_GTK, [clutter-gtk-1.0 >= 1.0],
418         [
419           HAVE_CLUTTER=yes
420           AC_DEFINE(HAVE_CLUTTER, 1, [define to enable use of clutter library])
421         ],
422         [
423           HAVE_CLUTTER=no
424           AC_MSG_WARN([$CLUTTER_GTK_PKG_ERRORS])
425         ])
426         
427     ],
428     [
429       HAVE_CLUTTER=no
430       AC_MSG_WARN([$CLUTTER_PKG_ERRORS])
431     ])
432 else
433   HAVE_CLUTTER=disabled
434 fi
435
436 AC_SUBST(CLUTTER_CFLAGS)
437 AC_SUBST(CLUTTER_LIBS)
438 AC_SUBST(CLUTTER_GTK_CFLAGS)
439 AC_SUBST(CLUTTER_GTK_LIBS)
440
441
442 #  Libchamplain support - used for GPS map facility - experimental
443 # ----------------------------------------------------------------------
444
445 AC_ARG_ENABLE([gps],
446   AC_HELP_STRING([--enable-gps], [enable GPS map support - experimental]),
447     [libgps=$enableval], [libgps=yes])
448
449 if test "x${libgps}" = "xyes" -a "x${HAVE_CLUTTER}" = "xyes" ; then
450   PKG_CHECK_MODULES(LIBCHAMPLAIN, [champlain-0.12 >= 0.12],
451     [
452       HAVE_LIBCHAMPLAIN=yes
453       AC_DEFINE(HAVE_LIBCHAMPLAIN, 1, [define to enable use of GPS maps])
454     ],
455     [
456       HAVE_LIBCHAMPLAIN=no
457       AC_MSG_WARN([$LIBCHAMPLAIN_PKG_ERRORS])
458     ])
459 else
460   HAVE_LIBCHAMPLAIN=disabled
461 fi
462
463 if test "x${libgps}" = "xyes" -a "x${HAVE_LIBCHAMPLAIN}" = "xyes" ; then
464   PKG_CHECK_MODULES(LIBCHAMPLAIN_GTK, [champlain-gtk-0.12 >= 0.12],
465     [
466       HAVE_LIBCHAMPLAIN_GTK=yes
467       AC_DEFINE(HAVE_LIBCHAMPLAIN_GTK, 1, [define to enable use of GPS maps])
468     ],
469     [
470       HAVE_LIBCHAMPLAIN_GTK=no
471       AC_MSG_WARN([$LIBCHAMPLAIN_GTK_PKG_ERRORS])
472     ])
473 else
474   HAVE_LIBCHAMPLAIN_GTK=disabled
475 fi
476
477 AM_CONDITIONAL(HAVE_LIBCHAMPLAIN_GTK, [test "x$HAVE_LIBCHAMPLAIN_GTK" = xyes])
478 AC_SUBST(LIBCHAMPLAIN_GTK_CFLAGS)
479 AC_SUBST(LIBCHAMPLAIN_GTK_LIBS)
480
481 AH_TOP([
482 /** \file
483  * \short autogenerated definition by autoheader.
484  * \author Bruclik
485  */
486
487 /*
488  *  This file is a part of Geeqie project (http://geeqie.sourceforge.net/).
489  *  Copyright (C) 2008 - 2012 The Geeqie Team
490  *
491  *  This program is free software; you can redistribute it and/or modify
492  *  it under the terms of the GNU General Public License as published by
493  *  the Free Software Foundation; either version 2 of the License, or
494  *  (at your option) any later version.
495  *
496  *  This program is distributed in the hope that it will be useful,
497  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
498  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
499  *  GNU General Public License for more details.
500  */
501
502 #ifndef _INCLUDE_CONFIG_H
503 #define _INCLUDE_CONFIG_H
504 ])
505
506 AH_BOTTOM([#endif])
507
508 dnl Write the output
509 dnl
510
511 AC_CONFIG_FILES([
512     Makefile
513     src/Makefile
514     src/icons/Makefile
515     src/icons/svg/Makefile
516     po/Makefile.in
517     doc/Makefile
518     plugins/Makefile
519     plugins/symlink/Makefile
520     plugins/rotate/Makefile
521     plugins/ufraw/Makefile
522     plugins/import/Makefile
523     geeqie.spec
524 ])
525
526 AC_OUTPUT
527 dnl Print the results
528 dnl
529
530 cat > config.report << END
531
532      Config results:
533     -=-=-=-=-=-=-=-=-
534
535 Package:
536   Name:          $PACKAGE_NAME
537   Version:       $PACKAGE_VERSION
538   Patch version: $GQ_PATCH_VERSION
539   Date:          $GQ_PATCH_DATE
540
541 Architecture:
542   UNIX:          $os_unix
543   Win32:         $platform_win32 (native: $os_win32)
544
545 Flags:
546   Geeqie:        $GQ_CFLAGS
547   DEFS:          $DEFS
548   CPPFLAGS:      $__CPPFLAGS
549   CFLAGS:        $CFLAGS
550   CXXFLAGS:      $CXXFLAGS
551   Gtk:           $GTK_CFLAGS
552   Glib:          $GLIB_CFLAGS
553   Thread:        $GTHREAD_LIBS
554   Others:        $JPEG_LIBS $TIFF_LIBS $LCMS_LIBS $EXIV2_LIBS $CLUTTER_LIBS $CLUTTER_GTK_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS
555
556 Localization:
557   NLS support:   $USE_NLS
558   LINGUAS:       $LINGUAS
559
560 Settings:
561   Developer:     $__IS_DEVELOPER
562   Debug flags:   $__IS_DEBUG_FLAGS
563   Debug log:     $__IS_DEBUG_LOG
564   Deprecated:    $__IS_DEPRECATED
565
566 Support:
567   LCMS:          $HAVE_LCMS
568   Exiv2:         $HAVE_EXIV2
569   Lirc:          $HAVE_LIRC
570   Clutter:       $HAVE_CLUTTER
571   Libchamplain:         $HAVE_LIBCHAMPLAIN
572   Libchamplain-gtk:     $HAVE_LIBCHAMPLAIN_GTK
573
574 Documentation:
575   Doxygen:       $DOXYGEN
576   Formats:       $doxy_formats_report
577   doc-tool:      $GNOME_DOC_TOOL
578
579 END
580
581 cat config.report
582 cat <<EOF
583
584   Now you can type "make" to build Geeqie
585   (or you take blue pill and the story ends :)
586
587 EOF
588