# $Id: Portfile,v 1.7 2006/03/05 09:41:29 mww Exp $

PortSystem 1.0

name			boost
version			1.33.1
categories		devel
maintainers		darwinports@opendarwin.org
description		Collection of portable C++ source libraries
long_description 	Boost provides free portable peer-reviewed C++ \
			libraries. The emphasis is on portable libraries \
			which work well with the C++ Standard Library.
homepage		http://www.boost.org
master_sites		sourceforge
distname		${name}_[strsed ${version} {g/[.]/_/}]
use_bzip2		yes
checksums		md5 2b999b2fb7798e1737d1fff8fac602ef
platforms		darwin

depends_build		bin:bjam:boost-jam

patchfiles		patch-libs-test-build-Jamfile \
				patch-tools-build-v1-allyourbase.jam

# Note: Boost will not build properly on Jaguar (to my knowledge)
# Additional note: MACOSX_DEPLOYMENT_TARGET of at least 10.3 necessary
# to allow dynamic lookup at runtime, preventing libtool to fail when
# building tests

platform darwin {
	build.env-append	MACOSX_DEPLOYMENT_TARGET=10.3
	build.args-append	-sTOOLS=darwin

	destroot.env-append	MACOSX_DEPLOYMENT_TARGET=10.3
	destroot.args-append	-sTOOLS=darwin
	post-destroot {
		cd ${destroot}${prefix}/lib
		set libver [join [lrange [split ${version} {.}] 0 2] {_}]
		foreach lib [glob *-${libver}.dylib] {
			system "install_name_tool -id ${prefix}/lib/${lib} ${lib}"
		}
		foreach lib [glob *-${libver}.a *-${libver}.dylib] {
			set libname [join [lrange [split [file rootname ${lib}] {-}] 0 end-1] {-}]
			set libext [file extension ${lib}]
			set liblink "${libname}${libext}"
			if {![catch {set libtype [file type ${liblink}]}]} {
				if {${libtype} == "link"} {
					file delete -force ${liblink}
				}
			}
			system "ln -s ${lib} ${liblink}"
		}
	}
}

use_configure		no

build.cmd		bjam
build.pre_args		--prefix=${prefix}
build.args		--without-python \
				-sgPYTHON_CONFIG_CHECKED=true \
				-sgNO_PYTHON_INSTALL=true

destroot.cmd		bjam
destroot.pre_args	--prefix=${destroot}${prefix}
destroot.args		--without-python \
				-sgPYTHON_CONFIG_CHECKED=true \
				-sgNO_PYTHON_INSTALL=true
destroot.post_args	install
post-destroot {
	set incdirver [join [lrange [split ${version} {.}] 0 2] {_}]
	system "ln -fs boost-${incdirver}/boost ${destroot}${prefix}/include/boost"
}

variant icu {
	depends_lib		lib:libicuuc:icu

	build.args-append	-sHAVE_ICU=1 \
					-sICU_PATH=${prefix}

	destroot.args-append	-sHAVE_ICU=1 \
					-sICU_PATH=${prefix}
}

variant python {
	set pyversion	2.4

	depends_lib		lib:libpython${pyversion}:python[strsed ${pyversion} {g/[.]//}]

	build.args-delete	--without-python \
					-sgPYTHON_CONFIG_CHECKED=true \
					-sgNO_PYTHON_INSTALL=true
	build.args-append	-sPYTHON_ROOT=${prefix} \
					-sPYTHON_VERSION=${pyversion} \
					--with-python-root=${prefix}

	destroot.args-delete	--without-python \
					-sgPYTHON_CONFIG_CHECKED=true \
					-sgNO_PYTHON_INSTALL=true
	destroot.args-append	-sPYTHON_ROOT=${prefix} \
					-sPYTHON_VERSION=${pyversion} \
					--with-python-root=${prefix}
}

