diff options
Diffstat (limited to 'build.xml')
-rw-r--r-- | build.xml | 3203 |
1 files changed, 2000 insertions, 1203 deletions
@@ -18,18 +18,48 @@ --> <!DOCTYPE project [ <!ENTITY libsets ' - <libset libs="${apr-util.lib.prefix}${apr-util.lib.name}${apr-util.lib.suffix}" dir="${apr-util.lib.dir}" if="apr-util.lib.dir"/> - <libset libs="${apr-util.lib.prefix}${apr-util.lib.name}${apr-util.lib.suffix}" unless="apr-util.lib.dir"/> - <libset libs="${apr.lib.prefix}${apr.lib.name}${apr.lib.suffix}" dir="${apr.lib.dir}" if="apr.lib.dir"/> - <libset libs="${apr.lib.prefix}${apr.lib.name}${apr.lib.suffix}" unless="apr.lib.dir"/> - <libset libs="esmtp" dir="${esmtp.lib.dir}" if="esmtp.lib.dir"/> - <libset libs="esmtp" if="has-libesmtp" unless="esmtp.lib.dir"/> - <libset libs="${odbc.lib}" if="odbc.lib"/> - <libset libs="${apr-util.dependencies}" if="apr-util.dependencies" unless="apr-util-includes-dependencies"/> - <libset libs="pthread" if="is-unix"/> - <syslibset libs="advapi32 mswsock ws2_32 shell32" if="is-windows"/> - <syslibset libs="stdc++" if="is-gcc"/> - <syslibset libs="cw32mt" if="is-bcc"/> + <libset libs="${apr-util.lib.prefix}${apr-util.lib.name}${apr-util.lib.suffix}" + dir="${apr-util.lib.dir}" + if="apr-util.lib.dir" + /> + <libset libs="${apr-util.lib.prefix}${apr-util.lib.name}${apr-util.lib.suffix}" + unless="apr-util.lib.dir" + /> + <libset libs="${apr.lib.prefix}${apr.lib.name}${apr.lib.suffix}" + dir="${apr.lib.dir}" + if="apr.lib.dir" + /> + <libset libs="${apr.lib.prefix}${apr.lib.name}${apr.lib.suffix}" + unless="apr.lib.dir" + /> + <libset libs="esmtp" + dir="${esmtp.lib.dir}" + if="esmtp.lib.dir" + /> + <libset libs="esmtp" + if="has-libesmtp" + unless="esmtp.lib.dir" + /> + <libset libs="${odbc.lib}" + if="odbc.lib" + /> + <libset libs="${apr-util.dependencies}" + if="apr-util.dependencies" + unless="apr-util-includes-dependencies" + /> + <libset libs="pthread" + if="is-unix" + /> + + <syslibset libs="advapi32 mswsock ws2_32 shell32" + if="is-windows" + /> + <syslibset libs="stdc++" + if="is-gcc" + /> + <syslibset libs="cw32mt" + if="is-bcc" + /> '> <!ENTITY license ' Licensed to the Apache Software Foundation (ASF) under one or more @@ -54,1198 +84,1965 @@ ]> <!-- -This file builds log4cxx using Apache Ant (http://ant.apache.org) -and the C++ compilation tasks from http://ant-contrib.sourceforge.net. - - + This file builds log4cxx using Apache Ant (http://ant.apache.org) + and the C++ compilation tasks from http://ant-contrib.sourceforge.net. --> <project name="log4cxx" default="check"> -&common; -&find-apr; -&find-apr-util; -&find-libesmtp; - -<property name="base.dir" location="."/> -<property name="src.dir" location="${base.dir}/src/main/cpp"/> -<property name="resources.dir" location="${base.dir}/src/main/resources"/> -<property name="include.dir" location="${base.dir}/src/main/include"/> -<property name="target.dir" location="${base.dir}/target"/> -<property name="lib.dir" location="${target.dir}/lib"/> -<property name="examples.dir" location="${base.dir}/src/examples/cpp"/> -<property name="tests.dir" location="${base.dir}/src/test"/> -<property name="tests.cpp.dir" location="${tests.dir}/cpp"/> -<property name="tests.resources.dir" location="${tests.dir}/resources"/> -<property name="tests.output.dir" location="${tests.resources.dir}/output"/> -<property name="m2_repo" location="${user.home}/.m2/repository"/> -<property name="log4j.version" value="1.2.14"/> -<available property="log4j.jar" - value="/usr/share/java/log4j-1.2.jar" - file="/usr/share/java/log4j-1.2.jar"/> -<property name="log4j.jar" - location="${m2_repo}/log4j/log4j/${log4j.version}/log4j-${log4j.version}.jar"/> - - -<property name="doxygen.exe" value="doxygen"/> - -<property name="lib.name" value="log4cxx"/> -<property name="lib.prefix" value=""/> -<property name="version" value="0.10.0"/> -<property name="enable-char" value="1"/> -<property name="enable-wchar_t" value="1"/> -<property name="enable-unichar" value="0"/> -<property name="enable-cfstring" value="0"/> -<property name="with-charset" value="auto"/> -<property name="with-SMTP" value="no"/> -<property name="with-ODBC" value="no"/> - - -<property name="svnsite.url" value="https://svn.apache.org/repos/asf/logging/site/trunk/docs/log4cxx"/> - - - -<target name="usage" description="Describes usage of the build script"> - <echo> -Ant build file for log4cxx - -Common invocations: - -> ant - -will attempt to locate APR and APR-util in /usr, /usr/local/apr and .. - -Builds and tests log4cxx. - -> ant -Dwith-apr=APRPATH -Dwith-apr-util=APUPATH - -Builds and tests log4cxx using APR and APR-Util at specified location - -> ant -p - -Displays available targets - -> ant build-projects-vc6 - -Builds Microsoft Visual Studio 6 projects. --vc7, -vc8, -vc9 and -xcode for Visual Studio .NET, 2005, 2008 and Apple Xcode 2 and later. -respectively. - -Command line options: - --Ddebug=[true|false] --Doptimize=[speed|size|none] --Dversion=n.n.n --Denable-shared=[yes|no] (default yes) --Denable-static=[yes|no] (default yes) --Denable-char=[0, 1] (expose char* API, default 1) --Denable-wchar_t=[0, 1] (expose wchar_t* API, default 1) --Denable-unichar=[0, 1] (expose UniChar API, default 0) --Denable-cfstring[0, 1] (expose CFString API, default 0) --Dwith-charset=[auto|utf-8|iso-8859-1|usascii|ebcdic] (default auto) --Dwith-logchar=[utf-8|wchar_t|unichar] (default=utf-8 on Unix, wchar_t on Windows) --Dwith-apr=APRPATH --Dwith-apr-util=PATH --Dwith-SMTP=[libesmtp, no] (default no) --Dwith-ODBC=[unixODBC, iODBC, Microsoft, no] (default no) - -</echo> -</target> - - -<target name="init" depends="common-init"> - - <property name="log4cxx.lib.dir" value="${executable.dir}"/> - <mkdir dir="${log4cxx.lib.dir}"/> - - <condition property="with-logchar" value="wchar_t"> - <isset property="is-windows"/> - </condition> - <property name="with-logchar" value="utf-8"/> - - <condition property="has-libesmtp" value="1"> - <equals arg1="${with-SMTP}" arg2="libesmtp"/> - </condition> - - <condition property="odbc.lib" value="iodbc"> - <equals arg1="${with-ODBC}" arg2="iODBC"/> - </condition> - - <condition property="odbc.lib" value="unixodbc"> - <equals arg1="${with-ODBC}" arg2="unixODBC"/> - </condition> - - <condition property="odbc.lib" value="odbc32"> - <equals arg1="${with-ODBC}" arg2="Microsoft"/> - </condition> - - <condition property="has-ODBC" value="1"> - <isset property="odbc.lib"/> - </condition> - <property name="has-ODBC" value="0"/> - - <condition property="force-ant" value="1"> - <equals arg1="${find}" arg2="false"/> - </condition> - <echo>force-ant: ${force-ant}</echo> - -</target> - -<target name="clean" depends="init" description="Removes built files"> - <delete dir="${target.dir}"/> - <delete> - <fileset dir="${include.dir}/log4cxx" includes="**/log4cxx.h"/> - </delete> - -</target> - -<target name="unix-configure" if="is-unix"> - <copy tofile="${include.dir}/log4cxx/log4cxx.tmp" - file="${include.dir}/log4cxx/log4cxx.h.in" overwrite="true"/> - <copy tofile="${include.dir}/log4cxx/private/log4cxx_private.tmp" - file="${include.dir}/log4cxx/private/log4cxx_private.h.in" overwrite="true"/> -</target> - -<target name="win-configure" if="is-windows"> - <copy tofile="${include.dir}/log4cxx/log4cxx.tmp" - file="${include.dir}/log4cxx/log4cxx.hw" overwrite="true"/> - <copy tofile="${include.dir}/log4cxx/private/log4cxx_private.tmp" - file="${include.dir}/log4cxx/private/log4cxx_private.hw" overwrite="true"/> - <property name="odbc.lib" value="odbc32"/> -</target> - - -<target name="configure" depends="init, - unix-configure, - win-configure"> - <echo message="Configuring with-logchar=${with-logchar}" /> - <echo message="Configuring with-charset=${with-charset}" /> - <echo message="Configuring with-SMTP=${with-SMTP}" /> - <echo message="Configuring with-ODBC=${with-ODBC}" /> - <echo message="Configuring enable-char=${enable-char}"/> - <echo message="Configuring enable-wchar_t=${enable-wchar_t}"/> - <echo message="Configuring enable-unichar=${enable-unichar}"/> - <echo message="Configuring enable-cfstring=${enable-cfstring}"/> - - <condition property="logchar_is_utf8" value="1"> - <equals arg1="${with-logchar}" arg2="utf-8"/> - </condition> - <property name="logchar_is_utf8" value="0"/> - - <condition property="logchar_is_unichar" value="1"> - <equals arg1="${with-logchar}" arg2="unichar"/> - </condition> - <property name="logchar_is_unichar" value="0"/> - - <condition property="logchar_is_wchar" value="1"> - <equals arg1="${with-logchar}" arg2="wchar_t"/> - </condition> - <property name="logchar_is_wchar" value="0"/> - - <replaceregexp file="${include.dir}/log4cxx/log4cxx.tmp" - match="@LOGCHAR_IS_UNICHAR@" - replace="${logchar_is_unichar}"/> - - <replaceregexp file="${include.dir}/log4cxx/log4cxx.tmp" - match="@LOGCHAR_IS_UTF8@" - replace="${logchar_is_utf8}"/> - - <replaceregexp file="${include.dir}/log4cxx/log4cxx.tmp" - match="@LOGCHAR_IS_WCHAR@" - replace="${logchar_is_wchar}"/> - - <condition property="charset_is_utf8" value="1"> - <equals arg1="${with-charset}" arg2="utf-8"/> - </condition> - <property name="charset_is_utf8" value="0"/> - - <condition property="charset_is_iso-8859-1" value="1"> - <equals arg1="${with-charset}" arg2="iso-8859-1"/> - </condition> - <property name="charset_is_iso-8859-1" value="0"/> - - <condition property="charset_is_usascii" value="1"> - <equals arg1="${with-charset}" arg2="usascii"/> - </condition> - <property name="charset_is_usascii" value="0"/> - - <condition property="charset_is_ebcdic" value="1"> - <equals arg1="${with-charset}" arg2="ebcdic"/> - </condition> - <property name="charset_is_ebcdic" value="0"/> - - <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" - match="@CHARSET_UTF8@" - replace="${charset_is_utf8}"/> - - <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" - match="@CHARSET_ISO88591@" - replace="${charset_is_iso-8859-1}"/> - <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" - match="@CHARSET_USASCII@" - replace="${charset_is_usascii}"/> - <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" - match="@CHARSET_EBCDIC@" - replace="${charset_is_ebcdic}"/> - - <replaceregexp file="${include.dir}/log4cxx/log4cxx.tmp" - match="@CHAR_API@" - replace="${enable-char}"/> - - <replaceregexp file="${include.dir}/log4cxx/log4cxx.tmp" - match="@WCHAR_T_API@" - replace="${enable-wchar_t}"/> - - <replaceregexp file="${include.dir}/log4cxx/log4cxx.tmp" - match="@UNICHAR_API@" - replace="${enable-unichar}"/> - - <replaceregexp file="${include.dir}/log4cxx/log4cxx.tmp" - match="@CFSTRING_API@" - replace="${enable-cfstring}"/> - - - <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" - match="@HAS_SYSLOG@" - replace="1"/> - <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" - match="@HAS_STD_LOCALE@" - replace="1"/> - <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" - match="@HAS_MBSRTOWCS@" - replace="1"/> - <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" - match="@HAS_WCSTOMBS@" - replace="1"/> - <condition property="has-fwide" value="0"> - <isset property="is-cygwin"/> - </condition> - <property name="has-fwide" value="1"/> - <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" - match="@HAS_FWIDE@" - replace="${has-fwide}"/> - - <condition property="has-libesmtp-value" value="1"> - <isset property="has-libesmtp"/> - </condition> - <property name="has-libesmtp-value" value="0"/> - <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" - match="LOG4CXX_HAVE_LIBESMTP 0" - replace="LOG4CXX_HAVE_LIBESMTP ${has-libesmtp-value}"/> - <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" - match="@HAS_LIBESMTP@" - replace="${has-libesmtp-value}"/> - - <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" - match="@HAS_ODBC@" - replace="${has-ODBC}"/> - - <antcall target="copy-if-changed"> - <param name="tofile" value="${include.dir}/log4cxx/log4cxx.h"/> - <param name="file" value="${include.dir}/log4cxx/log4cxx.tmp"/> - </antcall> - <delete file="${include.dir}/log4cxx/log4cxx.tmp"/> - <antcall target="copy-if-changed"> - <param name="tofile" value="${include.dir}/log4cxx/private/log4cxx_private.h"/> - <param name="file" value="${include.dir}/log4cxx/private/log4cxx_private.tmp"/> - </antcall> - <delete file="${include.dir}/log4cxx/private/log4cxx_private.tmp"/> - -</target> - - -<target name="build-apr" depends="find-apr" unless="apr.lib.file"> - <fail unless="apr.src.dir">Could not locate apr library or source.</fail> - <property name="apr.lib.type" value="static"/> - <property name="apr.lib.prefix" value=""/> - <property name="apr.lib.suffix" value=""/> - <property name="project.type" value="msvc6"/> - <ant antfile="src/ant/apr-build.xml" target="build" inheritAll="false"> - <property name="basedir" value="${apr.src.dir}"/> - <property name="target.dir" value="${target.dir}"/> - <property name="debug" value="${debug}"/> - <property name="lib.prefix" value="${apr.lib.prefix}"/> - <property name="lib.suffix" value="${apr.lib.suffix}"/> - <property name="compiler" value="${compiler}"/> - <property name="runtime" value="${runtime}"/> - <property name="lib.type" value="${apr.lib.type}"/> - <property name="project.type" value="${project.type}"/> - <property name="projects.dir" value="${projects.dir}"/> - <property name="project.if.value" value="${project.if}"/> - <property name="use-pic" value="${use-pic}"/> - <property name="os.family" value="${os.family}"/> - </ant> - <condition property="apr.lib.dir" value="${target.dir}/${debug.release}/shared"> - <equals arg1="${apr.lib.type}" arg2="shared"/> - </condition> - <property name="apr.lib.dir" location="${target.dir}/${debug.release}/static"/> - <property name="apr.project.file" location="${projects.dir}/apr"/> -</target> - - -<target name="build-apr-util" depends="build-apr, find-apr-util" unless="apr-util.lib.file"> - <fail unless="apr-util.src.dir">Could not locate apr-util library or source.</fail> - <property name="apr-util.lib.type" value="${apr.lib.type}"/> - <property name="apr-util.lib.prefix" value=""/> - <property name="apr-util.lib.suffix" value=""/> - <property name="project.type" value="msvc6"/> - <!-- built this way, apr-util will include expat and doesn't need an external reference --> - <property name="apr-util-includes-dependencies" value="1"/> - - <ant antfile="src/ant/apr-util-build.xml" target="build" inheritAll="false"> - <property name="target.dir" value="${target.dir}"/> - <property name="basedir" value="${apr-util.src.dir}"/> - <property name="debug" value="${debug}"/> - <property name="lib.prefix" value="${apr-util.lib.prefix}"/> - <property name="lib.suffix" value="${apr-util.lib.suffix}"/> - <property name="compiler" value="${compiler}"/> - <property name="runtime" value="${runtime}"/> - <property name="apr.include.dir" value="${apr.include.dir}"/> - <property name="apr.lib.dir" value="${apr.lib.dir}"/> - <property name="apr.lib.type" value="${apr.lib.type}"/> - <property name="lib.type" value="${apr-util.lib.type}"/> - <property name="project.type" value="${project.type}"/> - <property name="projects.dir" value="${projects.dir}"/> - <property name="project.if.value" value="${project.if}"/> - <property name="use-pic" value="${use-pic}"/> - <property name="os.family" value="${os.family}"/> - </ant> - - <condition property="apr-util.lib.dir" value="${target.dir}/${debug.release}/shared"> - <equals arg1="${apr-util.lib.type}" arg2="shared"/> - </condition> - <property name="apr-util.lib.dir" location="${target.dir}/${debug.release}/static"/> - <property name="apr-util.project.file" location="${projects.dir}/apr-util"/> -</target> - -<target name="build-libesmtp" depends="find-esmtp" if="has-libesmtp" unless="esmtp.lib.file"> - <fail unless="esmtp.src.dir">Could not locate libesmtp library or source.</fail> - <property name="esmtp.lib.type" value="static"/> - <property name="esmtp.lib.prefix" value=""/> - <property name="esmtp.lib.suffix" value=""/> - <property name="project.type" value="msvc6"/> - <condition property="esmtp.compiler" value="gcc"> - <equals arg1="${compiler}" arg2="g++"/> - </condition> - <property name="esmtp.compiler" value="${compiler}"/> - - <ant antfile="src/ant/esmtp-build.xml" target="build" inheritAll="false"> - <property name="target.dir" value="${target.dir}"/> - <property name="basedir" value="${esmtp.src.dir}"/> - <property name="debug" value="${debug}"/> - <property name="lib.prefix" value="${esmtp.lib.prefix}"/> - <property name="lib.suffix" value="${esmtp.lib.suffix}"/> - <property name="compiler" value="${esmtp.compiler}"/> - <property name="runtime" value="${runtime}"/> - <property name="lib.type" value="${esmtp.lib.type}"/> - <property name="project.type" value="${project.type}"/> - <property name="projects.dir" value="${projects.dir}"/> - <property name="project.if.value" value="${project.if}"/> - <property name="use-pic" value="${use-pic}"/> - <property name="os.family" value="${os.family}"/> - </ant> - - <condition property="esmtp.lib.dir" value="${target.dir}/${debug.release}/shared"> - <equals arg1="${esmtp.lib.type}" arg2="shared"/> - </condition> - <property name="esmtp.lib.dir" location="${target.dir}/${debug.release}/static"/> - <property name="esmtp.project.file" location="${projects.dir}/libesmtp"/> -</target> - - -<target name="make-header-check"> - <echo file="${header}.cpp" append="false"> -#include "${header}" -#include "${header}" -</echo> -</target> - - -<target name="header-check" depends="build-apr-util, configure" - description="Checks headers against Effective C++ guidelines"> - <fail unless="is-gcc">Requires GCC compiler</fail> - <taskdef resource="net/sf/antcontrib/antcontrib.properties"/> - <delete dir="${target.dir}/header-check"/> - <mkdir dir="${target.dir}/header-check"/> - <copy todir="${target.dir}/header-check" overwrite="true"> - <fileset dir="${include.dir}" includes="**/*.h"> - <!-- obsolete header with #error directive to eliminate its use --> - <exclude name="**/tchar.h"/> - <!-- excluded due to conflict between log4cxx/rfa.h and log4cxx/rolling/rfa.h --> - <exclude name="log4cxx/rollingfileappender.h"/> - </fileset> - </copy> - <foreach target="make-header-check" param="header"> - <path><fileset dir="${target.dir}/header-check" includes="**/*.h"/></path> - </foreach> - <property name="project.type" value="msvc6"/> - <cc objdir="${target.dir}/header-check" - name="gcc" - exceptions="true" - subsystem="gui" - optimize="none" - multithreaded="true" - relentless="true" - debug="${debug}" - projectsOnly="${projectsOnly}"> - <compilerarg value="-Weffc++"/> - <compilerarg value="-Wall"/> - <compilerarg value="${pic-option}" if="pic-option"/> - <fileset dir="${target.dir}/header-check" - includes="**/*.cpp" - excludes="log4cxx/private/*.cpp **/aprinitializer.h.cpp"/> - <includepath path="${include.dir}"/> - <project outfile="${projects.dir}/header-check" - type="${project.type}" if="project.if"/> - </cc> -</target> - -<target name="build-lib" depends="build-apr-util, build-libesmtp, configure" description="Build log4cxx library"> - <mkdir dir="${log4cxx.lib.dir}/log4cxx_obj"/> - - <condition property="apr-static" value="1"> - <equals arg1="${apr.lib.type}" arg2="static"/> - </condition> - - <condition property="apr-util-static" value="1"> - <equals arg1="${apr-util.lib.type}" arg2="static"/> - </condition> - - <condition property="apr-libs-match" value="1"> - <equals arg1="${apr.lib.type}" arg2="${apr-util.lib.type}"/> - </condition> - - <fail unless="apr-libs-match">apr is ${apr.lib.type} and apr-util is ${apr-util.lib.type}, must be same type.</fail> - <property name="lib.name" value="log4cxx"/> - <property name="lib.prefix" value=""/> - <property name="lib.suffix" value=""/> - - <condition property="apr-util.dependencies" value="expat iconv"> - <equals arg1="${apr-util.lib.type}" arg2="static"/> - </condition> - - - <property name="project.compiler" value="${compiler}"/> - <property name="project.type" value="msvc6"/> - - <condition property="resource.compiler" value="windres"> - <isset property="is-gcc"/> - </condition> - <condition property="resource.compiler" value="brc"> - <isset property="is-bcc"/> - </condition> - <property name="resource.compiler" value="msrc"/> - - <cc name="${project.compiler}" - exceptions="true" - outfile="${log4cxx.lib.dir}/${lib.prefix}${lib.name}${lib.suffix}" - outputfileproperty="log4cxx.lib.file" - subsystem="console" - multithreaded="true" - runtime="${runtime}" - outtype="${lib.type}" - objdir="${log4cxx.lib.dir}/log4cxx_obj" - debug="${debug}" - projectsOnly="${projectsOnly}"> - <compiler name="${resource.compiler}" if="is-windows"> - <includepath path="${resources.dir}"/> - <fileset dir="${resources.dir}" includes="*.rc"/> - </compiler> - <fileset dir="${src.dir}" includes="*.cpp"/> - <fileset dir="${include.dir}" includes="**/*.h"/> - <includepath path="${include.dir}"/> - <includepath path="${apr.include.dir}" if="apr.include.dir"/> - <includepath path="${apr-util.include.dir}" if="apr-util.include.dir"/> - <includepath path="${esmtp.include.dir}" if="esmtp.include.dir"/> - <defineset define="_USRDLL DLL_EXPORTS" if="is-windows"/> - <defineset define="LOG4CXX"/> - <defineset define="LOG4CXX_STATIC" if="is-static"/> - <defineset define="APR_DECLARE_STATIC" if="apr-static"/> - <defineset define="APU_DECLARE_STATIC" if="apr-util-static"/> - <defineset define="WIN32" if="is-windows"/> - <compilerarg value="${pic-option}" if="pic-option"/> - &libsets; - <project type="${project.type}" outfile="${projects.dir}/${lib.name}" if="project.if"> - <comment>&license;</comment> - <dependency file="${projects.dir}/apr"/> - <dependency file="${projects.dir}/xml"/> - <dependency file="${projects.dir}/aprutil" depends="apr,xml"/> - <dependency name="${projects.dir}/libesmtp"/> - </project> - </cc> - - <!-- 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"> - <and> - <os family="windows"/> - <isset property="is-gcc"/> - <equals arg1="${lib.type}" arg2="shared"/> - <isset property="log4cxx.lib.file"/> - </and> - </condition> -</target> - -<target name="build" depends="build-lib" if="copy.log4cxx"> - <copy file="${log4cxx.lib.file}" tofile="${copy.log4cxx}" - overwrite="true" preservelastmodified="true"/> -</target> - -<target name="build-example"> - <mkdir dir="${log4cxx.lib.dir}/${example.name}_obj"/> - <property name="project.compiler" value="${compiler}"/> - <property name="project.type" value="msvc6"/> - <property name="example.include.dir" value="${example.src.dir}"/> - <cc name="${project.compiler}" - exceptions="true" - outfile="${log4cxx.lib.dir}/${example.name}" - subsystem="console" - multithreaded="true" - runtime="${runtime}" - outtype="executable" - objdir="${log4cxx.lib.dir}/${example.name}_obj" - debug="${debug}" - projectsOnly="${projectsOnly}"> - <fileset dir="${example.src.dir}" includes="${example.includes}"/> - <includepath path="${include.dir}"/> - <includepath path="${example.include.dir}"/> - <includepath path="${apr.include.dir}" if="apr.include.dir"/> - - <defineset define="WIN32" if="is-windows"/> - <defineset define="LOG4CXX_STATIC" if="is-static"/> - <defineset define="APR_DECLARE_STATIC" if="apr-static"/> - - <compilerarg value="${pic-option}" if="pic-option"/> - - <libset libs="${lib.prefix}${lib.name}${lib.suffix}" dir="${log4cxx.lib.dir}"/> - &libsets; - - <project outfile="${projects.dir}/${example.name}" type="${project.type}" if="project.if"> - <comment>&license;</comment> - <dependency file="${projects.dir}/apr"/> - <dependency file="${projects.dir}/xml"/> - <dependency name="${projects.dir}/aprutil" depends="apr,xml"/> - <dependency name="${projects.dir}/libesmtp"/> - <dependency file="${projects.dir}/log4cxx" depends="apr,aprutil,xml"/> - </project> - - </cc> -</target> - -<target name="run-example"> - <!-- remove any stray configuration files --> - <delete> - <fileset dir="${log4cxx.lib.dir}" includes="log4*.properties log4*.xml"/> - </delete> - <exec executable="${log4cxx.lib.dir}/${example.name}" - dir="${log4cxx.lib.dir}" - failonerror="true"> - <env key="DYLD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}"/> - <env key="LD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}"/> - <env key="Path" value="${env.Path}"/> - </exec> -</target> - - -<target name="build-delayedloop" depends="build"> - <antcall target="build-example"> - <param name="example.src.dir" value="${examples.dir}"/> - <param name="example.name" value="delayedloop"/> - <param name="example.includes" value="delayedloop.cpp"/> - </antcall> -</target> - -<target name="build-trivial" depends="build"> - <antcall target="build-example"> - <param name="example.src.dir" value="${examples.dir}"/> - <param name="example.name" value="trivial"/> - <param name="example.includes" value="trivial.cpp"/> - </antcall> -</target> - -<target name="build-console" depends="build"> - <antcall target="build-example"> - <param name="example.src.dir" value="${examples.dir}"/> - <param name="example.name" value="console"/> - <param name="example.includes" value="console.cpp"/> - </antcall> -</target> - -<target name="build-stream" depends="build"> - <antcall target="build-example"> - <param name="example.src.dir" value="${examples.dir}"/> - <param name="example.name" value="stream"/> - <param name="example.includes" value="stream.cpp"/> - </antcall> -</target> - -<target name="build-examples" - depends="build-delayedloop, build-trivial, build-stream, build-console" - description="Builds example programs"/> - - - -<target name="build-unittest" depends="build" - description="Builds unit test app"> - <mkdir dir="${log4cxx.lib.dir}/testsuite_obj"/> - - <property name="project.compiler" value="${compiler}"/> - <property name="project.type" value="msvc6"/> - <cc name="${project.compiler}" - exceptions="true" - outfile="${log4cxx.lib.dir}/testsuite" - subsystem="console" - multithreaded="true" - runtime="${runtime}" - outputfileproperty="testsuite.exe" - outtype="executable" - objdir="${log4cxx.lib.dir}/testsuite_obj" - debug="${debug}" - projectsOnly="${projectsOnly}"> - <fileset dir="${tests.cpp.dir}" includes="**/*.cpp **/*.c **/*.h"/> - <includepath path="${include.dir}"/> - <includepath path="${apr.include.dir}" if="apr.include.dir"/> - <includepath path="${apr-util.include.dir}" if="apr-util.include.dir"/> - <defineset define="LOG4CXX_STATIC" if="is-static"/> - <defineset define="APR_DECLARE_STATIC" if="apr-static"/> - <defineset define="APU_DECLARE_STATIC" if="apr-util-static"/> - <defineset define="WIN32" if="is-windows"/> - <compilerarg value="${pic-option}" if="pic-option"/> - - <libset libs="${lib.prefix}${lib.name}${lib.suffix}" dir="${log4cxx.lib.dir}"/> - &libsets; - - <project outfile="${projects.dir}/testsuite" type="${project.type}" if="project.if"> - <comment>&license;</comment> - <dependency file="${projects.dir}/apr"/> - <dependency file="${projects.dir}/xml"/> - <dependency file="${projects.dir}/aprutil" depends="apr,xml"/> - <dependency name="${projects.dir}/libesmtp"/> - <dependency file="${projects.dir}/log4cxx" depends="apr,aprutil,libesmtp"/> - </project> - </cc> -</target> - - - - -<target name="build-standalone-unittest" - description="Builds a unit tests + log4cxx executable" - depends="build-apr-util, build-libesmtp, configure"> - <mkdir dir="${executable.dir}/static/testsuite-standalone_obj"/> - <property name="project.compiler" value="${compiler}"/> - <property name="project.type" value="msvc6"/> - <condition property="resource.compiler" value="windres"> - <isset property="is-gcc"/> - </condition> - <property name="resource.compiler" value="msrc"/> - - <cc name="${project.compiler}" - exceptions="true" - outfile="${executable.dir}/static/testsuite-standalone" - subsystem="console" - multithreaded="true" - runtime="${runtime}" - outputfileproperty="testsuite-standalone.exe" - outtype="executable" - objdir="${executable.dir}/static/testsuite-standalone_obj" - debug="${debug}" - projectsOnly="${projectsOnly}"> - <compiler name="${resource.compiler}" if="is-windows"> - <includepath path="${resources.dir}"/> - <fileset dir="${resources.dir}" includes="*.rc"/> - </compiler> - <fileset dir="${src.dir}" includes="*.cpp" excludes="**/iconv_module.cpp"/> - <fileset dir="${include.dir}" includes="**/*.h"/> - <fileset dir="${tests.cpp.dir}" includes="**/*.cpp **/*.c **/*.h"/> - <includepath path="${include.dir}"/> - <includepath path="${apr.include.dir}" if="apr.include.dir"/> - <includepath path="${apr-util.include.dir}" if="apr-util.include.dir"/> - <includepath path="${esmtp.include.dir}" if="esmtp.include.dir"/> - <defineset define="LOG4CXX"/> - <defineset define="APR_DECLARE_STATIC" if="apr-static"/> - <defineset define="APU_DECLARE_STATIC" if="apr-util-static"/> - <defineset define="WIN32" if="is-windows"/> - <compilerarg value="${pic-option}" if="pic-option"/> - - &libsets; - - <includepath path="${include.dir}"/> - <includepath path="${apr.include.dir}"/> - <defineset define="LOG4CXX"/> - <libset libs="cw32mt" if="is-bcc"/> - - - <project outfile="${projects.dir}/testsuite-standalone" - type="${project.type}" - if="project.if"> - <comment>&license;</comment> - <dependency file="${projects.dir}/apr"/> - <dependency file="${projects.dir}/xml"/> - <dependency file="${projects.dir}/aprutil" depends="apr,xml"/> - <dependency name="${projects.dir}/libesmtp"/> - </project> - </cc> -</target> - -<target name="build-all" depends="build-examples, build-unittest" - description="Builds all artifacts"/> - -<target name="clean-output" depends="init"> - <delete> - <fileset dir="${tests.dir}" includes="output/*"/> - </delete> -</target> - -<target name="run-defaultinit-unittest" depends="build-unittest"> - <antcall target="run-defaultinit-log4X"> - <param name="config" value="log4j"/> - </antcall> - <antcall target="run-defaultinit-log4X"> - <param name="config" value="log4cxx"/> - </antcall> -</target> - -<target name="run-defaultinit-log4X"> - <mkdir dir="${tests.output.dir}"/> - - - <!-- test of log4j.properties --> - <delete> - <fileset dir="${log4cxx.lib.dir}" includes="*.properties *.xml"/> - </delete> - <exec executable="${testsuite.exe}" dir="${log4cxx.lib.dir}" - failonerror="true"> - <arg value="-v"/> - <arg value="testcase1"/> - <env key="DYLD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}"/> - <env key="LD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}"/> - </exec> - - <copy tofile="${log4cxx.lib.dir}/${config}.xml" - file="${tests.resources.dir}/input/xml/defaultInit.xml" overwrite="true"/> - <exec executable="${testsuite.exe}" dir="${log4cxx.lib.dir}" - failonerror="true"> - <arg value="-v"/> - <arg value="testcase2"/> - <env key="DYLD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}"/> - <env key="LD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}"/> - </exec> - <delete> - <fileset dir="${log4cxx.lib.dir}" includes="*.properties *.xml"/> - </delete> - - - <copy tofile="${log4cxx.lib.dir}/${config}.properties" - file="${tests.resources.dir}/input/defaultInit3.properties" overwrite="true"/> - <exec executable="${testsuite.exe}" dir="${log4cxx.lib.dir}" - failonerror="true"> - <arg value="-v"/> - <arg value="testcase3"/> - <env key="DYLD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}"/> - <env key="LD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}"/> - </exec> - <delete> - <fileset dir="${log4cxx.lib.dir}" includes="*.properties *.xml"/> - </delete> - - - <copy file="${tests.resources.dir}/input/xml/defaultInit.xml" tofile="${log4cxx.lib.dir}/${config}.xml"/> - <copy file="${tests.resources.dir}/input/defaultInit3.properties" tofile="${log4cxx.lib.dir}/${config}.properties"/> - <exec executable="${testsuite.exe}" dir="${log4cxx.lib.dir}" - failonerror="true"> - <arg value="-v"/> - <arg value="testcase4"/> - <env key="LD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}"/> - <env key="DYLD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}"/> - </exec> - <delete> - <fileset dir="${log4cxx.lib.dir}" includes="*.properties *.xml"/> - </delete> - - -</target> - -<target name="run-unittest" depends="build-unittest, run-defaultinit-unittest, clean-output" - description="Runs unit test"> - <property environment="env"/> - <mkdir dir="${tests.output.dir}"/> - <delete> - <fileset dir="${tests.output.dir}" includes="*"/> - </delete> - <exec executable="${testsuite.exe}" dir="${tests.resources.dir}" - failonerror="true"> - <arg value="-v"/> - <env key="TOTO" value="wonderful"/> - <env key="key1" value="value1"/> - <env key="key2" value="value2"/> - <env key="LD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}"/> - <env key="DYLD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}"/> - <env key="Path" - value="${log4cxx.lib.dir};${env.Path}"/> - </exec> - <available property="dom3-status" value="" file="src/test/resources/output/dom³"/> - <available property="dom4-status" value="" file="src/test/resources/output/dom㆕"/> - <property name="dom3-status" value="NOT"/> - <property name="dom4-status" value="NOT"/> - <echo>output/dom³ was ${dom3-status} created in DOMTestCase::test3</echo> - <echo>output/dom㆕ was ${dom4-status} created in DOMTestCase::test4</echo> -</target> - -<target name="run-standalone-unittest" - depends="build-standalone-unittest, clean-output" - description="Runs standalone unit test"> - <property environment="env"/> - <mkdir dir="${tests.output.dir}"/> - <delete> - <fileset dir="${tests.output.dir}" includes="*"/> - </delete> - <exec executable="${log4cxx-standalone-test.exe}" dir="${tests.resources.dir}" - failonerror="true"> - <arg value="-v"/> - <env key="TOTO" value="wonderful"/> - <env key="key1" value="value1"/> - <env key="key2" value="value2"/> - <env key="DYLD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}"/> - <env key="LD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}"/> - <env key="Path" - value="${log4cxx.lib.dir};${env.Path}"/> - </exec> - <available property="dom3-status" value="" file="src/test/resources/output/dom³"/> - <available property="dom4-status" value="" file="src/test/resources/output/dom㆕"/> - <property name="dom3-status" value="NOT"/> - <property name="dom4-status" value="NOT"/> - <echo>output/dom³ was ${dom3-status} created in DOMTestCase::test3</echo> - <echo>output/dom㆕ was ${dom4-status} created in DOMTestCase::test4</echo> -</target> - -<target name="run-socketserver" depends="build-unittest, clean-output" - description="Runs SocketServer test"> - <property environment="env"/> - <mkdir dir="${tests.output.dir}"/> - <delete> - <fileset dir="${tests.output.dir}" includes="*"/> - </delete> - <mkdir dir="target/test-classes"/> - <javac srcdir="src/test/java" - includes="org/apache/log4j/net/ShortSocketServer.java" - destdir="target/test-classes" - classpath="${log4j.jar}"/> - <parallel> - <java classname="org.apache.log4j.net.ShortSocketServer" - fork="yes" dir="src/test/resources" classpath="target/test-classes:${log4j.jar}"> - <arg value="8"/> - <arg value="input/socketServer"/> - </java> - <sequential> - <sleep seconds="2"/> - <exec executable="${testsuite.exe}" dir="${tests.resources.dir}" - failonerror="true"> - <arg value="-v"/> - <arg value="socketservertestcase"/> - <env key="LD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}"/> - <env key="DYLD_LIBRARY_PATH" - value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}"/> - <env key="Path" - value="${log4cxx.lib.dir};${env.Path}"/> - </exec> - </sequential> - </parallel> - -</target> - -<target name="build-projects"> - <mkdir dir="${projects.dir}"/> - <property name="project.type" value="msvc6"/> - <antcall target="build-unittest"> - <param name="project.if" value="true"/> - <param name="project.type" value="${project.type}"/> - <param name="project.compiler" value="${project.compiler}"/> - <param name="debug" value="${debug}"/> - <param name="projectsOnly" value="true"/> - <param name="os.family" value="${os.family}"/> - <param name="find" value="${find}"/> - </antcall> - <antcall target="build-standalone-unittest"> - <param name="project.if" value="true"/> - <param name="project.type" value="${project.type}"/> - <param name="project.compiler" value="${project.compiler}"/> - <param name="debug" value="${debug}"/> - <param name="projectsOnly" value="true"/> - <param name="os.family" value="${os.family}"/> - <param name="find" value="${find}"/> - </antcall> - <antcall target="build-examples"> - <param name="project.if" value="true"/> - <param name="project.type" value="${project.type}"/> - <param name="project.compiler" value="${project.compiler}"/> - <param name="debug" value="${debug}"/> - <param name="projectsOnly" value="true"/> - <param name="os.family" value="${os.family}"/> - <param name="find" value="${find}"/> - </antcall> -</target> - -<target name="build-projects-vc6" depends="init" - description="Builds project files for Microsoft Visual C++ 6"> - <antcall target="build-projects"> - <param name="project.type" value="msvc6"/> - <param name="project.compiler" value="msvc"/> - <param name="os.family" value="windows"/> - <param name="debug" value="${debug}"/> - <param name="find" value="${find}"/> - </antcall> -</target> - -<target name="build-projects-vc7" depends="init" - description="Builds project files for Microsoft Visual Studio .NET"> - <antcall target="build-projects"> - <param name="project.type" value="msvc7"/> - <param name="project.compiler" value="msvc"/> - <param name="os.family" value="windows"/> - <param name="debug" value="${debug}"/> - <param name="find" value="${find}"/> - </antcall> -</target> - -<target name="build-projects-vc8" depends="init" - description="Builds project files for Microsoft Visual C++ 2005"> - <antcall target="build-projects"> - <param name="project.type" value="msvc8"/> - <param name="project.compiler" value="msvc"/> - <param name="os.family" value="windows"/> - <param name="debug" value="${debug}"/> - <param name="find" value="${find}"/> - </antcall> -</target> - - -<target name="build-projects-vc9" depends="init" - description="Builds project files for Microsoft Visual C++ 2008"> - <antcall target="build-projects"> - <param name="project.type" value="msvc9"/> - <param name="project.compiler" value="msvc"/> - <param name="os.family" value="windows"/> - <param name="debug" value="${debug}"/> - <param name="find" value="${find}"/> - </antcall> -</target> - - <target name="build-projects-xcode" depends="init" - description="Builds project files for Apple Xcode"> - <antcall target="build-projects"> - <param name="project.type" value="xcode"/> - <param name="project.compiler" value="gcc"/> - <param name="os.family" value="mac"/> - <param name="debug" value="${debug}"/> - <param name="find" value="${find}"/> - </antcall> -</target> - - -<target name="test-compile" depends="build-unittest, build-examples"/> - - -<target name="check" depends="run-unittest, build-examples" - description="Runs all diagnostic tests"> - <antcall target="run-example"> - <param name="example.name" value="trivial"/> - </antcall> - <antcall target="run-example"> - <param name="example.name" value="stream"/> - </antcall> -</target> - - - -<target name="apidocs" depends="init" description="Build log4cxx manual"> - <copy file="src/site/doxy/Doxyfile.in" tofile="${target.dir}/Doxyfile" - overwrite="true"/> - <replace file="${target.dir}/Doxyfile"> - <replacefilter token="@VERSION@" value="${version}"/> - <replacefilter token="@base_dir@" value="${base.dir}"/> - <replacefilter token="@manual_dest@" value="${base.dir}/target/site/apidocs"/> - </replace> - <mkdir dir="target/site/apidocs"/> - <exec executable="${doxygen.exe}" dir="${target.dir}"/> - - <!-- doxygen.css is GPL'd, looks better with it, but not intolerable without it --> - <echo file="${target.dir}/site/apidocs/doxygen.css"> -/* -&license; -*/ -/* Minimal replacement for GPL'd doxygen.css */ -</echo> - <echo file="${target.dir}/site/apidocs/tabs.css"> -/* -&license; -*/ -/* Minimal replacement for GPL'd tabs.css */ -DIV.tabs { - display : none ; -} -</echo> - <!-- fix for issue http://jira.codehaus.org/browse/MSKINS-2 --> - <replace file="${target.dir}/site/css/maven-theme.css" - token="font-size: normal;" - value="font-size: medium;"/> - -</target> - - -<target name="site" depends="apidocs"> - <!-- generate Visual Studio and XCode project files --> - <antcall target="build-projects-vc6"> - <param name="find" value="false"/> - </antcall> - <antcall target="build-projects-xcode"> - </antcall> - - <replaceregexp flags="ig" - match="ADD LINK32 .*/NOLOGO" - replace="ADD LINK32 ADVAPI32.LIB WS2_32.LIB MSWSOCK.LIB SHELL32.LIB ODBC32.LIB /NOLOGO"> - <fileset dir="${target.dir}" includes="**/*.dsp"/> - </replaceregexp> - <replaceregexp flags="g" - match=".\\apr.dsp" - replace="..\\\\..\\\\apr\\\\apr.dsp"> - <fileset dir="${target.dir}" includes="**/*.dsw"/> - </replaceregexp> - <replaceregexp flags="g" - match=".\\aprutil.dsp" - replace="..\\\\..\\\\apr-util\\\\aprutil.dsp"> - <fileset dir="${target.dir}" includes="**/*.dsw"/> - </replaceregexp> - <replaceregexp flags="g" - match=".\\xml.dsp" - replace="..\\\\..\\\\apr-util\\\\xml\\\\expat\\\\lib\\\\xml.dsp"> - <fileset dir="${target.dir}" includes="**/*.dsw"/> - </replaceregexp> - <!-- drop library search path --> - <replaceregexp flags="g" - match="<string>[\./]*/usr/lib</string>" - replace=""> - <fileset dir="${target.dir}" includes="**/*.pbxproj"/> - </replaceregexp> - <replace dir="${target.dir}" includes="**/*.pbxproj" - token="/usr/include/apr-1.0" - value="/usr/include/apr-1"/> - <replace dir="${target.dir}" includes="**/*.pbxproj" - token="MacOSX10.4u.sdk" - value="MacOSX10.5.sdk"/> - <replace dir="${target.dir}/site" includes="**/*.html"> - <replacetoken><html</replacetoken> - <replacevalue><!-- -&license; ---><html</replacevalue> - </replace> - <replace dir="${target.dir}/site/css" includes="maven*.css"> - <replacetoken>body {</replacetoken> - <replacevalue>/* -&license; -*/ -body {</replacevalue> - </replace> - <replace dir="${target.dir}/site/css" includes="print.css"> - <replacetoken>#banner</replacetoken> - <replacevalue>/* -&license; -*/ -#banner</replacevalue> - </replace> - -</target> - -<target name="gump" depends="check, header-check"/> - -<target name="fixcrlf" depends="init" description="repair end-of-line sequences"> - <fixcrlf srcDir="${base.dir}" tab="remove" tablength="3" - eof="remove" fixlast="true" eol="unix" includes="*.xml **/*.cpp **/*.h" excludes="lib/**/*"/> -</target> - - <target name="prepare-changes" description="Prepares changes.xml from a JIRA issues list"> - <xslt style="src/changes/changes.xslt" - in="issues.xml" - out="src/changes/changes.xml"/> - </target> - - <target name="checkout-site" unless="svn-available"> - <exec executable="svn"> - <arg value="co"/> - <arg value="${svnsite.url}"/> - <arg value="target/site-deploy"/> - </exec> - </target> - - <target name="update-site" if="svn-available"> - <exec executable="svn" dir="target/site-deploy" failonerror="true"> - <arg value="update"/> - </exec> - </target> - - <target name="post-site" depends="checkout-site, update-site"/> - - - <target name="mime=html"> - <exec executable="svn"> - <arg value="propset"/> - <arg value="svn:mime-type"/> - <arg value="text/html"/> - <arg value="${src.html}"/> - </exec> - </target> - - <target name="mime=css"> - <exec executable="svn"> - <arg value="propset"/> - <arg value="svn:mime-type"/> - <arg value="text/css"/> - <arg value="${src.css}"/> - </exec> - </target> - - - <target name="site-deploy"> - <!-- Add any new files (and generate innocuous warnings for the existing content) --> - <delete file="target/site-deploy/svn-commit.tmp~"/> - <exec executable="bash" dir="target/site-deploy" failonerror="true"> - <arg line='-c "svn add --force *"'/> - </exec> - <taskdef name="foreach" classname="net.sf.antcontrib.logic.ForEach" /> - <foreach target="mime=html" param="src.html"> - <path> - <fileset dir="target/site-deploy" includes="**/*.html"/> - </path> - </foreach> - <foreach target="mime=css" param="src.css"> - <path> - <fileset dir="target/site-deploy" includes="**/*.css"/> - </path> - </foreach> - <!-- requires that SVN_EDITOR, VISUAL or EDITOR being set to edit commit description --> - <exec executable="svn" dir="target/site-deploy" failonerror="true"> - <arg value="commit"/> - </exec> - </target> - - <target name="autogen" depends="init" if="is-unix"> - <exec executable="sh"> - <arg value="autogen.sh"/> - </exec> - </target> - - + &common; + &find-apr; + &find-apr-util; + &find-libesmtp; + + <property name="base.dir" + location="." + /> + <property name="src.dir" + location="${base.dir}/src/main/cpp" + /> + <property name="resources.dir" + location="${base.dir}/src/main/resources" + /> + <property name="include.dir" + location="${base.dir}/src/main/include" + /> + <property name="target.dir" + location="${base.dir}/target" + /> + <property name="lib.dir" + location="${target.dir}/lib" + /> + <property name="examples.dir" + location="${base.dir}/src/examples/cpp" + /> + <property name="tests.dir" + location="${base.dir}/src/test" + /> + <property name="tests.cpp.dir" + location="${tests.dir}/cpp" + /> + <property name="tests.resources.dir" + location="${tests.dir}/resources" + /> + <property name="tests.output.dir" + location="${tests.resources.dir}/output" + /> + <property name="m2_repo" + location="${user.home}/.m2/repository" + /> + <property name="log4j.version" + value="1.2.14" + /> + <available property="log4j.jar" + value="/usr/share/java/log4j-1.2.jar" + file="/usr/share/java/log4j-1.2.jar" + /> + <property name="log4j.jar" + location="${m2_repo}/log4j/log4j/${log4j.version}/log4j-${log4j.version}.jar" + /> + <property name="doxygen.exe" + value="doxygen" + /> + <property name="lib.name" + value="log4cxx" + /> + <property name="lib.prefix" + value="" + /> + <property name="version" + value="0.10.0" + /> + <property name="enable-char" + value="1" + /> + <property name="enable-wchar_t" + value="1" + /> + <property name="enable-unichar" + value="0" + /> + <property name="enable-cfstring" + value="0" + /> + <property name="with-charset" + value="auto" + /> + <property name="with-SMTP" + value="no" + /> + <property name="with-ODBC" + value="no" + /> + <property name="svnsite.url" + value="https://svn.apache.org/repos/asf/logging/site/trunk/docs/log4cxx" + /> + + <target name="usage" + description="Describes usage of the build script"> + <echo> + Ant build file for log4cxx + + Common invocations: + + > ant + + will attempt to locate APR and APR-util in /usr, /usr/local/apr and .. + + Builds and tests log4cxx. + + > ant -Dwith-apr=APRPATH -Dwith-apr-util=APUPATH + + Builds and tests log4cxx using APR and APR-Util at specified location + + > ant -p + + Displays available targets + + > ant build-projects-vc6 + + Builds Microsoft Visual Studio 6 projects. + -vc7, -vc8, -vc9 and -xcode for Visual Studio .NET, 2005, 2008 and Apple Xcode 2 and later. + respectively. + + Command line options: + + -Ddebug=[true|false] + -Doptimize=[speed|size|none] + -Dversion=n.n.n + -Denable-shared=[yes|no] (default yes) + -Denable-static=[yes|no] (default yes) + -Denable-char=[0, 1] (expose char* API, default 1) + -Denable-wchar_t=[0, 1] (expose wchar_t* API, default 1) + -Denable-unichar=[0, 1] (expose UniChar API, default 0) + -Denable-cfstring[0, 1] (expose CFString API, default 0) + -Dwith-charset=[auto|utf-8|iso-8859-1|usascii|ebcdic] (default auto) + -Dwith-logchar=[utf-8|wchar_t|unichar] (default=utf-8 on Unix, wchar_t on Windows) + -Dwith-apr=APRPATH + -Dwith-apr-util=PATH + -Dwith-SMTP=[libesmtp, no] (default no) + -Dwith-ODBC=[unixODBC, iODBC, Microsoft, no] (default no) + </echo> + </target> + + <target name="init" + depends="common-init"> + <property name="log4cxx.lib.dir" + value="${executable.dir}" + /> + <mkdir dir="${log4cxx.lib.dir}" /> + + <condition property="with-logchar" value="wchar_t"> + <isset property="is-windows" /> + </condition> + <property name="with-logchar" + value="utf-8" + /> + + <condition property="has-libesmtp" value="1"> + <equals arg1="${with-SMTP}" + arg2="libesmtp" + /> + </condition> + + <condition property="odbc.lib" value="iodbc"> + <equals arg1="${with-ODBC}" + arg2="iODBC" + /> + </condition> + + <condition property="odbc.lib" value="unixodbc"> + <equals arg1="${with-ODBC}" + arg2="unixODBC" + /> + </condition> + + <condition property="odbc.lib" value="odbc32"> + <equals arg1="${with-ODBC}" + arg2="Microsoft" + /> + </condition> + + <condition property="has-ODBC" value="1"> + <isset property="odbc.lib" /> + </condition> + <property name="has-ODBC" + value="0" + /> + + <condition property="force-ant" value="1"> + <equals arg1="${find}" + arg2="false" + /> + </condition> + <echo>force-ant: ${force-ant}</echo> + </target> + + <target name="clean" + depends="init" + description="Removes built files"> + <delete dir="${target.dir}" /> + <delete> + <fileset dir="${include.dir}/log4cxx" + includes="**/log4cxx.h" + /> + </delete> + </target> + + <target name="unix-configure" + if="is-unix"> + <copy tofile="${include.dir}/log4cxx/log4cxx.tmp" + file="${include.dir}/log4cxx/log4cxx.h.in" + overwrite="true" + /> + <copy tofile="${include.dir}/log4cxx/private/log4cxx_private.tmp" + file="${include.dir}/log4cxx/private/log4cxx_private.h.in" + overwrite="true" + /> + </target> + + <target name="win-configure" + if="is-windows"> + <copy tofile="${include.dir}/log4cxx/log4cxx.tmp" + file="${include.dir}/log4cxx/log4cxx.hw" + overwrite="true" + /> + <copy tofile="${include.dir}/log4cxx/private/log4cxx_private.tmp" + file="${include.dir}/log4cxx/private/log4cxx_private.hw" + overwrite="true" + /> + <property name="odbc.lib" + value="odbc32" + /> + </target> + + <target name="configure" + depends="init, unix-configure, win-configure"> + <echo message="Configuring with-logchar=${with-logchar}" /> + <echo message="Configuring with-charset=${with-charset}" /> + <echo message="Configuring with-SMTP=${with-SMTP}" /> + <echo message="Configuring with-ODBC=${with-ODBC}" /> + <echo message="Configuring enable-char=${enable-char}" /> + <echo message="Configuring enable-wchar_t=${enable-wchar_t}" /> + <echo message="Configuring enable-unichar=${enable-unichar}" /> + <echo message="Configuring enable-cfstring=${enable-cfstring}" /> + + <condition property="logchar_is_utf8" value="1"> + <equals arg1="${with-logchar}" + arg2="utf-8" + /> + </condition> + <property name="logchar_is_utf8" + value="0" + /> + + <condition property="logchar_is_unichar" value="1"> + <equals arg1="${with-logchar}" + arg2="unichar" + /> + </condition> + <property name="logchar_is_unichar" + value="0" + /> + + <condition property="logchar_is_wchar" value="1"> + <equals arg1="${with-logchar}" + arg2="wchar_t" + /> + </condition> + <property name="logchar_is_wchar" + value="0" + /> + + <replaceregexp file="${include.dir}/log4cxx/log4cxx.tmp" + match="@LOGCHAR_IS_UNICHAR@" + replace="${logchar_is_unichar}" + /> + + <replaceregexp file="${include.dir}/log4cxx/log4cxx.tmp" + match="@LOGCHAR_IS_UTF8@" + replace="${logchar_is_utf8}" + /> + + <replaceregexp file="${include.dir}/log4cxx/log4cxx.tmp" + match="@LOGCHAR_IS_WCHAR@" + replace="${logchar_is_wchar}" + /> + + <condition property="charset_is_utf8" value="1"> + <equals arg1="${with-charset}" + arg2="utf-8" + /> + </condition> + <property name="charset_is_utf8" + value="0" + /> + + <condition property="charset_is_iso-8859-1" value="1"> + <equals arg1="${with-charset}" + arg2="iso-8859-1" + /> + </condition> + <property name="charset_is_iso-8859-1" + value="0" + /> + + <condition property="charset_is_usascii" value="1"> + <equals arg1="${with-charset}" + arg2="usascii" + /> + </condition> + <property name="charset_is_usascii" + value="0" + /> + + <condition property="charset_is_ebcdic" value="1"> + <equals arg1="${with-charset}" + arg2="ebcdic" + /> + </condition> + <property name="charset_is_ebcdic" + value="0" + /> + + <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" + match="@CHARSET_UTF8@" + replace="${charset_is_utf8}" + /> + + <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" + match="@CHARSET_ISO88591@" + replace="${charset_is_iso-8859-1}" + /> + <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" + match="@CHARSET_USASCII@" + replace="${charset_is_usascii}" + /> + <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" + match="@CHARSET_EBCDIC@" + replace="${charset_is_ebcdic}" + /> + + <replaceregexp file="${include.dir}/log4cxx/log4cxx.tmp" + match="@CHAR_API@" + replace="${enable-char}" + /> + + <replaceregexp file="${include.dir}/log4cxx/log4cxx.tmp" + match="@WCHAR_T_API@" + replace="${enable-wchar_t}" + /> + + <replaceregexp file="${include.dir}/log4cxx/log4cxx.tmp" + match="@UNICHAR_API@" + replace="${enable-unichar}" + /> + + <replaceregexp file="${include.dir}/log4cxx/log4cxx.tmp" + match="@CFSTRING_API@" + replace="${enable-cfstring}" + /> + + <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" + match="@HAS_SYSLOG@" + replace="1" + /> + <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" + match="@HAS_STD_LOCALE@" + replace="1" + /> + <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" + match="@HAS_MBSRTOWCS@" + replace="1" + /> + <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" + match="@HAS_WCSTOMBS@" + replace="1" + /> + <condition property="has-fwide" value="0"> + <isset property="is-cygwin" /> + </condition> + <property name="has-fwide" + value="1" + /> + <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" + match="@HAS_FWIDE@" + replace="${has-fwide}" + /> + + <condition property="has-libesmtp-value" value="1"> + <isset property="has-libesmtp" /> + </condition> + <property name="has-libesmtp-value" + value="0" + /> + <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" + match="LOG4CXX_HAVE_LIBESMTP 0" + replace="LOG4CXX_HAVE_LIBESMTP ${has-libesmtp-value}" + /> + <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" + match="@HAS_LIBESMTP@" + replace="${has-libesmtp-value}" + /> + + <replaceregexp file="${include.dir}/log4cxx/private/log4cxx_private.tmp" + match="@HAS_ODBC@" + replace="${has-ODBC}" + /> + + <antcall target="copy-if-changed"> + <param name="tofile" + value="${include.dir}/log4cxx/log4cxx.h" + /> + <param name="file" + value="${include.dir}/log4cxx/log4cxx.tmp" + /> + </antcall> + <delete file="${include.dir}/log4cxx/log4cxx.tmp" /> + <antcall target="copy-if-changed"> + <param name="tofile" + value="${include.dir}/log4cxx/private/log4cxx_private.h" + /> + <param name="file" + value="${include.dir}/log4cxx/private/log4cxx_private.tmp" + /> + </antcall> + <delete file="${include.dir}/log4cxx/private/log4cxx_private.tmp" /> + </target> + + <target name="build-apr" + depends="find-apr" + unless="apr.lib.file"> + <fail unless="apr.src.dir">Could not locate apr library or source.</fail> + + <property name="apr.lib.type" + value="static" + /> + <property name="apr.lib.prefix" + value="" + /> + <property name="apr.lib.suffix" + value="" + /> + <property name="project.type" + value="msvc6" + /> + + <ant antfile="src/ant/apr-build.xml" target="build" inheritAll="false"> + <property name="basedir" + value="${apr.src.dir}" + /> + <property name="target.dir" + value="${target.dir}" + /> + <property name="debug" + value="${debug}" + /> + <property name="lib.prefix" + value="${apr.lib.prefix}" + /> + <property name="lib.suffix" + value="${apr.lib.suffix}" + /> + <property name="compiler" + value="${compiler}" + /> + <property name="runtime" + value="${runtime}" + /> + <property name="lib.type" + value="${apr.lib.type}" + /> + <property name="project.type" + value="${project.type}" + /> + <property name="projects.dir" + value="${projects.dir}" + /> + <property name="project.if.value" + value="${project.if}" + /> + <property name="use-pic" + value="${use-pic}" + /> + <property name="os.family" + value="${os.family}" + /> + </ant> + + <condition property="apr.lib.dir" + value="${target.dir}/${debug.release}/shared"> + <equals arg1="${apr.lib.type}" + arg2="shared" + /> + </condition> + + <property name="apr.lib.dir" + location="${target.dir}/${debug.release}/static" + /> + <property name="apr.project.file" + location="${projects.dir}/apr" + /> + </target> + + <target name="build-apr-util" + depends="build-apr, find-apr-util" + unless="apr-util.lib.file"> + <fail unless="apr-util.src.dir">Could not locate apr-util library or source.</fail> + + <property name="apr-util.lib.type" + value="${apr.lib.type}" + /> + <property name="apr-util.lib.prefix" + value="" + /> + <property name="apr-util.lib.suffix" + value="" + /> + <property name="project.type" + value="msvc6" + /> + <!-- built this way, apr-util will include expat and doesn't need an external reference --> + <property name="apr-util-includes-dependencies" + value="1" + /> + + <ant antfile="src/ant/apr-util-build.xml" + target="build" + inheritAll="false"> + <property name="target.dir" + value="${target.dir}" + /> + <property name="basedir" + value="${apr-util.src.dir}" + /> + <property name="debug" + value="${debug}" + /> + <property name="lib.prefix" + value="${apr-util.lib.prefix}" + /> + <property name="lib.suffix" + value="${apr-util.lib.suffix}" + /> + <property name="compiler" + value="${compiler}" + /> + <property name="runtime" + value="${runtime}" + /> + <property name="apr.include.dir" + value="${apr.include.dir}" + /> + <property name="apr.lib.dir" + value="${apr.lib.dir}" + /> + <property name="apr.lib.type" + value="${apr.lib.type}" + /> + <property name="lib.type" + value="${apr-util.lib.type}" + /> + <property name="project.type" + value="${project.type}" + /> + <property name="projects.dir" + value="${projects.dir}" + /> + <property name="project.if.value" + value="${project.if}" + /> + <property name="use-pic" + value="${use-pic}" + /> + <property name="os.family" + value="${os.family}" + /> + </ant> + + <condition property="apr-util.lib.dir" + value="${target.dir}/${debug.release}/shared"> + <equals arg1="${apr-util.lib.type}" + arg2="shared" + /> + </condition> + <property name="apr-util.lib.dir" + location="${target.dir}/${debug.release}/static" + /> + <property name="apr-util.project.file" + location="${projects.dir}/apr-util" + /> + </target> + + <target name="build-libesmtp" + depends="find-esmtp" + if="has-libesmtp" + unless="esmtp.lib.file"> + <fail unless="esmtp.src.dir">Could not locate libesmtp library or source.</fail> + + <property name="esmtp.lib.type" + value="static" + /> + <property name="esmtp.lib.prefix" + value="" + /> + <property name="esmtp.lib.suffix" + value="" + /> + <property name="project.type" + value="msvc6" + /> + <condition property="esmtp.compiler" + value="gcc"> + <equals arg1="${compiler}" + arg2="g++" + /> + </condition> + <property name="esmtp.compiler" + value="${compiler}" + /> + + <ant antfile="src/ant/esmtp-build.xml" + target="build" + inheritAll="false"> + <property name="target.dir" + value="${target.dir}" + /> + <property name="basedir" + value="${esmtp.src.dir}" + /> + <property name="debug" + value="${debug}" + /> + <property name="lib.prefix" + value="${esmtp.lib.prefix}" + /> + <property name="lib.suffix" + value="${esmtp.lib.suffix}" + /> + <property name="compiler" + value="${esmtp.compiler}" + /> + <property name="runtime" + value="${runtime}" + /> + <property name="lib.type" + value="${esmtp.lib.type}" + /> + <property name="project.type" + value="${project.type}" + /> + <property name="projects.dir" + value="${projects.dir}" + /> + <property name="project.if.value" + value="${project.if}" + /> + <property name="use-pic" + value="${use-pic}" + /> + <property name="os.family" + value="${os.family}" + /> + </ant> + + <condition property="esmtp.lib.dir" + value="${target.dir}/${debug.release}/shared"> + <equals arg1="${esmtp.lib.type}" + arg2="shared" + /> + </condition> + <property name="esmtp.lib.dir" + location="${target.dir}/${debug.release}/static" + /> + <property name="esmtp.project.file" + location="${projects.dir}/libesmtp" + /> + </target> + + <target name="make-header-check"> + <echo file="${header}.cpp" + append="false"> + #include "${header}" + #include "${header}" + </echo> + </target> + + <target name="header-check" + depends="build-apr-util, configure" + description="Checks headers against Effective C++ guidelines"> + <fail unless="is-gcc">Requires GCC compiler</fail> + + <taskdef resource="net/sf/antcontrib/antcontrib.properties" /> + <delete dir="${target.dir}/header-check" /> + <mkdir dir="${target.dir}/header-check" /> + <copy todir="${target.dir}/header-check" + overwrite="true"> + <fileset dir="${include.dir}" + includes="**/*.h"> + <!-- obsolete header with #error directive to eliminate its use --> + <exclude name="**/tchar.h" /> + <!-- excluded due to conflict between log4cxx/rfa.h and log4cxx/rolling/rfa.h --> + <exclude name="log4cxx/rollingfileappender.h" /> + </fileset> + </copy> + <foreach target="make-header-check" + param="header"> + <path> + <fileset dir="${target.dir}/header-check" + includes="**/*.h" + /> + </path> + </foreach> + <property name="project.type" + value="msvc6" + /> + <cc objdir="${target.dir}/header-check" + name="gcc" + exceptions="true" + subsystem="gui" + optimize="none" + multithreaded="true" + relentless="true" + debug="${debug}" + projectsOnly="${projectsOnly}"> + + <compilerarg value="-Weffc++" + /> + <compilerarg value="-Wall" + /> + <compilerarg value="${pic-option}" + if="pic-option" + /> + <fileset dir="${target.dir}/header-check" + includes="**/*.cpp" + excludes="log4cxx/private/*.cpp **/aprinitializer.h.cpp" + /> + <includepath path="${include.dir}" /> + <project outfile="${projects.dir}/header-check" + type="${project.type}" + if="project.if" + /> + </cc> + </target> + + <target name="build-lib" + depends="build-apr-util, build-libesmtp, configure" + description="Build log4cxx library"> + <mkdir dir="${log4cxx.lib.dir}/log4cxx_obj" /> + + <condition property="apr-static" + value="1"> + <equals arg1="${apr.lib.type}" + arg2="static" + /> + </condition> + + <condition property="apr-util-static" + value="1"> + <equals arg1="${apr-util.lib.type}" + arg2="static" + /> + </condition> + + <condition property="apr-libs-match" + value="1"> + <equals arg1="${apr.lib.type}" + arg2="${apr-util.lib.type}" + /> + </condition> + + <fail unless="apr-libs-match"> + apr is ${apr.lib.type} and apr-util is ${apr-util.lib.type}, must be same type. + </fail> + <property name="lib.name" + value="log4cxx" + /> + <property name="lib.prefix" + value="" + /> + <property name="lib.suffix" + value="" + /> + + <condition property="apr-util.dependencies" + value="expat iconv"> + <equals arg1="${apr-util.lib.type}" + arg2="static" + /> + </condition> + + <property name="project.compiler" + value="${compiler}" + /> + <property name="project.type" + value="msvc6" + /> + + <condition property="resource.compiler" + value="windres"> + <isset property="is-gcc" /> + </condition> + <condition property="resource.compiler" + value="brc"> + <isset property="is-bcc" /> + </condition> + <property name="resource.compiler" + value="msrc" + /> + + <cc name="${project.compiler}" + exceptions="true" + outfile="${log4cxx.lib.dir}/${lib.prefix}${lib.name}${lib.suffix}" + outputfileproperty="log4cxx.lib.file" + subsystem="console" + multithreaded="true" + runtime="${runtime}" + outtype="${lib.type}" + objdir="${log4cxx.lib.dir}/log4cxx_obj" + debug="${debug}" + projectsOnly="${projectsOnly}"> + + <compiler name="${resource.compiler}" + if="is-windows"> + <includepath path="${resources.dir}" /> + <fileset dir="${resources.dir}" + includes="*.rc" + /> + </compiler> + + <fileset dir="${src.dir}" + includes="*.cpp" + /> + <fileset dir="${include.dir}" + includes="**/*.h" + /> + + <includepath path="${include.dir}" + /> + <includepath path="${apr.include.dir}" + if="apr.include.dir" + /> + <includepath path="${apr-util.include.dir}" + if="apr-util.include.dir" + /> + <includepath path="${esmtp.include.dir}" + if="esmtp.include.dir" + /> + + <defineset define="_USRDLL DLL_EXPORTS" + if="is-windows" + /> + <defineset define="LOG4CXX" + /> + <defineset define="LOG4CXX_STATIC" + if="is-static" + /> + <defineset define="APR_DECLARE_STATIC" + if="apr-static" + /> + <defineset define="APU_DECLARE_STATIC" + if="apr-util-static" + /> + <defineset define="WIN32" + if="is-windows" + /> + + <compilerarg value="${pic-option}" + if="pic-option" + /> + &libsets; + <project type="${project.type}" + outfile="${projects.dir}/${lib.name}" + if="project.if"> + <comment>&license;</comment> + <dependency file="${projects.dir}/apr" /> + <dependency file="${projects.dir}/xml" /> + <dependency file="${projects.dir}/aprutil" depends="apr,xml" /> + <dependency name="${projects.dir}/libesmtp" /> + </project> + </cc> + + <!-- 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"> + <and> + <os family="windows" /> + <isset property="is-gcc" /> + <equals arg1="${lib.type}" arg2="shared" /> + <isset property="log4cxx.lib.file" /> + </and> + </condition> + </target> + + <target name="build" + depends="build-lib" + if="copy.log4cxx"> + <copy file="${log4cxx.lib.file}" + tofile="${copy.log4cxx}" + overwrite="true" + preservelastmodified="true" + /> + </target> + + <target name="build-example"> + <mkdir dir="${log4cxx.lib.dir}/${example.name}_obj" /> + + <property name="project.compiler" + value="${compiler}" + /> + <property name="project.type" + value="msvc6" + /> + <property name="example.include.dir" + value="${example.src.dir}" + /> + + <cc name="${project.compiler}" + exceptions="true" + outfile="${log4cxx.lib.dir}/${example.name}" + subsystem="console" + multithreaded="true" + runtime="${runtime}" + outtype="executable" + objdir="${log4cxx.lib.dir}/${example.name}_obj" + debug="${debug}" + projectsOnly="${projectsOnly}"> + + <fileset dir="${example.src.dir}" + includes="${example.includes}" + /> + + <includepath path="${include.dir}" /> + <includepath path="${example.include.dir}" /> + <includepath path="${apr.include.dir}" if="apr.include.dir" /> + + <defineset define="WIN32" + if="is-windows" + /> + <defineset define="LOG4CXX_STATIC" + if="is-static" + /> + <defineset define="APR_DECLARE_STATIC" + if="apr-static" + /> + + <compilerarg value="${pic-option}" if="pic-option" /> + + <libset libs="${lib.prefix}${lib.name}${lib.suffix}" dir="${log4cxx.lib.dir}" /> + &libsets; + + <project outfile="${projects.dir}/${example.name}" type="${project.type}" if="project.if"> + <comment>&license;</comment> + <dependency file="${projects.dir}/apr" /> + <dependency file="${projects.dir}/xml" /> + <dependency name="${projects.dir}/aprutil" depends="apr,xml" /> + <dependency name="${projects.dir}/libesmtp" /> + <dependency file="${projects.dir}/log4cxx" depends="apr,aprutil,xml" /> + </project> + </cc> + </target> + + <target name="run-example"> + <!-- remove any stray configuration files --> + <delete> + <fileset dir="${log4cxx.lib.dir}" + includes="log4*.properties log4*.xml" + /> + </delete> + <exec executable="${log4cxx.lib.dir}/${example.name}" + dir="${log4cxx.lib.dir}" + failonerror="true"> + <env key="DYLD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}" + /> + <env key="LD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}" + /> + <env key="Path" + value="${env.Path}" + /> + </exec> + </target> + + <target name="build-delayedloop" + depends="build"> + <antcall target="build-example"> + <param name="example.src.dir" + value="${examples.dir}" + /> + <param name="example.name" + value="delayedloop" + /> + <param name="example.includes" + value="delayedloop.cpp" + /> + </antcall> + </target> + + <target name="build-trivial" + depends="build"> + <antcall target="build-example"> + <param name="example.src.dir" + value="${examples.dir}" + /> + <param name="example.name" + value="trivial" + /> + <param name="example.includes" + value="trivial.cpp" + /> + </antcall> + </target> + + <target name="build-console" + depends="build"> + <antcall target="build-example"> + <param name="example.src.dir" + value="${examples.dir}" + /> + <param name="example.name" + value="console" + /> + <param name="example.includes" + value="console.cpp" + /> + </antcall> + </target> + + <target name="build-stream" + depends="build"> + <antcall target="build-example"> + <param name="example.src.dir" + value="${examples.dir}" + /> + <param name="example.name" + value="stream" + /> + <param name="example.includes" + value="stream.cpp" + /> + </antcall> + </target> + + <target name="build-examples" + depends="build-delayedloop, build-trivial, build-stream, build-console" + description="Builds example programs" + /> + + <target name="build-unittest" + depends="build" + description="Builds unit test app"> + <mkdir dir="${log4cxx.lib.dir}/testsuite_obj" /> + + <property name="project.compiler" + value="${compiler}" + /> + <property name="project.type" + value="msvc6" + /> + + <cc name="${project.compiler}" + exceptions="true" + outfile="${log4cxx.lib.dir}/testsuite" + subsystem="console" + multithreaded="true" + runtime="${runtime}" + outputfileproperty="testsuite.exe" + outtype="executable" + objdir="${log4cxx.lib.dir}/testsuite_obj" + debug="${debug}" + projectsOnly="${projectsOnly}"> + + <fileset dir="${tests.cpp.dir}" + includes="**/*.cpp **/*.c **/*.h" + /> + + <includepath path="${include.dir}" + /> + <includepath path="${apr.include.dir}" + if="apr.include.dir" + /> + <includepath path="${apr-util.include.dir}" + if="apr-util.include.dir" + /> + + <defineset define="LOG4CXX_STATIC" + if="is-static" + /> + <defineset define="APR_DECLARE_STATIC" + if="apr-static" + /> + <defineset define="APU_DECLARE_STATIC" + if="apr-util-static" + /> + <defineset define="WIN32" + if="is-windows" + /> + + <compilerarg value="${pic-option}" + if="pic-option" + /> + + <libset libs="${lib.prefix}${lib.name}${lib.suffix}" + dir="${log4cxx.lib.dir}" + /> + &libsets; + + <project outfile="${projects.dir}/testsuite" + type="${project.type}" + if="project.if"> + <comment>&license;</comment> + + <dependency file="${projects.dir}/apr" /> + <dependency file="${projects.dir}/xml" /> + <dependency file="${projects.dir}/aprutil" depends="apr,xml" /> + <dependency name="${projects.dir}/libesmtp" /> + <dependency file="${projects.dir}/log4cxx" depends="apr,aprutil,libesmtp" /> + </project> + </cc> + </target> + + <target name="build-standalone-unittest" + description="Builds a unit tests + log4cxx executable" + depends="build-apr-util, build-libesmtp, configure"> + <mkdir dir="${executable.dir}/static/testsuite-standalone_obj" /> + + <property name="project.compiler" + value="${compiler}" + /> + <property name="project.type" + value="msvc6" + /> + <condition property="resource.compiler" + value="windres"> + <isset property="is-gcc" /> + </condition> + <property name="resource.compiler" + value="msrc" + /> + + <cc name="${project.compiler}" + exceptions="true" + outfile="${executable.dir}/static/testsuite-standalone" + subsystem="console" + multithreaded="true" + runtime="${runtime}" + outputfileproperty="testsuite-standalone.exe" + outtype="executable" + objdir="${executable.dir}/static/testsuite-standalone_obj" + debug="${debug}" + projectsOnly="${projectsOnly}"> + + <compiler name="${resource.compiler}" + if="is-windows"> + <includepath path="${resources.dir}" /> + <fileset dir="${resources.dir}" + includes="*.rc" + /> + </compiler> + + <fileset dir="${src.dir}" + includes="*.cpp" + excludes="**/iconv_module.cpp" + /> + <fileset dir="${include.dir}" + includes="**/*.h" + /> + <fileset dir="${tests.cpp.dir}" + includes="**/*.cpp **/*.c **/*.h" + /> + + <includepath path="${include.dir}" /> + <includepath path="${apr.include.dir}" + if="apr.include.dir" + /> + <includepath path="${apr-util.include.dir}" + if="apr-util.include.dir" + /> + <includepath path="${esmtp.include.dir}" + if="esmtp.include.dir" + /> + + <defineset define="LOG4CXX" + /> + <defineset define="APR_DECLARE_STATIC" + if="apr-static" + /> + <defineset define="APU_DECLARE_STATIC" + if="apr-util-static" + /> + <defineset define="WIN32" + if="is-windows" + /> + + <compilerarg value="${pic-option}" + if="pic-option" + /> + &libsets; + + <includepath path="${include.dir}" /> + <includepath path="${apr.include.dir}" /> + + <defineset define="LOG4CXX" /> + + <libset libs="cw32mt" if="is-bcc" /> + + <project outfile="${projects.dir}/testsuite-standalone" + type="${project.type}" + if="project.if"> + <comment>&license;</comment> + + <dependency file="${projects.dir}/apr" /> + <dependency file="${projects.dir}/xml" /> + <dependency file="${projects.dir}/aprutil" depends="apr,xml" /> + <dependency name="${projects.dir}/libesmtp" /> + </project> + </cc> + </target> + + <target name="build-all" + depends="build-examples, build-unittest" + description="Builds all artifacts" + /> + + <target name="clean-output" + depends="init"> + <delete> + <fileset dir="${tests.dir}" + includes="output/*" + /> + </delete> + </target> + + <target name="run-defaultinit-unittest" + depends="build-unittest"> + <antcall target="run-defaultinit-log4X"> + <param name="config" + value="log4j" + /> + </antcall> + <antcall target="run-defaultinit-log4X"> + <param name="config" + value="log4cxx" + /> + </antcall> + </target> + + <target name="run-defaultinit-log4X"> + <mkdir dir="${tests.output.dir}" /> + + <!-- test of log4j.properties --> + <delete> + <fileset dir="${log4cxx.lib.dir}" + includes="*.properties *.xml" + /> + </delete> + <exec executable="${testsuite.exe}" + dir="${log4cxx.lib.dir}" + failonerror="true"> + <arg value="-v" /> + <arg value="testcase1" /> + + <env key="DYLD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}" + /> + <env key="LD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}" + /> + </exec> + + <copy tofile="${log4cxx.lib.dir}/${config}.xml" + file="${tests.resources.dir}/input/xml/defaultInit.xml" + overwrite="true" + /> + <exec executable="${testsuite.exe}" + dir="${log4cxx.lib.dir}" + failonerror="true"> + <arg value="-v" /> + <arg value="testcase2" /> + + <env key="DYLD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}" + /> + <env key="LD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}" + /> + </exec> + <delete> + <fileset dir="${log4cxx.lib.dir}" + includes="*.properties *.xml" + /> + </delete> + + <copy tofile="${log4cxx.lib.dir}/${config}.properties" + file="${tests.resources.dir}/input/defaultInit3.properties" + overwrite="true" + /> + <exec executable="${testsuite.exe}" + dir="${log4cxx.lib.dir}" + failonerror="true"> + <arg value="-v" /> + <arg value="testcase3" /> + + <env key="DYLD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}" + /> + <env key="LD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}" + /> + </exec> + <delete> + <fileset dir="${log4cxx.lib.dir}" + includes="*.properties *.xml" + /> + </delete> + + <copy file="${tests.resources.dir}/input/xml/defaultInit.xml" + tofile="${log4cxx.lib.dir}/${config}.xml" + /> + <copy file="${tests.resources.dir}/input/defaultInit3.properties" + tofile="${log4cxx.lib.dir}/${config}.properties" + /> + <exec executable="${testsuite.exe}" + dir="${log4cxx.lib.dir}" + failonerror="true"> + <arg value="-v" /> + <arg value="testcase4" /> + + <env key="LD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}" + /> + <env key="DYLD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}" + /> + </exec> + <delete> + <fileset dir="${log4cxx.lib.dir}" + includes="*.properties *.xml" + /> + </delete> + </target> + + <target name="run-unittest" + depends="build-unittest, run-defaultinit-unittest, clean-output" + description="Runs unit test"> + <property environment="env" /> + <mkdir dir="${tests.output.dir}" /> + <delete> + <fileset dir="${tests.output.dir}" + includes="*" + /> + </delete> + + <exec executable="${testsuite.exe}" + dir="${tests.resources.dir}" + failonerror="true"> + <arg value="-v" /> + + <env key="TOTO" + value="wonderful" + /> + <env key="key1" + value="value1" + /> + <env key="key2" + value="value2" + /> + <env key="LD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}" + /> + <env key="DYLD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}" + /> + <env key="Path" + value="${log4cxx.lib.dir};${env.Path}" + /> + </exec> + + <available property="dom3-status" + value="" + file="src/test/resources/output/dom³" + /> + <available property="dom4-status" + value="" + file="src/test/resources/output/dom㆕" + /> + + <property name="dom3-status" + value="NOT" + /> + <property name="dom4-status" + value="NOT" + /> + + <echo>output/dom³ was ${dom3-status} created in DOMTestCase::test3</echo> + <echo>output/dom㆕ was ${dom4-status} created in DOMTestCase::test4</echo> + </target> + + <target name="run-standalone-unittest" + depends="build-standalone-unittest, clean-output" + description="Runs standalone unit test"> + <property environment="env" /> + <mkdir dir="${tests.output.dir}" /> + <delete> + <fileset dir="${tests.output.dir}" + includes="*" + /> + </delete> + + <exec executable="${log4cxx-standalone-test.exe}" + dir="${tests.resources.dir}" + failonerror="true"> + <arg value="-v" /> + + <env key="TOTO" + value="wonderful" + /> + <env key="key1" + value="value1" + /> + <env key="key2" + value="value2" + /> + <env key="DYLD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}" + /> + <env key="LD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}" + /> + <env key="Path" + value="${log4cxx.lib.dir};${env.Path}" + /> + </exec> + + <available property="dom3-status" + value="" + file="src/test/resources/output/dom³" + /> + <available property="dom4-status" + value="" + file="src/test/resources/output/dom㆕" + /> + + <property name="dom3-status" + value="NOT" + /> + <property name="dom4-status" + value="NOT" + /> + + <echo>output/dom³ was ${dom3-status} created in DOMTestCase::test3</echo> + <echo>output/dom㆕ was ${dom4-status} created in DOMTestCase::test4</echo> + </target> + + <target name="run-socketserver" + depends="build-unittest, clean-output" + description="Runs SocketServer test"> + <property environment="env" /> + <mkdir dir="${tests.output.dir}" /> + <delete> + <fileset dir="${tests.output.dir}" + includes="*" + /> + </delete> + <mkdir dir="target/test-classes" /> + <javac srcdir="src/test/java" + includes="org/apache/log4j/net/ShortSocketServer.java" + destdir="target/test-classes" + classpath="${log4j.jar}" + /> + <parallel> + <java classname="org.apache.log4j.net.ShortSocketServer" + fork="yes" dir="src/test/resources" + classpath="target/test-classes:${log4j.jar}"> + <arg value="8" /> + <arg value="input/socketServer" /> + </java> + <sequential> + <sleep seconds="2" /> + <exec executable="${testsuite.exe}" + dir="${tests.resources.dir}" + failonerror="true"> + <arg value="-v" /> + <arg value="socketservertestcase" /> + + <env key="LD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.LD_LIBRARY_PATH}" + /> + <env key="DYLD_LIBRARY_PATH" + value="${log4cxx.lib.dir}:${apr.lib.dir}:${apr-util.lib.dir}:${env.DYLD_LIBRARY_PATH}" + /> + <env key="Path" + value="${log4cxx.lib.dir};${env.Path}" + /> + </exec> + </sequential> + </parallel> + </target> + + <target name="build-projects"> + <mkdir dir="${projects.dir}" /> + <property name="project.type" + value="msvc6" + /> + + <antcall target="build-unittest"> + <param name="project.if" + value="true" + /> + <param name="project.type" + value="${project.type}" + /> + <param name="project.compiler" + value="${project.compiler}" + /> + <param name="debug" + value="${debug}" + /> + <param name="projectsOnly" + value="true" + /> + <param name="os.family" + value="${os.family}" + /> + <param name="find" + value="${find}" + /> + </antcall> + + <antcall target="build-standalone-unittest"> + <param name="project.if" + value="true" + /> + <param name="project.type" + value="${project.type}" + /> + <param name="project.compiler" + value="${project.compiler}" + /> + <param name="debug" + value="${debug}" + /> + <param name="projectsOnly" + value="true" + /> + <param name="os.family" + value="${os.family}" + /> + <param name="find" + value="${find}" + /> + </antcall> + + <antcall target="build-examples"> + <param name="project.if" + value="true" + /> + <param name="project.type" + value="${project.type}" + /> + <param name="project.compiler" + value="${project.compiler}" + /> + <param name="debug" + value="${debug}" + /> + <param name="projectsOnly" + value="true" + /> + <param name="os.family" + value="${os.family}" + /> + <param name="find" + value="${find}" + /> + </antcall> + </target> + + <target name="build-projects-vc6" + depends="init" + description="Builds project files for Microsoft Visual C++ 6"> + <antcall target="build-projects"> + <param name="project.type" + value="msvc6" + /> + <param name="project.compiler" + value="msvc" + /> + <param name="os.family" + value="windows" + /> + <param name="debug" + value="${debug}" + /> + <param name="find" + value="${find}" + /> + </antcall> + </target> + + <target name="build-projects-vc7" + depends="init" + description="Builds project files for Microsoft Visual Studio .NET"> + <antcall target="build-projects"> + <param name="project.type" + value="msvc7" + /> + <param name="project.compiler" + value="msvc" + /> + <param name="os.family" + value="windows" + /> + <param name="debug" + value="${debug}" + /> + <param name="find" + value="${find}" + /> + </antcall> + </target> + + <target name="build-projects-vc8" + depends="init" + description="Builds project files for Microsoft Visual C++ 2005"> + <antcall target="build-projects"> + <param name="project.type" + value="msvc8" + /> + <param name="project.compiler" + value="msvc" + /> + <param name="os.family" + value="windows" + /> + <param name="debug" + value="${debug}" + /> + <param name="find" + value="${find}" + /> + </antcall> + </target> + + + <target name="build-projects-vc9" + depends="init" + description="Builds project files for Microsoft Visual C++ 2008"> + <antcall target="build-projects"> + <param name="project.type" + value="msvc9" + /> + <param name="project.compiler" + value="msvc" + /> + <param name="os.family" + value="windows" + /> + <param name="debug" + value="${debug}" + /> + <param name="find" + value="${find}" + /> + </antcall> + </target> + + <target name="build-projects-xcode" + depends="init" + description="Builds project files for Apple Xcode"> + <antcall target="build-projects"> + <param name="project.type" + value="xcode" + /> + <param name="project.compiler" + value="gcc" + /> + <param name="os.family" + value="mac" + /> + <param name="debug" + value="${debug}" + /> + <param name="find" + value="${find}" + /> + </antcall> + </target> + + <target name="test-compile" + depends="build-unittest, build-examples" + /> + + <target name="check" + depends="run-unittest, build-examples" + description="Runs all diagnostic tests"> + <antcall target="run-example"> + <param name="example.name" + value="trivial" + /> + </antcall> + + <antcall target="run-example"> + <param name="example.name" + value="stream" + /> + </antcall> + </target> + + <target name="apidocs" + description="Build log4cxx manual"> + <copy file="${base.dir}/src/site/doxy/Doxyfile.in" + tofile="${target.dir}/Doxyfile" + overwrite="true" + /> + <replace file="${target.dir}/Doxyfile"> + <replacefilter token="@version@" + value="${version}" + /> + <replacefilter token="@base_dir@" + value="${base.dir}" + /> + <replacefilter token="@manual_dest@" + value="${target.dir}/site/apidocs" + /> + </replace> + + <!-- + Copying project site index data to apidocs index + + We need some Apache boilerplate and intro in the apidocs index page and the easiest + solution seems to be to simply copy some of the contents of the project site index. + --> + <xslt in="${target.dir}/site/index.html" + out="${target.dir}/mainpage.dox" + style="${base.dir}/src/site/doxy/mainpage.dox.xsl" + force="true"> + <xmlcatalog> + <dtd publicId="-//W3C//DTD XHTML 1.0 Transitional//EN" + location="${base.dir}/src/site/doxy/DTDs/xhtml1-transitional.dtd" + /> + <dtd publicId="-//W3C//ENTITIES Latin 1 for XHTML//EN" + location="${base.dir}/src/site/doxy/DTDs/xhtml-lat1.ent" + /> + <dtd publicId="-//W3C//ENTITIES Symbols for XHTML//EN" + location="${base.dir}/src/site/doxy/DTDs/xhtml-symbol.ent" + /> + <dtd publicId="-//W3C//ENTITIES Special for XHTML//EN" + location="${base.dir}/src/site/doxy/DTDs/xhtml-special.ent" + /> + </xmlcatalog> + </xslt> + + <mkdir dir="${target.dir}/site/apidocs" /> + <exec executable="${doxygen.exe}" + dir="${target.dir}" + /> + + <!-- + Links ot the main project site + + We want links to the main project site and adding them after doxygen seems to be the + only and easiest way. + --> + <replaceregexp match="(<div (?:id="projectname"|class="title")>)(Apache log4cxx \(Incubating\))" + replace="\1<a href="http://incubator.apache.org/log4cxx">\2</a>" + flags="img"> + <fileset dir="${target.dir}/site/apidocs"> + <include name="*.html" /> + </fileset> + </replaceregexp> + </target> + + <target name="site" + depends="apidocs"> + <!-- generate Visual Studio and XCode project files --> + <antcall target="build-projects-vc6"> + <param name="find" value="false" /> + </antcall> + + <antcall target="build-projects-xcode"> + </antcall> + + <replaceregexp flags="ig" + match="ADD LINK32 .*/NOLOGO" + replace="ADD LINK32 ADVAPI32.LIB WS2_32.LIB MSWSOCK.LIB SHELL32.LIB ODBC32.LIB /NOLOGO"> + <fileset dir="${target.dir}" + includes="**/*.dsp" + /> + </replaceregexp> + <replaceregexp flags="g" + match=".\\apr.dsp" + replace="..\\\\..\\\\apr\\\\apr.dsp"> + <fileset dir="${target.dir}" + includes="**/*.dsw" + /> + </replaceregexp> + <replaceregexp flags="g" + match=".\\aprutil.dsp" + replace="..\\\\..\\\\apr-util\\\\aprutil.dsp"> + <fileset dir="${target.dir}" + includes="**/*.dsw" + /> + </replaceregexp> + <replaceregexp flags="g" + match=".\\xml.dsp" + replace="..\\\\..\\\\apr-util\\\\xml\\\\expat\\\\lib\\\\xml.dsp"> + <fileset dir="${target.dir}" + includes="**/*.dsw" + /> + </replaceregexp> + <!-- drop library search path --> + <replaceregexp flags="g" + match="<string>[\./]*/usr/lib</string>" + replace=""> + <fileset dir="${target.dir}" + includes="**/*.pbxproj" + /> + </replaceregexp> + + <replace dir="${target.dir}" + includes="**/*.pbxproj" + token="/usr/include/apr-1.0" + value="/usr/include/apr-1" + /> + <replace dir="${target.dir}" includes="**/*.pbxproj" + token="MacOSX10.4u.sdk" + value="MacOSX10.5.sdk" + /> + <replace dir="${target.dir}/site" + includes="**/*.html"> + <replacetoken><html</replacetoken> + <replacevalue><!-- + &license; + --><html</replacevalue> + </replace> + <replace dir="${target.dir}/site/css" + includes="maven*.css"> + <replacetoken>body {</replacetoken> + <replacevalue>/* + &license; + */ + body {</replacevalue> + </replace> + <replace dir="${target.dir}/site/css" + includes="print.css"> + <replacetoken>#banner</replacetoken> + <replacevalue>/* + &license; + */ + #banner</replacevalue> + </replace> + </target> + + <target name="gump" + depends="check, header-check" + /> + + <target name="fixcrlf" + depends="init" + description="repair end-of-line sequences"> + <fixcrlf srcDir="${base.dir}" + tab="remove" + tablength="3" + eof="remove" + fixlast="true" + eol="unix" + includes="*.xml **/*.cpp **/*.h" + excludes="lib/**/*" + /> + </target> + + <target name="prepare-changes" + description="Prepares changes.xml from a JIRA issues list"> + <xslt style="src/changes/changes.xslt" + in="issues.xml" + out="src/changes/changes.xml" + /> + </target> + + <target name="checkout-site" + unless="svn-available"> + <exec executable="svn"> + <arg value="co" /> + <arg value="${svnsite.url}" /> + <arg value="target/site-deploy" /> + </exec> + </target> + + <target name="update-site" + if="svn-available"> + <exec executable="svn" + dir="target/site-deploy" + failonerror="true"> + <arg value="update" /> + </exec> + </target> + + <target name="post-site" + depends="checkout-site, update-site" + /> + + <target name="mime=html"> + <exec executable="svn"> + <arg value="propset" /> + <arg value="svn:mime-type" /> + <arg value="text/html" /> + <arg value="${src.html}" /> + </exec> + </target> + + <target name="mime=css"> + <exec executable="svn"> + <arg value="propset" /> + <arg value="svn:mime-type" /> + <arg value="text/css" /> + <arg value="${src.css}" /> + </exec> + </target> + + <target name="site-deploy"> + <!-- Add any new files (and generate innocuous warnings for the existing content) --> + <delete file="target/site-deploy/svn-commit.tmp~" /> + <exec executable="bash" + dir="target/site-deploy" + failonerror="true"> + <arg line='-c "svn add --force *"'/> + </exec> + + <taskdef name="foreach" + classname="net.sf.antcontrib.logic.ForEach" + /> + <foreach target="mime=html" + param="src.html"> + <path> + <fileset dir="target/site-deploy" + includes="**/*.html" + /> + </path> + </foreach> + <foreach target="mime=css" + param="src.css"> + <path> + <fileset dir="target/site-deploy" + includes="**/*.css" + /> + </path> + </foreach> + + <!-- requires that SVN_EDITOR, VISUAL or EDITOR being set to edit commit description --> + <exec executable="svn" + dir="target/site-deploy" + failonerror="true"> + <arg value="commit" /> + </exec> + </target> + + <target name="autogen" + depends="init" + if="is-unix"> + <exec executable="sh"> + <arg value="autogen.sh" /> + </exec> + </target> </project> |