configure.ac
changeset 664 f57b1b61e1fe
parent 663 3697251ef911
child 671 4046345db060
equal deleted inserted replaced
663:3697251ef911 664:f57b1b61e1fe
     1 AC_PREREQ(2.60)
     1 AC_PREREQ(2.60)
     2 AC_INIT([Loudmouth], [1.5.0], [http://loudmouth.lighthouseapp.com/projects/17276-libloudmouth/tickets/new], [loudmouth])
     2 AC_INIT([Loudmouth], [1.5.0], [http://loudmouth.lighthouseapp.com/projects/17276-libloudmouth/tickets/new], [loudmouth])
     3 AC_COPYRIGHT([
     3 AC_COPYRIGHT([
     4 	Copyright (C) 2003-2008 Imendio AB
     4         Copyright (C) 2003-2008 Imendio AB
     5 	Copyright (C) 2007 Collabora Ltd
     5         Copyright (C) 2007 Collabora Ltd
     6 	Copyright (C) 2007 Nokia Corporation
     6         Copyright (C) 2007 Nokia Corporation
     7 ])
     7 ])
     8 
     8 
     9 AC_CONFIG_SRCDIR(loudmouth/loudmouth.h)
     9 AC_CONFIG_SRCDIR(loudmouth/loudmouth.h)
    10 AC_CONFIG_HEADERS(config.h)
    10 AC_CONFIG_HEADERS(config.h)
    11 AC_CONFIG_AUX_DIR(build)
    11 AC_CONFIG_AUX_DIR(build)
    54 AC_SUBST([LT_REVISION])
    54 AC_SUBST([LT_REVISION])
    55 AC_SUBST([LT_AGE])
    55 AC_SUBST([LT_AGE])
    56 
    56 
    57 AM_PATH_GLIB_2_0
    57 AM_PATH_GLIB_2_0
    58 
    58 
    59 AC_CHECK_HEADERS([arpa/inet.h fcntl.h memory.h netdb.h netinet/in.h netinet/in_systm.h stdlib.h string.h sys/socket.h sys/time.h unistd.h]) 
    59 AC_CHECK_HEADERS([arpa/inet.h fcntl.h memory.h netdb.h netinet/in.h netinet/in_systm.h stdlib.h string.h sys/socket.h sys/time.h unistd.h])
    60 AC_CHECK_HEADERS([winsock2.h arpa/nameser_compat.h])
    60 AC_CHECK_HEADERS([winsock2.h arpa/nameser_compat.h])
    61 
    61 
    62 if test "$ac_cv_header_winsock2_h" = "yes"; then
    62 if test "$ac_cv_header_winsock2_h" = "yes"; then
    63   # If we have <winsock2.h>, assume we find the functions
    63   # If we have <winsock2.h>, assume we find the functions
    64   # in -lws2_32 (ws2_32 is winsock v2, wsock32 is v1.1)
    64   # in -lws2_32 (ws2_32 is winsock v2, wsock32 is v1.1)
    88 AC_SUBST(GNUTLS_REQUIRED)
    88 AC_SUBST(GNUTLS_REQUIRED)
    89 AC_SUBST(LIBTASN1_REQUIRED)
    89 AC_SUBST(LIBTASN1_REQUIRED)
    90 
    90 
    91 LM_CHECK_TIMEZONE
    91 LM_CHECK_TIMEZONE
    92 
    92 
    93 PKG_CHECK_MODULES(LOUDMOUTH, 
    93 PKG_CHECK_MODULES(LOUDMOUTH,
    94                   glib-2.0 >= $GLIB2_REQUIRED
    94                   glib-2.0 >= $GLIB2_REQUIRED
    95                   gobject-2.0 >= $GLIB2_REQUIRED)
    95                   gobject-2.0 >= $GLIB2_REQUIRED)
    96 
    96 
    97 PKG_CHECK_MODULES(LOUDMOUTHTEST,
    97 PKG_CHECK_MODULES(LOUDMOUTHTEST,
    98                   glib-2.0 >= $GLIB2_TEST_REQUIRED
    98                   glib-2.0 >= $GLIB2_TEST_REQUIRED
    99                   gobject-2.0 >= $GLIB2_REQUIRED,
    99                   gobject-2.0 >= $GLIB2_REQUIRED,
   100 		  enable_test=yes, enable_test=no)
   100                   enable_test=yes, enable_test=no)
   101 if test "$enable_test" = yes; then
   101 if test "$enable_test" = yes; then
   102   TEST_DIRS=tests
   102   TEST_DIRS=tests
   103 else
   103 else
   104   TEST_DIRS=
   104   TEST_DIRS=
   105 fi
   105 fi
   106 AC_SUBST([TEST_DIRS])
   106 AC_SUBST([TEST_DIRS])
   107 
   107 
   108 PKG_CHECK_MODULES(LIBIDN, libidn, have_idn=yes, have_idn=no)
   108 PKG_CHECK_MODULES(LIBIDN, libidn, have_idn=yes, have_idn=no)
   109 if test "x$have_idn" = "xyes"; then
   109 if test "x$have_idn" = "xyes"; then
   110 	AC_DEFINE(HAVE_IDN, 1, [Define if IDN support is included])
   110         AC_DEFINE(HAVE_IDN, 1, [Define if IDN support is included])
   111 fi
   111 fi
   112 
   112 
   113 dnl Gtk doc
   113 dnl Gtk doc
   114 GTK_DOC_CHECK(1.0)
   114 GTK_DOC_CHECK(1.0)
   115 
   115 
   142 dnl +--------------------------------------------------------+
   142 dnl +--------------------------------------------------------+
   143 AC_PATH_PROG(KRB5CONFIG, krb5-config, no)
   143 AC_PATH_PROG(KRB5CONFIG, krb5-config, no)
   144 enable_gssapi=no
   144 enable_gssapi=no
   145 if test "x$KRB5CONFIG" != "xno"
   145 if test "x$KRB5CONFIG" != "xno"
   146 then
   146 then
   147 	AC_CHECK_HEADERS([gssapi.h gssapi/gssapi.h])
   147         AC_CHECK_HEADERS([gssapi.h gssapi/gssapi.h])
   148 	enable_gssapi=yes
   148         enable_gssapi=yes
   149 	AC_DEFINE(HAVE_GSSAPI, 1, [whether to use GSSAPI support.])
   149         AC_DEFINE(HAVE_GSSAPI, 1, [whether to use GSSAPI support.])
   150 	LIBS="$LIBS `$KRB5CONFIG --libs gssapi`"
   150         LIBS="$LIBS `$KRB5CONFIG --libs gssapi`"
   151 fi
   151 fi
   152 AM_CONDITIONAL(USE_GSSAPI, test x$enable_gssapi = xyes)
   152 AM_CONDITIONAL(USE_GSSAPI, test x$enable_gssapi = xyes)
   153 
   153 
   154 dnl +--------------------------------------------------------+
   154 dnl +--------------------------------------------------------+
   155 dnl | Checking for SSL support                               |-
   155 dnl | Checking for SSL support                               |-
   156 dnl +--------------------------------------------------------+
   156 dnl +--------------------------------------------------------+
   157 AC_ARG_WITH(ssl,
   157 AC_ARG_WITH(ssl,
   158 	    AS_HELP_STRING([--with-ssl=@<:@gnutls|openssl|no@:>@], 
   158             AS_HELP_STRING([--with-ssl=@<:@gnutls|openssl|no@:>@],
   159 			   [Which SSL implementation to use [[default=gnutls]]]),
   159                            [Which SSL implementation to use [[default=gnutls]]]),
   160 	    ac_ssl=$withval,
   160             ac_ssl=$withval,
   161 	    ac_ssl=gnutls)
   161             ac_ssl=gnutls)
   162 
   162 
   163 AC_ARG_WITH(openssl-includes,
   163 AC_ARG_WITH(openssl-includes,
   164 	    AC_HELP_STRING([--with-openssl-includes=DIR],[OpenSSL includes]),
   164             AC_HELP_STRING([--with-openssl-includes=DIR],[OpenSSL includes]),
   165 	    [ use_openssl=yes CPPFLAGS="$CPPFLAGS -I$withval" ]
   165             [ use_openssl=yes CPPFLAGS="$CPPFLAGS -I$withval" ]
   166 	    )
   166             )
   167 
   167 
   168 AC_ARG_WITH(openssl-libs,
   168 AC_ARG_WITH(openssl-libs,
   169 	    AC_HELP_STRING([--with-openssl-libs=DIR],[OpenSSL libraries]),
   169             AC_HELP_STRING([--with-openssl-libs=DIR],[OpenSSL libraries]),
   170 	    [ use_openssl=yes LDFLAGS="$LDFLAGS -L$withval" ]
   170             [ use_openssl=yes LDFLAGS="$LDFLAGS -L$withval" ]
   171 	    )
   171             )
   172 
   172 
   173 enable_ssl=no
   173 enable_ssl=no
   174 if test "x$ac_ssl" = "xgnutls"; then
   174 if test "x$ac_ssl" = "xgnutls"; then
   175   dnl Look for GnuTLS
   175   dnl Look for GnuTLS
   176   PKG_CHECK_EXISTS([gnutls >= $GNUTLS_REQUIRED], have_libgnutls=yes, have_libgnutls=no)
   176   PKG_CHECK_EXISTS([gnutls >= $GNUTLS_REQUIRED], have_libgnutls=yes, have_libgnutls=no)
   180     LIBS="$LIBS $LIBGNUTLS_LIBS"
   180     LIBS="$LIBS $LIBGNUTLS_LIBS"
   181     AC_DEFINE(HAVE_GNUTLS, 1, [whether to use GnuTSL support.])
   181     AC_DEFINE(HAVE_GNUTLS, 1, [whether to use GnuTSL support.])
   182     enable_ssl=GnuTLS
   182     enable_ssl=GnuTLS
   183   else
   183   else
   184     AC_MSG_ERROR([GnuTLS was not found, use
   184     AC_MSG_ERROR([GnuTLS was not found, use
   185 		--with-ssl=[[no|openssl]] to build without SSL support or
   185                 --with-ssl=[[no|openssl]] to build without SSL support or
   186 		with OpenSSL])
   186                 with OpenSSL])
   187   fi
   187   fi
   188 elif test "$ac_ssl" = "openssl"; then
   188 elif test "$ac_ssl" = "openssl"; then
   189   dnl Look for OpenSSL
   189   dnl Look for OpenSSL
   190   AC_CHECK_HEADERS([openssl/ssl.h])
   190   AC_CHECK_HEADERS([openssl/ssl.h])
   191   OLDLIBS="$LIBS"
   191   OLDLIBS="$LIBS"
   192   AC_CHECK_LIB(crypto, 
   192   AC_CHECK_LIB(crypto,
   193 	       BIO_f_base64, 
   193                BIO_f_base64,
   194 	       [AC_CHECK_LIB(ssl, 
   194                [AC_CHECK_LIB(ssl,
   195 		             SSL_new, 
   195                              SSL_new,
   196                              [SSL_LIB="-lssl -lcrypto"
   196                              [SSL_LIB="-lssl -lcrypto"
   197 		             AC_DEFINE(HAVE_OPENSSL, 
   197                              AC_DEFINE(HAVE_OPENSSL,
   198 				       [], 
   198                                        [],
   199 				       [Have OpenSSL])], 
   199                                        [Have OpenSSL])],
   200 		             [have_openssl=no], 
   200                              [have_openssl=no],
   201 			     [-lcrypto])], 
   201                              [-lcrypto])],
   202 	       [have_openssl=no], 
   202                [have_openssl=no],
   203 	       [])
   203                [])
   204 
   204 
   205   if test "x$have_openssl" = "xno"; then
   205   if test "x$have_openssl" = "xno"; then
   206     AC_MSG_ERROR([OpenSSL was not found, use --with-ssl=[[no|gnutls]] to
   206     AC_MSG_ERROR([OpenSSL was not found, use --with-ssl=[[no|gnutls]] to
   207                   build without SSL support or with GnuTLS])
   207                   build without SSL support or with GnuTLS])
   208   else 
   208   else
   209     LIBS="$OLDLIBS $SSL_LIB"
   209     LIBS="$OLDLIBS $SSL_LIB"
   210     enable_ssl=OpenSSL
   210     enable_ssl=OpenSSL
   211   fi
   211   fi
   212 else
   212 else
   213 	echo "Disabling SSL support"
   213         echo "Disabling SSL support"
   214 fi
   214 fi
   215 
   215 
   216 if test x$enable_ssl != xno; then
   216 if test x$enable_ssl != xno; then
   217 	AC_DEFINE(HAVE_SSL, 1, [whether to use SSL support.])
   217         AC_DEFINE(HAVE_SSL, 1, [whether to use SSL support.])
   218 else
   218 else
   219 	if test x$ac_ssl != xno; then
   219         if test x$ac_ssl != xno; then
   220 		AC_MSG_ERROR([No SSL implementation was found, if you do not want to build with SSL use --with-ssl=no])
   220                 AC_MSG_ERROR([No SSL implementation was found, if you do not want to build with SSL use --with-ssl=no])
   221 	fi
   221         fi
   222 fi
   222 fi
   223 
   223 
   224 AM_CONDITIONAL(USE_OPENSSL, test x$enable_ssl = xOpenSSL)
   224 AM_CONDITIONAL(USE_OPENSSL, test x$enable_ssl = xOpenSSL)
   225 AM_CONDITIONAL(USE_GNUTLS, test x$enable_ssl = xGnuTLS)
   225 AM_CONDITIONAL(USE_GNUTLS, test x$enable_ssl = xGnuTLS)
   226 
   226 
   227 dnl +-------------------------------------------------------------------+
   227 dnl +-------------------------------------------------------------------+
   228 dnl | Checking for libasyncns                                           |
   228 dnl | Checking for libasyncns                                           |
   229 dnl +-------------------------------------------------------------------+
   229 dnl +-------------------------------------------------------------------+
   230 AC_ARG_WITH(asyncns,
   230 AC_ARG_WITH(asyncns,
   231 	AS_HELP_STRING([--with-asyncns],
   231         AS_HELP_STRING([--with-asyncns],
   232 		[define whether to use libasyncns, @<:@default=no@:>@ (yes/no)]),
   232                 [define whether to use libasyncns, @<:@default=no@:>@ (yes/no)]),
   233 	ac_asyncns=$withval,
   233         ac_asyncns=$withval,
   234 	ac_asyncns=no)
   234         ac_asyncns=no)
   235 
   235 
   236 enable_asyncns=no
   236 enable_asyncns=no
   237 if test x$ac_asyncns != xno; then
   237 if test x$ac_asyncns != xno; then
   238 
   238 
   239 	PKG_CHECK_MODULES(ASYNCNS, [libasyncns >= 0.3],
   239         PKG_CHECK_MODULES(ASYNCNS, [libasyncns >= 0.3],
   240 			[enable_asyncns=yes],
   240                         [enable_asyncns=yes],
   241 			[enable_asyncns=no])
   241                         [enable_asyncns=no])
   242 fi
   242 fi
   243 
   243 
   244 if test "x$enable_asyncns" = "xyes"; then
   244 if test "x$enable_asyncns" = "xyes"; then
   245 	AC_DEFINE(HAVE_ASYNCNS, 1, [Whether to use libasyncns])
   245         AC_DEFINE(HAVE_ASYNCNS, 1, [Whether to use libasyncns])
   246 else
   246 else
   247 	echo "Not using asynchronous dns lookups"
   247         echo "Not using asynchronous dns lookups"
   248 fi
   248 fi
   249 
   249 
   250 AC_SUBST(ASYNCNS_CFLAGS)
   250 AC_SUBST(ASYNCNS_CFLAGS)
   251 AC_SUBST(ASYNCNS_LIBS)
   251 AC_SUBST(ASYNCNS_LIBS)
   252 
   252 
   260 #include <netinet/tcp.h>
   260 #include <netinet/tcp.h>
   261 ])
   261 ])
   262 
   262 
   263 use_keepalives=no
   263 use_keepalives=no
   264 if test x$ac_use_keepalives != xno; then
   264 if test x$ac_use_keepalives != xno; then
   265 	use_keepalives=yes
   265         use_keepalives=yes
   266 	AC_DEFINE(USE_TCP_KEEPALIVES, 1, [Whether to use Linux TCP keepalives])
   266         AC_DEFINE(USE_TCP_KEEPALIVES, 1, [Whether to use Linux TCP keepalives])
   267 fi
   267 fi
   268 
   268 
   269 dnl +-------------+
   269 dnl +-------------+
   270 dnl | Build Flags |--------------------------------------------
   270 dnl | Build Flags |--------------------------------------------
   271 dnl +-------------+
   271 dnl +-------------+
   285               AS_HELP_STRING([--enable-debug=@<:@no/yes/auto@:>@],
   285               AS_HELP_STRING([--enable-debug=@<:@no/yes/auto@:>@],
   286                              [Enable debugging [[default=yes]]]), ,
   286                              [Enable debugging [[default=yes]]]), ,
   287               enable_debug=yes)
   287               enable_debug=yes)
   288 
   288 
   289 if test x$enable_debug = xno ; then
   289 if test x$enable_debug = xno ; then
   290 	echo "Debugging disabled"
   290         echo "Debugging disabled"
   291 	LOUDMOUTH_CFLAGS="$LOUDMOUTH_CFLAGS -DLM_NO_DEBUG"
   291         LOUDMOUTH_CFLAGS="$LOUDMOUTH_CFLAGS -DLM_NO_DEBUG"
   292 else
   292 else
   293 	echo "Debugging enabled"
   293         echo "Debugging enabled"
   294 fi
   294 fi
   295 
   295 
   296 AC_SUBST(LOUDMOUTH_CFLAGS)
   296 AC_SUBST(LOUDMOUTH_CFLAGS)
   297 AC_SUBST(LOUDMOUTH_LIBS)
   297 AC_SUBST(LOUDMOUTH_LIBS)
   298 
   298 
   307 loudmouth-1.0.pc])
   307 loudmouth-1.0.pc])
   308 
   308 
   309 dnl ==========================================================================
   309 dnl ==========================================================================
   310 echo "
   310 echo "
   311 
   311 
   312 	Loudmouth $VERSION
   312         Loudmouth $VERSION
   313 	==================
   313         ==================
   314 
   314 
   315 	prefix:                   ${prefix}
   315         prefix:                   ${prefix}
   316 	compiler:                 ${CC}
   316         compiler:                 ${CC}
   317 	Have IDN support:         ${have_idn}
   317         Have IDN support:         ${have_idn}
   318 	Enable SSL:               ${enable_ssl}
   318         Enable SSL:               ${enable_ssl}
   319 	Asynchronous DNS:         ${enable_asyncns}
   319         Asynchronous DNS:         ${enable_asyncns}
   320 	Linux TCP keepalives:     ${use_keepalives}
   320         Linux TCP keepalives:     ${use_keepalives}
   321 	Enable Debug:             ${enable_debug}
   321         Enable Debug:             ${enable_debug}
   322 	Enable GSSAPI:            ${enable_gssapi}
   322         Enable GSSAPI:            ${enable_gssapi}
   323 	Enable Documentation:     ${enable_gtk_doc}
   323         Enable Documentation:     ${enable_gtk_doc}
   324 	Enable Tests:             ${enable_test}
   324         Enable Tests:             ${enable_test}
   325 
   325 
   326 	Now type 'make' to build Loudmouth
   326         Now type 'make' to build Loudmouth
   327 "
   327 "
   328 
   328