Merge pull request #57 from apache/building-instructions
Updated documentation on building log4cxx
diff --git a/INSTALL b/INSTALL
index 6844f94..7956d12 100644
--- a/INSTALL
+++ b/INSTALL
@@ -14,21 +14,10 @@
Detailed build instructions are provided for in both HTML
-and APT format in releases. The APT sources are
-available in Git checkouts.
-
-Apache Maven 2:
-site/building/maven.html
-src/site/apt/building/maven.apt
-
-autotools:
-site/building/autotools.html
-src/site/apt/building/autotools.apt
+(as generated by Doxygen) and Markdown format in releases.
CMake:
-site/building/cmake.html
-src/site/apt/building/cmake.apt
+src/site/markdown/development/build-cmake.md
Microsoft Vcpkg:
-site/building/vcpkg.html
-src/site/apt/building/vcpkg.apt
+src/site/markdown/development/build-vcpkg.md
diff --git a/src/site/markdown/development/autotools.apt b/src/site/markdown/development/autotools.apt
deleted file mode 100644
index b222bf4..0000000
--- a/src/site/markdown/development/autotools.apt
+++ /dev/null
@@ -1,141 +0,0 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one or more
-~~ contributor license agreements. See the NOTICE file distributed with
-~~ this work for additional information regarding copyright ownership.
-~~ The ASF licenses this file to You under the Apache License, Version 2.0
-~~ (the "License"); you may not use this file except in compliance with
-~~ the License. You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing, software
-~~ distributed under the License is distributed on an "AS IS" BASIS,
-~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-~~ See the License for the specific language governing permissions and
-~~ limitations under the License.
- ------
- Building Apache log4cxx with autotools
- ------
- ------
- ------
-
-Building Apache log4cxx with autotools
-
-* Quick start:
-
- Make sure autoconf 2.50+, libtool, g++ and make are available, install or
- build apr 1.x, apr-util 1.x, gzip and zip.
-
-+------------+
-$ apt-get install build-essential automake libtool libapr1-dev libaprutil1-dev gzip zip
-$ cd apache-log4cxx-x.x.x
-$[./autogen.sh]
-$ ./configure
-$ make
-$ make check
-$ sudo make install
-+------------+
-
- Those lines in brackets are only necessary if you directly build from source.
-
-* configure options
-
-*-------------------+---------------------------------------------------------------------------------------------+
-| --with-apr | path to non-default location for APR. |
-*-------------------+---------------------------------------------------------------------------------------------+
-| --with-apr-util | path to non-default location for APR-Util. |
-*-------------------+---------------------------------------------------------------------------------------------+
-| --enable-wchar_t | Enable wchar_t API methods, choice of yes (default), no. |
-*-------------------+---------------------------------------------------------------------------------------------+
-| --enable-unichar | Enable UniChar API methods, choice of yes, no (default). |
-*-------------------+---------------------------------------------------------------------------------------------+
-| --enable-cfstring | Enable CFString API methods, requires Mac OS/X CoreFoundation, choice of yes, no (default). |
-*-------------------+---------------------------------------------------------------------------------------------+
-| --with-logchar | Interal character representation, choice of utf-8 (default), wchar_t , unichar. |
-*-------------------+---------------------------------------------------------------------------------------------+
-| --with-charset | Exteral character encoding, choice of utf-8, iso-8859-1, usascii, ebcdic, auto (default). |
-*-------------------+---------------------------------------------------------------------------------------------+
-| --with-SMTP | SMTP implementation for SMTPAppender, choice of libesmtp, no (default). |
-*-------------------+---------------------------------------------------------------------------------------------+
-| --with-ODBC | OBDC implementation for ODBCAppender, choice of unixODBC, iODBC, Microsoft, no (default). |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -help | Display help showing all options and exit. |
-*-------------------+---------------------------------------------------------------------------------------------+
-
- SMTP and ODBC options can depend on libraries that
- that have different licenses.
- You should review the corresponding licenses and understand
- the implications before redistribution.
-
-* Platform specific notes:
-
-** Mac OS/X:
-
- APR and APR-Util are provided by the platform in Mac OS/X 10.5 and iODBC in 10.4.
-
-** Debian:
-
- APR, APR-Util, gzip and zip may be installed by:
-
-+----+
-$ sudo apt-get install libapr1-dev libaprutil1-dev gzip zip
-+----+
-
-** FreeBSD:
-
- APR, APR-Util, gzip and zip may be installed from the ports collection by:
-
-+----+
-# cd /usr/ports/archivers/zip
-# make
-# make install
-# cd /usr/ports/archivers/gzip
-# make
-# make install
-# cd /usr/ports/devel/apr
-# make
-# make install
-+----+
-
-** Cygwin:
-
- Install zip (used by RollingFileAppender) and sed (used to normalize
- output files for comparison in the unit tests). The prepackaged
- APR currently available from Cygwin has APR_HAS_THREADS == 0.
- Some appenders will not be available and some may operate
- with reduced functionality. There have been reports of
- building APR on Cygwin with threads enabled.
-
-** MinGW:
-
- Recent APR 1.2.x releases fail ./configure with a error
- of "decision on anonymous shared memory failed". That issue
- has been fixed in the current APR SVN HEAD. The follow
- sequence worked with MSYS (with Python on Path):
-
-+----+
-$ cd expat-2.0.1
-$ ./configure
-$ make install
-$ cd ..
-$ svn co https://svn.apache.org/repos/asf/apr/apr/trunk apr
-$ cd apr
-$ ./buildconf.sh
-$ ./configure
-$ make install
-$ cd ..
-$ svn co \
- https://svn.apache.org/repos/asf/apr/apr-util/trunk \
- apr-util
-$ cd apr-util
-$ ./buildconf.sh
-$ ./configure --with-apr=/usr/local --with-expat=/usr/local
-$ make install
-$ cd ../apache-log4cxx-0.10.0
-$ ./configure --with-apr=/usr/local \
- --with-apr-util=/usr/local --with-logchar=wchar_t
-$ make install
-+----+
-
- Running "make check" was observed to fail with unexpected exceptions
- in streamtestcase and datetimedateformattestcase.
- See {{{https://issues.apache.org/jira/browse/LOGCXX-244}LOGCXX-244}}.
diff --git a/src/site/markdown/development/dependencies.md b/src/site/markdown/development/dependencies.md
index 5cfe28f..adf5153 100644
--- a/src/site/markdown/development/dependencies.md
+++ b/src/site/markdown/development/dependencies.md
@@ -24,12 +24,17 @@
# LOG4CXX Dependencies
+As of version 0.12.0, log4cxx requires a minimum C++ version of C++11.
+If C++17 is not available, then log4cxx requires Boost Thread in order
+to build.
+
log4cxx requires the following software to build and/or run correctly:
|Dependency Name|Version|Dependency Type|Homepage|
|---------------|-------|---------------|--------|
|Apache Portable Runtime(APR)|>=1.5.4|Compile/Runtime|https://apr.apache.org
|APR-Util |>=1.5.4|Compile/Runtime|https://apr.apache.org
+|Boost |any? |Compile/runtime. Not required if your compiler supports C++17|https://boost.org
|gzip |any |Test/Runtime(optional)|https://gzip.org
|sed |any |Test|N/A
|zip |any |Test/Runtime(optional)|N/A
@@ -64,3 +69,4 @@
# Licenses(direct dependencies only)
**Apache License, Version 2.0**: log4cxx, APR, APR-util
+**Boost License, Version 1.0**: boost
diff --git a/src/site/markdown/development/maven.apt b/src/site/markdown/development/maven.apt
deleted file mode 100644
index 2fa52a3..0000000
--- a/src/site/markdown/development/maven.apt
+++ /dev/null
@@ -1,80 +0,0 @@
-~~ Licensed to the Apache Software Foundation (ASF) under one or more
-~~ contributor license agreements. See the NOTICE file distributed with
-~~ this work for additional information regarding copyright ownership.
-~~ The ASF licenses this file to You under the Apache License, Version 2.0
-~~ (the "License"); you may not use this file except in compliance with
-~~ the License. You may obtain a copy of the License at
-~~
-~~ http://www.apache.org/licenses/LICENSE-2.0
-~~
-~~ Unless required by applicable law or agreed to in writing, software
-~~ distributed under the License is distributed on an "AS IS" BASIS,
-~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-~~ See the License for the specific language governing permissions and
-~~ limitations under the License.
- ------
- Building Apache log4cxx with Apache Maven 2
- ------
- ------
- ------
-
-Building Apache log4cxx with Apache Maven 2
-
- {{{https://maven.apache.org}Apache Maven 2}} is used to generate the release assemblies and generate
- product documentation. It delegates to {{{./cmake.html}CMake}} to build
- and test log4cxx and can be used as an alternate front end to the CMake
- build process since it can automatically download and use cmake,
- and log4j.
-
-* Quick start:
-
- *Install {{{https://maven.apache.org}Apache Maven}} 2.0.8 or later.
-
- *Install APR and APR-Util.
-
- Building and testing log4cxx on a Unix platform with packaged APR and APR-Util.
-
-+----+
- sudo apt-get install libapr1-dev libaprutil1-dev doxygen
- cd apache-log4cxx-x.x.x
- export PATH=/home/myself/maven-3.6.3/bin:$PATH
- mvn package
-+----+
-
- Building and testing log4cxx on a Microsoft Windows with APR, Expat and APR-Util built from source
- extracted into apr-1.7.0, libexpat(from github) and apr-util-1.6.1 in %HOMEPATH%\Libraries.
-
-+----+
- cd %HOMEPATH%\Libraries
- cmake -S libexpat\expat -B buildtrees\expat -DCMAKE_INSTALL_PREFIX=%HOMEPATH%\Libraries\installed
- cmake --build buildtrees\expat --target install --config Release
- cmake -S apr-1.7.0 -B buildtrees\apr -DCMAKE_INSTALL_PREFIX=%HOMEPATH%\Libraries\installed
- cmake --build buildtrees\apr --target install --config Release
- set CMAKE_PREFIX_PATH=%HOMEPATH%\Libraries\installed
- cmake -S apr-util-1.6.1 -B buildtrees\apr-util -DCMAKE_INSTALL_PREFIX=%HOMEPATH%\Libraries\installed
- cmake --build buildtrees\apr-util --target install --config Release
- cd apache-log4cxx-x.x.x
- set PATH=%MAVEN_HOME%\bin;%PATH%
- mvn package
-+----+
-
-* Common Maven targets
-
-*--------------------------+---------------------------------------------------------------------------------------------+
-| compile | build log4cxx library. |
-*--------------------------+---------------------------------------------------------------------------------------------+
-| package | build logcxx library and build and run unit tests and examples. |
-*--------------------------+---------------------------------------------------------------------------------------------+
-| site | Generate website and apidoc files, requires doxygen. |
-*--------------------------+---------------------------------------------------------------------------------------------+
-| site assembly:assembly | Generate snapshot tarball and zip file. |
-*--------------------------+---------------------------------------------------------------------------------------------+
-| site-deploy | Publish website to staging area on ASF subversion repository (requires credentials). |
-*--------------------------+---------------------------------------------------------------------------------------------+
-| clean | Delete all generated files. |
-*--------------------------+---------------------------------------------------------------------------------------------+
-
- All build products will be placed in the target subdirectory.
-
- SMTP and ODBC options can depend on libraries that that have different licenses. You should
- review the corresponding licenses and understand the implications before redistribution.