blob: d490dad0900bbe9e084be30225d6406c30ba336c (
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/wxlib.eclass,v 1.14 2006/04/21 20:36:17 flameeyes Exp $
# Author Diego Pettenò <flameeyes@gentoo.org>
# Maintained by wxwidgets herd
# This eclass is used by wxlib-based packages (wxGTK, wxMotif, wxBase, wxMac) to share code between
# them.
inherit flag-o-matic eutils multilib toolchain-funcs
IUSE="debug doc odbc unicode"
LICENSE="wxWinLL-3"
# Note 1: Gettext is not runtime dependency even if nls? because wxWidgets
# has its own implementation of it
# Note 2: PCX support is enabled if the correct libraries are detected.
# There is no USE flag for this.
DEPEND="${RDEPEND}
sys-libs/zlib
sys-apps/sed"
HOMEPAGE="http://www.wxwindows.org"
SRC_URI="mirror://sourceforge/wxwindows/wxWidgets-${PV}.tar.bz2
doc? ( mirror://sourceforge/wxwindows/wxWidgets-${PV}-HTML.tar.gz )"
S=${WORKDIR}/wxWidgets-${PV}
# Configure a build.
# It takes three parameters;
# $1: prefix for the build directory (used for wxGTK which has two
# builds needed.
# $2: "unicode" if it must be build with else ""
# $3: all the extra parameters to pass to configure script
configure_build() {
export LANG='C'
mkdir ${S}/$1_build
cd ${S}/$1_build
# odbc works with ansi only:
subconfigure $3 $(use_with odbc)
emake -j1 CXX="$(tc-getCXX)" CC="$(tc-getCC)" || die "emake failed"
#wxbase has no contrib:
if [[ -e contrib/src ]]; then
cd contrib/src
emake -j1 CXX="$(tc-getCXX)" CC="$(tc-getCC)" || die "emake contrib failed"
fi
if [[ "$2" == "unicode" ]] && use unicode; then
mkdir ${S}/$1_build_unicode
cd ${S}/$1_build_unicode
subconfigure $3 --enable-unicode
emake -j1 CXX="$(tc-getCXX)" CC="$(tc-getCC)" || die "Unicode emake failed"
if [[ -e contrib/src ]]; then
cd contrib/src
emake -j1 CXX="$(tc-getCXX)" CC="$(tc-getCC)" || die "Unicode emake contrib failed"
fi
fi
}
# This is a commodity function which calls configure script
# with the default parameters plus extra parameters. It's used
# as building the unicode version required redoing it.
# It takes all the params and passes them to the script
subconfigure() {
local ldver=$( $(tc-getLD) --version | head -n 1 | \
sed -e 's:.*version \([0-9.]\+\) .*:\1:')
local ldmaj=$(echo $ldver | cut -f1 -d.)
local ldmin=$(echo $ldver | cut -f2 -d.)
local ldmicro=$(echo $ldver | cut -f3 -d.)
[[ $ldmaj -lt 1 || ( $ldmaj == 2 && $ldmin < 16 && $ldmicro < 92 ) ]] && filter-ldflags -Wl,--as-needed --as-needed
ECONF_SOURCE="${S}" \
econf \
--disable-precomp-headers \
--disable-debugreport \
--with-zlib \
$(use_enable debug) $(use_enable debug debug_gdb) \
$* || die "./configure failed"
}
# Installs a build
# It takes only a parameter: the prefix for the build directory
# see configure_build function
install_build() {
cd ${S}/$1_build
einstall libdir="${D}/usr/$(get_libdir)" || die "Install failed"
if [[ -e contrib ]]; then
cd contrib/src
einstall libdir="${D}/usr/$(get_libdir)" || die "Install contrib failed"
fi
if [[ -e ${S}/$1_build_unicode ]]; then
cd ${S}/$1_build_unicode
einstall libdir="${D}/usr/$(get_libdir)" || die "Unicode install failed"
cd contrib/src
einstall libdir="${D}/usr/$(get_libdir)" || die "Unicode install contrib failed"
fi
}
# To be called at the end of src_install to perform common cleanup tasks
wxlib_src_install() {
cp ${D}/usr/bin/wx-config ${D}/usr/bin/wx-config-2.6 || die "Failed to cp wx-config"
# In 2.6 all wx-config*'s go in/usr/lib/wx/config not
# /usr/bin where 2.4 keeps theirs.
# Only install wx-config if 2.4 is not installed:
if [ -e "/usr/bin/wx-config" ]; then
if [ "$(/usr/bin/wx-config --release)" = "2.4" ]; then
rm ${D}/usr/bin/wx-config
fi
fi
if use doc; then
dodir /usr/share/doc/${PF}/{demos,samples,utils}
dohtml ${S}/contrib/docs/html/ogl/*
dohtml ${S}/docs/html/*
cp -R ${S}/demos/* ${D}/usr/share/doc/${PF}/demos/
cp -R ${S}/utils/* ${D}/usr/share/doc/${PF}/utils/
cp -R ${S}/samples/* ${D}/usr/share/doc/${PF}/samples/
dodoc ${S}/*.txt
fi
}
EXPORT_FUNCTIONS src_install
|