configure.ac
author J. Ali Harlow <ali@juiblex.co.uk>
Tue Jan 06 17:33:37 2009 +0000 (2009-01-06)
changeset 322 66c281524c98
parent 321 6f804141872c
child 323 3b24a0bd41ee
permissions -rw-r--r--
Support platforms without mmap
     1 dnl Process this file with autoconf to produce a configure script.
     2 
     3 AC_PREREQ(2.59c)
     4 AC_INIT(razor, 0.1, krh@redhat.com)
     5 AM_INIT_AUTOMAKE(razor, 0.1)
     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=1
    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 AM_PROG_CC_STDC
    23 AC_HEADER_STDC
    24 AC_CHECK_HEADERS([sys/mman.h])
    25 AM_PROG_LIBTOOL
    26 AC_PROG_MAKE_SET
    27 AC_PROG_LN_S
    28 AC_SYS_LARGEFILE
    29 AM_PROG_CC_C_O
    30 
    31 # Taken from dbus
    32 AC_ARG_ENABLE(ansi,             [  --enable-ansi           enable -ansi -pedantic gcc flags],enable_ansi=$enableval,enable_ansi=no)
    33 AC_ARG_ENABLE(verbose-mode,     [  --enable-verbose-mode   support verbose debug mode],enable_verbose_mode=$enableval,enable_verbose_mode=$USE_MAINTAINER_MODE)
    34 
    35 if test "${enable_verbose_mode}" != no; then
    36     # To get -rdynamic you pass -export-dynamic to libtool.
    37     AC_DEFINE(BUILT_R_DYNAMIC,1,[whether -export-dynamic was passed to libtool])
    38     R_DYNAMIC_LDFLAG=-export-dynamic
    39 else
    40     R_DYNAMIC_LDFLAG=
    41 fi
    42 AC_SUBST(R_DYNAMIC_LDFLAG)
    43 
    44 #### gcc warning flags
    45 
    46 if test "x$GCC" = "xyes"; then
    47   changequote(,)dnl
    48   case " $CFLAGS " in
    49   *[\ \	]-Wall[\ \	]*) ;;
    50   *) CFLAGS="$CFLAGS -Wall" ;;
    51   esac
    52 
    53   case " $CFLAGS " in
    54   *[\ \	]-Wchar-subscripts[\ \	]*) ;;
    55   *) CFLAGS="$CFLAGS -Wchar-subscripts" ;;
    56   esac
    57 
    58   case " $CFLAGS " in
    59   *[\ \	]-Wmissing-declarations[\ \	]*) ;;
    60   *) CFLAGS="$CFLAGS -Wmissing-declarations" ;;
    61   esac
    62 
    63   case " $CFLAGS " in
    64   *[\ \	]-Wnested-externs[\ \	]*) ;;
    65   *) CFLAGS="$CFLAGS -Wnested-externs" ;;
    66   esac
    67 
    68   case " $CFLAGS " in
    69   *[\ \	]-Wcast-align[\ \	]*) ;;
    70   *) CFLAGS="$CFLAGS -Wcast-align" ;;
    71   esac
    72 
    73   case " $CFLAGS " in
    74   *[\ \	]-Wformat[\ \	]*) ;;
    75   *) CFLAGS="$CFLAGS -Wformat" ;;
    76   esac
    77 
    78   case " $CFLAGS " in
    79   *[\ \	]-Wformat-security[\ \	]*) ;;
    80   *) CFLAGS="$CFLAGS -Wformat-security" ;;
    81   esac
    82 
    83   if test "x$enable_ansi" = "xyes"; then
    84     case " $CFLAGS " in
    85     *[\ \	]-ansi[\ \	]*) ;;
    86     *) CFLAGS="$CFLAGS -ansi" ;;
    87     esac
    88 
    89     case " $CFLAGS " in
    90     *[\ \	]-D_POSIX_C_SOURCE*) ;;
    91     *) CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=199309L" ;;
    92     esac
    93 
    94     case " $CFLAGS " in
    95     *[\ \	]-D_BSD_SOURCE[\ \	]*) ;;
    96     *) CFLAGS="$CFLAGS -D_BSD_SOURCE" ;;
    97     esac
    98 
    99     case " $CFLAGS " in
   100     *[\ \	]-pedantic[\ \	]*) ;;
   101     *) CFLAGS="$CFLAGS -pedantic" ;;
   102     esac
   103   fi
   104   changequote([,])dnl
   105 fi
   106 
   107 
   108 # gcc default visibility stuff
   109 
   110 have_gcc4=no
   111 AC_MSG_CHECKING(for -fvisibility)
   112 AC_COMPILE_IFELSE([
   113 #if defined(__GNUC__) && (__GNUC__ >= 4)
   114 #else
   115 #error Need GCC 4.0 for visibility
   116 #endif
   117 int main () { return 0; } 
   118 ], have_gcc4=yes)
   119 
   120 if test "x$have_gcc4" = "xyes"; then
   121    CFLAGS="$CFLAGS -fvisibility=hidden"
   122 fi
   123 AC_MSG_RESULT($have_gcc4)
   124 
   125 
   126 AC_ARG_WITH([curl],
   127             [AS_HELP_STRING([--without-curl], [disable support for curl])],
   128             [],
   129             [with_curl=yes])
   130           
   131 CURL_CFLAGS=
   132 CURL_LIBS=
   133 AS_IF([test "x$with_curl" != xno],
   134   [PKG_CHECK_MODULES(CURL, [libcurl])
   135    AC_DEFINE([HAVE_CURL], [1], [Define if you have curl])])
   136 AC_SUBST(CURL_CFLAGS)
   137 AC_SUBST(CURL_LIBS)
   138 
   139 ZLIB_LIBS=""
   140 AC_ARG_WITH(zlib, [  --with-zlib=<dir>       Use zlib from here],
   141                       [
   142                       zlib=$withval
   143                       CPPFLAGS="$CPPFLAGS -I$withval/include"
   144                       LDFLAGS="$LDFLAGS -L$withval/lib"
   145                       ]
   146                       )
   147 AC_CHECK_HEADERS(zlib.h, [AC_DEFINE(HAVE_ZLIB_H)],
   148                  [AC_MSG_ERROR([Can't find zlib.h. Please install zlib.])])
   149 AC_CHECK_LIB(z, inflate, [ZLIB_LIBS="-lz"],
   150 	     [AC_MSG_ERROR([Can't find zlib library. Please install zlib.])])
   151 AC_SUBST(ZLIB_LIBS)
   152 
   153 EXPAT_LIB=""
   154 AC_ARG_WITH(expat, [  --with-expat=<dir>      Use expat from here],
   155                       [
   156                       expat=$withval
   157                       CPPFLAGS="$CPPFLAGS -I$withval/include"
   158                       LDFLAGS="$LDFLAGS -L$withval/lib"
   159                       ]
   160                       )
   161 AC_CHECK_HEADERS(expat.h, [AC_DEFINE(HAVE_EXPAT_H)], 
   162 		 [AC_MSG_ERROR([Can't find expat.h. Please install expat.])])
   163 AC_CHECK_LIB(expat, XML_ParserCreate, [EXPAT_LIBS="-lexpat"],
   164 	     [AC_MSG_ERROR([Can't find expat library. Please install expat.])])
   165 AC_SUBST(EXPAT_LIBS)
   166 
   167 RPM_LIBS=""
   168 AC_ARG_WITH(rpm, [  --with-rpm=<dir>      Use rpm from here])
   169 
   170 AS_IF([test "$with_rpm" != no],
   171       [if test "$with_rpm" != yes; then
   172 	    CPPFLAGS="$CPPFLAGS -I$with_rpm/include"
   173             LDFLAGS="$LDFLAGS -L$with_rpm/lib"
   174        fi
   175        AC_CHECK_HEADERS(rpm/rpmlib.h, [], 
   176 		 [AC_MSG_ERROR([Can't find rpm/rpmlib.h. Please install rpm-devel or use --without-rpm.])])
   177        AC_CHECK_LIB(rpm,rpmdbOpen,[RPM_LIBS="-lrpm"],
   178 	     [AC_MSG_ERROR([Can't find rpm library. Please install rpm-devel or use --without-rpm.])])
   179        AC_DEFINE([HAVE_RPMLIB], [1], [Define if you have librpm])])
   180 AC_SUBST(RPM_LIBS)
   181 AM_CONDITIONAL([HAVE_RPMLIB], [test -n "$RPM_LIBS"])
   182 
   183 if test "x$GCC" = "xyes"; then
   184   LDFLAGS="-Wl,--as-needed $LDFLAGS"
   185 fi
   186 
   187 # *****************************
   188 # Make available to Makefile.am
   189 # *****************************
   190 AC_SUBST(SYSCONFDIR, $sysconfdir)
   191 
   192 # ********************
   193 # Internationalisation
   194 # ********************
   195 
   196 IT_PROG_INTLTOOL([0.35.0])
   197 GETTEXT_PACKAGE=razor
   198 AC_SUBST([GETTEXT_PACKAGE])
   199 AM_GLIB_GNU_GETTEXT
   200 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[gettext domain])
   201 
   202 GTK_DOC_CHECK([1.9])
   203 
   204 AC_OUTPUT([
   205 Makefile
   206 data/razor.pc
   207 data/Makefile
   208 librazor/Makefile
   209 src/Makefile
   210 docs/Makefile
   211 docs/version.xml
   212 po/Makefile.in
   213 ])
   214 
   215 dnl ==========================================================================
   216 echo "
   217                   razor $VERSION
   218                 =================
   219 
   220         prefix:                     ${prefix}
   221         libdir:                     ${libdir}
   222         libexecdir:                 ${libexecdir}
   223         bindir:                     ${bindir}
   224         sbindir:                    ${sbindir}
   225         datadir:                    ${datadir}
   226         sysconfdir:                 ${sysconfdir}
   227         localstatedir:              ${localstatedir}
   228         docdir:                     ${docdir}
   229 
   230         compiler:                   ${CC}
   231         cflags:                     ${CFLAGS}
   232         Maintainer mode:            ${USE_MAINTAINER_MODE}
   233         Building verbose mode:      ${enable_verbose_mode}
   234         Building gtk-doc:           ${enable_gtk_doc}
   235 "