configure.ac
author ali <ali@juiblex.co.uk>
Tue May 28 15:17:19 2013 +0100 (2013-05-28)
changeset 69 1016349e619f
parent 19 05d082ebf685
child 71 82d3cc398b54
permissions -rw-r--r--
Use GLib functions and data types
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@69
    16
AM_INIT_AUTOMAKE(no-define,1.11)
ali@69
    17
AM_SILENT_RULES([yes])
ali@0
    18
AC_CANONICAL_HOST
ali@0
    19
ali@0
    20
##################################################
ali@0
    21
# Checks for programs.
ali@0
    22
##################################################
ali@0
    23
AC_PROG_CC
ali@0
    24
LT_INIT
ali@0
    25
# Libtool supports a --disable-shared option to tell it to avoid
ali@0
    26
# building shared versions of libraries. We don't have any libraries
ali@0
    27
# but we do want to support building static versions of our executables.
ali@0
    28
# Libtool can do this (under the right circumstances) so we overload
ali@0
    29
# this switch for this purpose.
ali@0
    30
#
ali@0
    31
# The libtool option that we use (-static-libtool-libs) means to use
ali@0
    32
# static linking with libraries that supply a .la file and which
ali@0
    33
# include a non-empty value for "old_library". If the library doesn't
ali@0
    34
# include a .la file (they are deleted by some distributions), then
ali@0
    35
# this option will have no effect and likewise if old_library is set
ali@0
    36
# to '' (eg., if the library was build with --disable-static) then
ali@0
    37
# again -static-libtool-libs will have no effect.
ali@0
    38
#
ali@0
    39
# If old_library is set to a non-empty value, then specifying
ali@0
    40
# -static-libtool-libs will cause the link to fail if the old library
ali@0
    41
# cannot be found (libtool will not fallback to a shared library
ali@0
    42
# in these circumstances). This can happen with Fedora, for example,
ali@0
    43
# if a main mingw32 library package is installed but not the
ali@0
    44
# coresponding static sub-package. The solution is to either
ali@0
    45
# install the relevant static sub-packages or don't use --disable-shared.
ali@0
    46
AS_IF([test "$enable_shared" = no],[
ali@0
    47
  LDFLAGS="$LDFLAGS -static-libtool-libs"
ali@0
    48
])
ali@9
    49
LT_OUTPUT
ali@9
    50
ac_compile="./libtool --mode=compile --tag=CC $ac_compile"
ali@9
    51
ac_link="./libtool --mode=link --tag=CC $ac_link"
ali@0
    52
PKG_PROG_PKG_CONFIG
ali@0
    53
ali@0
    54
##################################################
ali@0
    55
# Checks for header files.
ali@0
    56
##################################################
ali@0
    57
ali@0
    58
##################################################
ali@0
    59
# Checks for typedefs, structures, and compiler characteristics.
ali@0
    60
##################################################
ali@0
    61
ali@0
    62
##################################################
ali@0
    63
# Checks for libraries.
ali@0
    64
##################################################
ali@14
    65
PKG_CHECK_MODULES([GLIB],[glib-2.0 >= 2.18])
ali@0
    66
ali@4
    67
# Glib 2.30 (at least) doesn't include "-framework Carbon" in Libs.private
ali@4
    68
# which causes link to fail for static glib on Mac (gnome bug #668152).
ali@4
    69
# Test for this problem and implement a workaround.
ali@4
    70
AC_MSG_CHECKING([for Mac OS X Carbon support])
ali@4
    71
AC_TRY_CPP([
ali@4
    72
#include <Carbon/Carbon.h>
ali@4
    73
#include <CoreServices/CoreServices.h>
ali@4
    74
],[have_carbon=yes],[have_carbon=no])
ali@4
    75
AC_MSG_RESULT([$have_carbon])
ali@4
    76
AS_IF([test "$have_glib" != no -a "$have_carbon" = yes],[
ali@4
    77
  AC_MSG_CHECKING([whether -framework Carbon is needed])
ali@4
    78
  save_CFLAGS="$CFLAGS"
ali@4
    79
  save_LIBS="$LIBS"
ali@4
    80
  CFLAGS="$GLIB_CFLAGS"
ali@4
    81
  LIBS="$GLIB_LIBS"
ali@4
    82
  AC_TRY_LINK([
ali@4
    83
  #include <glib.h>
ali@4
    84
  ],[
ali@4
    85
  return !g_get_user_special_dir(G_USER_DIRECTORY_DESKTOP);
ali@4
    86
  ],[framework_carbon=no],[framework_carbon=yes])
ali@4
    87
  CFLAGS="$save_CFLAGS"
ali@4
    88
  LIBS="$save_LIBS"
ali@4
    89
  AC_MSG_RESULT([$framework_carbon])
ali@4
    90
  AS_IF([test "$framework_carbon" = yes],[
ali@4
    91
    GLIB_LIBS="$GLIB_LIBS -framework Carbon"
ali@4
    92
  ])
ali@4
    93
])
ali@4
    94
ali@9
    95
# If we are using a static version of glib then we should define
ali@9
    96
# GLIB_STATIC_COMPILATION. This isn't needed when glib is built
ali@9
    97
# only for static use (in which case glibconfig.h will already
ali@9
    98
# define GLIB_STATIC_COMPILATION).
ali@9
    99
AS_IF([test "$enable_shared" = no],[
ali@9
   100
  AC_MSG_CHECKING([whether GLIB_STATIC_COMPILATION needs to be defined])
ali@9
   101
  save_CFLAGS="$CFLAGS"
ali@9
   102
  save_LIBS="$LIBS"
ali@9
   103
  CFLAGS="$GLIB_CFLAGS"
ali@9
   104
  LIBS="$GLIB_LIBS"
ali@9
   105
  AC_TRY_LINK([
ali@9
   106
  #include <glib.h>
ali@9
   107
  ],[
ali@9
   108
  return glib_major_version!=2;
ali@9
   109
  ],[static_compilation=no],[static_compilation=yes])
ali@9
   110
  CFLAGS="$save_CFLAGS"
ali@9
   111
  LIBS="$save_LIBS"
ali@9
   112
  AC_MSG_RESULT([$static_compilation])
ali@9
   113
  AS_IF([test "$static_compilation" = yes],[
ali@9
   114
    GLIB_CFLAGS="$GLIB_CFLAGS -DGLIB_STATIC_COMPILATION"
ali@9
   115
  ])
ali@9
   116
])
ali@9
   117
ali@0
   118
##################################################
ali@0
   119
# Checks for library functions.
ali@0
   120
##################################################
ali@9
   121
save_CFLAGS="$CFLAGS"
ali@9
   122
save_LIBS="$LIBS"
ali@9
   123
CFLAGS="$GLIB_CFLAGS"
ali@9
   124
LIBS="$GLIB_LIBS"
ali@9
   125
AC_CHECK_FUNCS([g_mkdtemp mkdtemp],[break])
ali@9
   126
CFLAGS="$save_CFLAGS"
ali@9
   127
LIBS="$save_LIBS"
ali@0
   128
ali@0
   129
##################################################
ali@0
   130
# Checks for processor independent files.
ali@0
   131
##################################################
ali@0
   132
ali@0
   133
##################################################
ali@0
   134
# Generate the various configured files
ali@0
   135
##################################################
ali@0
   136
AC_OUTPUT