You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-dev@logging.apache.org by ts...@apache.org on 2014/01/22 10:56:38 UTC

svn commit: r1560299 - in /incubator/log4cxx/trunk: build.xml src/ant/apr-util-build.xml src/ant/common.xml src/main/resources/log4cxx.rc src/site/apt/building/ant.apt src/site/apt/building/maven.apt

Author: tschoening
Date: Wed Jan 22 09:56:38 2014
New Revision: 1560299

URL: http://svn.apache.org/r1560299
Log:
LOG4CXX-421: I tried to build on Windows with XE 4 and APR 1.5.0 and APR-Util 1.5.3 and fixed the following issues:

* expat.h.in doesn't seem to exist anymore in the downloadable distributions
* XE 4 needs customizations on apu_config.h
* replacements in xmlparse.c don't seem to make sense and caused compiler issues on XE 4 because of invalid syntax
* some headers weren't included unless COMPILED_FROM_DSP was defined
* XE 4 needs to define HAVE_SQL_H for ODBC
* log4cxx.rc had a hard coded, old version number
* minor improvements in the build documentation

The build currently still doesn't work for XE 4, there are some linker issues left and a lot of warnings during the compilation about wrong DLL exports.

Modified:
    incubator/log4cxx/trunk/build.xml
    incubator/log4cxx/trunk/src/ant/apr-util-build.xml
    incubator/log4cxx/trunk/src/ant/common.xml
    incubator/log4cxx/trunk/src/main/resources/log4cxx.rc
    incubator/log4cxx/trunk/src/site/apt/building/ant.apt
    incubator/log4cxx/trunk/src/site/apt/building/maven.apt

Modified: incubator/log4cxx/trunk/build.xml
URL: http://svn.apache.org/viewvc/incubator/log4cxx/trunk/build.xml?rev=1560299&r1=1560298&r2=1560299&view=diff
==============================================================================
--- incubator/log4cxx/trunk/build.xml (original)
+++ incubator/log4cxx/trunk/build.xml Wed Jan 22 09:56:38 2014
@@ -177,6 +177,22 @@
 				value="https://svn.apache.org/repos/asf/logging/site/trunk/docs/log4cxx"
 	/>
 
+	<propertyregex	property="version.major"
+					input="${version}"
+					regexp="^(\d+)"
+					select="\1"
+	/>
+	<propertyregex	property="version.minor"
+					input="${version}"
+					regexp="\.(\d+)\."
+					select="\1"
+	/>
+	<propertyregex	property="version.rev"
+					input="${version}"
+					regexp="(\d+)$"
+					select="\1"
+	/>
+
 	<target	name="usage"
 			description="Describes usage of the build script">
 		<echo>
@@ -827,6 +843,50 @@
 		</cc>
 	</target>
 
