diff options
author | Fabian Groffen | 2011-01-12 21:01:07 +0100 |
---|---|---|
committer | Karel Zak | 2011-01-17 16:32:39 +0100 |
commit | 0aeb57aca31816ca5b93cc10ad0fb9d62ad805de (patch) | |
tree | 15b5d1a3395da747dfaada6ac28f3a2b14b9b2e9 /configure.ac | |
parent | build-sys: use WORDS_BIGENDIAN to determine platform byte-order (diff) | |
download | kernel-qcow2-util-linux-0aeb57aca31816ca5b93cc10ad0fb9d62ad805de.tar.gz kernel-qcow2-util-linux-0aeb57aca31816ca5b93cc10ad0fb9d62ad805de.tar.xz kernel-qcow2-util-linux-0aeb57aca31816ca5b93cc10ad0fb9d62ad805de.zip |
build-sys: improve check for crypt
Check for crypt.h existence, and use it if available over using unistd.h
for which a certain feature level has to be set to export a definition
for crypt. On Solaris this set causes a standards conflict in the
headers, because at the time of this check C99 mode is already enabled,
which implies certain standards non-compatible with _XOPEN_SOURCE.
92 #define _XOPEN_SOURCE
93 #include <unistd.h>
configure:16259: gcc -std=gnu99 -c -g -O2 conftest.c >&5
In file included from /usr/include/unistd.h:18,
from conftest.c:93:
/prefix/gentoo/usr/lib/gcc/i386-pc-solaris2.10/4.4.5/include-fixed/sys/feature_tests.h:341:2: error: #error "Compiler or options invalid for pre-UNIX 03 X/Open applications and pre-2001 POSIX applications"
configure.ac: improve crypt check
login-utils/my_crypt.h: replace old GNU_LIBRARY check with autoconf
define for crypt.h
[kzak@redhat.com: - remove my_crypt.h]
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index f68d79073..8922d1f68 100644 --- a/configure.ac +++ b/configure.ac @@ -520,17 +520,28 @@ else AM_CONDITIONAL(HAVE_UTEMPTER, false) fi - +# on Solaris, you can't mix and match standards, since we use c99 +# aparently at this stage, XOPEN_SOURCE will conflict. As workaround, +# check for crypt.h and use that without XOPEN_SOURCE. +AC_CHECK_HEADERS([crypt.h]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +#ifdef HAVE_CRYPT_H +#include <crypt.h> +#else #define _XOPEN_SOURCE #include <unistd.h> +#endif ]], [[ char *c = crypt("abc","pw"); ]])],[],[ LIBS="$LIBS -lcrypt" AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #ifdef HAVE_CRYPT_H + #include <crypt.h> + #else #define _XOPEN_SOURCE #include <unistd.h> + #endif ]], [[ char *c = crypt("abc","pw"); ]])],[ |