configure.ac
author J. Ali Harlow <ali@juiblex.co.uk>
Wed Feb 01 12:49:13 2012 +0000 (2012-02-01)
changeset 412 810d9ba06afd
parent 405 f960eb19dca2
child 414 404c18183801
permissions -rw-r--r--
Fix bug causing scripts to be run at the wrong time
     1 dnl Process this file with autoconf to produce a configure script.
     2 
     3 AC_PREREQ(2.59c)
     4 AC_INIT([razor], [0.5.2], [ali@juiblex.co.uk])
     5 AM_INIT_AUTOMAKE([])
     6 AM_CONFIG_HEADER([config.h])
     7 AM_MAINTAINER_MODE
     8 
     9 # libtool versioning - this applies to all libraries in this package
    10 #
    11 # See http://sources.redhat.com/autobook/autobook/autobook_91.html#SEC91 for details
    12 #
    13 LT_CURRENT=2
    14 LT_REVISION=0
    15 LT_AGE=0
    16 AC_SUBST(LT_CURRENT)
    17 AC_SUBST(LT_REVISION)
    18 AC_SUBST(LT_AGE)
    19 
    20 AC_ISC_POSIX
    21 AC_PROG_CC
    22 gl_EARLY
    23 AM_PROG_CC_STDC
    24 AC_HEADER_STDC
    25 AC_HEADER_SYS_WAIT
    26 AC_CHECK_HEADERS([sys/mman.h])
    27 gl_INIT
    28 AC_CHECK_FUNCS([symlink chroot])
    29 AC_LIBTOOL_WIN32_DLL
    30 AM_PROG_LIBTOOL
    31 AC_PROG_MAKE_SET
    32 AC_PROG_LN_S
    33 AC_SYS_LARGEFILE
    34 AM_PROG_CC_C_O
    35 
    36 AC_MSG_CHECKING([for Microsoft Windows native API])
    37 case $host_os in
    38     *mingw*)	AC_DEFINE([MSWIN_API], 1,
    39 		  [Define to 1 to use Microsoft Windows native API.])
    40 		EXTRA_LIBS='-lshell32 -lws2_32'
    41 		mswin_api=yes;;
    42     *)		mswin_api=no;;
    43 esac
    44 AC_MSG_RESULT([$mswin_api])
    45 AM_CONDITIONAL(MSWIN_API, test "$mswin_api" = "yes")
    46 AC_SUBST(EXTRA_LIBS)
    47 
    48 if test "$mswin_api" = "yes"; then
    49     AC_MSG_CHECKING([for Microsoft Windows Kernel Transaction Manager])
    50     save_LIBS="$LIBS"
    51     LIBS="-lktmw32 $LIBS"
    52     AC_LINK_IFELSE([AC_LANG_PROGRAM([dnl
    53 #include <windows.h>
    54 #include <ktmw32.h>
    55 ], [(void)CreateTransaction(NULL,0,0,0,0,0,NULL);])],
    56       [have_windows_ktm="yes"; EXTRA_LIBS="-lktmw32 $EXTRA_LIBS"],
    57       [have_windows_ktm="no"])
    58     LIBS="$save_LIBS"
    59     AC_MSG_RESULT([$have_windows_ktm])
    60 else
    61     have_windows_ktm="no"
    62 fi
    63 if test "$have_windows_ktm" = "yes"; then
    64     AC_DEFINE([HAVE_WINDOWS_KTM],[1],[Define if Windows KTM is available.])
    65 fi
    66 
    67 # Taken from dbus
    68 AC_ARG_ENABLE(ansi,             [  --enable-ansi           enable -ansi -pedantic gcc flags],enable_ansi=$enableval,enable_ansi=no)
    69 AC_ARG_ENABLE(verbose-mode,     [  --enable-verbose-mode   support verbose debug mode],enable_verbose_mode=$enableval,enable_verbose_mode=$USE_MAINTAINER_MODE)
    70 
    71 if test "${enable_verbose_mode}" != no; then
    72     # To get -rdynamic you pass -export-dynamic to libtool.
    73     AC_DEFINE(BUILT_R_DYNAMIC,1,[whether -export-dynamic was passed to libtool])
    74     R_DYNAMIC_LDFLAG=-export-dynamic
    75 else
    76     R_DYNAMIC_LDFLAG=
    77 fi
    78 AC_SUBST(R_DYNAMIC_LDFLAG)
    79 
    80 #### gcc warning flags
    81 
    82 if test "x$GCC" = "xyes"; then
    83   changequote(,)dnl
    84   case " $CFLAGS " in
    85   *[\ \	]-Wall[\ \	]*) ;;
    86   *) CFLAGS="$CFLAGS -Wall" ;;
    87   esac
    88 
    89   case " $CFLAGS " in
    90   *[\ \	]-Wchar-subscripts[\ \	]*) ;;
    91   *) CFLAGS="$CFLAGS -Wchar-subscripts" ;;
    92   esac
    93 
    94   case " $CFLAGS " in
    95   *[\ \	]-Wmissing-declarations[\ \	]*) ;;
    96   *) CFLAGS="$CFLAGS -Wmissing-declarations" ;;
    97   esac
    98 
    99   case " $CFLAGS " in
   100   *[\ \	]-Wnested-externs[\ \	]*) ;;
   101   *) CFLAGS="$CFLAGS -Wnested-externs" ;;
   102   esac
   103 
   104   case " $CFLAGS " in
   105   *[\ \	]-Wcast-align[\ \	]*) ;;
   106   *) CFLAGS="$CFLAGS -Wcast-align" ;;
   107   esac
   108 
   109   case " $CFLAGS " in
   110   *[\ \	]-Wformat[\ \	]*) ;;
   111   *) CFLAGS="$CFLAGS -Wformat" ;;
   112   esac
   113 
   114   case " $CFLAGS " in
   115   *[\ \	]-Wformat-security[\ \	]*) ;;
   116   *) CFLAGS="$CFLAGS -Wformat-security" ;;
   117   esac
   118 
   119   if test "x$enable_ansi" = "xyes"; then
   120     case " $CFLAGS " in
   121     *[\ \	]-ansi[\ \	]*) ;;
   122     *) CFLAGS="$CFLAGS -ansi" ;;
   123     esac
   124 
   125     case " $CFLAGS " in
   126     *[\ \	]-D_POSIX_C_SOURCE*) ;;
   127     *) CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=199309L" ;;
   128     esac
   129 
   130     case " $CFLAGS " in
   131     *[\ \	]-D_BSD_SOURCE[\ \	]*) ;;
   132     *) CFLAGS="$CFLAGS -D_BSD_SOURCE" ;;
   133     esac
   134 
   135     case " $CFLAGS " in
   136     *[\ \	]-pedantic[\ \	]*) ;;
   137     *) CFLAGS="$CFLAGS -pedantic" ;;
   138     esac
   139   fi
   140   changequote([,])dnl
   141 fi
   142 
   143 
   144 # gcc default visibility stuff
   145 
   146 have_gcc4=no
   147 AC_MSG_CHECKING(for -fvisibility)
   148 AC_COMPILE_IFELSE([
   149 #if defined(__GNUC__) && (__GNUC__ >= 4)
   150 #else
   151 #error Need GCC 4.0 for visibility
   152 #endif
   153 int main () { return 0; } 
   154 ], have_gcc4=yes)
   155 
   156 if test "x$have_gcc4" = "xyes"; then
   157    CFLAGS="$CFLAGS -fvisibility=hidden"
   158 fi
   159 AC_MSG_RESULT($have_gcc4)
   160 
   161 REQUIREMENTS=""
   162 AC_ARG_WITH([curl],
   163             [AS_HELP_STRING([--without-curl], [disable support for curl])],
   164             [],
   165             [with_curl=yes])
   166           
   167 CURL_CFLAGS=
   168 CURL_LIBS=
   169 AS_IF([test "x$with_curl" != xno],
   170   [PKG_CHECK_MODULES(CURL, [libcurl])
   171    AC_DEFINE([HAVE_CURL], [1], [Define if you have curl])])
   172 AC_SUBST(CURL_CFLAGS)
   173 AC_SUBST(CURL_LIBS)
   174 
   175 ZLIB_LIBS=""
   176 AC_ARG_WITH(zlib, [  --with-zlib=<dir>       Use zlib from here],
   177                       [
   178                       zlib=$withval
   179                       CPPFLAGS="$CPPFLAGS -I$withval/include"
   180                       ]
   181                       )
   182 AC_CHECK_HEADERS(zlib.h, [AC_DEFINE(HAVE_ZLIB_H)],
   183                  [AC_MSG_ERROR([Can't find zlib.h. Please install zlib.])])
   184 save_ldflags="$LDFLAGS"
   185 LDFLAGS="$LDFLAGS -L$zlib/lib"
   186 AC_CHECK_LIB(z, inflate, [ZLIB_LIBS="-L$zlib/lib -lz"],
   187 	     [AC_MSG_ERROR([Can't find zlib library. Please install zlib.])])
   188 LDFLAGS="$save_ldflags"
   189 AC_SUBST(ZLIB_LIBS)
   190 
   191 EXPAT_LIB=""
   192 AC_ARG_WITH(expat, [  --with-expat=<dir>      Use expat from here],
   193                       [
   194                       expat=$withval
   195                       CPPFLAGS="$CPPFLAGS -I$withval/include"
   196                       ]
   197                       )
   198 AC_CHECK_HEADERS(expat.h, [AC_DEFINE(HAVE_EXPAT_H)], 
   199 		 [AC_MSG_ERROR([Can't find expat.h. Please install expat.])])
   200 save_ldflags="$LDFLAGS"
   201 LDFLAGS="$LDFLAGS -L$expat/lib"
   202 AC_CHECK_LIB(expat, XML_ParserCreate, [EXPAT_LIBS="-L$expat/lib -lexpat"],
   203 	     [AC_MSG_ERROR([Can't find expat library. Please install expat.])])
   204 LDFLAGS="$save_ldflags"
   205 AC_SUBST(EXPAT_LIBS)
   206 
   207 RPM_LIBS=""
   208 AC_ARG_WITH(rpm, [  --with-rpm=<dir>      Use rpm from here])
   209 
   210 AS_IF([test "$with_rpm" != no],
   211       [if test "$with_rpm" != yes; then
   212 	    CPPFLAGS="$CPPFLAGS -I$with_rpm/include"
   213        fi
   214        AC_CHECK_HEADERS(rpm/rpmlib.h, [], 
   215 		 [AC_MSG_ERROR([Can't find rpm/rpmlib.h. Please install rpm-devel or use --without-rpm.])])
   216        save_ldflags="$LDFLAGS"
   217        LDFLAGS="$LDFLAGS -L$with_rpm/lib"
   218        AC_CHECK_LIB(rpm,rpmdbOpen,[RPM_LIBS="-L$with_rpm/lib -lrpm"],
   219 	     [AC_MSG_ERROR([Can't find rpm library. Please install rpm-devel or use --without-rpm.])])
   220        LDFLAGS="$save_ldflags"
   221        AC_DEFINE([HAVE_RPMLIB], [1], [Define if you have librpm])])
   222 AC_SUBST(RPM_LIBS)
   223 AM_CONDITIONAL([HAVE_RPMLIB], [test -n "$RPM_LIBS"])
   224 
   225 AC_ARG_WITH([lua],
   226             [AS_HELP_STRING([--without-lua], [disable support for lua])],
   227             [],
   228             [with_lua=yes])
   229           
   230 LUA_CFLAGS=
   231 LUA_LIBS=
   232 AS_IF([test "x$with_lua" != xno],
   233   [PKG_CHECK_MODULES(LUA, [lua])
   234    REQUIREMENTS="$REQUIREMENTS lua"
   235    AC_DEFINE([HAVE_LUA], [1], [Define if you have lua])
   236    AC_PATH_PROG(LUA, [lua], [no])
   237    AS_IF([test "x$LUA" = xno],
   238      [AC_MSG_ERROR([Can't find lua program. Please install lua-devel or use --without-lua.])])
   239    AC_DEFINE_UNQUOTED([LUA_BINARY], ["$LUA"],
   240      [Define to the location of the lua binary])])
   241 AC_SUBST(LUA_CFLAGS)
   242 AC_SUBST(LUA_LIBS)
   243 AM_CONDITIONAL([HAVE_LUA], [test "x$with_lua" != xno])
   244 
   245 AC_SUBST(REQUIREMENTS)
   246 
   247 if test "x$GCC" = "xyes"; then
   248   LDFLAGS="-Wl,--as-needed $LDFLAGS"
   249 fi
   250 
   251 # *****************************
   252 # Make available to Makefile.am
   253 # *****************************
   254 AC_SUBST(SYSCONFDIR, $sysconfdir)
   255 
   256 # ********************
   257 # Internationalisation
   258 # ********************
   259 
   260 IT_PROG_INTLTOOL([0.35.0])
   261 GETTEXT_PACKAGE=razor
   262 AC_SUBST([GETTEXT_PACKAGE])
   263 AM_GLIB_GNU_GETTEXT
   264 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[gettext domain])
   265 
   266 GTK_DOC_CHECK([1.9])
   267 
   268 AC_OUTPUT([
   269 Makefile
   270 data/razor.pc
   271 data/Makefile
   272 librazor/Makefile
   273 librazor/types/Makefile
   274 src/Makefile
   275 docs/Makefile
   276 docs/version.xml
   277 po/Makefile.in
   278 gl/Makefile
   279 test/Makefile
   280 ])
   281 
   282 dnl ==========================================================================
   283 echo "
   284                   razor $VERSION
   285                 =================
   286 
   287         prefix:                     ${prefix}
   288         libdir:                     ${libdir}
   289         libexecdir:                 ${libexecdir}
   290         bindir:                     ${bindir}
   291         sbindir:                    ${sbindir}
   292         datadir:                    ${datadir}
   293         sysconfdir:                 ${sysconfdir}
   294         localstatedir:              ${localstatedir}
   295         docdir:                     ${docdir}
   296 
   297         compiler:                   ${CC}
   298         cflags:                     ${CFLAGS}
   299         Maintainer mode:            ${USE_MAINTAINER_MODE}
   300         Building verbose mode:      ${enable_verbose_mode}
   301         Building gtk-doc:           ${enable_gtk_doc}
   302 "