diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 00000000..70a6342b
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,4 @@
+[submodule "docca"]
+ path = doc/docca
+ url = https://github.com/vinniefalco/docca.git
+ branch = .
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a5ee8d88..72ba1156 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,14 +1,19 @@
+Version 280:
+
+* Fix non-msvc cmake
+* Use docca master branch
+
+--------------------------------------------------------------------------------
+
Version 279:
+* Use regular throw in test
* Fix pragma warning
-* Use superproject docca
--------------------------------------------------------------------------------
Version 278:
-* Update documentation
-* Update docca submodule
* Use regular throw in test
--------------------------------------------------------------------------------
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ca291db8..9612c220 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -40,7 +40,7 @@ endfunction()
#
#-------------------------------------------------------------------------------
-project (Beast VERSION 279)
+project (Beast VERSION 277)
set_property (GLOBAL PROPERTY USE_FOLDERS ON)
option (Beast_BUILD_EXAMPLES "Build examples" ON)
diff --git a/doc/Jamfile b/doc/Jamfile
index 854a69cc..0cee1212 100644
--- a/doc/Jamfile
+++ b/doc/Jamfile
@@ -37,6 +37,34 @@ local sources = [ path.glob-tree ../include/boost/beast : *.hpp *.ipp : detail i
#ECHO Using xsltproc from "$(.xsltproc)" ;
+#-------------------------------------------------------------------------------
+#
+# Generate transform.xsl. This xsl transfomration takes as input
+# the Doxygen-generated XML and produces QuickBook output.
+#
+make transform.xsl
+ :
+ docca/include/docca/doxygen.xsl
+ xsl/config.xsl
+ xsl/class_detail.xsl
+ xsl/includes.xsl
+ xsl/includes_foot.xsl
+ :
+ @make_transform
+ ;
+
+# Make a copy of the docca transform. Then, insert our
+# customizations into the speciall marked locations using sed.
+#
+actions make_transform
+{
+ cp $(2[1]) $(1)
+ sed -i -e "//{r $(2[2])" -e "d}" $(1)
+ sed -i -e "//{r $(2[3])" -e "d}" $(1)
+ sed -i -e "//{r $(2[4])" -e "d}" $(1)
+ sed -i -e "//{r $(2[5])" -e "d}" $(1)
+}
+
#-------------------------------------------------------------------------------
#
# Invoke Doxygen to process the header files and produce the XML
@@ -78,140 +106,8 @@ else
}
}
-#-------------------------------------------------------------------------------
-#
-# Copy all the XSLT modules to the target directory.
-#
-# FIXME: Change this so we can just specify a directory,
-# rather than every file individually.
-#
-# Also, somehow force dependencies in a general way
-# such that the XSLT has to be executed again
-# if any of the modules change. For example,
-# if base-extract-xml-pages.xml changes, then
-# an invocation of extract-xml-pages.xsl (which
-# imports the former) must be run again.
-#
-path-constant docca : ../../../tools/docca ;
-make extract-xml-pages.xsl : $(docca)/include/docca/extract-xml-pages.xsl : @copy_script ;
-make base-extract-xml-pages.xsl : $(docca)/include/docca/base-extract-xml-pages.xsl : @copy_script ;
-make common.xsl : $(docca)/include/docca/common.xsl : @copy_script ;
-make stage1.xsl : $(docca)/include/docca/stage1.xsl : @copy_script ;
-make base-stage1.xsl : $(docca)/include/docca/base-stage1.xsl : @copy_script ;
-make stage2.xsl : $(docca)/include/docca/stage2.xsl : @copy_script ;
-make assemble-quickbook.xsl : $(docca)/include/docca/assemble-quickbook.xsl : @copy_script ;
-make emphasized-types.xsl : $(docca)/include/docca/emphasized-types.xsl : @copy_script ;
-
-make config.xsl
- :
- $(docca)/include/docca/config.xsl
- xsl/config.xsl
- xsl/class_detail.xsl
- xsl/includes.xsl
- :
- @make_config
- ;
-
-actions make_config
-{
- cp $(2[1]) $(1)
- sed -i -e "//{r $(2[2])" -e "d}" $(1)
- sed -i -e "//{r $(2[4])" -e "d}" $(1)
-}
-
-# Make a copy of the given file.
-#
-actions copy_script
-{
- cp $(2[1]) $(1)
-}
-
-
-# This is to initially create the directory as a side effect; I'm sure there's a better way...
-make xml-pages/directory/placeholder : index.xml : @null_action ;
-
-#-------------------------------------------------------------------------------
-#
-# Run index.xml through the first transformation stage
-# (assembling and splitting the XML into page-specific files).
-#
-make xml-pages.xml
- :
- index.xml
- extract-xml-pages.xsl
-
- # Make bjam aware of additional dependencies
- base-extract-xml-pages.xsl
- config.xsl
- common.xsl
- :
- saxonhe.saxonhe
- ;
-
-# This is just to make the directory eligible as a source
-make xml-pages : index.xml : @null_action ;
-
-# Not ready for prime time until I figure out how to get the xslt-visualizer code in place
-#make stage1/code-trace-enabled/stage1.xsl
-# :
-# stage1.xsl
-# xslt-visualizer/xsl/trace-enable.xsl
-# :
-# saxonhe.saxonhe
-# ;
-
-# This is to initially create the directory as a side effect; I'm sure there's a better way...
-make stage1/results/directory/placeholder : xml-pages.xml : @null_action ;
-make stage2/results/directory/placeholder : xml-pages.xml : @null_action ;
-
-# TODO: figure out why this (and the following stage) get built every time
-make stage1/results
- :
- xml-pages
- stage1.xsl
-
- # additional dependencies
- xml-pages.xml
- base-stage1.xsl
- config.xsl
- common.xsl
- :
- saxonhe.saxonhe
- ;
-
-make stage2/results
- :
- stage1/results
- stage2.xsl
- :
- saxonhe.saxonhe
- ;
-
-make reference.qbk
- :
- xml-pages.xml
- assemble-quickbook.xsl
-
- # TODO: make this input to the XSLT somehow
- # rather than relying on it being hard-coded
- # in the XSLT (which it is!)
- stage2/results
- :
- saxonhe.saxonhe
- ;
-
-actions make_dir
-{
- mkdir $(1)
-}
-
make combine.xslt : index.xml : @null_action ;
-actions touch_file
-{
- touch $(1) ;
-}
-
actions null_action
{
touch -c $(1) ;
@@ -235,13 +131,13 @@ actions call-xsltproc
# Produce the reference.qbk file by running
# the reference xml through the transform.
#
-#make reference.qbk
-# :
-# reference.xml
-# transform.xsl
-# :
-# saxonhe.saxonhe
-# ;
+make reference.qbk
+ :
+ reference.xml
+ transform.xsl
+ :
+ saxonhe.saxonhe
+ ;
# We have to make a copy of reference.qbk and put it
# in a place where the static .qbk files can find it
@@ -305,4 +201,4 @@ alias boostdoc ;
explicit boostdoc ;
alias boostrelease : beast ;
-explicit boostrelease ;
\ No newline at end of file
+explicit boostrelease ;
diff --git a/doc/docca b/doc/docca
new file mode 160000
index 00000000..77a24a56
--- /dev/null
+++ b/doc/docca
@@ -0,0 +1 @@
+Subproject commit 77a24a56c68ebb158f7d605cc3d5546510002c1c
diff --git a/doc/xsl/config.xsl b/doc/xsl/config.xsl
index cdbe93f7..798a532c 100644
--- a/doc/xsl/config.xsl
+++ b/doc/xsl/config.xsl
@@ -1,6 +1,6 @@
+
-
diff --git a/doc/xsl/includes.xsl b/doc/xsl/includes.xsl
index 8660e7e1..a84b5e77 100644
--- a/doc/xsl/includes.xsl
+++ b/doc/xsl/includes.xsl
@@ -1,8 +1,5 @@
-
-core.hpp
-http.hpp
-ssl.hpp
-websocket.hpp
-zlib.hpp
-
-
+
+ Defined in header [include_file
+
+ ]
+
diff --git a/doc/xsl/includes_foot.xsl b/doc/xsl/includes_foot.xsl
new file mode 100644
index 00000000..f50c71d5
--- /dev/null
+++ b/doc/xsl/includes_foot.xsl
@@ -0,0 +1,19 @@
+
+
+
+
Convenience header [include_file boost/beast/core.hpp]
+
+
+
Convenience header [include_file boost/beast/http.hpp]
+
+
+
Convenience header [include_file boost/beast/ssl.hpp]
+
+
+
Convenience header [include_file boost/beast/websocket.hpp]
+
+
+
Convenience header [include_file boost/beast/zlib.hpp]
+
+
+
diff --git a/include/boost/beast/_experimental/unit_test/suite.hpp b/include/boost/beast/_experimental/unit_test/suite.hpp
index 58f8598b..fd6e2a2f 100644
--- a/include/boost/beast/_experimental/unit_test/suite.hpp
+++ b/include/boost/beast/_experimental/unit_test/suite.hpp
@@ -11,6 +11,7 @@
#define BOOST_BEAST_UNIT_TEST_SUITE_HPP
#include
+#include
#include
#include
#include
@@ -565,7 +566,7 @@ fail(std::string const& reason)
if(abort_)
{
aborted_ = true;
- throw abort_exception();
+ BOOST_THROW_EXCEPTION(abort_exception());
}
}
@@ -583,7 +584,7 @@ suite::
propagate_abort()
{
if(abort_ && aborted_)
- throw abort_exception();
+ BOOST_THROW_EXCEPTION(abort_exception());
}
template
diff --git a/include/boost/beast/version.hpp b/include/boost/beast/version.hpp
index 2dcc4992..e6c1882e 100644
--- a/include/boost/beast/version.hpp
+++ b/include/boost/beast/version.hpp
@@ -20,7 +20,7 @@
This is a simple integer that is incremented by one every
time a set of code changes is merged to the develop branch.
*/
-#define BOOST_BEAST_VERSION 279
+#define BOOST_BEAST_VERSION 277
#define BOOST_BEAST_VERSION_STRING "Boost.Beast/" BOOST_STRINGIZE(BOOST_BEAST_VERSION)
diff --git a/include/boost/beast/websocket/stream_base.hpp b/include/boost/beast/websocket/stream_base.hpp
index 8553e5a6..a214553f 100644
--- a/include/boost/beast/websocket/stream_base.hpp
+++ b/include/boost/beast/websocket/stream_base.hpp
@@ -159,12 +159,7 @@ struct stream_base
}
};
-private:
- template<
- class NextLayer,
- bool deflateSupported>
- friend class stream;
-
+protected:
enum class status
{
//none,
diff --git a/test/beast/core/saved_handler.cpp b/test/beast/core/saved_handler.cpp
index e1a7b2cd..57a105c6 100644
--- a/test/beast/core/saved_handler.cpp
+++ b/test/beast/core/saved_handler.cpp
@@ -86,7 +86,7 @@ public:
throwing_handler(throwing_handler&&)
{
- throw std::exception{};
+ BOOST_THROW_EXCEPTION(std::exception{});
}
void