Release v.1.0.2.
[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])
7a10e546 5AC_INIT([pcmanfm], [1.0.2], [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")
b6e3c554 41
05ece184 42AC_ARG_ENABLE(debug,
fc789786
HJYP
43 [AC_HELP_STRING([--enable-debug],
44 [build pcmanfm with debug support @<:@default=no@:>@])],
45 [enable_debug="${enableval}"],
1f5f38a3
AG
46 [enable_debug=no])
47
05ece184
HJYP
48if test "$enable_debug" = "yes"; then
49 # turn on debug and disable optimization
50 CPPFLAGS="$CPPFLAGS -DG_ENABLE_DEBUG -O0 -g"
fbb7b12d
AG
51 case "$CC" in
52 gcc*)
5a89e062 53 CPPFLAGS="$CPPFLAGS -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers"
fbb7b12d
AG
54 ;;
55 *)
56 ;;
57 esac
1f5f38a3
AG
58 dnl Be more strict on compatibility
59 CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=700"
60 dnl debug should enforce cast checks
61 cast_checks=yes
05ece184
HJYP
62else
63 # turn off glib debug checks
64 # G_DISABLE_CAST_CHECKS is already handled by $(G_CAST_CHECKS)
65 CPPFLAGS="$CPPFLAGS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS"
66fi
67
1f5f38a3
AG
68G_CAST_CHECKS=""
69if test x"$cast_checks" = "xno"; then
70 G_CAST_CHECKS="-DG_DISABLE_CAST_CHECKS"
71fi
72AC_SUBST(G_CAST_CHECKS)
73
b6e3c554
HJYP
74# intltool
75IT_PROG_INTLTOOL([0.40.0])
76
203520ac
AG
77dnl libgtk version
78AC_ARG_WITH(gtk,
79 [AC_HELP_STRING([--with-gtk=VER],
80 [choose Gtk+ version for libfm-gtk build (default=2)])],
81 [ac_with_gtk="${withval}"],
82 [ac_with_gtk=2])
83
b6e3c554 84# Checks for libraries.
6b110820 85
86PKG_CHECK_MODULES(XLIB, "x11")
87AC_SUBST(XLIB_CFLAGS)
88AC_SUBST(XLIB_LIBS)
89
25a6a7b1 90gio_modules="gthread-2.0 gio-unix-2.0 >= 2.18.0"
b6e3c554
HJYP
91PKG_CHECK_MODULES(GIO, [$gio_modules])
92AC_SUBST(GIO_CFLAGS)
93AC_SUBST(GIO_LIBS)
94
203520ac
AG
95fm_modules="$gio_modules glib-2.0 pango >= 1.20.0 libfm >= 1.0"
96case "$ac_with_gtk" in
97 3|3.*)
98 fm_modules="$fm_modules gtk+-3.0 libfm-gtk3 >= 1.0.1"
99 ;;
100 *)
101 fm_modules="$fm_modules gtk+-2.0 libfm-gtk >= 1.0.1"
102 ;;
103esac
b6e3c554
HJYP
104PKG_CHECK_MODULES(FM, [$fm_modules])
105AC_SUBST(FM_CFLAGS)
106AC_SUBST(FM_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