↑ ↓ ← → BCS <ao pathlink.com>
writes:
How hard would it be to get gdc to cross compile to ppc from an x86 box?
↑ ↓ ← → Gregor Richards <Richards codu.org>
writes:
BCS wrote:
How hard would it be to get gdc to cross compile to ppc from an x86 box?
I haven't tried it, but I can't imagine it would be too difficult so
long as you have the PPC binutils and libc installed to the right
places. I've made a lot of cross-compilers, so if you some errors crop
up in the process I can probably figure out what's wrong.
- Gregor Richards
↑ ↓ ← → BCS <ao pathlink.com>
writes:
Reply to Gregor,
BCS wrote:
How hard would it be to get gdc to cross compile to ppc from an x86
box?
long as you have the PPC binutils and libc installed to the right
places. I've made a lot of cross-compilers, so if you some errors crop
up in the process I can probably figure out what's wrong.
- Gregor Richards
To the best of my memory, I have only ever worked on one computer with a
cross compiler* so I guess the real question should be "How hard would it
be to cross compile to ppc from an x86 box?" Also I've never used gdc so
everything but D would be new to me in that venture.
*it was a Green Hills compiler, I will cross compile by hand befor I volenter
to use that again! good compiler, bad interface.
↑ ↓ ← → BCS <ao pathlink.com>
writes:
Reply to Benjamin,
"How hard
would it be to cross compile to ppc from an x86 box?"
Let me be a bit more specific: am I looking at 5 min to get it set up or
more like an afternoon or a week? Also It just occurred to me that while
the box I'd be using is actually connected to the Internet, the settings
for yum and such are so foobared that it might as well not be.
↑ ↓ ← → Gregor Richards <Richards codu.org>
writes:
BCS wrote:
Reply to Benjamin,
"How hard
would it be to cross compile to ppc from an x86 box?"
Let me be a bit more specific: am I looking at 5 min to get it set up or
more like an afternoon or a week? Also It just occurred to me that while
the box I'd be using is actually connected to the Internet, the settings
for yum and such are so foobared that it might as well not be.
I should note: Are you talking about a non-proprietary OS? If you are,
easy. If you're not, not so much. Mac OS X in particular is difficult
unless you get the version straight from Apple.
Otherwise: Probably a couple hours. It's about 30 minutes of compilation
and two to four hours of banging your head against the wall. Here's the
basic idea:
0) Choose your prefix and add it to your PATH (I'm using
/opt/crossc/powerpc-linux-gnu here, so
$ export PATH="/opt/crossc/powerpc-linux-gnu/bin:$PATH"
1) binutils (http://ftp.gnu.org/gnu/binutils/)
$ mkdir build
$ cd build
$ ../configure --prefix=/opt/crossc/powerpc-linux-gnu \
--target=powerpc-linux-gnu
$ make all install
2) libc. Download the appropriate one from packages.debian.org, and
extract it:
$ ar x <foo>.deb
$ tar -C /opt/crossc/powerpc-linux-gnu/powerpc-linux-gnu \
vzxf $PWD/data.tar.gz
3) Same idea for the libc-dev package
4) GCC (with GDC). If you have libc installed properly, this shouldn't
be too tough:
$ mkdir build
$ cd build
$ ../configure --prefix=/opt/crossc/powerpc-linux-gnu \
--target=powerpc-linux-gnu
$ make all install
You can also use Crosstool (www.crosstool.org), but that doesn't support
GDC (so you'd still need to do the GCC step), and if something goes
wrong, there's really not much you can do to fix it. That being said, it
usually works, it's just sort of pointless if you need GDC.
Anyway, after you have it installed, it's just powerpc-linux-gnu-gdc
- Gregor Richards
↑ ↓ ← → BCS <ao pathlink.com>
writes:
Reply to Gregor,
BCS wrote:
Reply to Benjamin,
"How hard
would it be to cross compile to ppc from an x86 box?"
or more like an afternoon or a week? Also It just occurred to me that
while the box I'd be using is actually connected to the Internet, the
settings for yum and such are so foobared that it might as well not
be.
easy. If you're not, not so much. Mac OS X in particular is difficult
unless you get the version straight from Apple.
the target would be either the Green hills INTEGRITY RTOS* or a as yet not
written RTOS by another company. I think they will have malloc and whatnot
so I think I should be able to get /somthing/ working (extern (C) void doit(){
printf("hello world\n");} )
thanks, I'll file that away in hopes that I find time to work on that befor
bit rot gets to it. Hell, I might even be able to work it into my job and
get paid for it!
- Gregor Richards
* if you ever see INTEGRITY on a job sheat and don't see lots of zeros, keep
looking. It's not fun to work with.