configure.ac
author ali <ali@juiblex.co.uk>
Fri Jan 27 21:40:35 2012 +0000 (2012-01-27)
changeset 7 721e468c10f3
parent 5 f600b0d1fc5d
child 9 6a13fe0fc19e
permissions -rw-r--r--
Add support for non-ASCII testcases
ali@0
     1
#                                               -*- Autoconf -*-
ali@0
     2
# Process this file with autoconf to produce a configure script.
ali@0
     3
ali@5
     4
AC_INIT([bookloupe],[1.50],[ali@juiblex.co.uk])
ali@0
     5
AC_PREREQ(2.59)
ali@0
     6
AC_CONFIG_AUX_DIR([config])
ali@5
     7
AC_CONFIG_SRCDIR([bookloupe/bookloupe.c])
ali@0
     8
AC_CONFIG_FILES([Makefile
ali@5
     9
bl/Makefile
ali@5
    10
bookloupe/Makefile
ali@0
    11
test/Makefile
ali@0
    12
test/harness/Makefile
ali@0
    13
test/compatibility/Makefile
ali@0
    14
doc/Makefile
ali@0
    15
])
ali@0
    16
AM_INIT_AUTOMAKE(no-define)
ali@0
    17
AC_CANONICAL_HOST
ali@0
    18
ali@0
    19
##################################################
ali@0
    20
# Checks for programs.
ali@0
    21
##################################################
ali@0
    22
AC_PROG_CC
ali@0
    23
LT_INIT
ali@0
    24
# Libtool supports a --disable-shared option to tell it to avoid
ali@0
    25
# building shared versions of libraries. We don't have any libraries
ali@0
    26
# but we do want to support building static versions of our executables.
ali@0
    27
# Libtool can do this (under the right circumstances) so we overload
ali@0
    28
# this switch for this purpose.
ali@0
    29
#
ali@0
    30
# The libtool option that we use (-static-libtool-libs) means to use
ali@0
    31
# static linking with libraries that supply a .la file and which
ali@0
    32
# include a non-empty value for "old_library". If the library doesn't
ali@0
    33
# include a .la file (they are deleted by some distributions), then
ali@0
    34
# this option will have no effect and likewise if old_library is set
ali@0
    35
# to '' (eg., if the library was build with --disable-static) then
ali@0
    36
# again -static-libtool-libs will have no effect.
ali@0
    37
#
ali@0
    38
# If old_library is set to a non-empty value, then specifying
ali@0
    39
# -static-libtool-libs will cause the link to fail if the old library
ali@0
    40
# cannot be found (libtool will not fallback to a shared library
ali@0
    41
# in these circumstances). This can happen with Fedora, for example,
ali@0
    42
# if a main mingw32 library package is installed but not the
ali@0
    43
# coresponding static sub-package. The solution is to either
ali@0
    44
# install the relevant static sub-packages or don't use --disable-shared.
ali@0
    45
AS_IF([test "$enable_shared" = no],[
ali@0
    46
  LDFLAGS="$LDFLAGS -static-libtool-libs"
ali@0
    47
])
ali@0
    48
PKG_PROG_PKG_CONFIG
ali@0
    49
ali@0
    50
##################################################
ali@0
    51
# Checks for header files.
ali@0
    52
##################################################
ali@0
    53
ali@0
    54
##################################################
ali@0
    55
# Checks for typedefs, structures, and compiler characteristics.
ali@0
    56
##################################################
ali@0
    57
ali@0
    58
##################################################
ali@0
    59
# Checks for libraries.
ali@0
    60
##################################################
ali@6
    61
PKG_CHECK_MODULES([GLIB],[glib-2.0])
ali@0
    62
ali@0
    63
# NOTE: If we are using a static version of glib then we
ali@0
    64
# should define GLIB_STATIC_COMPILATION. This isn't needed
ali@0
    65
# when glib is built only for static use (in which case
ali@0
    66
# glibconfig.h will already define GLIB_STATIC_COMPILATION).
ali@0
    67
# It's not easy to tell if libtool will actually link with
ali@0
    68
# a static glib but luckily we don't currently need to;
ali@0
    69
# this pre-processor define only affects the behaviour of
ali@0
    70
# libraries which use glib and we don't have any.
ali@0
    71
ali@4
    72
# Glib 2.30 (at least) doesn't include "-framework Carbon" in Libs.private
ali@4
    73
# which causes link to fail for static glib on Mac (gnome bug #668152).
ali@4
    74
# Test for this problem and implement a workaround.
ali@4
    75
AC_MSG_CHECKING([for Mac OS X Carbon support])
ali@4
    76
AC_TRY_CPP([
ali@4
    77
#include <Carbon/Carbon.h>
ali@4
    78
#include <CoreServices/CoreServices.h>
ali@4
    79
],[have_carbon=yes],[have_carbon=no])
ali@4
    80
AC_MSG_RESULT([$have_carbon])
ali@4
    81
AS_IF([test "$have_glib" != no -a "$have_carbon" = yes],[
ali@4
    82
  AC_MSG_CHECKING([whether -framework Carbon is needed])
ali@4
    83
  save_CFLAGS="$CFLAGS"
ali@4
    84
  save_LIBS="$LIBS"
ali@4
    85
  CFLAGS="$GLIB_CFLAGS"
ali@4
    86
  LIBS="$GLIB_LIBS"
ali@4
    87
  AC_TRY_LINK([
ali@4
    88
  #include <glib.h>
ali@4
    89
  ],[
ali@4
    90
  return !g_get_user_special_dir(G_USER_DIRECTORY_DESKTOP);
ali@4
    91
  ],[framework_carbon=no],[framework_carbon=yes])
ali@4
    92
  CFLAGS="$save_CFLAGS"
ali@4
    93
  LIBS="$save_LIBS"
ali@4
    94
  AC_MSG_RESULT([$framework_carbon])
ali@4
    95
  AS_IF([test "$framework_carbon" = yes],[
ali@4
    96
    GLIB_LIBS="$GLIB_LIBS -framework Carbon"
ali@4
    97
  ])
ali@4
    98
])
ali@4
    99
ali@0
   100
##################################################
ali@0
   101
# Checks for library functions.
ali@0
   102
##################################################
ali@0
   103
AC_CHECK_FUNCS_ONCE([mkstemp])
ali@0
   104
ali@0
   105
##################################################
ali@0
   106
# Checks for processor independent files.
ali@0
   107
##################################################
ali@0
   108
ali@0
   109
##################################################
ali@0
   110
# Generate the various configured files
ali@0
   111
##################################################
ali@0
   112
AC_OUTPUT