+	<target	name="update-rc-files-version-info"
+			description="Provides current version information for Windows resource files."
+			if="is-windows"
+			unless="is-bcc">
+		<replaceregexp	file="${resources.dir}/log4cxx.rc"
+						match="FILEVERSION \d+, \d+, \d+, \d+"
+						replace="FILEVERSION ${version.major}, ${version.minor}, 0, ${version.rev}"
+		/>
+		<replaceregexp	file="${resources.dir}/log4cxx.rc"
+						match="PRODUCTVERSION \d+, \d+, \d+, \d+"
+						replace="PRODUCTVERSION ${version.major}, ${version.minor}, 0, ${version.rev}"
+		/>
+		<replaceregexp	file="${resources.dir}/log4cxx.rc"
+						match="&quot;FileVersion&quot;, &quot;\d+, \d+, \d+, \d+&quot;"
+						replace="&quot;FileVersion&quot;, &quot;${version.major}, ${version.minor}, 0, ${version.rev}&quot;"
+		/>
+		<replaceregexp	file="${resources.dir}/log4cxx.rc"
+						match="&quot;ProductVersion&quot;, &quot;\d+, \d+, \d+, \d+&quot;"
+						replace="&quot;ProductVersion&quot;, &quot;${version.major}, ${version.minor}, 0, ${version.rev}&quot;"
+		/>
+	</target>
+
+	<target	name="restore-rc-files-version-info"
+			description="Restores version information for Windows resource files to their default values."
+			if="is-windows"
+			unless="is-bcc">
+		<replaceregexp	file="${resources.dir}/log4cxx.rc"
+						match="FILEVERSION \d+, \d+, \d+, \d+"
+						replace="FILEVERSION 0, 0, 0, 0"
+		/>
+		<replaceregexp	file="${resources.dir}/log4cxx.rc"
+						match="PRODUCTVERSION \d+, \d+, \d+, \d+"
+						replace="PRODUCTVERSION 0, 0, 0, 0"
+		/>
+		<replaceregexp	file="${resources.dir}/log4cxx.rc"
+						match="&quot;FileVersion&quot;, &quot;\d+, \d+, \d+, \d+&quot;"
+						replace="&quot;FileVersion&quot;, &quot;0, 0, 0, 0&quot;"
+		/>
+		<replaceregexp	file="${resources.dir}/log4cxx.rc"
+						match="&quot;ProductVersion&quot;, &quot;\d+, \d+, \d+, \d+&quot;"
+						replace="&quot;ProductVersion&quot;, &quot;0, 0, 0, 0&quot;"
+		/>
+	</target>
+
 	<target	name="build-lib"
 			depends="build-apr-util, build-libesmtp, configure"
 			description="Build log4cxx library">
@@ -892,6 +952,8 @@
 					value="msrc"
 		/>
 
+		<antcall target="update-rc-files-version-info" />
+
 		<cc	name="${project.compiler}"
 			exceptions="true"
 			outfile="${log4cxx.lib.dir}/${lib.prefix}${lib.name}${lib.suffix}"
@@ -904,8 +966,10 @@
 			debug="${debug}"
 			projectsOnly="${projectsOnly}">
 
+			<!-- brc aborts with an access violation. -->
 			<compiler	name="${resource.compiler}"
-						if="is-windows">
+						if="is-windows"
+						unless="is-bcc">
 				<includepath path="${resources.dir}" />
 				<fileset	dir="${resources.dir}"
 							includes="*.rc"
@@ -964,6 +1028,8 @@
 			</project>
 		</cc>
 
+		<antcall target="restore-rc-files-version-info" />
+
 		<!-- copy liblog4cxx.so to log4cxx.dll for MinGW and Cygwin -->
 		<condition	property="copy.log4cxx"
 					value="${log4cxx.lib.dir}/${lib.prefix}${lib.name}${lib.suffix}.dll">

Modified: incubator/log4cxx/trunk/src/ant/apr-util-build.xml
URL: http://svn.apache.org/viewvc/incubator/log4cxx/trunk/src/ant/apr-util-build.xml?rev=1560299&r1=1560298&r2=1560299&view=diff
==============================================================================
--- incubator/log4cxx/trunk/src/ant/apr-util-build.xml (original)
+++ incubator/log4cxx/trunk/src/ant/apr-util-build.xml Wed Jan 22 09:56:38 2014
@@ -119,12 +119,41 @@
 	<copy	tofile="${include.dir}/private/apu_select_dbm.h"
 			file="${include.dir}/private/apu_select_dbm.hw"
 	/>
-	<copy	tofile="${src.dir}/xml/expat/lib/expat.h"
-			file="${src.dir}/xml/expat/lib/expat.h.in"
-	/>
 	<copy	tofile="${src.dir}/xml/expat/lib/config.h"
 			file="${src.dir}/xml/expat/lib/winconfig.h"
 	/>
