Fix autoconf warning, warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTE...
[platform/upstream/fontconfig.git] / configure.ac
index c3743f4..4bc2133 100644 (file)
@@ -37,26 +37,6 @@ AC_INIT([fontconfig], [2.11.0], [https://bugs.freedesktop.org/enter_bug.cgi?prod
 AM_INIT_AUTOMAKE([1.11 parallel-tests dist-bzip2])
 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
 
-dnl libtool versioning
-
-dnl bump revision when fixing bugs
-dnl bump current and age, reset revision to zero when adding APIs
-dnl bump current, leave age, reset revision to zero when changing/removing APIS
-LIBT_CURRENT=9
-LIBT_REVISION=0
-AC_SUBST(LIBT_CURRENT)
-AC_SUBST(LIBT_REVISION)
-LIBT_AGE=8
-
-LIBT_VERSION_INFO="$LIBT_CURRENT:$LIBT_REVISION:$LIBT_AGE"
-AC_SUBST(LIBT_VERSION_INFO)
-
-LIBT_CURRENT_MINUS_AGE=`expr $LIBT_CURRENT - $LIBT_AGE`
-AC_SUBST(LIBT_CURRENT_MINUS_AGE)
-
-PKGCONFIG_REQUIRES=
-PKGCONFIG_REQUIRES_PRIVATELY=
-
 dnl ==========================================================================
 
 AC_CONFIG_HEADERS(config.h)
@@ -67,8 +47,6 @@ AC_USE_SYSTEM_EXTENSIONS
 AC_SYS_LARGEFILE
 AC_PROG_INSTALL
 AC_PROG_LN_S
-AC_LIBTOOL_WIN32_DLL
-AM_PROG_LIBTOOL
 AC_PROG_MAKE_SET
 PKG_PROG_PKG_CONFIG
 m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR], AC_SUBST([pkgconfigdir], ${libdir}/pkgconfig))
@@ -85,6 +63,30 @@ else
        AC_MSG_RESULT($_predefined_rm)
 fi
 
+dnl Initialize libtool
+LT_PREREQ([2.2])
+LT_INIT([disable-static win32-dll])
+
+dnl libtool versioning
+
+dnl bump revision when fixing bugs
+dnl bump current and age, reset revision to zero when adding APIs
+dnl bump current, leave age, reset revision to zero when changing/removing APIS
+LIBT_CURRENT=9
+LIBT_REVISION=0
+AC_SUBST(LIBT_CURRENT)
+AC_SUBST(LIBT_REVISION)
+LIBT_AGE=8
+
+LIBT_VERSION_INFO="$LIBT_CURRENT:$LIBT_REVISION:$LIBT_AGE"
+AC_SUBST(LIBT_VERSION_INFO)
+
+LIBT_CURRENT_MINUS_AGE=`expr $LIBT_CURRENT - $LIBT_AGE`
+AC_SUBST(LIBT_CURRENT_MINUS_AGE)
+
+PKGCONFIG_REQUIRES=
+PKGCONFIG_REQUIRES_PRIVATELY=
+
 dnl ==========================================================================
 
 case "$host" in
@@ -136,7 +138,7 @@ dnl ==========================================================================
 # Checks for header files.
 AC_HEADER_DIRENT
 AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h regex.h stdlib.h string.h unistd.h sys/vfs.h sys/statfs.h sys/param.h sys/mount.h])
+AC_CHECK_HEADERS([fcntl.h regex.h stdlib.h string.h unistd.h sys/statvfs.h sys/vfs.h sys/statfs.h sys/param.h sys/mount.h])
 AX_CREATE_STDINT_H([src/fcstdint.h])
 
 # Checks for typedefs, structures, and compiler characteristics.
@@ -148,52 +150,42 @@ AC_TYPE_PID_T
 # Checks for library functions.
 AC_FUNC_VPRINTF
 AC_FUNC_MMAP
-AC_CHECK_FUNCS([link mkstemp mkostemp _mktemp_s getopt getopt_long getprogname getexecname rand random lrand48 random_r rand_r regcomp regerror regexec regfree fstatvfs fstatfs lstat])
+AC_CHECK_FUNCS([link mkstemp mkostemp _mktemp_s mkdtemp getopt getopt_long getprogname getexecname rand random lrand48 random_r rand_r readlink regcomp regerror regexec regfree fstatvfs fstatfs lstat])
 
 dnl AC_CHECK_FUNCS doesn't check for header files.
 dnl posix_fadvise() may be not available in older libc.
