Closed kloczek closed 2 years ago
I think this is the problem:
CPP=''
I noticed something similar recently; should hopefully be fixed by 80f5c5cf2a74835d101c38c54001a54de815c956
Hit this issue with fftw 3.3.10, so I added the new macro you added in the commit above, and ran autoreconf
, issue is still there.
With a simple testcase configure.ac
consisting of
AC_INIT
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(unsigned int)
AC_CHECK_SIZEOF(long)
AC_CHECK_SIZEOF(unsigned long)
AC_CHECK_SIZEOF(long long)
AC_CHECK_SIZEOF(unsigned long long)
AC_CHECK_SIZEOF(size_t)
The generated configure
script is able to work out the sizes of everything.
As a test, moving the following checks to the top of configure.ac
, just after the AC_INIT
and AC_CONFIG_SRCDIR
statements and regenerating the configure
script results in a working setup where the script is able to enumerate the sizes of things, otherwise it falls over on size_t
and fftw_r2r_kind
tests, and the rest are all set to 0
--- configure.ac.orig 2023-05-09 18:34:25.000000000 -0400
+++ configure.ac 2023-05-09 18:35:17.000000000 -0400
@@ -12,6 +12,36 @@
AC_INIT(fftw, FFTW_MAJOR_VERSION.FFTW_MINOR_VERSION, fftw@fftw.org)
AC_CONFIG_SRCDIR(kernel/ifftw.h)
+AC_CHECK_SIZEOF(int)
+AC_CHECK_SIZEOF(unsigned int)
+AC_CHECK_SIZEOF(long)
+AC_CHECK_SIZEOF(unsigned long)
+AC_CHECK_SIZEOF(long long)
+AC_CHECK_SIZEOF(unsigned long long)
+AC_CHECK_SIZEOF(size_t)
+AC_CHECK_SIZEOF(ptrdiff_t)
+
+AC_CHECK_TYPES([ptrdiff_t])
+AC_CHECK_TYPES(uintptr_t, [], [AC_CHECK_SIZEOF(void *)], [$ac_includes_default
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif])
+
+AC_CHECK_SIZEOF(float)
+AC_CHECK_SIZEOF(double)
+
+dnl Check sizeof fftw_r2r_kind for Fortran interface [it has == sizeof(int)
+dnl for years, but being paranoid]. Note: the definition here must match
+dnl the one in api/fftw3.h!
+AC_CHECK_SIZEOF(fftw_r2r_kind, [], [typedef enum {
+ FFTW_R2HC=0, FFTW_HC2R=1, FFTW_DHT=2,
+ FFTW_REDFT00=3, FFTW_REDFT01=4, FFTW_REDFT10=5, FFTW_REDFT11=6,
+ FFTW_RODFT00=7, FFTW_RODFT01=8, FFTW_RODFT10=9, FFTW_RODFT11=10
+} fftw_r2r_kind;])
+if test 0 = $ac_cv_sizeof_fftw_r2r_kind; then AC_MSG_ERROR([sizeof(fftw_r2r_kind) test failed]); fi
+C_FFTW_R2R_KIND=C_INT`expr $ac_cv_sizeof_fftw_r2r_kind \* 8`_T
+AC_SUBST(C_FFTW_R2R_KIND)
+
dnl Version number for libtool shared libraries. Libtool wants a string
dnl of the form CURRENT:REVISION:AGE. We adopt the convention that
dnl REVISION is the same as the FFTW minor version number.
@@ -522,36 +552,6 @@
#endif
])
-AC_CHECK_SIZEOF(int)
-AC_CHECK_SIZEOF(unsigned int)
-AC_CHECK_SIZEOF(long)
-AC_CHECK_SIZEOF(unsigned long)
-AC_CHECK_SIZEOF(long long)
-AC_CHECK_SIZEOF(unsigned long long)
-AC_CHECK_SIZEOF(size_t)
-AC_CHECK_SIZEOF(ptrdiff_t)
-
-AC_CHECK_TYPES([ptrdiff_t])
-AC_CHECK_TYPES(uintptr_t, [], [AC_CHECK_SIZEOF(void *)], [$ac_includes_default
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif])
-
-AC_CHECK_SIZEOF(float)
-AC_CHECK_SIZEOF(double)
-
-dnl Check sizeof fftw_r2r_kind for Fortran interface [it has == sizeof(int)
-dnl for years, but being paranoid]. Note: the definition here must match
-dnl the one in api/fftw3.h!
-AC_CHECK_SIZEOF(fftw_r2r_kind, [], [typedef enum {
- FFTW_R2HC=0, FFTW_HC2R=1, FFTW_DHT=2,
- FFTW_REDFT00=3, FFTW_REDFT01=4, FFTW_REDFT10=5, FFTW_REDFT11=6,
- FFTW_RODFT00=7, FFTW_RODFT01=8, FFTW_RODFT10=9, FFTW_RODFT11=10
-} fftw_r2r_kind;])
-if test 0 = $ac_cv_sizeof_fftw_r2r_kind; then AC_MSG_ERROR([sizeof(fftw_r2r_kind) test failed]); fi
-C_FFTW_R2R_KIND=C_INT`expr $ac_cv_sizeof_fftw_r2r_kind \* 8`_T
-AC_SUBST(C_FFTW_R2R_KIND)
-
dnl Checks for library functions.
AC_FUNC_ALLOCA
AC_FUNC_STRTOD
auoconf 2.71
from sample.config.log:
If you want I can submit patch for ac 2.71 warnings (that patch will be backward compatible with older ac).