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