summaryrefslogtreecommitdiff
blob: 81095139523f74473e256a994c20d966a06c89fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/swl/swl-0.5.0_pre20070122.ebuild,v 1.2 2007/01/22 16:01:59 trapni Exp $

inherit flag-o-matic multilib

DESCRIPTION="SWL is a C++ cross platform library."
HOMEPAGE="http://mylair.de/~trapni/swl/"
SRC_URI="http://mylair.de/~trapni/dist/swl/${P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0.5"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="debug doc"

RDEPEND=">=sys-libs/glibc-2.3.4
		>=sys-devel/gcc-3.4.3"

DEPEND="${RDEPEND}
		doc? ( >=app-doc/doxygen-1.3.9.1 )"

SWL_MODULES=(Core System System.Xml)

src_unpack() {
	unpack ${A} || die
	cd ${S} || die
}

src_compile() {
	use debug && append-flags -O0 -g3
	use debug || append-flags -DNDEBUG=1

	for module in ${SWL_MODULES[@]}; do
		pushd ${module} || die

		./autogen.sh || die "autogen.sh failed"

		./configure \
			--prefix="/usr" \
			--host="${CHOST}" \
			--libdir="/usr/$(get_libdir)" \
			--without-tests \
			--without-examples \
			|| die "./configure for ABI ${ABI} failed"

		emake || die "make for ABI ${ABI} failed"

		if use doc; then
			#ewarn "TODO: generate docs {html,man} via doxygen"
			#make -C doc api-docs
			# XXX: install example/test files?
			true
		fi
		popd
	done
}

src_install() {
	for module in ${SWL_MODULES[@]}; do
		pushd ${module} || die

		make install DESTDIR="${D}" || die

		if use doc; then
			#ewarn "TODO: install man-pages and html version via doxygen"
			#dodoc -r doc/html
			true
		fi

		for doc in AUTHORS ChangeLog* NEWS README* TODO; do
			[[ -f $doc ]] || continue

			mv ${doc}{,.${module}}

			dodoc $doc.$module
		done

		popd
	done
}

# vim:ai:noet:ts=4:nowrap