diff --git a/.travis.yml b/.travis.yml index 4b1ab15e..2bc5872d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -247,6 +247,8 @@ install: - git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root - cd boost-root - git submodule update --init tools/build + - git submodule update --init tools/boost_install + - git submodule update --init libs/headers - git submodule update --init libs/config - git submodule update --init libs/core - git submodule update --init libs/container_hash diff --git a/appveyor.yml b/appveyor.yml index b131adcd..8ab4c68c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -23,13 +23,15 @@ environment: - ARGS: --toolset=msvc-14.0 address-model=32 - ARGS: --toolset=msvc-12.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 cxxstd=latest - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 ARGS: --toolset=msvc-14.1 address-model=64 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 ARGS: --toolset=msvc-14.1 address-model=32 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - ARGS: --toolset=msvc-14.1 address-model=64 cxxflags=-std:c++latest + ARGS: --toolset=msvc-14.1 address-model=64 cxxstd=17 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + ARGS: --toolset=msvc-14.1 address-model=64 cxxstd=latest cxxflags=-permissive- - ARGS: --toolset=gcc address-model=64 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 @@ -38,13 +40,18 @@ environment: PATH: C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin;%PATH% - ARGS: --toolset=gcc address-model=32 linkflags=-Wl,-allow-multiple-definition PATH: C:\MinGW\bin;%PATH% - + - ARGS: --toolset=gcc address-model=32 define=_POSIX_C_SOURCE=200112L threadapi=pthread link=static + PATH: C:\cygwin\bin;%PATH% + - ARGS: --toolset=gcc address-model=64 define=_POSIX_C_SOURCE=200112L define=__USE_ISOC99 threadapi=pthread link=static + PATH: C:\cygwin64\bin;%PATH% install: - cd .. - git clone -b %APPVEYOR_REPO_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root - cd boost-root - git submodule update --init tools/build + - git submodule update --init tools/boost_install + - git submodule update --init libs/headers - git submodule update --init libs/config - git submodule update --init libs/core - git submodule update --init libs/container_hash diff --git a/include/boost/regex/config.hpp b/include/boost/regex/config.hpp index de817dbf..f01321c8 100644 --- a/include/boost/regex/config.hpp +++ b/include/boost/regex/config.hpp @@ -120,6 +120,10 @@ #ifdef __clang__ # define BOOST_REGEX_NO_EXTERNAL_TEMPLATES #endif +#ifdef __CYGWIN__ +/* We get multiply defined symbols without this: */ +# define BOOST_REGEX_NO_EXTERNAL_TEMPLATES +#endif /* * If there isn't good enough wide character support then there will diff --git a/src/regex.cpp b/src/regex.cpp index e9e97627..5a8bbdc0 100644 --- a/src/regex.cpp +++ b/src/regex.cpp @@ -28,7 +28,9 @@ # include #endif #ifdef BOOST_REGEX_HAS_MS_STACK_GUARD -#define WIN32_LEAN_AND_MEAN +#ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +#endif #ifndef NOMINMAX # define NOMINMAX #endif diff --git a/src/static_mutex.cpp b/src/static_mutex.cpp index d02b01fc..35dd0c79 100644 --- a/src/static_mutex.cpp +++ b/src/static_mutex.cpp @@ -28,7 +28,9 @@ #ifndef NOMINMAX # define NOMINMAX #endif -#define WIN32_LEAN_AND_MEAN +#ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +#endif #include #include #endif diff --git a/src/w32_regex_traits.cpp b/src/w32_regex_traits.cpp index 0f825702..5b5236aa 100644 --- a/src/w32_regex_traits.cpp +++ b/src/w32_regex_traits.cpp @@ -23,7 +23,9 @@ #include #include -#define WIN32_LEAN_AND_MEAN +#ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +#endif #ifndef NOMINMAX # define NOMINMAX #endif diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 17f6b842..49ed730b 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -19,7 +19,7 @@ project U_USING_ICU_NAMESPACE=0 #gcc-mw:static #gcc-mingw:static - gcc-cygwin:static + #gcc-cygwin:static sun:static ;