Fixed compilation problem with newer libfm.
[lxde/pcmanfm.git] / configure.ac
CommitLineData
b6e3c554
HJYP
1# -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.
3
4AC_PREREQ([2.63])
a9dc034b 5AC_INIT([pcmanfm], [1.0.1], [http://pcmanfm.sf.net/])
b6e3c554
HJYP
6AM_INIT_AUTOMAKE([-Wall -Werror foreign])
7
8AC_CONFIG_HEADERS([config.h])
9
10# Checks for programs.
11AC_ISC_POSIX
12AC_PROG_CC
b6e3c554 13AM_PROG_CC_STDC
8893ba14 14AM_PROG_CC_C_O
b6e3c554
HJYP
15
16# Checks for header files.
17AC_HEADER_STDC
18
19# Checks for typedefs, structures, and compiler characteristics.
20
21# Checks for library functions.
6aec080a 22AC_SEARCH_LIBS([floor], [m])
b6e3c554
HJYP
23
24# Large file support
25AC_ARG_ENABLE([largefile],
26 AS_HELP_STRING([--enable-largefile],
27 [enable Large file support (default: yes)]),
28 largefile=$enableval, largefile="yes")
29
30if test x"$largefile" = x"yes"; then
31 CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE -D_REENTRANT -D_FILE_OFFSET_BITS=64"
32 AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support])
33 AC_DEFINE(_FILE_OFFSET_BITS, 64, [File offset bits])
34fi
35
36AC_ARG_ENABLE(
37 [cast-checks],
38 AS_HELP_STRING([--enable-cast-checks],
39 [enable Glib casting checks (default: disable)]),
40 cast_checks=$enableval, cast_checks="no")
41G_CAST_CHECKS=""
42if test x"$cast_checks" = "xno"; then
43 G_CAST_CHECKS="-DG_DISABLE_CAST_CHECKS"
44fi
45AC_SUBST(G_CAST_CHECKS)
46
05ece184 47AC_ARG_ENABLE(debug,
fc789786
HJYP
48 [AC_HELP_STRING([--enable-debug],
49 [build pcmanfm with debug support @<:@default=no@:>@])],
50 [enable_debug="${enableval}"],
51 [enable_debug=no]
05ece184
HJYP
52)
53if test "$enable_debug" = "yes"; then
54 # turn on debug and disable optimization
55 CPPFLAGS="$CPPFLAGS -DG_ENABLE_DEBUG -O0 -g"
fbb7b12d
AG
56 case "$CC" in
57 gcc*)
5a89e062 58 CPPFLAGS="$CPPFLAGS -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers"
fbb7b12d
AG
59 ;;
60 *)
61 ;;
62 esac
05ece184
HJYP
63else
64 # turn off glib debug checks
65 # G_DISABLE_CAST_CHECKS is already handled by $(G_CAST_CHECKS)
66 CPPFLAGS="$CPPFLAGS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS"
67fi
68
b6e3c554
HJYP
69# intltool
70IT_PROG_INTLTOOL([0.40.0])
71
203520ac
AG
72dnl libgtk version
73AC_ARG_WITH(gtk,
74 [AC_HELP_STRING([--with-gtk=VER],
75 [choose Gtk+ version for libfm-gtk build (default=2)])],
76 [ac_with_gtk="${withval}"],
77 [ac_with_gtk=2])
78
b6e3c554 79# Checks for libraries.
6b110820 80
81PKG_CHECK_MODULES(XLIB, "x11")
82AC_SUBST(XLIB_CFLAGS)
83AC_SUBST(XLIB_LIBS)
84
25a6a7b1 85gio_modules="gthread-2.0 gio-unix-2.0 >= 2.18.0"
b6e3c554
HJYP
86PKG_CHECK_MODULES(GIO, [$gio_modules])
87AC_SUBST(GIO_CFLAGS)
88AC_SUBST(GIO_LIBS)
89
203520ac
AG
90fm_modules="$gio_modules glib-2.0 pango >= 1.20.0 libfm >= 1.0"
91case "$ac_with_gtk" in
92 3|3.*)
93 fm_modules="$fm_modules gtk+-3.0 libfm-gtk3 >= 1.0.1"
94 ;;
95 *)
96 fm_modules="$fm_modules gtk+-2.0 libfm-gtk >= 1.0.1"
97 ;;
98esac
b6e3c554
HJYP
99PKG_CHECK_MODULES(FM, [$fm_modules])
100AC_SUBST(FM_CFLAGS)
101AC_SUBST(FM_LIBS)
102
9b7ac5a0 103menu_modules="libmenu-cache >= 0.3.2"
b6e3c554
HJYP
104PKG_CHECK_MODULES(MENU_CACHE, [$menu_modules])
105AC_SUBST(MENU_CACHE_CFLAGS)
106AC_SUBST(MENU_CACHE_LIBS)
107
ab86a7a2 108GETTEXT_PACKAGE=pcmanfm
b6e3c554 109AC_SUBST(GETTEXT_PACKAGE)
121e58ff
HJYP
110
111# Generate po/LINGUAS on the fly rather than relying on translators
112# to maintain it manually. This also overcome the problem that Transifex
113# cannot add a language to po/LINGUAS if a new po file is submitted.
114rm -f $srcdir/po/LINGUAS
115for po_file in `ls $srcdir/po/*.po | sort`;
116do
117 lang=`echo "$po_file" | sed "s|.*/po/\(.*\)\.po|\1|g"`
118 echo $lang >> $srcdir/po/LINGUAS
119done
120
08e70fea 121AM_GLIB_GNU_GETTEXT
b6e3c554
HJYP
122AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
123
6a9e415d
AG
124dnl Fix invalid sysconfdir when --prefix=/usr
125if test `eval "echo $sysconfdir"` = /usr/etc
126then
127 sysconfdir=/etc
128fi
129
b6e3c554
HJYP
130AC_CONFIG_FILES([
131 Makefile
132 src/Makefile
133 po/Makefile.in
f2a36fcd 134 data/Makefile
77cb39fa 135 data/pcmanfm.1
f2a36fcd
HJYP
136 data/ui/Makefile
137 data/ui/about.glade
b6e3c554
HJYP
138])
139
140AC_OUTPUT
141
142echo Ready to make pcmanfm