]> diplodocus.org Git - nmh/blobdiff - configure.ac
Replace getcpy() with mh_xstrdup() where the string isn't NULL.
[nmh] / configure.ac
old mode 100755 (executable)
new mode 100644 (file)
index 921580d..4ed79bb
@@ -2,7 +2,6 @@ dnl
 dnl configure.ac -- autoconf template for nmh
 dnl
 
-dnl Move this up a bit
 AC_PREREQ([2.68])
 
 AC_INIT([nmh], m4_normalize(m4_include([VERSION])), [nmh-workers@nongnu.org])
@@ -97,7 +96,8 @@ dnl CHECK HEADER FILES
 dnl ------------------
 
 AC_HEADER_TIOCGWINSZ
-AC_CHECK_HEADERS([fcntl.h wchar.h wctype.h sys/param.h sys/time.h sys/stream.h])
+AC_CHECK_HEADERS([fcntl.h stdbool.h wchar.h wctype.h \
+                  sys/param.h sys/time.h sys/stream.h])
 
 AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1,
   [Define to 1 if `struct winsize' requires <sys/ptem.h>.]),,
@@ -111,6 +111,10 @@ dnl CHECK FUNCTIONS
 dnl ---------------
 AC_CHECK_FUNCS([wcwidth mbtowc getutxent arc4random mkstemps])
 
+dnl Use custom getline for platforms that don't have it.
+AC_CONFIG_LIBOBJ_DIR([sbr])
+AC_REPLACE_FUNCS([getline])
+
 dnl -----------------------
 dnl CHECK MULTIBYTE SUPPORT
 dnl -----------------------
@@ -135,26 +139,28 @@ if test "$GCC" != yes; then
   dnl better to use an autoconf test, except -v will probably succeed
   dnl with many other compilers but have different meaning.
   AS_CASE([`${CC} -V 2>&1`],
-          [cc:\ Sun\ C*], [CFLAGS=\
+          [cc:*\ Sun\ C*], [CFLAGS=\
 "${CFLAGS:+$CFLAGS }-v -errtags=yes -erroff=E_STATEMENT_NOT_REACHED"])
 fi
 
 AC_CACHE_CHECK([whether compiler supports -Wall], [nmh_cv_has_wall],
                [nmh_saved_cflags="$CFLAGS"
-               CFLAGS="$CFLAGS -Wall -Werror"
+               CFLAGS="$AM_CFLAGS $CFLAGS -Wall -Werror"
                AC_TRY_COMPILE([],[],nmh_cv_has_wall=yes,nmh_cv_has_wall=no)
                CFLAGS="$nmh_saved_cflags"])
 test "$nmh_cv_has_wall" = "yes"  &&  CFLAGS="${CFLAGS:+$CFLAGS }-Wall"
 
 AC_CACHE_CHECK([whether compiler supports -Wextra], [nmh_cv_has_wextra],
                [nmh_saved_cflags="$CFLAGS"
-               CFLAGS="$CFLAGS -Wextra -Werror"
+               CFLAGS="$AM_CFLAGS $CFLAGS -Wextra -Werror"
                AC_TRY_COMPILE([],[],nmh_cv_has_wextra=yes,
                               nmh_cv_has_wextra=no)
                CFLAGS="$nmh_saved_cflags"])
 test "$nmh_cv_has_wextra" = "yes"  &&  CFLAGS="${CFLAGS:+$CFLAGS }-Wextra"
 
-dnl Check for any platform-specific additional CPPFLAGS.  This depends on
+AC_SUBST([AM_CFLAGS])
+
+dnl Check for any platform-specific additional AM_CPPFLAGS.  This depends on
 dnl MULTIBYTE_ENABLED having already been set.
 NMH_ADDL_CPPFLAGS
 
@@ -165,9 +171,9 @@ if test "$GCC" = yes; then
   dnl It shouldn't hurt with earlier versions because it's a cpp macro.
   dnl If the user configures with a CFLAGS that contains a -O flag
   dnl but then removes it a make time, they'll also have to remove
-  dnl -D_FORTIFY_SOURCE from CPPFLAGS because it requires optimization.
+  dnl -D_FORTIFY_SOURCE from AM_CPPFLAGS because it requires optimization.
   AS_CASE([$CFLAGS],
-          [-O*|*' -O'*],[CPPFLAGS="${CPPFLAGS:+$CPPFLAGS }-D_FORTIFY_SOURCE=2"])
+          [-O*|*' -O'*],[AM_CPPFLAGS="${AM_CPPFLAGS:+$AM_CPPFLAGS }-D_FORTIFY_SOURCE=2"])
 fi
 
 dnl FreeBSD needs a bit of magic to bring getline() into scope.
@@ -207,13 +213,13 @@ AC_CACHE_CHECK([whether linker supports -Qunused-arguments],
                [AS_IF([test "$GCC" = yes  &&  `${CC} --version 2>&1 | \
                        grep clang >/dev/null`],
                       [nmh_saved_ldflags="$LDFLAGS"
-                       LDFLAGS="$LDFLAGS -Qunused-arguments"
+                       LDFLAGS="$AM_LDFLAGS $LDFLAGS -Qunused-arguments"
                        AC_TRY_LINK([],[],nmh_cv_has_q_unused_arguments=yes,
                                          nmh_cv_has_q_unused_arguments=no)
                        LDFLAGS="$nmh_saved_ldflags"],
                        [nmh_cv_has_q_unused_arguments=no])])
 test "$nmh_cv_has_q_unused_arguments" = "yes"  &&  \
-  LDFLAGS="${LDFLAGS:+$LDFLAGS }-Qunused-arguments"
+  AM_LDFLAGS="${AM_LDFLAGS:+$AM_LDFLAGS }-Qunused-arguments"
 
 dnl This hack turns off assertions by default, assuming
 dnl that configure still uses this shell variable.  Without
@@ -468,12 +474,12 @@ dnl -----------------
 
 AS_IF([test x"$tls_support" = x"yes"],[
   dnl OpenBSD 5 needs the other-libraries (fourth argument) to the
-  dnl AC_CHECK_LIB for SSL_library_init, because it doesn't
+  dnl AC_CHECK_LIB for SSL_new, because it doesn't
   dnl automatically append -lcrypto when linking with -lssl.
   AC_CHECK_HEADER([openssl/ssl.h], , [AC_MSG_ERROR([openssl/ssl.h not found])])
   AC_CHECK_LIB([crypto], [BIO_write], [TLSLIB="-lcrypto"],
     [AC_MSG_ERROR([OpenSSL crypto library not found])])
-  AC_CHECK_LIB([ssl], [SSL_library_init], [TLSLIB="-lssl $TLSLIB"],
+  AC_CHECK_LIB([ssl], [SSL_new], [TLSLIB="-lssl $TLSLIB"],
     [AC_MSG_ERROR([OpenSSL library not found])],[$TLSLIB])],
   [TLSLIB=])
 AC_SUBST([TLSLIB])
@@ -485,7 +491,7 @@ dnl Look for curl if oauth not disabled (--without-oauth).
 AC_PATH_PROG([curl_config], [curl-config])
 AS_IF([test "x$with_oauth" != xno && test -n "$curl_config"], [
     save_CFLAGS="$CFLAGS"
-    CFLAGS="$CFLAGS `$curl_config --cflags`"
+    CFLAGS="$AM_CPPFLAGS $AM_CFLAGS $CFLAGS `$curl_config --cflags`"
     AC_CHECK_HEADER([curl/curl.h], [
         HAVE_CURL_H=1
         AC_CHECK_LIB([curl], [curl_easy_init], [
@@ -495,12 +501,10 @@ AS_IF([test "x$with_oauth" != xno && test -n "$curl_config"], [
             AS_IF([test "x$CURL_USER_AGENT" != "x`echo $CURL_USER_AGENT | sed 's/ //'`"],
                   [AC_MSG_WARN([unexpected curl-config --version: $CURL_USER_AGENT])
                    CURL_USER_AGENT=libcurl/UNKNOWN])
-                   echo "HEYEPG ($CURL_USER_AGENT)"
             AC_SUBST([CURL_USER_AGENT])
           ])
-      ], [
-        CFLAGS="$save_CFLAGS"
       ])
+    CFLAGS="$save_CFLAGS"
   ])
 
 dnl -----------------
@@ -524,16 +528,16 @@ AS_IF([test "x$with_oauth" = xyes && test "x$HAVE_CURL_H" = x],
 dnl ----------------
 dnl CHECK FLEX FIXUP
 dnl ----------------
-dnl Use LFLAGS make variable setting to work around bugs in flex
+dnl Use AM_LFLAGS make variable setting to work around bugs in flex
 dnl 2.5.36-37 that cause signed/unsigned mismatch,
 dnl http://sourceforge.net/p/flex/bugs/140/
 AS_IF([test "$LEX" = flex],
       [AS_CASE([`$LEX -V`],
-               [flex\ 2.5.35], [LFLAGS=\
+               [flex\ 2.5.35], [AM_LFLAGS=\
 '; sed "s/     int n;/ size_t n;/" $@ >$@.tmp && mv -f $@.tmp $@'],
-               [flex\ 2.5.3[[67]]], [LFLAGS=\
+               [flex\ 2.5.3[[67]]], [AM_LFLAGS=\
 '; sed "s/\(   \)int i;/\1yy_size_t i;/" $@ >$@.tmp && mv -f $@.tmp $@'])
-       AC_SUBST([LFLAGS])])
+       AC_SUBST([AM_LFLAGS])])
 
 dnl ------------------
 dnl FOR INTERNAL USE by the NMH test suite
@@ -585,9 +589,9 @@ nmh configuration
 nmh version                : AC_PACKAGE_VERSION
 host os                    : ${host}
 compiler                   : ${CC}
-compiler flags             : ${CFLAGS}
-linker flags               : ${LDFLAGS}
-preprocessor flags         : ${CPPFLAGS}
+compiler flags             : ${AM_CFLAGS} ${CFLAGS}
+linker flags               : ${AM_LDFLAGS} ${LDFLAGS}
+preprocessor flags         : ${AM_CPPFLAGS} ${CPPFLAGS}
 source code location       : ${srcdir}
 binary install path        : ${nmhbin}
 libexec install path       : ${nmhlibexec}/nmh