configure.ac
author ali <ali@juiblex.co.uk>
Sun May 26 17:23:48 2013 +0100 (2013-05-26)
changeset 56 8ade5460e220
parent 14 3c57a6fd0a13
child 69 1016349e619f
permissions -rw-r--r--
Break check_for_misspaced_punctuation() out
ali@0
     1
#                                               -*- Autoconf -*-
ali@0
     2
# Process this file with autoconf to produce a configure script.
ali@0
     3
ali@19
     4
AC_INIT([bookloupe],[1.52],[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@9
    48
LT_OUTPUT
ali@9
    49
ac_compile="./libtool --mode=compile --tag=CC $ac_compile"
ali@9
    50
ac_link="./libtool --mode=link --tag=CC $ac_link"
ali@0
    51
PKG_PROG_PKG_CONFIG
ali@0
    52
ali@0
    53
##################################################
ali@0
    54
# Checks for header files.
ali@0
    55
##################################################
ali@0
    56
ali@0
    57
##################################################
ali@0
    58
# Checks for typedefs, structures, and compiler characteristics.
ali@0
    59
##################################################
ali@0
    60
ali@0
    61
##################################################
ali@0
    62
# Checks for libraries.
ali@0
    63
##################################################
ali@14
    64
PKG_CHECK_MODULES([GLIB],[glib-2.0 >= 2.18])
ali@0
    65
ali@4
    66
# Glib 2.30 (at least) doesn't include "-framework Carbon" in Libs.private
ali@4
    67
# which causes link to fail for static glib on Mac (gnome bug #668152).
ali@4
    68
# Test for this problem and implement a workaround.
ali@4
    69
AC_MSG_CHECKING([for Mac OS X Carbon support])
ali@4
    70
AC_TRY_CPP([
ali@4
    71
#include <Carbon/Carbon.h>
ali@4
    72
#include <CoreServices/CoreServices.h>
ali@4
    73
],[have_carbon=yes],[have_carbon=no])
ali@4
    74
AC_MSG_RESULT([$have_carbon])
ali@4
    75
AS_IF([test "$have_glib" != no -a "$have_carbon" = yes],[
ali@4
    76
  AC_MSG_CHECKING([whether -framework Carbon is needed])
ali@4
    77
  save_CFLAGS="$CFLAGS"
ali@4
    78
  save_LIBS="$LIBS"
ali@4
    79
  CFLAGS="$GLIB_CFLAGS"
ali@4
    80
  LIBS="$GLIB_LIBS"
ali@4
    81
  AC_TRY_LINK([
ali@4
    82
  #include <glib.h>
ali@4
    83
  ],[
ali@4
    84
  return !g_get_user_special_dir(G_USER_DIRECTORY_DESKTOP);
ali@4
    85
  ],[framework_carbon=no],[framework_carbon=yes])
ali@4
    86
  CFLAGS="$save_CFLAGS"
ali@4
    87
  LIBS="$save_LIBS"
ali@4
    88
  AC_MSG_RESULT([$framework_carbon])
ali@4
    89
  AS_IF([test "$framework_carbon" = yes],[
ali@4
    90
    GLIB_LIBS="$GLIB_LIBS -framework Carbon"
ali@4
    91
  ])
ali@4
    92
])
ali@4
    93
ali@9
    94
# If we are using a static version of glib then we should define
ali@9
    95
# GLIB_STATIC_COMPILATION. This isn't needed when glib is built
ali@9
    96
# only for static use (in which case glibconfig.h will already
ali@9
    97
# define GLIB_STATIC_COMPILATION).
ali@9
    98
AS_IF([test "$enable_shared" = no],[
ali@9
    99
  AC_MSG_CHECKING([whether GLIB_STATIC_COMPILATION needs to be defined])
ali@9
   100
  save_CFLAGS="$CFLAGS"
ali@9
   101
  save_LIBS="$LIBS"
ali@9
   102
  CFLAGS="$GLIB_CFLAGS"
ali@9
   103
  LIBS="$GLIB_LIBS"
ali@9
   104
  AC_TRY_LINK([
ali@9
   105
  #include <glib.h>
ali@9
   106
  ],[
ali@9
   107
  return glib_major_version!=2;
ali@9
   108
  ],[static_compilation=no],[static_compilation=yes])
ali@9
   109
  CFLAGS="$save_CFLAGS"
ali@9
   110
  LIBS="$save_LIBS"
ali@9
   111
  AC_MSG_RESULT([$static_compilation])
ali@9
   112
  AS_IF([test "$static_compilation" = yes],[
ali@9
   113
    GLIB_CFLAGS="$GLIB_CFLAGS -DGLIB_STATIC_COMPILATION"
ali@9
   114
  ])
ali@9
   115
])
ali@9
   116
ali@0
   117
##################################################
ali@0
   118
# Checks for library functions.
ali@0
   119
##################################################
ali@9
   120
save_CFLAGS="$CFLAGS"
ali@9
   121
save_LIBS="$LIBS"
ali@9
   122
CFLAGS="$GLIB_CFLAGS"
ali@9
   123
LIBS="$GLIB_LIBS"
ali@9
   124
AC_CHECK_FUNCS([g_mkdtemp mkdtemp],[break])
ali@9
   125
CFLAGS="$save_CFLAGS"
ali@9
   126
LIBS="$save_LIBS"
ali@0
   127
ali@0
   128
##################################################
ali@0
   129
# Checks for processor independent files.
ali@0
   130
##################################################
ali@0
   131
ali@0
   132
##################################################
ali@0
   133
# Generate the various configured files
ali@0
   134
##################################################
ali@0
   135
AC_OUTPUT