comparison configure.in @ 686:c0dda0ffb931

configure.in was rewritten: - uses PKG_CHECK_MODULES everywhere - added --enable-debug (enable debugging support) - added --enable-developer (developer mode, checks depreceated code ...) - removed obsoleted INCLUDES from Makefile.am Fixed src/debug.h (added glib.h). Fixed src/exiv2.c compilation with libexiv2 v0.15. Added src/trash.h to src/Makefile.am (fixed generating 'make dist').
author bruclik
date Mon, 19 May 2008 01:15:17 +0000
parents bf9c9e37adf4
children 972ecb45181c
comparison
equal deleted inserted replaced
685:f20e7cebcb12 686:c0dda0ffb931
1 AC_INIT(src/main.c) 1 dnl Process this file with autoconf to produce a configure script. -*- Autoconf
2 AC_CONFIG_HEADER(config.h) 2 -*-
3 3
4 AM_INIT_AUTOMAKE(geeqie, 1.0alpha1) 4 dnl This file is a part of Geeqie project (http://geeqie.sourceforge.net/).
5 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
6 AM_MAINTAINER_MODE 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(depreceated, [
78 AC_HELP_STRING([--enable-depreceated], [turn off checking of depreceated functions [default=yes]])], [],
79 [
80 if test "x${enable_developer}" != "xyes"
81 then
82 enable_depreceated="no"
83 else
84 enable_depreceated="yes"
85 fi
86 ])
87
88 if test "x${enable_depreceated}" != "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_DEPRECEATED=no
93 else
94 __IS_DEPRECEATED=yes
95 fi
96
7 97
8 AC_ISC_POSIX 98 AC_ISC_POSIX
9 AC_PROG_CC 99 AC_PROG_CC
10 AC_PROG_CXX 100 AC_PROG_CXX
11 AC_STDC_HEADERS 101 AC_STDC_HEADERS
12 AC_ARG_PROGRAM 102 AC_ARG_PROGRAM
13 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
14 dnl reasonable guesses for where stuff is installed 169 dnl reasonable guesses for where stuff is installed
15 if test "x$prefix" = "xNONE"; then 170 if test "x$prefix" = "xNONE"; then
16 prefix="/usr/local" 171 prefix="/usr/local"
17 else 172 else
18 prefix=$prefix 173 prefix=$prefix
30 AC_DEFINE_UNQUOTED(GQ_HTMLDIR, "$htmldir", [Location of html documentation]) 185 AC_DEFINE_UNQUOTED(GQ_HTMLDIR, "$htmldir", [Location of html documentation])
31 186
32 AC_SUBST(readmedir) 187 AC_SUBST(readmedir)
33 AC_SUBST(htmldir) 188 AC_SUBST(htmldir)
34 189
190 # LIRC support
191 # ----------------------------------------------------------------------
192
35 dnl Check for LIRC client support 193 dnl Check for LIRC client support
36 AC_ARG_ENABLE(lirc, AC_HELP_STRING([--disable-lirc], [do not use lirc support (auto)]), 194 AC_ARG_ENABLE([lirc],
195 AC_HELP_STRING([--disable-lirc], [disable lirc support (auto)]),
37 [ 196 [
38 if test x"${enableval}" = x"yes" -a x"$GCC" = x"yes"; then 197 if test x"${enableval}" = x"yes" -a x"$GCC" = x"yes"; then
39 AC_MSG_RESULT(yes) 198 AC_MSG_RESULT(yes)
40 lirc=yes 199 lirc=yes
41 else 200 else
42 AC_MSG_RESULT(no) 201 AC_MSG_RESULT(no)
43 lirc=no 202 lirc=no
44 fi], AC_MSG_RESULT(no)) 203 fi], AC_MSG_RESULT(no))
45 204
46 205
47 AC_ARG_WITH(lirc-prefix, 206 AC_ARG_WITH(lirc-prefix,
48 [ --with-lirc-prefix=PATH Prefix where LIRC is installed], 207 [ --with-lirc-prefix=PATH Prefix where LIRC is installed],
49 [ 208 [
50 for dir in `echo "$withval" | tr : ' '`; do 209 for dir in `echo "$withval" | tr : ' '`; do
51 if test -d $dir/lib; then CPPFLAGS="$CPPFLAGS -L$dir/lib"; fi 210 if test -d $dir/lib; then CXXFLAGS="$CXXFLAGS -L$dir/lib"; fi
52 if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi 211 if test -d $dir/include; then CXXFLAGS="$CXXFLAGS -I$dir/include"; fi
53 done 212 done
54 ]) 213 ])
55 214
56 if test x$lirc != x"no" ; then 215 if test "x${lirc}" != x"no" ; then
57 AC_CHECK_HEADER(lirc/lirc_client.h, 216 AC_CHECK_HEADER(lirc/lirc_client.h,
58 [AC_CHECK_LIB(lirc_client,lirc_init,[LIBS=-llirc_client $LIBS;AC_DEFINE([HAVE_LIRC],[],[Define to 1 if LIRC must be used])],,)],) 217 [AC_CHECK_LIB(lirc_client,lirc_init,[LIBS=-llirc_client $LIBS;AC_DEFINE([HAVE_LIRC],[],[Define to 1 if LIRC must be used])],,)],)
59 fi 218 fi
60 219
61 dnl checks for functions 220
62 AC_CHECK_FUNCS(strverscmp access fsync fflush) 221 # LCMS support
63 222 # ----------------------------------------------------------------------
64 dnl check for little cms (lcms, this test pulled from gimp) 223
65 AC_ARG_WITH(lcms, [ --without-lcms build without lcms support]) 224 AC_ARG_ENABLE([lcms],
66 225 AC_HELP_STRING([--disable-lcms], [disable lcms support]),
67 have_lcms=no 226 [liblcms=$enableval], [liblcms=auto])
68 if test "x$with_lcms" != "xno"; then 227
69 AC_CHECK_LIB(lcms, cmsCreate_sRGBProfile, [ 228 if test "x${liblcms}" != "xno"; then
70 AC_CHECK_HEADER(lcms.h, 229 PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
71 have_lcms=yes, [ 230 [
72 AC_CHECK_HEADER(lcms/lcms.h, 231 HAVE_LCMS=yes
73 have_lcms=yes 232 AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
74 AC_DEFINE(HAVE_LCMS_LCMS_H, 1, 233 ],
75 [Define to 1 if the lcms header must be included as lcms/lcms.h])) 234 [
76 ]) 235 HAVE_LCMS=no
77 ]) 236 AC_MSG_WARN([$LCMS_PKG_ERRORS])
78 if test "$have_lcms" = "yes"; then 237 ])
79 LCMS_LIBS="-llcms" 238 else
80 AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms]) 239 HAVE_LCMS=disabled
81 else 240 fi
82 have_lcms="no (lcms not found or unusable)" 241
83 fi 242 AM_CONDITIONAL(HAVE_LCMS, [test "x$HAVE_LCMS" = xyes])
84 else 243 AC_SUBST(LCMS_CFLAGS)
85 have_lcms="no (lcms support disabled)"
86 fi
87 AC_SUBST(LCMS_LIBS) 244 AC_SUBST(LCMS_LIBS)
88 AM_CONDITIONAL(HAVE_LCMS, test "$have_lcms" = "yes") 245
89 246
90 AC_ARG_WITH(exiv2, [ --without-exiv2 build without exiv2 support]) 247 # Exiv2 support
91 248 # ----------------------------------------------------------------------
92 have_exiv2=no 249
93 250 AC_ARG_ENABLE([exiv2],
94 if test "x$with_exiv2" != "xno"; then 251 AC_HELP_STRING([--disable-exiv2], [disable exiv2 support]),
95 PKG_CHECK_MODULES(EXIV2, exiv2 >= 0.11, 252 [libexiv2=$enableval], [libexiv2=auto])
96 [ have_exiv2=yes 253
97 AC_DEFINE(HAVE_EXIV2, 1, have exiv2) ], 254 if test "x${libexiv2}" != "xno"; then
98 [ AC_MSG_RESULT($EXIV2_PKG_ERRORS) ] ) 255 PKG_CHECK_MODULES(EXIV2, [exiv2 >= 0.11],
99 fi 256 [
100 257 HAVE_EXIV2=yes
101 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
102 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" 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
103 GETTEXT_PACKAGE=$PACKAGE 279 GETTEXT_PACKAGE=$PACKAGE
104 AC_SUBST(GETTEXT_PACKAGE) 280 AC_SUBST(GETTEXT_PACKAGE)
281 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${GETTEXT_PACKAGE}"],[Name of gettext file])
105 AM_GLIB_GNU_GETTEXT 282 AM_GLIB_GNU_GETTEXT
106 AM_GLIB_DEFINE_LOCALEDIR(GQ_LOCALEDIR) 283 AM_GLIB_DEFINE_LOCALEDIR(GQ_LOCALEDIR)
107 284
108 #Always use -Wall with gcc
109 if test "x$ac_cv_c_compiler_gnu" = "xyes"; then
110 CFLAGS="$CFLAGS -Wall"
111 CPPFLAGS="$CPPFLAGS -Wall"
112 fi
113
114 AC_SUBST(CFLAGS) 285 AC_SUBST(CFLAGS)
286 AC_SUBST(CXXFLAGS)
115 AC_SUBST(CPPFLAGS) 287 AC_SUBST(CPPFLAGS)
116 AC_SUBST(LDFLAGS) 288 AC_SUBST(LDFLAGS)
117 289
118 AC_OUTPUT([ 290
119 Makefile 291 AH_TOP([
120 src/Makefile 292 /** @file config.h
121 src/icons/Makefile 293 * autogenerated definition by autoheader.
122 src/icons/svg/Makefile 294 * @author Bruclik
123 po/Makefile.in 295 */
124 doc/Makefile 296
125 geeqie.spec 297 /*
126 ]) 298 * This file is a part of Geeqie project (http://geeqie.sourceforge.net/).
127 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 (nativ: $os_win32)
349
350 Settings:
351 Developer: $__IS_DEVELOPER
352 Debug: $__IS_DEBUG
353 Depreceated: $__IS_DEPRECEATED
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