-fc_saved_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $WARN_CFLAGS -Werror"
-AC_MSG_CHECKING([for posix_fadvise])
-AC_LINK_IFELSE([AC_LANG_SOURCE([[
-       #include <fcntl.h>
-       int main(void) {
-           return posix_fadvise(0, 0, 0, 0);
-       }
-       ]])],[
-               AC_MSG_RESULT([yes])
-               AC_DEFINE([HAVE_POSIX_FADVISE], [1], [Define to 1 if you have the 'posix_fadvise' function.])
-       ],[AC_MSG_RESULT([no])])
+AC_CHECK_SYMBOL([posix_fadvise], [fcntl.h], [fc_func_posix_fadvise=1], [fc_func_posix_fadvise=0])
+AC_DEFINE_UNQUOTED([HAVE_POSIX_FADVISE], [$fc_func_posix_fadvise], [Define to 1 if you have the 'posix_fadivse' function.])
 if test "$os_win32" = "no"; then
        AC_MSG_CHECKING([for scandir])
-       AC_LINK_IFELSE([AC_LANG_SOURCE([[
+       fc_saved_CFLAGS="$CFLAGS"
+       CFLAGS="$CFLAGS $WARN_CFLAGS -Werror"
+       AC_TRY_COMPILE([
                #include <dirent.h>
-               int comp(const struct dirent **, const struct dirent **);
-               int comp(const struct dirent **a, const struct dirent **b) { return 0; }
-               int main(void) {
-                   struct dirent **d;
-                   return scandir(".", &d, 0, &comp) >= 0;
-               }
-               ]])],[
+               int main(void);
+       ], [
+               int (* comp) (const struct dirent **, const struct dirent **) = 0;
+               struct dirent **d;
+               return scandir(".", &d, 0, comp) >= 0;
+       ], [
+               AC_MSG_RESULT([yes])
+               AC_DEFINE([HAVE_SCANDIR], [1], [Define to 1 if you have the 'scandir' function.])
+       ], [
+               AC_TRY_COMPILE([
+                       #include <dirent.h>
+                       int main(void);
+               ], [
+                       int (* comp) (const void *, const void *) = 0;
+                       struct dirent **d;
+                       return scandir(".", &d, 0, comp) >= 0;
+               ], [
                        AC_MSG_RESULT([yes])
-                       AC_DEFINE([HAVE_SCANDIR], [1], [Define to 1 if you have the 'scandir' function.])
+                       AC_DEFINE([HAVE_SCANDIR_VOID_P], [1], [Define to 1 if you have the 'scandir' function with int (* compar)(const void *, const void *)])
                ],[
-                       AC_LINK_IFELSE([AC_LANG_SOURCE([[
-                               #include <dirent.h>
-                               int comp(const void *, const void *);
-                               int comp(const void *a, const void *b) { return 0; }
-                               int main(void) {
-                                   struct dirent **d;
-                                   return scandir(".", &d, 0, &comp) >= 0;
-                               }
-                       ]])],[
-                               AC_MSG_RESULT([yes])
-                               AC_DEFINE([HAVE_SCANDIR_VOID_P], [1], [Define to 1 if you have the 'scandir' function with int (* compar)(const void *, const void *)])
-                       ],[
-                               AC_MSG_ERROR([
+                       AC_MSG_ERROR([
 *** No scandir function available.])
-                       ])
                ])
+       ])
 fi
 CFLAGS="$fc_saved_CFLAGS"
 
@@ -531,7 +523,7 @@ AC_ARG_WITH(cache-dir,
 case $fc_cachedir in
 no|yes)
        if test "$os_win32" = "yes"; then
-               fc_cachedir="WINDOWSTEMPDIR_FONTCONFIG_CACHE"
+               fc_cachedir="LOCAL_APPDATA_FONTCONFIG_CACHE"
        else
                fc_cachedir='${localstatedir}/cache/${PACKAGE}'
        fi