+
+	<!--
+		apr_dbd_odbc.c needs stdint.h, but at least on BCC it doesn't seem to be included
+		automatically. It's easier to change that using a file we already create than changing core
+		code files.
+	 -->
+	<condition	property="bcc-needs-stdint"
+				value="0"
+				else="1">
+		<and>
+			<isfileselected file="${include.dir}/private/apu_config.h">
+				<contains	text="#include &lt;stdint.h&gt;"
+							ignorewhitespace="true"
+				/>
+			</isfileselected>
+			<equals arg1="${compiler}" arg2="bcc" />
+		</and>
+	</condition>
+	<if>
+		<equals	arg1="${bcc-needs-stdint}"
+				arg2="1"
+		/>
+		<then>
+			<replace	file="${include.dir}/private/apu_config.h"
+						token="#define APU_CONFIG_H">
+				<replacevalue>#define APU_CONFIG_H
+
+#include &lt;stdint.h&gt;
+				</replacevalue>
+			</replace>
+		</then>
+	</if>
 </target>
 
 <target	name="unix-configure"
@@ -142,21 +171,24 @@
 
 <target	name="configure"
 		depends="unix-configure, win-configure">
-	<condition	property="has-iconv" value="1">
+	<condition	property="has-iconv"
+				value="1">
 		<isfileselected file="${include.dir}/apu.h">
 			<contains	text="#define APR_HAVE_ICONV 1"
 						ignorewhitespace="true"
 			/>
 		</isfileselected>
 	</condition>
-	<condition	property="has-iconv" value="1">
+	<condition	property="has-iconv"
+				value="1">
 		<isfileselected file="${include.dir}/apu.h">
 			<contains	text="#define APU_HAVE_ICONV 1"
 						ignorewhitespace="true"
 			/>
 		</isfileselected>
 	</condition>
-	<condition	property="has-sqlite3" value="1">
+	<condition	property="has-sqlite3"
+				value="1">
 		<isfileselected file="${include.dir}/apu.h">
 			<contains	text="#define APU_HAVE_SQLITE3 1"
 						ignorewhitespace="true"
@@ -168,24 +200,6 @@
 <target	name="build-xml"
 		depends="configure"
 		description="Builds Expat">
-	<!--
-		Uses replace instead of preprocessor since the quotes on VERSION cause problems with
-		cpptasks.
-	 -->
-	<replace file="${src.dir}/xml/expat/lib/xmlparse.c">
-		<replacefilter	token="XML_MAJOR_VERSION"
-						value="1" />
-		<replacefilter	token="XML_MINOR_VERSION"
-						value="95"
-		/>
-		<replacefilter	token="XML_MICRO_VERSION"
-						value="1"
-		/>
-		<replacefilter	token="VERSION"
-						value='"expat_1.95.1"'
-		/>
-	</replace>
-
 	<mkdir dir="${executable.dir}/apr-util-ofiles" />
 	<property	name="project.compiler"
 				value="${compiler}"
@@ -224,7 +238,7 @@
 		<defineset>
 			<define name="XMLPARSEAPI" value=" " />
 		</defineset>
-		<defineset	define="WIN32"
+		<defineset	define="WIN32 COMPILED_FROM_DSP"
 					if="is-windows"
 		/>
 		<defineset	define="_HAVE_CONFIG_H _REENTRANT _GNU_SOURCE"
@@ -303,9 +317,17 @@
 		<defineset>
 			<define name="XMLPARSEAPI" value=" " />
 		</defineset>
-		<defineset	define="WIN32"
+		<defineset	define="WIN32 COMPILED_FROM_DSP"
 					if="is-windows"
 		/>
+		<defineset if="is-bcc">
+			<define	name="EILSEQ"
+					value="50"
+			/>
+			<define	name="HAVE_SQL_H"
+					value="1"
+			/>
+		</defineset>
 		<defineset	define="_HAVE_CONFIG_H _REENTRANT _GNU_SOURCE"
 					if="is-gcc"
 		/>
@@ -328,9 +350,6 @@
 		<libset	libs="sqlite3"
 				if="has-sqlite3"
 		/>
-		<defineset if="is-bcc">
-			<define name="EILSEQ" value="50" />
-		</defineset>
 
 		<project	type="${project.type}"
 					outfile="${projects.dir}/aprutil"

