forked from boostorg/config
Config: Fix up cygwin support as follows:
* Define BOOST_HAS_STDINT_H in more situations. * Disable BOOST_NO_CXX14_HDR_SHARED_MUTEX in -std=c++XX mode as the std header doesn't compile (cygwin bug). * Add more tests to CI.
This commit is contained in:
16
appveyor.yml
16
appveyor.yml
@@ -30,14 +30,18 @@ environment:
|
|||||||
- ARGS: --toolset=msvc-12.0 address-model=64
|
- ARGS: --toolset=msvc-12.0 address-model=64
|
||||||
- ARGS: --toolset=msvc-14.0 address-model=64
|
- ARGS: --toolset=msvc-14.0 address-model=64
|
||||||
- ARGS: --toolset=msvc-14.0 address-model=64 cxxflags=-std:c++latest
|
- ARGS: --toolset=msvc-14.0 address-model=64 cxxflags=-std:c++latest
|
||||||
- ARGS: --toolset=gcc address-model=64
|
- ARGS: --toolset=gcc address-model=64 cxxstd=03,11,14,1z
|
||||||
PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
|
PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
|
||||||
- ARGS: --toolset=gcc address-model=64 cxxflags=-std=gnu++1z
|
- ARGS: --toolset=gcc address-model=64 cxxstd=03,11,14,1z
|
||||||
PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
|
PATH: C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw64\bin;%PATH%
|
||||||
- ARGS: --toolset=gcc address-model=32
|
- ARGS: --toolset=gcc address-model=64 cxxstd=03,11,14,1z
|
||||||
PATH: C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin;%PATH%
|
PATH: C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
|
||||||
- ARGS: --toolset=gcc address-model=32 linkflags=-Wl,-allow-multiple-definition
|
- ARGS: --toolset=gcc address-model=32 linkflags=-Wl,-allow-multiple-definition cxxstd=03,11,14,1z
|
||||||
PATH: C:\MinGW\bin;%PATH%
|
PATH: C:\MinGW\bin;%PATH%
|
||||||
|
- ARGS: --toolset=gcc address-model=64 cxxstd=03,11,14,1z
|
||||||
|
PATH: C:\cygwin64\bin;%PATH%
|
||||||
|
- ARGS: --toolset=gcc address-model=32 cxxstd=03,11,14,1z
|
||||||
|
PATH: C:\cygwin\bin;%PATH%
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- cd ..
|
- cd ..
|
||||||
|
@@ -38,10 +38,21 @@
|
|||||||
#ifdef _STDINT_H
|
#ifdef _STDINT_H
|
||||||
#define BOOST_HAS_STDINT_H
|
#define BOOST_HAS_STDINT_H
|
||||||
#endif
|
#endif
|
||||||
|
#if __GNUC__ > 5 && !defined(BOOST_HAS_STDINT_H)
|
||||||
|
# define BOOST_HAS_STDINT_H
|
||||||
|
#endif
|
||||||
|
|
||||||
/// Cygwin has no fenv.h
|
/// Cygwin has no fenv.h
|
||||||
#define BOOST_NO_FENV_H
|
#define BOOST_NO_FENV_H
|
||||||
|
|
||||||
|
// Cygwin has it's own <pthread.h> which breaks <shared_mutex> unless the correct compiler flags are used:
|
||||||
|
#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
|
#include <pthread.h>
|
||||||
|
#if !(__XSI_VISIBLE >= 500 || __POSIX_VISIBLE >= 200112)
|
||||||
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
// boilerplate code:
|
// boilerplate code:
|
||||||
#include <boost/config/detail/posix_features.hpp>
|
#include <boost/config/detail/posix_features.hpp>
|
||||||
|
|
||||||
|
@@ -60,7 +60,7 @@
|
|||||||
# include <stdint.h>
|
# include <stdint.h>
|
||||||
|
|
||||||
// There is a bug in Cygwin two _C macros
|
// There is a bug in Cygwin two _C macros
|
||||||
# if defined(__STDC_CONSTANT_MACROS) && defined(__CYGWIN__)
|
# if defined(INTMAX_C) && defined(__CYGWIN__)
|
||||||
# undef INTMAX_C
|
# undef INTMAX_C
|
||||||
# undef UINTMAX_C
|
# undef UINTMAX_C
|
||||||
# define INTMAX_C(c) c##LL
|
# define INTMAX_C(c) c##LL
|
||||||
|
Reference in New Issue
Block a user