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])
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>.]),,
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 -----------------------
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"
+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
dnl otherwise we assume /usr/local.
AS_IF([test `uname` = FreeBSD],
- [AM_CPPFLAGS="${AM_CPPFLAGS:+$AM_CPPFLAGS }-D_WITH_GETLINE"
+ [CPPFLAGS="${CPPFLAGS:+$CPPFLAGS }-D_WITH_GETLINE"
nmh_cv_freebsd_localbase=`echo '.include <bsd.port.mk>' \
| make -k -f /dev/stdin -V LOCALBASE 2>/dev/null | sed 1q`
test -z "$nmh_cv_freebsd_localbase" && nmh_cv_freebsd_localbase=/usr/local
- AM_CPPFLAGS="${AM_CPPFLAGS:+$AM_CPPFLAGS }-I$nmh_cv_freebsd_localbase/include"
+ CPPFLAGS="${CPPFLAGS:+$CPPFLAGS }-I$nmh_cv_freebsd_localbase/include"
LDFLAGS="${LDFLAGS:+$LDFLAGS }-L$nmh_cv_freebsd_localbase/lib"
])
[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
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])
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], [
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 -----------------
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
nmh version : AC_PACKAGE_VERSION
host os : ${host}
compiler : ${CC}
-compiler flags : ${CFLAGS}
-linker flags : ${LDFLAGS}
+compiler flags : ${AM_CFLAGS} ${CFLAGS}
+linker flags : ${AM_LDFLAGS} ${LDFLAGS}
preprocessor flags : ${AM_CPPFLAGS} ${CPPFLAGS}
source code location : ${srcdir}
binary install path : ${nmhbin}