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"
;;
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