X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=configure.in;h=e113860ef74ec6a7d352ab45eb1c69a25157a85c;hb=7edb0cbc236244d996d1e2ae1d58d0e9f7d98062;hp=b66a6e55bba7112081308efd196dbeb52043d580;hpb=3f5557dc09fc17ede9a35059f36920abb2eb4d08;p=mmh diff --git a/configure.in b/configure.in index b66a6e5..e113860 100644 --- a/configure.in +++ b/configure.in @@ -221,14 +221,29 @@ fi AC_PROG_CC +AC_CACHE_CHECK(whether compiler supports -Wno-pointer-sign, nmh_cv_has_noptrsign, +[nmh_saved_cflags="$CFLAGS" + CFLAGS="$CFLAGS -Wno-pointer-sign" + AC_TRY_COMPILE([],[],nmh_cv_has_noptrsign=yes,nmh_cv_has_noptrsign=no) + CFLAGS="$nmh_saved_cflags"]) + dnl if the user hasn't specified CFLAGS, then dnl if compiler is gcc, then dnl use -O2 and some warning flags dnl else use -O +dnl We use -Wall; if the compiler supports it we also use -Wno-pointer-sign, +dnl because gcc 4 now produces a lot of new warnings which are probably mostly +dnl spurious and which in any case we don't want to deal with now. +if test "$nmh_cv_has_noptrsign" = "yes"; then + nmh_gcc_warnflags="-Wall -Wno-pointer-sign" +else + nmh_gcc_warnflags="-Wall" +fi + if test -n "$auto_cflags"; then if test x"$enable_debug" = x"yes"; then if test -n "$GCC"; then - test -z "$CFLAGS" && CFLAGS="-Wall -g" || CFLAGS="$CFLAGS -Wall -g" + test -z "$CFLAGS" && CFLAGS="$nmh_gcc_warnflags -g" || CFLAGS="$CFLAGS $nmh_gcc_warnflags -g" else test -z "$CFLAGS" && CFLAGS=-g || CFLAGS="$CFLAGS -g" fi @@ -244,7 +259,7 @@ if test -n "$auto_cflags"; then esac fi if test -n "$GCC"; then - test -z "$CFLAGS" && CFLAGS="-Wall -O2" || CFLAGS="$CFLAGS -Wall -O2" + test -z "$CFLAGS" && CFLAGS="$nmh_gcc_warnflags -O2" || CFLAGS="$CFLAGS $nmh_gcc_warnflags -O2" else test -z "$CFLAGS" && CFLAGS=-O || CFLAGS="$CFLAGS -O" fi @@ -367,20 +382,6 @@ if test -z "$editorpath"; then fi AC_SUBST(editorpath)dnl -dnl Check for broken vi -AC_CACHE_CHECK(for broken vi, nmh_cv_attvibug, -[if echo 'r /nonexist-file -q' | ex > /dev/null -then - nmh_cv_attvibug=no -else - nmh_cv_attvibug=yes -fi]) - -if test "$nmh_cv_attvibug" = yes; then - AC_DEFINE(ATTVIBUG)dnl -fi - dnl ---------------------------------------------------------- dnl FIND MAIL SPOOL AND SEE IF WE NEED TO MAKE inc SETGID MAIL dnl ---------------------------------------------------------- @@ -443,6 +444,25 @@ AC_SUBST(MAIL_SPOOL_GRP)dnl dnl ------------------ dnl CHECK HEADER FILES dnl ------------------ + +dnl On glibc we need to define at least the '_XOPEN_SOURCE' level of features, +dnl or wchar.h doesn't declare a prototype for wcwidth(). But if we only define +dnl that level then db.h won't compile. So we define _GNU_SOURCE which turns +dnl on everything. Perhaps other OSes need some feature switch set to get wcwidth() +dnl declared; if so they should have an entry added to this case statement. +dnl NB that we must define this on the compiler command line, not in config.h, +dnl because it must be set before any system header is included and there's no +dnl portable way to make sure that files generated by lex include config.h +dnl before system header files. + +case "$target_os" in + linux*) + # Like DEFS, but doesn't get stomped on by configure when using config.h: + OURDEFS="$OURDEFS -D_GNU_SOURCE" + ;; +esac +AC_SUBST(OURDEFS) + AC_HEADER_DIRENT AC_HEADER_STDC AC_HEADER_TIME @@ -983,6 +1003,7 @@ target os : ${target} compiler : ${CC} compiler flags : ${CFLAGS} linker flags : ${LDFLAGS} +definitions : ${OURDEFS} source code location : ${srcdir} binary install path : ${nmhbin2} libary install path : ${nmhlib2}