Modified: incubator/log4cxx/trunk/src/ant/common.xml
URL: http://svn.apache.org/viewvc/incubator/log4cxx/trunk/src/ant/common.xml?rev=1560299&r1=1560298&r2=1560299&view=diff
==============================================================================
--- incubator/log4cxx/trunk/src/ant/common.xml (original)
+++ incubator/log4cxx/trunk/src/ant/common.xml Wed Jan 22 09:56:38 2014
@@ -36,6 +36,7 @@
 
 <taskdef resource="cpptasks.tasks" />
 <typedef resource="cpptasks.types" />
+<taskdef resource="net/sf/antcontrib/antcontrib.properties" />
 
 <target name="os-detect">
 	<condition	property="os.family"

Modified: incubator/log4cxx/trunk/src/main/resources/log4cxx.rc
URL: http://svn.apache.org/viewvc/incubator/log4cxx/trunk/src/main/resources/log4cxx.rc?rev=1560299&r1=1560298&r2=1560299&view=diff
==============================================================================
--- incubator/log4cxx/trunk/src/main/resources/log4cxx.rc (original)
+++ incubator/log4cxx/trunk/src/main/resources/log4cxx.rc Wed Jan 22 09:56:38 2014
@@ -14,7 +14,7 @@
 // "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. 
+// under the License.
 //
 //
 //   Message file include
@@ -50,18 +50,18 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U
 // TEXTINCLUDE
 //
 
-1 TEXTINCLUDE 
+1 TEXTINCLUDE
 BEGIN
     "resource.h\0"
 END
 
-2 TEXTINCLUDE 
+2 TEXTINCLUDE
 BEGIN
     "#include ""afxres.h""\r\n"
     "\0"
 END
 
-3 TEXTINCLUDE 
+3 TEXTINCLUDE
 BEGIN
     "\r\n"
     "\0"
@@ -76,8 +76,8 @@ END
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION  0, 10, 0, 1
- PRODUCTVERSION 0, 10, 0, 1
+ FILEVERSION 0, 0, 0, 0
+ PRODUCTVERSION 0, 0, 0, 0
  FILEFLAGSMASK 0x17L
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -94,12 +94,12 @@ BEGIN
         BEGIN
             VALUE "CompanyName", "Apache Software Foundation"
             VALUE "FileDescription", "Apache log4cxx"
-            VALUE "FileVersion", "0,10, 0, 1"
+            VALUE "FileVersion", "0, 0, 0, 0"
             VALUE "InternalName", "log4cxx"
             VALUE "LegalCopyright",  "Licensed to the Apache Software Foundation (ASF) under one or more\ncontributor license agreements.  See the NOTICE file distributed with\nthis work for additional information regarding copyright ownership.\nThe ASF licenses this file to You under the Apache License, Version 2.0\n(the ""License""); you may not use this file except in compliance with\nthe License.  You may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an ""AS IS"" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License."
             VALUE "OriginalFilename", "log4cxx.dll"
             VALUE "ProductName", "Apache log4cxx"
-            VALUE "ProductVersion", "0, 10, 0, 1" 
+            VALUE "ProductVersion", "0, 0, 0, 0"
         END
     END
     BLOCK "VarFileInfo"

Modified: incubator/log4cxx/trunk/src/site/apt/building/ant.apt
URL: http://svn.apache.org/viewvc/incubator/log4cxx/trunk/src/site/apt/building/ant.apt?rev=1560299&r1=1560298&r2=1560299&view=diff
==============================================================================
--- incubator/log4cxx/trunk/src/site/apt/building/ant.apt (original)
+++ incubator/log4cxx/trunk/src/site/apt/building/ant.apt Wed Jan 22 09:56:38 2014
@@ -18,10 +18,9 @@
  ------
  ------
 
-
 Building Apache log4cxx with Apache Ant
 
