Compare commits

...

12 Commits

Author SHA1 Message Date
fc4dc17dc7 change ICU_LINK configuration 2019-10-25 19:05:52 +01:00
8a8ceab94a Merge pull request #85 from Mike-Devel/develop
Update hash.hpp include path
2019-05-13 18:22:47 +01:00
9db6d59861 Update hash.hpp include path 2019-05-11 19:07:33 +02:00
252876ff5a Merge pull request #77 from MarcelRaad/extra_semi
Fix -Wextra-semi clang warnings
2019-02-26 09:19:54 +00:00
a6586678a5 Fix -Wextra-semi clang warnings
Remove superfluous semicola after constructor bodies.
2019-02-25 13:29:16 +01:00
fed22db5f9 Merge pull request #71 from jeking3/cygwin-ci
Add cygwin, cygwin64, and MSVC2017 strict builds to AppVeyor
2019-02-10 13:06:27 +00:00
88f29667b7 Update CI scripts to handle new module layout. 2018-12-20 09:04:02 +00:00
4e0eadc11b Merge branch 'develop' of https://github.com/boostorg/regex into develop 2018-11-11 17:13:22 +00:00
3c6cf87718 Disable external template instances on cygwin - they lead to duplicate symbols for some reason.
See https://github.com/boostorg/regex/issues/64.
2018-11-11 17:12:56 +00:00
cdbffe607b Merge pull request #70 from scramsby/win32-lean-and-mean
Fix potential double-definition of WIN32_LEAN_AND_MEAN macro
2018-11-11 16:52:31 +00:00
23915ade0c Add cygwin, cygwin64, and MSVC2017 strict builds to AppVeyor 2018-11-11 10:39:00 -05:00
f4e1ff192f Fix potential double-definition of WIN32_LEAN_AND_MEAN macro 2018-11-09 16:08:07 -08:00
11 changed files with 74 additions and 30 deletions

View File

@ -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

View File

@ -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

View File

@ -5,6 +5,7 @@
import modules ;
import testing ;
import errors ;
project : requirements
# default to all warnings on:
@ -32,19 +33,31 @@ rule path_options ( properties * )
#
if ! $(disable-icu)
{
if [ modules.peek : ICU_LINK ]
{
errors.user-error : "The ICU_LINK option is no longer supported by the Boost.Regex build - please refer to the documentation for equivalent options" ;
}
if [ modules.peek : ICU_PATH ]
{
ICU_PATH = [ modules.peek : ICU_PATH ] ;
}
if [ modules.peek : ICU_LINK ]
if [ modules.peek : ICU_ICUUC_NAME ]
{
ICU_LINK = [ modules.peek : ICU_LINK ] ;
ICU_ICUUC_NAME = [ modules.peek : ICU_ICUUC_NAME ] ;
}
if [ modules.peek : ICU_ICUDT_NAME ]
{
ICU_ICUDT_NAME = [ modules.peek : ICU_ICUDT_NAME ] ;
}
if [ modules.peek : ICU_ICUIN_NAME ]
{
ICU_ICUIN_NAME = [ modules.peek : ICU_ICUIN_NAME ] ;
}
if $(ICU_LINK)
if $(ICU_ICUUC_NAME)
{
ICU_OPTS = <include>$(ICU_PATH)/include <linkflags>$(ICU_LINK) <dll-path>$(ICU_PATH)/bin <define>BOOST_HAS_ICU=1 <runtime-link>shared ;
lib icuuc : : <name>$(ICU_ICUUC_NAME) ;
}
else
{
@ -55,7 +68,13 @@ if ! $(disable-icu)
lib icuuc : : <toolset>msvc <variant>debug <name>sicuucd <runtime-link>static <conditional>@path_options ;
lib icuuc : : <toolset>intel <target-os>windows <variant>debug <name>sicuucd <runtime-link>static <conditional>@path_options ;
lib icuuc : : <name>this_is_an_invalid_library_name ;
}
if $(ICU_ICUDT_NAME)
{
lib icudt : : <name>$(ICU_ICUDT_NAME) ;
}
else
{
lib icudt : : <name>icudata <runtime-link>shared <conditional>@path_options ;
lib icudt : : <name>icudt <toolset>msvc <runtime-link>shared <conditional>@path_options ;
lib icudt : : <name>icudt <toolset>intel <target-os>windows <runtime-link>shared <conditional>@path_options ;
@ -63,7 +82,13 @@ if ! $(disable-icu)
lib icudt : : <name>sicudt <toolset>msvc <runtime-link>static <conditional>@path_options ;
lib icudt : : <name>sicudt <toolset>intel <target-os>windows <runtime-link>static <conditional>@path_options ;
lib icudt : : <name>this_is_an_invalid_library_name ;
}
if $(ICU_ICUIN_NAME)
{
lib icuin : : <name>$(ICU_ICUIN_NAME) ;
}
else
{
lib icuin : : <name>icui18n <runtime-link>shared <conditional>@path_options ;
lib icuin : : <toolset>msvc <variant>debug <name>icuind <runtime-link>shared <conditional>@path_options ;
lib icuin : : <toolset>msvc <name>icuin <runtime-link>shared <conditional>@path_options ;
@ -75,20 +100,20 @@ if ! $(disable-icu)
lib icuin : : <toolset>intel <target-os>windows <variant>debug <name>sicuind <runtime-link>static <conditional>@path_options ;
lib icuin : : <toolset>intel <target-os>windows <name>sicuin <runtime-link>static <conditional>@path_options ;
lib icuin : : <name>this_is_an_invalid_library_name ;
ICU_OPTS =
<include>$(ICU_PATH)/include
<runtime-link>shared:<library>icuuc/<link>shared
<runtime-link>shared:<library>icudt/<link>shared
<runtime-link>shared:<library>icuin/<link>shared
<runtime-link>static:<library>icuuc
<runtime-link>static:<library>icudt
<runtime-link>static:<library>icuin
<define>BOOST_HAS_ICU=1
<runtime-link>static:<define>U_STATIC_IMPLEMENTATION=1
;
}
ICU_OPTS =
<include>$(ICU_PATH)/include
<runtime-link>shared:<library>icuuc/<link>shared
<runtime-link>shared:<library>icudt/<link>shared
<runtime-link>shared:<library>icuin/<link>shared
<runtime-link>static:<library>icuuc
<runtime-link>static:<library>icudt
<runtime-link>static:<library>icuin
<define>BOOST_HAS_ICU=1
<runtime-link>static:<define>U_STATIC_IMPLEMENTATION=1
;
}
unit-test has_icu : has_icu_test.cpp : $(ICU_OPTS) ;

