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