X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=libsysio%2Fconfigure.in;h=2aedbf184a14e32a0d04f180ff45ed3f5dfd7b5f;hp=4ed6794460a834deb66a9e08ef25bc64ffe3e50f;hb=7df8d1beac6b12f9e60681cecacc911fd22acbc8;hpb=6b6514dc5f361bd3871c447e42fde55cff7d252e diff --git a/libsysio/configure.in b/libsysio/configure.in index 4ed6794..2aedbf1 100644 --- a/libsysio/configure.in +++ b/libsysio/configure.in @@ -1,8 +1,10 @@ -AC_INIT(libsysio, 0.1) +AC_INIT(libsysio, 1.2) -AC_CANONICAL_HOST +AC_CANONICAL_SYSTEM case "$host_os" in + aix*) + ;; linux*) ;; *) @@ -11,15 +13,20 @@ case "$host_os" in esac AM_INIT_AUTOMAKE([subdir-objects]) +AC_PROG_CC AM_PROG_CC_C_O -AC_PROG_CC AC_PROG_RANLIB AC_PROG_MAKE_SET AC_HEADER_STDC AC_HEADER_STAT AC_HEADER_TIME +if test ${target_cpu} == "powerpc64"; then + AC_MSG_WARN([set compiler with -m64]) + CC="$CC -m64" +fi + have_lib_dir=yes; AC_ARG_WITH(lib-dir, AC_HELP_STRING([--with-lib-dir=], @@ -112,6 +119,17 @@ AC_ARG_WITH(defer-init-cwd, [with_defer_init_cwd=no]) AC_SUBST(DEFER_INIT_CWD) +AC_ARG_WITH(tracing, + AC_HELP_STRING([--with-tracing], + [enable tracing support]), + [ case "${withval}" in + yes) TRACING=-DSYSIO_TRACING=1 ;; + no) ;; + *) AC_MSG_ERROR(bad value ${withval} for --with-tracing) ;; + esac], + [TRACING=-DSYSIO_TRACING=1]) +AC_SUBST(TRACING) + AC_ARG_WITH(cplant_yod, AC_HELP_STRING([--with-cplant-yod],[build cplant yod I/O driver]), [ case "${withval}" in @@ -169,6 +187,16 @@ if test x$with_lustre_hack = xyes; then AC_DEFINE(HAVE_LUSTRE_HACK) fi +AC_ARG_WITH(alternate-symbols, + AC_HELP_STRING([--with-alternate-symbols@<:@=@:>@], + [Prepend standard, public, symbols with a unique qualifer]), + [ case "${withval}" in + yes) SYSIO_LABEL_NAMES=-DSYSIO_LABEL_NAMES=sysio_ ;; + no) ;; + *) SYSIO_LABEL_NAMES=-DSYSIO_LABEL_NAMES="${withval}" ;; + esac]) +AC_SUBST(SYSIO_LABEL_NAMES) + # We keep the original values in `$config_*' and never modify them, so we # can write them unchanged into config.make. Everything else uses # $machine, $vendor, and $os, and changes them whenever convenient. @@ -209,20 +237,64 @@ if test "$machine" = rs6000; then machine="powerpc" fi -AC_MSG_CHECKING(if readlink returns ssize_t) +case "$host_os" in + gnu* | linux*) + AC_DEFINE(_XOPEN_SOURCE, 600) + ;; + aix*) + # ... and always needed... + AC_DEFINE(__USE_LARGEFILE64) + AC_DEFINE(_LARGE_FILES) + AC_DEFINE(_LARGE_FILE_API) + AC_DEFINE(_ALL_SOURCE) + AC_DEFINE(_XOPEN_SOURCE_EXTENDED) + ;; +esac + +AC_MSG_CHECKING(for symlink support) AC_TRY_COMPILE([ - include +#include +#include ],[ - ssize_t readlink(const char *, char *, size_t); +#ifndef S_ISLNK +#error +#endif ], - readlink_returns_ssize_t="yes", - readlink_returns_ssize_t="yes" + symlink_support="yes", + symlink_support="no" ) -AC_MSG_RESULT($readlink_returns_ssize_t) -if test x$readlink_returns_ssize_t = xyes; then - AC_DEFINE(HAVE_POSIX_1003_READLINK, 1, [readlink returns ssize_t]) +AC_MSG_RESULT($symlink_support) + +if test x$symlink_support = xyes; then + AC_MSG_CHECKING(if readlink returns int) + AC_TRY_COMPILE([ +#include + ],[ + extern int readlink(const char *, char *, size_t); + ], + readlink_returns_int="yes", + readlink_returns_int="no" + ) + AC_MSG_RESULT($readlink_returns_int) + if test x$readlink_returns_int = no; then + AC_DEFINE(HAVE_POSIX_1003_READLINK, + 1, + [readlink returns ssize_t]) + fi fi +AC_MSG_CHECKING(if readlink returns ssize_t) +AC_TRY_COMPILE([ + #include +],[ + ssize_t readlink(const char *, char *, size_t); +],[ + AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_POSIX_1003_READLINK, 1, [readlink returns ssize_t]) +],[ + AC_MSG_RESULT([no]) +]) + # If we can't provoke the declaration of stat64 then we assume the # environment supports 64-bit file support naturally. Beware! AC_MSG_CHECKING(whether _LARGEFILE64_SOURCE definition is required)