if test -z "$cpu" && test "$(sysctl -n hw.optional.x86_64)" = "1"; then
cpu="x86_64"
fi
+ # Error at compile time linking of weak/partial symbols if possible...
+cat > $TMPC <<EOF
+int main(void)
+{
+ return 0;
+}
+EOF
+ if compile_prog "" "-Wl,-no_weak_imports" "disable weak symbols"; then
+ echo "Disabling weak symbols"
+ LDFLAGS="$LDFLAGS -Wl,-no_weak_imports"
+ fi
;;
SunOS)
# `uname -m` returns i86pc even on an x86_64 box, so default based on isainfo
if test -z "$CC" ; then
if test ! -z "$build_32bit_win" && test "$build_32bit_win" = "yes"; then
CC="i686-w64-mingw32-gcc"
+ if test -e "../zlib/contrib/vstudio/vc14/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib"; then
+ echo "Building with zlib support"
+ output_sym "CONFIG_ZLIB"
+ echo "LIBS=../zlib/contrib/vstudio/vc14/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib" >> $config_host_mak
+ fi
else
CC="x86_64-w64-mingw32-gcc"
+ if test -e "../zlib/contrib/vstudio/vc14/x64/ZlibStatReleaseWithoutAsm/zlibstat.lib"; then
+ echo "Building with zlib support"
+ output_sym "CONFIG_ZLIB"
+ echo "LIBS=../zlib/contrib/vstudio/vc14/x64/ZlibStatReleaseWithoutAsm/zlibstat.lib" >> $config_host_mak
+ fi
fi
fi
- output_sym "CONFIG_LITTLE_ENDIAN"
if test ! -z "$build_32bit_win" && test "$build_32bit_win" = "yes"; then
output_sym "CONFIG_32BIT"
else
output_sym "CONFIG_SCHED_IDLE"
output_sym "CONFIG_TCP_NODELAY"
output_sym "CONFIG_TLS_THREAD"
+ output_sym "CONFIG_STATIC_ASSERT"
output_sym "CONFIG_IPV6"
echo "CC=$CC" >> $config_host_mak
- echo "BUILD_CFLAGS=$CFLAGS -include config-host.h -D_GNU_SOURCE" >> $config_host_mak
+ echo "BUILD_CFLAGS=$CFLAGS -I../zlib -include config-host.h -D_GNU_SOURCE" >> $config_host_mak
+
exit 0
;;
esac
fi
elif check_define __arm__ ; then
cpu="arm"
+elif check_define __aarch64__ ; then
+ cpu="aarch64"
elif check_define __hppa__ ; then
cpu="hppa"
else
armv*b|armv*l|arm)
cpu="arm"
;;
+ aarch64)
+ cpu="arm64"
+ ;;
hppa|parisc|parisc64)
cpu="hppa"
;;
# clockid_t probe
clockid_t="no"
cat > $TMPC << EOF
-#include <stdio.h>
-#include <string.h>
#include <time.h>
int main(int argc, char **argv)
{
- clockid_t cid;
+ volatile clockid_t cid;
memset(&cid, 0, sizeof(cid));
- return clock_gettime(cid, NULL);
+ return 0;
}
EOF
if compile_prog "" "$LIBS" "clockid_t"; then
EOF
if compile_prog "" "-lpmem" "libpmem"; then
libpmem="yes"
+ LIBS="-lpmem $LIBS"
fi
echo "libpmem $libpmem"
##########################################
# Check whether we have libpmemblk
+# libpmem is a prerequisite
libpmemblk="no"
-cat > $TMPC << EOF
+if test "$libpmem" = "yes"; then
+ cat > $TMPC << EOF
#include <libpmemblk.h>
int main(int argc, char **argv)
{
- int rc;
- rc = pmemblk_open("", 0);
+ PMEMblkpool *pbp;
+ pbp = pmemblk_open("", 0);
return 0;
}
EOF
-if compile_prog "" "-lpmemblk -lpmem" "libpmemblk"; then
- libpmemblk="yes"
+ if compile_prog "" "-lpmemblk" "libpmemblk"; then
+ libpmemblk="yes"
+ LIBS="-lpmemblk $LIBS"
+ fi
fi
echo "libpmemblk $libpmemblk"
+# Choose the ioengines
if test "$libpmem" = "yes" && test "$disable_pmem" = "no"; then
devdax="yes"
if test "$libpmemblk" = "yes"; then
##########################################
# Report whether pmemblk engine is enabled
-echo "NVML libpmemblk engine $pmemblk"
+echo "NVML pmemblk engine $pmemblk"
##########################################
# Report whether dev-dax engine is enabled
-echo "NVML Device Dax engine $devdax"
+echo "NVML dev-dax engine $devdax"
# Check if we have lex/yacc available
yacc="no"
fi
echo "bool $have_bool"
+##########################################
+# check march=armv8-a+crc+crypto
+march_armv8_a_crc_crypto="no"
+if test "$cpu" = "arm64" ; then
+ cat > $TMPC <<EOF
+int main(void)
+{
+ return 0;
+}
+EOF
+ if compile_prog "-march=armv8-a+crc+crypto" "" ""; then
+ march_armv8_a_crc_crypto="yes"
+ CFLAGS="$CFLAGS -march=armv8-a+crc+crypto -DARCH_HAVE_CRC_CRYPTO"
+ fi
+fi
+echo "march_armv8_a_crc_crypto $march_armv8_a_crc_crypto"
+
+
#############################################################################
if test "$wordsize" = "64" ; then