View File

@ -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

View File

@ -20,7 +20,7 @@
#define BOOST_REGEX_V4_BASIC_REGEX_HPP
#include <boost/type_traits/is_same.hpp>
#include <boost/functional/hash.hpp>
#include <boost/container_hash/hash.hpp>
#ifdef BOOST_MSVC
#pragma warning(push)

View File

@ -67,7 +67,7 @@ struct saved_matched_paren : public saved_state
{
int index;
sub_match<BidiIterator> sub;
saved_matched_paren(int i, const sub_match<BidiIterator>& s) : saved_state(1), index(i), sub(s){};
saved_matched_paren(int i, const sub_match<BidiIterator>& s) : saved_state(1), index(i), sub(s){}
};
template <class BidiIterator>
@ -75,7 +75,7 @@ struct saved_position : public saved_state
{
const re_syntax_base* pstate;
BidiIterator position;
saved_position(const re_syntax_base* ps, BidiIterator pos, int i) : saved_state(i), pstate(ps), position(pos){};
saved_position(const re_syntax_base* ps, BidiIterator pos, int i) : saved_state(i), pstate(ps), position(pos){}
};
template <class BidiIterator>
@ -83,7 +83,7 @@ struct saved_assertion : public saved_position<BidiIterator>
{
bool positive;
saved_assertion(bool p, const re_syntax_base* ps, BidiIterator pos)
: saved_position<BidiIterator>(ps, pos, saved_type_assertion), positive(p){};
: saved_position<BidiIterator>(ps, pos, saved_type_assertion), positive(p){}
};
template <class BidiIterator>

View File

@ -11,7 +11,7 @@
#include <boost/lexical_cast.hpp>
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/functional/hash.hpp>
#include <boost/container_hash/hash.hpp>
#include <vector>
#include <set>
#include <iostream>

View File

@ -28,7 +28,9 @@
# include <malloc.h>
#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

View File

@ -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 <windows.h>
#include <boost/static_assert.hpp>
#endif

View File

@ -23,7 +23,9 @@
#include <boost/regex/regex_traits.hpp>
#include <boost/regex/pattern_except.hpp>
#define WIN32_LEAN_AND_MEAN
#ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
#endif
#ifndef NOMINMAX
# define NOMINMAX
#endif

View File

@ -19,7 +19,7 @@ project
<define>U_USING_ICU_NAMESPACE=0
#<toolset>gcc-mw:<link>static
#<toolset>gcc-mingw:<link>static
<toolset>gcc-cygwin:<link>static
#<toolset>gcc-cygwin:<link>static
<toolset>sun:<link>static
;