# copyright John Maddock 2003
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt.

project
    : requirements
      <library>/boost/regex//boost_regex_old
      <library>/boost/timer//boost_timer
      <threading>multi
      <link>shared:<define>BOOST_REGEX_DYN_LINK=1
      # There are unidentified linker problems on these platforms:
      <toolset>mipspro-7.4:<link>static
      <toolset>sun-5.9:<link>static
      <toolset>msvc:<warnings>all
      <toolset>gcc:<warnings>extra
      <define>U_USING_ICU_NAMESPACE=0
      #<toolset>gcc-mw:<link>static
	  #<toolset>gcc-mingw:<link>static
	  <toolset>gcc-cygwin:<link>static
      <define>BOOST_TIMER_ENABLE_DEPRECATED
    ;

rule regex-test-run ( sources + : input * : name * )
{
        return [
           run
             # sources
             $(sources)
             # dependencies
             /boost/regex//boost_regex
         :  # additional args
            $(input)
         :  # test-files
         :  # requirements
            <toolset>msvc-7.1:<define>TEST_MFC=1 <toolset>msvc-7.0:<define>TEST_MFC=1
         :  # test name
            $(name)
        ] ;
}

path-constant HERE : . ;

test-suite regex-examples :

[ regex-test-run timer/regex_timer.cpp /boost/smart_ptr//boost_smart_ptr : $(HERE)/timer/input_script.txt ]
[ regex-test-run grep/grep.cpp /boost/program_options//boost_program_options/<link>static : -n -b -E include $(HERE)/../include/boost/regex.hpp : test_grep ]
[ regex-test-run snippets/credit_card_example.cpp ]
[ regex-test-run snippets/mfc_example.cpp ]
[ regex-test-run snippets/icu_example.cpp ]
[ regex-test-run snippets/partial_regex_grep.cpp : $(HERE)/../index.htm ]
[ regex-test-run snippets/partial_regex_iterate.cpp : $(HERE)/../index.htm ]
[ regex-test-run snippets/partial_regex_match.cpp : 1234-5678-8765-4 ]
[ regex-test-run snippets/regex_grep_example_1.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ]
[ regex-test-run snippets/regex_grep_example_2.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ]
[ regex-test-run snippets/regex_grep_example_3.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ]
[ regex-test-run snippets/regex_grep_example_4.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ]
[ regex-test-run snippets/regex_match_example.cpp : -auto ]
[ regex-test-run snippets/regex_merge_example.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ]
[ regex-test-run snippets/regex_replace_example.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ]
[ regex-test-run snippets/regex_search_example.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ]
[ regex-test-run snippets/regex_split_example_1.cpp : -auto ]
[ regex-test-run snippets/regex_split_example_2.cpp : $(HERE)/../doc/html/index.html ]
[ regex-test-run snippets/regex_token_iterator_eg_1.cpp : -auto ]
[ regex-test-run snippets/regex_token_iterator_eg_2.cpp : $(HERE)/../doc/html/index.html ]
[ regex-test-run snippets/regex_iterator_example.cpp : $(HERE)/../include/boost/regex/v5/regex_iterator.hpp ]
[ run snippets/captures_example.cpp
  ../test/captures//boost_regex_extra
  : : :  <threading>multi <define>BOOST_REGEX_MATCH_EXTRA=1 ]

;
