Redo cython check logic and check for "no-cast-function" gcc 8+ compiler flag
diff --git a/configure.ac b/configure.ac
index e33f1ab..7082ca9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -87,16 +87,26 @@
AC_ARG_WITH([cython],
[AS_HELP_STRING([--without-cython],
[build Python bindings using Cython (default is yes)])],
- [build_cython=$withval],
- [build_cython=yes])
-if test "$build_cython" = "yes"; then
- AM_PATH_PYTHON(2.3)
- AC_PROG_CYTHON(0.17.0)
- CYTHON_PYTHON
+ [build_cython=false],
+ [build_cython=true])
+if test "$build_cython" = "true"; then
+ AC_PROG_CYTHON([0.17.0])
+ if [test "x$CYTHON" != "xfalse"]; then
+ AM_PATH_PYTHON([2.3], [
+ CYTHON_PYTHON
+ AS_COMPILER_FLAG([-Wno-cast-function-type -Werror], [
+ CYTHON_CFLAGS+=" -Wno-cast-function-type"
+ AC_SUBST([CYTHON_CFLAGS])
+ ], [])
+ ])
+ else
+ AC_MSG_WARN([Use the "--without-cython" option to avoid this warning.])
+ fi
else
CYTHON=false
fi
if [test "x$CYTHON" != "xfalse"]; then
+ PKG_PROG_PKG_CONFIG
AC_MSG_CHECKING([for libplist Cython bindings])
CYTHON_PLIST_INCLUDE_DIR=$($PKG_CONFIG --variable=includedir libplist-2.0)/plist/cython
if [test ! -d "$CYTHON_PLIST_INCLUDE_DIR"]; then
diff --git a/cython/Makefile.am b/cython/Makefile.am
index 08ac363..3577c4e 100644
--- a/cython/Makefile.am
+++ b/cython/Makefile.am
@@ -68,7 +68,7 @@
-Wno-strict-aliasing \
-Wno-implicit-function-declaration \
-fvisibility=default \
- -Wno-cast-function-type
+ $(CYTHON_CFLAGS)
imobiledevice_la_LDFLAGS = \
-module \