mkdir bindings/ruby
cp -a "$srcdir"/bindings/ruby/*.[ch] bindings/ruby
cp -a "$srcdir"/bindings/ruby/extconf.rb bindings/ruby
+
+ # Use the same hack to replicate python-cffi source for
+ # out-of-tree builds (again, not ideal).
+ mkdir bindings/python-cffi
+ cp -a "$srcdir"/bindings/python-cffi/tests \
+ "$srcdir"/bindings/python-cffi/notmuch2 \
+ "$srcdir"/bindings/python-cffi/setup.py \
+ bindings/python-cffi/
fi
# Set several defaults (optionally specified by the user in
have_python3=0
if [ $have_python -eq 1 ]; then
- printf "Checking for python3..."
- if "$python" -c 'import sys; assert sys.version_info >= (3,0)' > /dev/null 2>&1; then
+ printf "Checking for python3 (>= 3.5)..."
+ if "$python" -c 'import sys, sysconfig; assert sys.version_info >= (3,5)'; >/dev/null 2>&1; then
printf "Yes.\n"
have_python3=1
else
- printf "No.\n"
+ printf "No (will not install CFFI-based python bindings).\n"
fi
fi
have_python3_cffi=0
have_python3_pytest=0
if [ $have_python3 -eq 1 ]; then
- printf "Checking for python3 cffi... "
- if "$python" -c 'import cffi' >/dev/null 2>&1; then
+ printf "Checking for python3 cffi and setuptools... "
+ if "$python" -c 'import cffi,setuptools; cffi.FFI().verify()' >/dev/null 2>&1; then
printf "Yes.\n"
have_python3_cffi=1
else
- printf "No.\n"
+ printf "No (will not install CFFI-based python bindings).\n"
fi
+ rm -rf __pycache__ # cffi.FFI().verify() uses this space
printf "Checking for python3 pytest (>= 3.0)... "
conf=$(mktemp)
printf "Yes.\n"
have_python3_pytest=1
else
- printf "No.\n"
+ printf "No (will not test CFFI-based python bindings).\n"
fi
rm -f $conf
fi
fi
rm -f compat/have_timegm
+cat <<EOF > _time_t.c
+#include <time.h>
+#include <assert.h>
+static_assert(sizeof(time_t) >= 8, "sizeof(time_t) < 8");
+EOF
+
+printf "Checking for 64 bit time_t... "
+if ${CC} -c _time_t.c -o /dev/null
+then
+ printf "Yes.\n"
+ have_64bit_time_t=1
+else
+ printf "No.\n"
+ have_64bit_time_t=0
+fi
+
printf "Checking for dirent.d_type... "
if ${CC} -o compat/have_d_type "$srcdir"/compat/have_d_type.c > /dev/null 2>&1
then
done
printf "\n\t%s\n" "${WARN_CFLAGS}"
-rm -f minimal minimal.c _libversion.c _libversion _libversion.sh _check_session_keys.c _check_session_keys _check_x509_validity.c _check_x509_validity
+rm -f minimal minimal.c _time_t.c _libversion.c _libversion _libversion.sh _check_session_keys.c _check_session_keys _check_x509_validity.c _check_x509_validity
# construct the Makefile.config
cat > Makefile.config <<EOF
NOTMUCH_HAVE_BASH=${have_bash}
NOTMUCH_BASH_ABSOLUTE=${bash_absolute}
+# Whether time_t is 64 bits (or more)
+NOTMUCH_HAVE_64BIT_TIME_T=${have_64bit_time_t}
+
# Whether perl exists, and if so where
NOTMUCH_HAVE_PERL=${have_perl}
NOTMUCH_PERL_ABSOLUTE=${perl_absolute}