r4040: Check for shared-mime-info 0.16 when building
[rox-filer/dt.git] / ROX-Filer / src / configure.in
blob306c7a15570eaddd51c2455f84ca212285819c13
1 dnl Process this file with autoconf to produce a configure script.
2 AC_INIT(main.c)
3 AC_CONFIG_HEADER(config.h)
5 AC_ARG_WITH(platform,
6 [  --with-platform        platform name, as detected by AppRun],
7 [AC_SUBST(with_platform)],
9 AC_MSG_ERROR([
11 Please do not run 'configure' manually - instead, run the AppRun script with
12 the --compile option, like this:
13         $ ROX-Filer/AppRun --compile
15 Thank you.
19 dnl Checks for programs.
20 AC_PROG_CC
22 dnl Use -Wall, etc if possible
23 dnl Note: GTK uses func(), so can't use -Wstrict-prototypes 
25 if test "x$GCC" = "xyes"; then
26   CFLAGS="$CFLAGS -Wall -Wmissing-prototypes"
28   AC_MSG_CHECKING(for GCC version 4)
29 [ if $CC --version | grep "(GCC) 4" > /dev/null; then ]
30     AC_MSG_RESULT(yes)
31     [ CFLAGS="$CFLAGS -Wno-pointer-sign" ]
32   else
33     AC_MSG_RESULT(no)
34   fi
37 if test -z "$PKG_CONFIG"; then
38   PKG_CONFIG=pkg-config
40 AC_SUBST(PKG_CONFIG)
42 AC_MSG_CHECKING(that pkg-config runs)
43 if "$PKG_CONFIG" --version > /dev/null 2>&1 ; then
44   AC_MSG_RESULT(yes)
45 else
46   AC_MSG_RESULT(no)
47   AC_MSG_ERROR([*** $PKG_CONFIG missing ***
49 \'$PKG_CONFIG --version\' failed to run - make sure it is inside one of the
50 directories in your PATH environment variable!
52 pkg-config comes with the developement packages for GTK+-2.4, available at:
54     http://www.gtk.org])
57 AC_DEFUN(ROX_REQUIRE, [
58 AC_MSG_CHECKING(that $1 (version >= $2) is installed)
59 if "$PKG_CONFIG" --atleast-version=$2 $1 ; then
60   AC_MSG_RESULT(yes)
61 else
62   AC_MSG_RESULT(no)
63   if "$PKG_CONFIG" --exists $1 ; then
64     AC_MSG_ERROR(Current version is only `"$PKG_CONFIG" "$1" --modversion`)
65   else
66     AC_MSG_ERROR(Package is not installed)
67   fi
71 ROX_REQUIRE(gtk+-2.0, 2.4.0)
72 ROX_REQUIRE(libxml-2.0, 2.0.0)
73 ROX_REQUIRE(shared-mime-info, 0.16)
75 GTK_VERSION=`"$PKG_CONFIG" --modversion gtk+-2.0`
76 AC_DEFINE_UNQUOTED(GTK_VERSION, "$GTK_VERSION")
78 AC_MSG_CHECKING(if pango (version >= 1.1.2) is installed)
79 if "$PKG_CONFIG" --atleast-version=1.1.2 pango ; then
80   AC_DEFINE(USE_PANGO_WRAP_WORD_CHAR)
81   AC_MSG_RESULT(yes; enabling better wrapping)
82 else
83   AC_MSG_RESULT(no; better wrapping not enabled)
86 dnl Find the X libraries
87 AC_PATH_XTRA
88 if test x$no_x = xyes ; then
89   AC_MSG_ERROR([X development libraries not found])
91 LIBS="$LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
92 CFLAGS="$CFLAGS $X_CFLAGS"
94 dnl Does file(1) support '-b' ?
95 AC_MSG_CHECKING(whether file -b works)
96 if file -b / > /dev/null 2> /dev/null
97 then
98   AC_DEFINE(FILE_B_FLAG)
99   AC_MSG_RESULT(yes)
100 else
101   AC_MSG_RESULT(no)
104 AC_MSG_CHECKING(for large file support)
105 case "$with_platform" in
106 OpenBSD*)
107   AC_MSG_RESULT(yes)
108   AC_DEFINE(LARGE_FILE_SUPPORT)
109   ;;
110 FreeBSD*)
111   AC_MSG_RESULT(yes)
112   AC_DEFINE(LARGE_FILE_SUPPORT)
113   ;;
115   if getconf LFS64_CFLAGS > /dev/null 2> /dev/null; then
116     AC_MSG_RESULT(yes)
117     LFS_CFLAGS="`getconf LFS_CFLAGS`"
118     LFS_LDFLAGS="`getconf LFS_LDFLAGS`"
119     LFS_LIBS="`getconf LFS_LIBS`"
120     AC_DEFINE(LARGE_FILE_SUPPORT)
121   else
122     AC_MSG_RESULT(no)
123     LFS_CFLAGS=""
124     LFS_LDFLAGS=""
125     LFS_LIBS=""
126   fi
127   ;;
128 esac
130 AC_SUBST(LFS_CFLAGS)
131 AC_SUBST(LFS_LDFLAGS)
132 AC_SUBST(LFS_LIBS)
134 dnl Checks for header files.
135 AC_HEADER_DIRENT
136 AC_HEADER_STDC
137 AC_HEADER_SYS_WAIT
138 AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h mntent.h sys/ucred.h sys/mntent.h apsymbols.h apbuild/apsymbols.h sys/statvfs.h sys/vfs.h wctype.h)
140 AC_CHECK_HEADER([X11/SM/SMlib.h], [],
141   [AC_MSG_ERROR([Session management library (libsm) missing. It is part of the X server distribution. Try installing the libsm-dev package.])]
144 dnl Checks for typedefs, structures, and compiler characteristics.
145 AC_C_CONST
146 AC_TYPE_UID_T
147 AC_TYPE_SIZE_T
149 dnl Checks for library functions.
150 AC_CHECK_FUNCS(gethostname unsetenv mkdir rmdir strdup strtol statvfs statfs mbrtowc)
152 dnl getopt_long may be in an addtional library
153 AC_CHECK_LIB(gnugetopt, getopt_long)
154 AC_CHECK_FUNCS(getopt_long)
156 dnl Check for extended attribute support
157 AC_CHECK_FUNCS(attropen getxattr)
158 AC_CHECK_HEADERS(attr/xattr.h sys/xattr.h)
160 dnl Extract version info from AppInfo.xml
161 AC_MSG_CHECKING(extracting version information)
163 VERSION=`sed -n 's/^.*<Version>\([.0-9]*\).*<\/Version>.*$/\1/p' $APP_DIR/AppInfo.xml`
165 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
166 AC_MSG_RESULT(version $VERSION)
168 AC_OUTPUT(Makefile)