build: fix stdint/inttypes detection with non-autotools

Fix `stdint.h` and `inttypes.h` detection with non-autotools builds on
Windows. (autotools already auto-detected them accurately.)

`lib/config-win32.h` builds (e.g. `Makefile.mk`):
- set `HAVE_STDINT_H` where supported.
- set `HAVE_INTTYPES_H` for MinGW.

CMake:
- auto-detect them on Windows. (They were both force-disabled.)
- delete unused `CURL_PULL_STDINT_H`.
- delete unused `CURL_PULL_INTTYPES_H`.
- stop detecting `HAVE_STDINT_H` twice.
  Present since the initial CMake commit: 4c5307b456

curl doesn't use these C99 headers, we need them now to workaround
broken wolfSSL builds. Ref: #10739

Once that clears up, we can delete these detections and macros (unless
we want to keep them for future us.)

Reviewed-by: Daniel Stenberg
Closes #10745
This commit is contained in:
Viktor Szakats 2023-03-13 10:46:38 +00:00
parent 8f7d87cbf3
commit db073c9d88
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
3 changed files with 9 additions and 6 deletions

View file

@ -39,10 +39,18 @@
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the <inttypes.h> header file. */
#if defined(_MSC_VER) && (_MSC_VER >= 1800)
#if defined(__MINGW32__) || \
(defined(_MSC_VER) && (_MSC_VER >= 1800))
#define HAVE_INTTYPES_H 1
#endif
/* Define to 1 if you have the <stdint.h> header file. */
#if defined(__MINGW32__) || defined(__POCC__) || \
(defined(_MSC_VER) && (_MSC_VER >= 1600)) || \
(defined(__BORLANDC__) && (__BORLANDC__ >= 0x0582))
#define HAVE_STDINT_H 1
#endif
/* Define if you have the <io.h> header file. */
#define HAVE_IO_H 1