-   {{{http://ant.apache.org}Apache Ant}} with cpptasks from the 
+   {{{http://ant.apache.org}Apache Ant}} with cpptasks from the
    {{{http://ant-contrib.sourceforge.net}Ant-Contrib}} project can be used to build log4cxx
    with supported compilers and is also used to generate the IDE project files included
    in the releases.  The Apache Maven build which is used to generate the site documentation
@@ -29,29 +28,29 @@ Building Apache log4cxx with Apache Ant
    if source is available.
 
 * Quick start:
-  
-  *Install {{{http://ant.apache.org}Apache Ant}} 1.6.5 or later.
 
-  *Install cpptasks 1.0b5 or later from the {{{http://ant-contrib.sourceforge.net}Ant-Contrib Project}}.
+   * Install {{{http://ant.apache.org}Apache Ant}} 1.6.5 or later.
+
+   * Install cpptasks 1.0b5 or later from the {{{http://ant-contrib.sourceforge.net}Ant-Contrib Project}}.
      ant-contribs 1.0b3 or later is needed for some less frequent build targets.
 
-  *Install APR and APR-Util or place source in apr and apr-util directories as a 
-  sibling to the log4cxx directory.
-  
-  *Install gzip and zip (used for compression by RollingFileAppender) and 
-   sed (used to normalize output files for comparison in unit tests).
-
-  * Install log4j 1.2.  Used in testing of SocketAppender. 
-        
-   Building and testing log4cxx on a Unix platform with packaged APR and APR-Util.  
+   * Install APR and APR-Util or place source in apr and apr-util directories as a
+     sibling to the log4cxx directory.
+
+   * Install gzip and zip (used for compression by RollingFileAppender) and
+     sed (used to normalize output files for comparison in unit tests).
+
+   * Install log4j 1.2.  Used in testing of SocketAppender.
+
+   Building and testing log4cxx on a Unix platform with packaged APR and APR-Util.
 
 +----+
 $ export CLASSPATH=~/cpptasks/cpptasks-1.0b5.jar
 $ cd apache-log4cxx-0.10.0
 $ ant
-+----+  
++----+
 
-   Building and testing log4cxx on a Unix platform with APR and APR-Util built from source.  
+   Building and testing log4cxx on a Unix platform with APR and APR-Util built from source.
 
 +----+
 $ export CLASSPATH=~/cpptasks/cpptasks-1.0b5.jar
@@ -61,24 +60,20 @@ $ tar -xvzf apr-util-1.2.12.tar.gz
 $ mv apr-util-1.2.12 apr-util
 $ cd apache-log4cxx-0.10.0
 $ ant
-+----+  
-
-   Building and testing log4cxx on a Microsoft Windows with APR and APR-Util built from source.  
-
 +----+
-set PATH=\apache-ant-1.7.0\bin;%PATH%
-set CLASSPATH=\cpptasks\cpptasks-1.0b5.jar
-tar -xvzf apr-1.2.12.tar.gz
-rename apr-1.2.12 apr
-tar -xvzf apr-util-1.2.12.tar.gz
-rename apr-util-1.2.12 apr-util
-cd apache-log4cxx-0.10.0
-ant -Dfind=false
-+----+  
-
-
 
+   Building and testing log4cxx on a Microsoft Windows with APR and APR-Util built from source.
 
++----+
+$ set PATH=\apache-ant-1.7.0\bin;%PATH%
+$ set CLASSPATH=\cpptasks\cpptasks-1.0b5.jar
+$ tar -xvzf apr-1.2.12.tar.gz
+$ rename apr-1.2.12 apr
+$ tar -xvzf apr-util-1.2.12.tar.gz
+$ rename apr-util-1.2.12 apr-util
+$ cd apache-log4cxx-0.10.0
+$ ant -Dcompiler=xyz
++----+
 
 * Common ant targets
 
@@ -104,97 +99,92 @@ ant -Dfind=false
 | build-projects-xcode  | Build Apple Xcode project files.                                                            |
 *-----------------------+---------------------------------------------------------------------------------------------+
 
-   All build products will be placed in the target subdirectory.  
-   
+   All build products will be placed in the target subdirectory.
+
    Project files should be generated after successfully building the library, however it is possible
    to generate Microsoft Visual Studio project files on other platforms.  The project
    files will typically be missing references to the Platform SDK libraries.
    The Maven project modifies the generated project files for release preparation.  Generation
    of Xcode projects from Microsoft Windows is not supported.
 
-
 * ant options
 
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Dcompiler        | Compiler, see cpptasks documentation for full list.                                         |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Ddebug           |  Build for debugging, yes (default), no.                                                    |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Dfind            |  Attempt to locate compiled APR and APR-Util, yes (default), no.                            |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Dwith-apr        | path to non-default location for APR.                                                       |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Dwith-apr-util   | path to non-default location for APR-Util.                                                  |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Denable-wchar_t  | Enable wchar_t API methods, choice of yes (default), no.                                    |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Denable-unichar  | Enable UniChar API methods, choice of yes, no (default).                                    |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Denable-cfstring | Enable CFString API methods, requires Mac OS/X CoreFoundation, choice of yes, no (default). |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Dwith-logchar    | Interal character representation, choice of utf-8 (default), wchar_t , unichar.             | 
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Dwith-charset    | Exteral character encoding, choice of utf-8, iso-8859-1, usascii, ebcdic,  auto (default).  |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Dwith-SMTP       | SMTP implementation for SMTPAppender, choice of libesmtp, no (default).                     |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Dwith-ODBC       | OBDC implementation for ODBCAppender, choice of unixODBC, iODBC, Microsoft, no (default).   |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Dlog4j.jar       | Path to log4j.jar for run-socketserver.                                                     |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Dprojects.dir    | Location for generated IDE projects.                                                        |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Dlib.type        | Library type to create, choice of shared (default), static.                                 |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Druntime         | Type of C runtime library to use, choice of dynamic (default), static.                      |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -Doptimization    | Optimization: none (default), size, minimal, speed, full, aggressive, extreme, unsafe.      |
-*-------------------+---------------------------------------------------------------------------------------------+
-| -p                | Display available targets and quit.                                                         |
-*-------------------+---------------------------------------------------------------------------------------------+
-
-   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.
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Dcompiler        | Compiler, see {{{http://ant-contrib.sourceforge.net/cpptasks/antdocs/CCTask.html}cpptasks documentation}} for full list. |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Ddebug           | Build for debugging, yes (default), no.                                                                                  |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Dfind            | Attempt to locate compiled APR and APR-Util, yes (default), no.                                                          |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Dwith-apr        | path to non-default location for APR.                                                                                    |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Dwith-apr-util   | path to non-default location for APR-Util.                                                                               |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Denable-wchar_t  | Enable wchar_t API methods, choice of yes (default), no.                                                                 |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Denable-unichar  | Enable UniChar API methods, choice of yes, no (default).                                                                 |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Denable-cfstring | Enable CFString API methods, requires Mac OS/X CoreFoundation, choice of yes, no (default).                              |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Dwith-logchar    | Interal character representation, choice of utf-8 (default), wchar_t , unichar.                                          |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Dwith-charset    | Exteral character encoding, choice of utf-8, iso-8859-1, usascii, ebcdic,  auto (default).                               |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Dwith-SMTP       | SMTP implementation for SMTPAppender, choice of libesmtp, no (default).                                                  |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Dwith-ODBC       | OBDC implementation for ODBCAppender, choice of unixODBC, iODBC, Microsoft, no (default).                                |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Dlog4j.jar       | Path to log4j.jar for run-socketserver.                                                                                  |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Dprojects.dir    | Location for generated IDE projects.                                                                                     |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Dlib.type        | Library type to create, choice of shared (default), static.                                                              |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Druntime         | Type of C runtime library to use, choice of dynamic (default), static.                                                   |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -Doptimization    | Optimization: none (default), size, minimal, speed, full, aggressive, extreme, unsafe.                                   |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+| -p                | Display available targets and quit.                                                                                      |
+*-------------------+--------------------------------------------------------------------------------------------------------------------------+
+
+   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.
 
    Combining -Dlib.type=shared and -Druntime=static is unsafe.
-   
-   Properties may also be placed in a build.properties file in the log4cxx directory.
+
+   Properties may also be placed in a build.properties file in the log4cxx directory. The file has
+   to be in the default format for {{{http://en.wikipedia.org/wiki/.properties}Java properties files}},
+   especially one must not provide options using the syntax -Dxy=z like on the shell, but only as
+   xy=z per line.
 
 * Platform specific notes:
 
-  ** Microsoft Windows
+   ** Microsoft Windows
+
+   {{{http://gnuwin32.sourceforge.net}GnuWin32}}
+   provides binary versions of sed, gzip and zip.  Alternative,
+   the bin directory of {{{http://www.cygwin.com}Cygwin}} may be placed on the path.
+
+   If -Dwith-SMTP=libesmtp is specified, the build will attempt to build
+   libesmtp from source, unfortunately libesmtp depends on poll.h and will not build.
+
+   APR 1.2.12 has a known issue that will prevent
+   compilation with Visual Studio 6 unless a later Platform SDK is installed.
+   See APR bug {{{http://issues.apache.org/bugzilla/show_bug.cgi?44327}44327}}.
+   APR 1.2.11 and the corresponding APR-Util 1.2.10 will compile with Visual Studio 6.
+
+   *** Cygwin:
+
+   gcc 3.x does not provide wchar_t support which needs to be explicitly disabled.
+   The Win32 path to the APR libraries need to be provided (CYGWIN_HOME/lib) if compiling against an installed APR and APR-Util.
 
-  {{{http://gnuwin32.sourceforge.net}GnuWin32}}
-  provides binary versions of sed, gzip and zip.  Alternative,
-  the bin directory of {{{http://www.cygwin.com}Cygwin}} may be placed on the path.
-
-  If -Dwith-SMTP=libesmtp is specified, the build will attempt to build
-  libesmtp from source, unfortunately libesmtp depends on poll.h and will not build.
-  
-  APR 1.2.12 has a known issue that will prevent
-  compilation with Visual Studio 6 unless a later Platform SDK is installed.
-  See APR bug {{{http://issues.apache.org/bugzilla/show_bug.cgi?44327}44327}}.
-  APR 1.2.11 and the corresponding APR-Util 1.2.10 will compile with Visual Studio 6.  
-
-  
-  *** Cygwin:
-  
-  gcc 3.x does not provide wchar_t support which needs to be explicitly disabled.
-  The Win32 path to the APR libraries need to be provided (CYGWIN_HOME/lib) if compiling against an installed APR and APR-Util.
-  
 +-----+
 $ cd apache-log4cxx-0.10.0
-$ ant -Dos.family=cygwin \
-   -Dwith-apr=/cygwin/lib \
-   -Dwith-apr-util=/cygwin/lib \
-   -Denable-wchar_t=0
-+-----+  
-    
-
-  *** MinGW:
+$ ant -Dos.family=cygwin -Dwith-apr=/cygwin/lib -Dwith-apr-util=/cygwin/lib -Denable-wchar_t=0
++-----+
 
+   *** MinGW:
+
 +----+
 $ cd apache-log4cxx-0.10.0
 $ path c:\mingw\bin;%PATH%
@@ -203,33 +193,30 @@ $ cd src\test\resources
 $ set TOTO=wonderful
 $ set key1=value1
 $ set key2=value2
-$ ..\..\..\target\debug\shared\testsuite -v 
+$ ..\..\..\target\debug\shared\testsuite -v
 $ ..\..\..\target\debug\shared\trivial
-$ ..\..\..\target\debug\shared\stream 
+$ ..\..\..\target\debug\shared\stream
 +----+
 
    Running "ant check" was observed to fail with unexpected exceptions
    in streamtestcase and datetimedateformattestcase.
    See {{{http://issues.apache.org/jira/browse/LOGCXX-244}LOGCXX-244}}.
 
-  ** Debian:
-  
-  Apache APR, APR-Util, Ant and log4j and zip may be installed using:
+   ** Debian:
+
+   Apache APR, APR-Util, Ant and log4j and zip may be installed using:
 
 +----+
-$ sudo apt-get install libapr1.0-dev libaprutil1.0-dev \
-      ant ant-optional liblog4j1.2-java zip
+$ sudo apt-get install libapr1.0-dev libaprutil1.0-dev ant ant-optional liblog4j1.2-java zip
 +----+
 
+   ** Mac OS/X:
+
+   APR and APR-Util are provided by the platform in Mac OS/X 10.5 and iODBC in 10.4.
+
+   Site generation requires "doxygen" command on path which can be provided
+   by installing Doxygen.app and then setting the path like:
 
-  ** Mac OS/X:
-  
-  APR and APR-Util are provided by the platform in Mac OS/X 10.5 and iODBC in 10.4.
-  
-  Site generation requires "doxygen" command on path which can be provided
-  by installing Doxygen.app and then setting the path like:
-  
 +---+
 $ setenv PATH /Applications/Doxygen.app/Contents/Resources:$PATH
 +---+
-  

Modified: incubator/log4cxx/trunk/src/site/apt/building/maven.apt
URL: http://svn.apache.org/viewvc/incubator/log4cxx/trunk/src/site/apt/building/maven.apt?rev=1560299&r1=1560298&r2=1560299&view=diff
==============================================================================
--- incubator/log4cxx/trunk/src/site/apt/building/maven.apt (original)
+++ incubator/log4cxx/trunk/src/site/apt/building/maven.apt Wed Jan 22 09:56:38 2014
@@ -18,7 +18,6 @@
  ------
  ------
 
-
 Building Apache log4cxx with Apache Maven 2
 
    {{{http://maven.apache.org}Apache Maven 2}} is used to generate the release assemblies and generate
@@ -35,33 +34,27 @@ Building Apache log4cxx with Apache Mave
   *Install APR and APR-Util or place source in apr and apr-util directories in same parent directory
       as log4cxx directory.
 
-
    Building and testing log4cxx on a Unix platform with packaged APR and APR-Util.
 
 +----+
- sudo apt-get install libapr1.0-dev libaprutil1.0-dev doxygen
- cd apache-log4cxx-0.10.0
- export PATH=/home/myself/maven-2.0.8/bin:$PATH
- mvn package
+$ sudo apt-get install libapr1.0-dev libaprutil1.0-dev doxygen
+$ cd apache-log4cxx-0.10.0
+$ export PATH=/home/myself/maven-2.0.8/bin:$PATH
+$ mvn package
 +----+
 
-
    Building and testing log4cxx on a Microsoft Windows with APR and APR-Util built from source.
 
 +----+
- set PATH=\maven-2.0.8\bin;%PATH%
- tar -xvzf apr-1.2.12.tar.gz
- rename apr-1.2.12 apr
- tar -xvzf apr-util-1.2.12.tar.gz
- rename apr-util-1.2.12 apr-util
- cd apache-log4cxx-0.10.0
- mvn package
+$ set PATH=\maven-2.0.8\bin;%PATH%
+$ tar -xvzf apr-1.2.12.tar.gz
+$ rename apr-1.2.12 apr
+$ tar -xvzf apr-util-1.2.12.tar.gz
+$ rename apr-util-1.2.12 apr-util
+$ cd apache-log4cxx-0.10.0
+$ mvn package
 +----+
 
-
-
-
-
 * Common Maven targets
 
 *--------------------------+---------------------------------------------------------------------------------------------+
@@ -81,15 +74,13 @@ Building Apache log4cxx with Apache Mave
    All build products will be placed in the target subdirectory.
 
    It is not possible to directly pass options to the Ant build, however the ant build will read
-   any build.properties file in the log4cxx directory.
+   any build.properties file in the log4cxx directory. The file has to be in the default format
+   for {{{http://en.wikipedia.org/wiki/.properties}Java properties files}}, especially one must not
+   provide options using the syntax -Dxy=z like on the shell, but only as xy=z per line.
 
-   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.
+   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:
 
   See the {{{./ant.html}Apache Ant build}} for platform specific notes.
-
-