summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorDana Robinson <43805+derobins@users.noreply.github.com>2021-06-30 18:02:42 (GMT)
committerGitHub <noreply@github.com>2021-06-30 18:02:42 (GMT)
commitb9dbabc1523c13627ada0bcb04d780e7ad93b658 (patch)
tree9e7ce4dab9a0a559fb61666d821fbe7ff52fc601 /configure.ac
parent18c08c5adc3fbc0e5b36fff9e97ead10da655e9a (diff)
downloadhdf5-b9dbabc1523c13627ada0bcb04d780e7ad93b658.zip
hdf5-b9dbabc1523c13627ada0bcb04d780e7ad93b658.tar.gz
hdf5-b9dbabc1523c13627ada0bcb04d780e7ad93b658.tar.bz2
VFD SWMR: Sync with develop (#811)
* Normalization with develop * Removes checks and work-arounds for strtoll and strtoull (#769) * Removes checks for (v)snprintf, which are C99 (#772) * Update missing release note info. (#776) * Replaces the H5_OVERRIDE macro with override (#773) The macro is no longer necessary now that we require C++11. * Cleans up some POSIX header bits in H5private.h (#783) * Removes outdated checks for ways inline might be defined (#781) These are obsolete now that we require C99. * Removes checks for system(), which is C89/90 (#782) * Removes C++ dependency on H5private.h (#774) * Removes C++ dependency on H5private.h Most C API calls have been removed, aside from a few uses of free, where we just dropped the 'HD'. A couple of H5_ATTR_UNUSED macros were also replaced with (void) statements. * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Further simplifies Autotools type size checks (#789) Also fixes an issue where clock_gettime and difftime are not detected due to earlier simplifications of this code. * Release Note (#784) * Normalization of CMake H5pubconf.h with Autotools (#791) Mostly just moving things around and changing the comments to keep the delta small. The only symbol change is that for curl/curl.h which I changed to H5_HAVE_CURL_CURL_H to match the Autotools. This symbol is not used in the library and is just an artifact of the checks. * Fix tools test (#794) * Removes ancient Autotools cruft (#790) * Reorganization of C and POSIX headers in H5public.h & H5private.h (#793) * Reorganization of C and POSIX headers in H5public.h & H5private.h Consolidated and removed duplicates * It turns out Windows has sys/types.h Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Removes checks for signal and set/longjmp, which are C89 (#798) Also removes checks for setjmp.h and stddef.h * Assume frexpl/f and fabsl/f, which are C99 (#799) * Assume the library has C99 types in C++ type code (#806) * Assume the library has C99 types in C++ type code * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Removes obsolete equivalents of C99's __func__ (#800) * Cleans up POSIX/C bits in H5private.h (#804) * Cleans up POSIX/C bits in H5private.h * Assume difftime exists (C89) * Reorg AC_CHECK_HEADERS so headers are in alphabetical order * Split off networking-related AC_CHECK_HEADERS * Remove unused UNAME_CYGWIN from configure.ac * Remove checks for unused sys/timeb.h * Tidying pass over H5private.h HD prefix macros * Tidy H5win32defs.h * Add HD prefix to various scanf calls * Committing clang-format changes * Fixes to the alarm(2) code used in the tests to make Windows happy Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Brings the tools getopt(3) replacement into the main library (#803) * Moves get_option from the tools library to the C library * Adds H5 prefix to get_option call and variables * Renames the H5_get_option long options struct and enum * Removes type guesses when C99 types are missing (#807) * Assume C99 types exist in H5detect.c (#808) * Fixes parallel issues from recent C99 changes * Adds MPE FUNC --> __func__ changes missed in earlier PRs * Fix typo * Fixes parallel issues from recent C99 changes (#809) * Fixes parallel issues from recent C99 changes * Adds MPE FUNC --> __func__ changes missed in earlier PRs * Even more missed FUNC --> __func__ macros * Removes remaining H5_TIME_WITH_SYS_TIME cruft (#810) Mostly from CMake Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac92
1 files changed, 18 insertions, 74 deletions
diff --git a/configure.ac b/configure.ac
index 1a5ddf7..a7366eb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -476,15 +476,9 @@ esac
## Data types and their sizes.
##
AC_TYPE_OFF_T
-AC_CHECK_TYPE([size_t], [],
- [AC_DEFINE_UNQUOTED([size_t], [unsigned long],
- [Define to `unsigned long' if <sys/types.h> does not define.])])
AC_CHECK_TYPE([ssize_t], [],
[AC_DEFINE_UNQUOTED([ssize_t], [long],
[Define to `long' if <sys/types.h> does not define.])])
-AC_CHECK_TYPE([ptrdiff_t], [],
- [AC_DEFINE_UNQUOTED([ptrdiff_t], [long],
- [Define to `long' if <sys/types.h> does not define.])])
AC_C_BIGENDIAN
AC_CHECK_SIZEOF([char])
AC_CHECK_SIZEOF([short])
@@ -1229,15 +1223,11 @@ AC_CHECK_LIB([dl], [dlopen])
## ----------------------------------------------------------------------
## Check for system header files.
##
-AC_HEADER_STDC
-AC_HEADER_TIME
## Unix
-AC_CHECK_HEADERS([sys/resource.h sys/time.h unistd.h sys/ioctl.h sys/stat.h])
-AC_CHECK_HEADERS([sys/socket.h sys/types.h sys/file.h])
-AC_CHECK_HEADERS([stddef.h setjmp.h features.h])
-AC_CHECK_HEADERS([dirent.h])
-AC_CHECK_HEADERS([netdb.h netinet/in.h arpa/inet.h])
+AC_CHECK_HEADERS([dirent.h features.h unistd.h])
+AC_CHECK_HEADERS([sys/file.h sys/ioctl.h sys/resource.h])
+AC_CHECK_HEADERS([sys/stat.h sys/time.h sys/types.h])
## Darwin
AC_SUBST([H5_IS_DARWIN])
@@ -1250,20 +1240,17 @@ case $host_os in
esac
## Windows
+## The winsock header is needed for gethostname
+AC_CHECK_HEADERS([winsock2.h])
case "`uname`" in
- CYGWIN*)
- AC_CHECK_HEADERS([sys/timeb.h])
- UNAME_CYGWIN="yes"
- ;;
MINGW*)
- AC_CHECK_HEADERS([winsock2.h sys/timeb.h])
AC_HAVE_LIBRARY([ws2_32])
;;
- *)
- AC_CHECK_HEADERS([winsock2.h sys/timeb.h])
- ;;
esac
+# Mirror VFD networking
+AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h sys/socket.h])
+
## ----------------------------------------------------------------------
## Some platforms require that all symbols are resolved when a library
## is linked. We can use the -no-undefined flag to tell libtool that
@@ -1351,16 +1338,6 @@ CFLAGS="$H5_CFLAGS $AM_CFLAGS $CFLAGS"
## Checkpoint the cache
AC_CACHE_SAVE
-## Write the confdefs.h header for checking sizes
-cat >>confdefs.h <<\EOF
-#include <stdbool.h>
-#include <stdint.h>
-#ifdef HAVE_UNISTD_H
-#include <sys/types.h>
-#endif
-#include <time.h>
-EOF
-
AC_CHECK_SIZEOF( [int8_t])
AC_CHECK_SIZEOF( [uint8_t])
AC_CHECK_SIZEOF( [int_least8_t])
@@ -1389,12 +1366,12 @@ AC_CHECK_SIZEOF([uint_least64_t])
AC_CHECK_SIZEOF( [int_fast64_t])
AC_CHECK_SIZEOF( [uint_fast64_t])
-AC_CHECK_SIZEOF([bool])
+AC_CHECK_SIZEOF([bool], [], [#include <stdbool.h>])
AC_CHECK_SIZEOF([off_t])
AC_CHECK_SIZEOF([ptrdiff_t])
AC_CHECK_SIZEOF([size_t])
AC_CHECK_SIZEOF([ssize_t])
-AC_CHECK_SIZEOF([time_t])
+AC_CHECK_SIZEOF([time_t], [], [#include <time.h>])
## Checkpoint the cache
AC_CACHE_SAVE
@@ -2019,40 +1996,19 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
## NOTE: clock_gettime may require linking to the rt or posix4 library
## so we'll search for it before calling AC_CHECK_FUNCS.
AC_SEARCH_LIBS([clock_gettime], [rt posix4])
-AC_CHECK_FUNCS([alarm clock_gettime difftime fcntl flock fork frexpf])
-AC_CHECK_FUNCS([frexpl gethostname getrusage gettimeofday])
+AC_CHECK_FUNCS([alarm asprintf clock_gettime fcntl flock fork])
+AC_CHECK_FUNCS([gethostname getrusage gettimeofday])
AC_CHECK_FUNCS([lstat rand_r random setsysinfo])
-AC_CHECK_FUNCS([signal longjmp setjmp siglongjmp sigsetjmp sigprocmask])
-AC_CHECK_FUNCS([sigtimedwait snprintf srandom strdup symlink system])
-AC_CHECK_FUNCS([strtoll strtoull timespeccmp])
-AC_CHECK_FUNCS([tmpfile asprintf vasprintf vsnprintf waitpid])
+AC_CHECK_FUNCS([siglongjmp sigsetjmp sigprocmask])
+AC_CHECK_FUNCS([srandom strdup symlink])
+AC_CHECK_FUNCS([tmpfile vasprintf waitpid])
+
+## VFD SWMR (move to main CHECK_FUNCS section at merge time)
+AC_CHECK_FUNCS([sigtimedwait timespeccmp])
## ----------------------------------------------------------------------
## Check compiler characteristics
##
-AC_C_CONST
-
-AC_MSG_CHECKING([if the compiler understands __inline__])
-AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE([[static __inline__ void f(void){return;};]])],
- [AC_DEFINE([HAVE___INLINE__], [1], [Define if the compiler understands __inline__]) AC_MSG_RESULT([yes])],
- [AC_MSG_RESULT([no])]
-)
-
-AC_MSG_CHECKING([if the compiler understands __inline])
-AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE([[static __inline void f(void){return;};]])],
- [AC_DEFINE([HAVE___INLINE], [1], [Define if the compiler understands __inline]) AC_MSG_RESULT([yes])],
- [AC_MSG_RESULT([no])]
-)
-
-AC_MSG_CHECKING([if the compiler understands inline])
-AC_COMPILE_IFELSE(
- [AC_LANG_SOURCE([[static inline void f(void){return;};]])],
- [AC_DEFINE([HAVE_INLINE], [1], [Define if the compiler understands inline]) AC_MSG_RESULT([yes])],
- [AC_MSG_RESULT([no])]
-)
-
AC_MSG_CHECKING([for __attribute__ extension])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[int __attribute__((unused)) x]])],
[AC_DEFINE([HAVE_ATTRIBUTE], [1],
@@ -2060,18 +2016,6 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[int __attribute__((unused)) x]])],
AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])])
-AC_MSG_CHECKING([for __func__ extension])
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[ const char *fname = __func__; ]])],
- [AC_DEFINE([HAVE_C99_FUNC], [1],
- [Define if the compiler understands the __func__ keyword])
- AC_MSG_RESULT([yes])],
- [AC_MSG_RESULT([no])])
-AC_MSG_CHECKING([for __FUNCTION__ extension])
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],,[[ const char *fname = __FUNCTION__; ]])],
- [AC_DEFINE([HAVE_FUNCTION], [1],
- [Define if the compiler understands the __FUNCTION__ keyword])
- AC_MSG_RESULT([yes])],
- [AC_MSG_RESULT([no])])
AC_MSG_CHECKING([for C99 designated initialization support])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
typedef struct {