<?xml version="1.0"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

	  http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.

-->
<!DOCTYPE project [
<!ENTITY common SYSTEM 'common.xml'>
<!ENTITY find-apr SYSTEM 'find-apr.xml'>
<!ENTITY license '
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

	  http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
'>
]>

<!--
	This file builds APR using Apache Ant (http://ant.apache.org)
	and the C++ compilation tasks from http://ant-contrib.sourceforge.net.
-->
<project name="aprutil" default="check" basedir=".">

&common;
&find-apr;

<property	name="src.dir"
			location="${basedir}"
/>
<property	name="include.dir"
			location="${src.dir}/include"
/>
<property	name="target.dir"
			location="${basedir}/target"
/>

<target	name="usage"
		description="Displays usage notes">
	<echo></echo>
</target>

<target	name="init"
		depends="common-init">
	<condition	property="arch"
				value="win32">
		<isset property="is-windows" />
	</condition>
	<property	name="arch"
				value="unix"
	/>
</target>

<target	name="clean"
		description="Deletes build products">
	<delete dir="${target.dir}" />
</target>

<target	name="configure-check"
		depends="init">
	<condition	property="aprutil-config-available"
				value="true">
		<and>
			<available file="${include.dir}/apu.h"						/>
			<available file="${include.dir}/apu_want.h"					/>
			<available file="${include.dir}/private/apu_config.h"		/>
			<available file="${include.dir}/private/apu_select_dbm.h"	/>
			<available file="${src.dir}/xml/expat/lib/expat.h"			/>
			<available file="${src.dir}/xml/expat/config.h"				/>
		</and>
	</condition>
</target>

<target	name="win-configure"
		depends="configure-check"
		if="is-windows"
		unless="aprutil-config-available">
	<copy	tofile="${include.dir}/apu.h"
			file="${include.dir}/apu.hw"
	/>
	<replaceregexp	file="${include.dir}/apu.h"
					match="#define *APU_HAVE_APR_ICONV.*"
					replace="#define APU_HAVE_APR_ICONV 0"
	/>
	<copy	tofile="${include.dir}/apu_want.h"
			file="${include.dir}/apu_want.hw"
	/>
	<copy	tofile="${include.dir}/apr_ldap.h"
			file="${include.dir}/apr_ldap.hw"
	/>
	<replaceregexp	file="${include.dir}/apr_ldap.h"
					match="#define APR_HAS_LDAP.*"
					replace="#define APR_HAS_LDAP 0"
	/>
	<copy	tofile="${include.dir}/private/apu_config.h"
			file="${include.dir}/private/apu_config.hw"
	/>
	<copy	tofile="${include.dir}/private/apu_select_dbm.h"
			file="${include.dir}/private/apu_select_dbm.hw"
	/>
	<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="1"
				else="0">
		<and>
			<equals arg1="${compiler}" arg2="bcc" />
			<not>
				<isfileselected file="${include.dir}/private/apu_config.h">
					<contains	text="#include &lt;stdint.h&gt;"
								ignorewhitespace="true"
					/>
				</isfileselected>
			</not>
		</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"
		depends="configure-check, find-apr"
		if="is-unix"
		unless="aprutil-config-available">
	<exec executable="sh" dir="${src.dir}">
		<arg value="./configure" />
		<arg value="--with-apr=${apr.dir}" />
	</exec>
	<exec executable="sh" dir="${src.dir}/xml/expat">
		<arg value="./configure" />
	</exec>
</target>

<target	name="configure"
		depends="unix-configure, win-configure">
	<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">
		<isfileselected file="${include.dir}/apu.h">
			<contains	text="#define APU_HAVE_ICONV 1"
						ignorewhitespace="true"
			/>
		</isfileselected>
	</condition>
	<condition	property="has-sqlite3"
				value="1">
		<isfileselected file="${include.dir}/apu.h">
			<contains	text="#define APU_HAVE_SQLITE3 1"
						ignorewhitespace="true"
			/>
		</isfileselected>
	</condition>
</target>

<target	name="build-xml"
		depends="configure"
		description="Builds Expat">
	<mkdir dir="${executable.dir}/apr-util-ofiles" />
	<property	name="project.compiler"
				value="${compiler}"
	/>
	<property	name="project.type"
				value="msvc6"
	/>

	<!--
		This only generate a project file necessary to mimic this visual studio project provided
		with APR.
	 -->
	<cc	name="${project.compiler}"
		outfile="${executable.dir}/expat"
		subsystem="console"
		multithreaded="true"
		runtime="${runtime}"
		outtype="static"
		objdir="${executable.dir}/apr-util-ofiles"
		warnings="none"
		debug="${debug}"
		projectsOnly="true">
		<fileset	dir="${src.dir}/xml/expat/lib"
					includes="xmlparse.c xmlrole.c xmltok.c"
		/>
		<fileset	dir="${src.dir}/xml/expat/lib"
					includes="*.h"
		/>
		<fileset	dir="${src.dir}/xml/expat"
					includes="*.h"
		/>

		<includepath path="${src.dir}/xml/expat/lib"	/>
		<includepath path="${src.dir}/xml/expat"		/>

		<defineset>
			<define name="XMLPARSEAPI" value=" " />
		</defineset>
		<defineset	define="WIN32 COMPILED_FROM_DSP"
					if="is-windows"
		/>
		<defineset	define="_HAVE_CONFIG_H _REENTRANT _GNU_SOURCE"
					if="is-gcc"
		/>
		<compilerarg	value="${pic-option}"
						if="pic-option"
		/>

		<libset libs="cw32mt" if="is-bcc" />
		<project	type="${project.type}"
					outfile="${projects.dir}/projects/xml"
					if="project.if">
			<comment>&license;</comment>
		</project>
	</cc>
</target>

<target	name="build"
		depends="build-xml, find-apr"
		description="Build library">
	<property	name="apr.lib.prefix"
				value=""
	/>
	<property	name="apr.lib.name"
				value="apr-1"
	/>
	<property	name="apr.lib.suffix"
				value=""
	/>

	<cc	name="${project.compiler}"
		outfile="${executable.dir}/aprutil-1${lib-suffix}"
		subsystem="console"
		multithreaded="true"
		runtime="${runtime}"
		outtype="${lib.type}"
		objdir="${executable.dir}/apr-util-ofiles"
		warnings="none"
		debug="${debug}"
		projectsOnly="${projectsOnly}">
		<fileset	dir="${src.dir}" includes="**/*.c"
					excludes="test/*.c *.c ldap/*.c xml/expat/lib/*"
		/>
		<fileset	dir="${src.dir}/xml/expat/lib"
					includes="xmlparse.c xmlrole.c xmltok.c"
		/>
		<fileset	dir="${src.dir}/xml/expat/lib"
					includes="*.h"
		/>
		<fileset	dir="${src.dir}/xml/expat"
					includes="*.h"
		/>
		<fileset	dir="${include.dir}"
					includes="*.h"
		/>
		<fileset	dir="${include.dir}/private"
					includes="*.h"
		/>

		<includepath path="${apr.include.dir}"			/>
		<includepath path="${include.dir}"				/>
		<includepath path="${include.dir}/private"		/>
		<includepath path="${src.dir}/xml/expat/lib"	/>
		<includepath path="${src.dir}/xml/expat"		/>

		<defineset	define="APU_DECLARE_EXPORT"
					if="is-shared"
		/>
		<defineset	define="APU_DECLARE_STATIC"
					unless="is-shared"
		/>
		<defineset	define="APR_DECLARE_STATIC"
					unless="is-apr-shared"
		/>
		<defineset	define="XML_STATIC"
					unless="is-shared"
		/>
		<defineset>
			<define name="XMLPARSEAPI" value=" " />
		</defineset>
		<defineset	define="WIN32 COMPILED_FROM_DSP HAVE_SQL_H"
					if="is-windows"
		/>
		<defineset if="is-bcc">
			<define	name="EILSEQ"
					value="50"
			/>
		</defineset>
		<defineset	define="_HAVE_CONFIG_H _REENTRANT _GNU_SOURCE"
					if="is-gcc"
		/>
		<compilerarg	value="${pic-option}"
						if="pic-option"
		/>

		<libset	dir="${executable.dir}"
				libs="xml ${apr.lib.prefix}${apr.lib.name}${apr.lib.suffix}"
		/>
		<libset	libs="cw32mt"
				if="is-bcc"
		/>
		<libset	libs="pthread dl"
				if="is-unix"
		/>
		<libset	libs="iconv"
				if="has-iconv"
		/>
		<libset	libs="sqlite3"
				if="has-sqlite3"
		/>

		<project	type="${project.type}"
					outfile="${projects.dir}/projects/aprutil"
					if="project.if">
			<comment>&license;</comment>
			<dependency file="${projects.dir}/apr" />
		</project>
	</cc>

	<property	name="apr.lib.dir"
				location="${executable.dir}"
	/>
</target>

<target name="build-test">
	<mkdir dir="${executable.dir}/apr-util-test-ofiles" />
	<property	name="project.compiler"
				value="${compiler}"
	/>
	<property	name="project.type"
				value="msvc6"
	/>

	<cc	name="${project.compiler}"
		outfile="${executable.dir}/${test}"
		subsystem="console"
		multithreaded="true"
		runtime="${runtime}"
		outtype="executable"
		objdir="${executable.dir}/apr-util-test-ofiles"
		debug="${debug}"
		projectsOnly="${projectsOnly}">
		<fileset	dir="${src.dir}/test"
					includes="${include.files}"
					excludes="${exclude.files}"
		/>

		<includepath path="${include.dir}"		/>
		<includepath path="${apr.include.dir}"	/>

		<defineset	define="APU_DECLARE_STATIC"
					unless="is-shared"
		/>
		<defineset	define="APR_DECLARE_STATIC"
					unless="is-apr-shared"
		/>
		<defineset if="is-windows">
			<define name="WIN32" value="1" />
		</defineset>
		<defineset	define="_HAVE_CONFIG_H _REENTRANT _GNU_SOURCE"
					if="is-gcc"
		/>
		<compilerarg	value="${pic-option}"
						if="pic-option"
		/>

		<libset	dir="${apr.lib.dir}"
				libs="apr-1${lib-suffix}"
				if="apr.lib.dir"
		/>
		<libset	libs="apr-1${lib-suffix}"
				unless="apr.lib.dir"
		/>
		<libset	dir="${executable.dir}"
				libs="aprutil-1${lib-suffix}"
		/>
		<libset	libs="cw32mt"
				if="is-bcc"
		/>
		<libset	libs="pthread dl"
				if="is-unix"
		/>
		<libset	libs="iconv"
				if="has-iconv"
		/>
		<libset	libs="sqlite3"
				if="has-sqlite3"
		/>

		<project	type="${project.type}"
					outfile="${projects.dir}/projects/${test}"
					if="project.if">
			<comment>&license;</comment>
			<dependency file="${projects.dir}/apr"						/>
			<dependency file="${projects.dir}/aprutil" depends="apr"	/>
		</project>
	</cc>
</target>

<target	name="copy-apr"
		if="is-windows">
	<copy	todir="${executable.dir}"
			overwrite="true">
		<fileset	dir="${apr.lib.dir}"
					includes="apr-1${lib-suffix}.dll"
		/>
	</copy>
</target>

<target	name="run-test"
		depends="copy-apr">
	<exec	executable="${executable.dir}/${test}"
			dir="${executable.dir}"
			failonerror="true">
		<env	key="DYLD_LIBRARY_PATH"
				value="${apr.lib.dir}:${aprutil.lib.dir}:${env.DYLD_LIBRARY_PATH}"
		/>
		<env	key="LD_LIBRARY_PATH"
				value="${apr.lib.dir}:${aprutil.lib.dir}:${env.LD_LIBRARY_PATH}"
		/>
		<env	key="Path"
				value="${apr.lib.dir}:${aprutil.lib.dir}:${env.Path}"
		/>
	</exec>
</target>

<target	name="build-testall"
		depends="build">
	<antcall target="build-test">
		<param	name="test"
				value="testall"
		/>
		<param	name="include.files"
				value="**/*.c"
		/>
		<param	name="exclude.files"
				value="dbd.c testssl.c echod.c sockperf.c nw*.c"
		/>
	</antcall>
</target>

<target	name="run-testall"
		depends="build-testall">
	<antcall target="run-test">
		<param	name="test"
				value="testall"
		/>
	</antcall>
</target>

<target	name="build-dbd"
		depends="build">
	<antcall target="build-test">
		<param	name="test"
				value="dbd"
		/>
		<param	name="include.files"
				value="dbd.c"
		/>
		<param	name="exclude.files"
				value="*.y"
		/>
	</antcall>
</target>

<target	name="run-dbd"
		depends="build-dbd">
	<antcall target="run-test">
		<param	name="test"
				value="dbd"
		/>
	</antcall>
</target>

<target	name="build-testssl"
		depends="build">
	<antcall target="build-test">
		<param	name="test"
				value="testssl"
		/>
		<param	name="include.files"
				value="testssl.c"
		/>
	</antcall>
</target>

<target	name="run-testssl"
		depends="build-testssl">
	<antcall target="run-test">
		<param	name="test"
				value="testssl"
		/>
	</antcall>
</target>

<target name="build-echod" depends="build">
	<antcall target="build-test">
		<param	name="test"
				value="echod"
		/>
		<param	name="include.files"
				value="echod.c"
		/>
	</antcall>
</target>

<target	name="build-sockperf"
		depends="build">
	<antcall target="build-test">
		<param	name="test"
				value="sockperf"
		/>
		<param	name="include.files"
				value="sockperf.c"
		/>
	</antcall>
</target>

<target	name="build-check"
		depends="build-testall, build-dbd, build-testssl, build-echod"
		description="Builds all tests"
/>

<target	name="check"
		depends="build-check"
		description="Runs all tests"
/>

<target name="build-projects">
	<mkdir dir="${projects.dir}" />
	<antcall target="build">
		<param	name="project.if"
				value="true"
		/>
		<param	name="project.type"
				value="${project.type}"
		/>
		<param	name="project.compiler"
				value="${project.compiler}"
		/>
		<param	name="projects.dir"
				value="${projects.dir}"
		/>
		<param	name="debug"
				value="${debug}"
		/>
		<param	name="projectsOnly"
				value="true"
		/>
	</antcall>
</target>

<target	name="build-projects-vc6"
		depends="init"
		description="Builds project files for Microsoft Visual C++ 6">
	<antcall target="build-projects">
		<param	name="projects.dir"
				value="${projects.dir}"
		/>
		<param	name="project.type"
				value="msvc6"
		/>
		<param	name="project.compiler"
				value="msvc"
		/>
		<param	name="os.family"
				value="windows"
		/>
		<param	name="projects.dir"
				value="${projects.dir}"
		/>
		<param	name="debug"
				value="${debug}"
		/>
	</antcall>
</target>

<target	name="build-projects-vc7"
		depends="init"
		description="Builds project files for Microsoft Visual Studio .NET">
	<antcall target="build-projects">
		<param	name="projects.dir"
				value="${projects.dir}"
		/>
		<param	name="project.type"
				value="msvc7"
		/>
		<param	name="project.compiler"
				value="msvc"
		/>
		<param	name="os.family"
				value="windows"
		/>
		<param	name="projects.dir"
				value="${projects.dir}"
		/>
		<param	name="debug"
				value="${debug}"
		/>
	</antcall>
</target>

<target	name="build-projects-vc8"
		depends="init"
		description="Builds project files for Microsoft Visual C++ 2005">
	<antcall target="build-projects">
		<param	name="projects.dir"
				value="${projects.dir}"
		/>
		<param	name="project.type"
				value="msvc8"
		/>
		<param	name="project.compiler"
				value="msvc"
		/>
		<param	name="os.family"
				value="windows"
		/>
		<param	name="projects.dir"
				value="${projects.dir}"
		/>
		<param	name="debug"
				value="${debug}"
		/>
	</antcall>
</target>

<target	name="build-projects-vc9"
		depends="init"
		description="Builds project files for Microsoft Visual C++ 2008">
	<antcall target="build-projects">
		<param	name="projects.dir"
				value="${projects.dir}"
		/>
		<param	name="project.type"
				value="msvc9"
		/>
		<param	name="project.compiler"
				value="msvc"
		/>
		<param	name="os.family"
				value="windows"
		/>
		<param	name="projects.dir"
				value="${projects.dir}"
		/>
		<param	name="debug"
				value="${debug}"
		/>
	</antcall>
</target>

<target	name="build-projects-xcode"
		depends="init"
		description="Builds project files for Apple Xcode">
	<antcall target="build-projects">
		<param	name="projects.dir"
				value="${projects.dir}"
		/>
		<param	name="project.type"
				value="xcode"
		/>
		<param	name="project.compiler"
				value="${compiler}"
		/>
		<param	name="os.family"
				value="mac"
		/>
		<param	name="projects.dir"
				value="${projects.dir}"
		/>
		<param	name="debug"
				value="${debug}"
		/>
	</antcall>
</target>

</project>
