blob: 89c855524612949768b7ea4ef93e6b098df5f5e1 (
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
|
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/prc-tools/prc-tools-2.3-r1.ebuild,v 1.4 2005/01/28 23:55:01 plasmaroo Exp $
inherit flag-o-matic eutils
BIN_V="binutils-2.14"
GDB_V="gdb-5.3"
GCC_V_ARM="gcc-3.3.1"
GCC_V_M68K="gcc-2.95.3"
MSECT_V="MsectGdb2.3-1Patch"
DESCRIPTION="GNU-Based Palm C++ Development Suite"
HOMEPAGE="http://prc-tools.sourceforge.net"
SRC_URI="mirror://sourceforge/prc-tools/${P}.tar.gz
ftp://sources.redhat.com/pub/binutils/releases/${BIN_V}.tar.bz2
ftp://sources.redhat.com/pub/gdb/releases/${GDB_V}.tar.bz2
ftp://gcc.gnu.org/pub/gcc/releases/${GCC_V_ARM}/${GCC_V_ARM}.tar.bz2
ftp://gcc.gnu.org/pub/gcc/releases/${GCC_V_M68K}/${GCC_V_M68K}.tar.bz2
http://www.v-overbeek.nl/msectgdb/${MSECT_V}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86"
IUSE=""
DEPEND=">=app-text/texi2html-1.70
>=sys-apps/texinfo-4.8"
RDEPEND=""
src_unpack() {
unpack ${A}
cd ${P}
ln -s ../${BIN_V} binutils
ln -s ../${GDB_V} gdb
ln -s ../${GCC_V_ARM} gcc
ln -s ../${GCC_V_M68K} gcc295
cd ..
echo ">>> Patching sources..."
echo -n " "; epatch ${P}/${BIN_V}.palmos.diff || die
echo -n " "; epatch ${P}/${GCC_V_ARM}.palmos.diff || die
echo -n " "; epatch ${P}/${GCC_V_M68K}.palmos.diff || die
echo -n " "; epatch ${P}/${GDB_V}.palmos.diff || die
echo -n " "; EPATCH_OPTS="-l" epatch ${P}/../MsectGdb2.3-1.diff || die
echo -n " "; epatch ${FILESDIR}/${P}-compilefix.patch || die
# This last patch disables dummy headers being copied.
# a) They're not needed
# b) This causes a sandboxing error
# +) Keeps 'palmdev-prep' pointed at the
# right place while making the docs install
# script from not install them to real root /
# Fix ${GCC_V_ARM} include problem
cp ${GCC_V_ARM}/gcc/fixinc/tests/base/unistd.h ${GCC_V_ARM}/gcc
sed -i -e 's:#include <stdio.h>::' -e 's:#include <sys/types.h>::' -e 's:#include <errno.h>::' -e 's:#include <stdlib.h>::' ${GCC_V_ARM}/gcc/tsystem.h || die
}
src_config() {
echo ">>> Rebuilding configuration scripts"
cd binutils; WANT_AUTOCONF=2.1 autoconf || die "Failed to reconfigure binutils"; cd ..
cd ..
mkdir build
cd build
echo ">>> Configuring..."
echo
# Remove any flags; because the cross-compiler (2.9.x GCC)
# will not understand any of these optimizations {and will
# fail} once the cross-compiler compiles the m68k GCC suite
ALLOWED_FLAGS="-pipe -0 -01 -02"
strip-flags
../${P}/configure --enable-targets=m68k-palmos,arm-palmos \
--enable-languages=c,c++ \
--with-headers=${WORKDIR}/build/empty --enable-html-docs \
--with-palmdev-prefix=/opt/palmdev --prefix=/usr || die
# These have to be real; otherwise the compiler is hard-coded
# and tries to find libraries in ${D}/....
# palmdev-prefix also has to be real; otherwise 'palmdev-prep'
# defaults to virtual ${D}/..
}
src_compile() {
src_config
make || die
}
src_install() {
cd ../build
einstall || die
}
pkg_postinst() {
echo
einfo "PRC-Tools is now compiled and installed!"
einfo "<HTML docs are installed in /opt/palmdev>"
echo
einfo "For a complete Palm Development Environment you will also need..."
echo
einfo "[ ] PilRC; the Palm resource compiler; emerge pilrc"
einfo "[ ] POSE; The Palm OS Emulator; emerge pose"
echo " ->> A ROM for POSE; available from Palm"
einfo "[ ] An SDK; available from the Palm Website"
echo " ->> Decompress this to /opt/palmdev and then run"
echo " 'palmdev-prep /opt/palmdev'"
echo
}
|