diff options
Diffstat (limited to 'dev-lang/path64/path64-1.0.0_pre20110729.ebuild')
-rw-r--r-- | dev-lang/path64/path64-1.0.0_pre20110729.ebuild | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/dev-lang/path64/path64-1.0.0_pre20110729.ebuild b/dev-lang/path64/path64-1.0.0_pre20110729.ebuild new file mode 100644 index 000000000000..86ac6d0813c2 --- /dev/null +++ b/dev-lang/path64/path64-1.0.0_pre20110729.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/path64/path64-1.0.0_pre20110729.ebuild,v 1.1 2011/07/29 17:40:49 xarthisius Exp $ + +EAPI=4 +CMAKE_VERBOSE=1 +MY_MIRROR=http://dev.gentoo.org/~xarthisius/distfiles + +inherit cmake-utils multilib toolchain-funcs + +DESCRIPTION="Path64 Compiler Suite Community Edition" +HOMEPAGE="http://www.pathscale.com/ekopath-compiler-suite" +SRC_URI="${MY_MIRROR}/${PN}-suite-${PV}.tbz2 + ${MY_MIRROR}/${PN}-compiler-${PV}.tbz2 + assembler? ( ${MY_MIRROR}/${PN}-assembler-${PV}.tbz2 ) + debugger? ( ${MY_MIRROR}/${PN}-debugger-${PV}.tbz2 )" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="assembler custom-cflags debugger fortran +native +openmp valgrind" + +DEPEND="!native? ( sys-devel/gcc[vanilla] ) + native? ( || ( dev-lang/ekopath dev-lang/path64 ) ) + valgrind? ( dev-util/valgrind )" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${PN} + +pkg_setup() { + if use custom-cflags ; then + ewarn "You are trying to build ${PN} with custom-cflags" + ewarn "There is a high chance that you will utterly fail!" + ewarn "Unless you know what you are doing you'd better stop now" + ewarn "Should you decide to proceed, you are on your own..." + epause + fi +} + +src_prepare() { + local ver=$(grep 'SET(PSC_FULL_VERSION' CMakeLists.txt | cut -d'"' -f2) + cat > "98${PN}" <<-EOF + PATH=/usr/$(get_libdir)/${PN}/bin + ROOTPATH=/usr/$(get_libdir)/${PN}/bin + LDPATH=/usr/$(get_libdir)/${PN}/lib:/usr/$(get_libdir)/${PN}/lib/${ver}/x8664/64 + EOF + sed -i -e "s/-Wl,-s //" CMakeLists.txt || die #strip +} + +src_configure() { + local linker=$($(tc-getCC) --help -v 2>&1 >/dev/null | grep '\-dynamic\-linker' | cut -f7 -d' ') + local libgcc=$($(tc-getCC) -print-libgcc-file-name) + local crt=$($(tc-getCC) -print-file-name=crt1.o) + use custom-cflags && flags=( + -DCMAKE_C_FLAGS="${CFLAGS}" + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" + ) + + # Yup, I know how bad it is, but I'd rather have a working compiler + unset FC F90 F77 FCFLAGS F90FLAGS FFLAGS CFLAGS CXXFLAGS + + if use native ; then + export CMAKE_BUILD_TYPE=Release + export CC=pathcc + export CXX=pathCC + export MYCMAKEARGS="-UCMAKE_USER_MAKE_RULES_OVERRIDE" + else + export CMAKE_BUILD_TYPE=Debug + fi + mycmakeargs=( + -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN} + -DPATH64_ENABLE_TARGETS="x86_64" + -DPATH64_ENABLE_PROFILING=ON + -DPATH64_ENABLE_MATHLIBS=ON + -DPATH64_ENABLE_PATHOPT2=OFF + $(cmake-utils_use assembler PATH64_ENABLE_PATHAS) + $(cmake-utils_use assembler PATH64_ENABLE_DEFAULT_PATHAS) + $(cmake-utils_use fortran PATH64_ENABLE_FORTRAN) + $(cmake-utils_use openmp PATH64_ENABLE_OPENMP) + $(cmake-utils_use debugger PATH64_ENABLE_PATHDB) + $(cmake-utils_use valgrind PATH64_ENABLE_VALGRIND) + -DPSC_CRT_PATH_x86_64=$(dirname ${crt}) + -DPSC_CRTBEGIN_PATH=$(dirname ${libgcc}) + -DPSC_DYNAMIC_LINKER_x86_64=${linker} + -DCMAKE_C_COMPILER="$(tc-getCC)" + -DCMAKE_CXX_COMPILER="$(tc-getCXX)" + "${flags[@]}" + ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + doenvd "98${PN}" +} |