Has there been any success building Haiku from source under other operating systems? I once saw a guide outlining the process for compiling BeOS applications under Windows or MacOS, and I was wondering if anyone has seen a similar guide for compiling Haiku as a whole. (I can’t find that document I mentioned, if you know where to find it I would appreciate the link )
The engineering lab at my university has some very nice software engineering tools but they unfortunately only work under Windows. I have a fairly open-ended project assigned that requires the use of these tools, and I would like to make my project a BeOS application, printer driver, or something of the like.
If anyone has had experiences (good or bad) with cross-compiling BeOS\Haiku code, I would appreciate any information that you could share. Thank you very much 8)
Some of the low-level of Haiku can be built on Linux, there is also a GCC2.95.3 cross compiler available if you build it yourself - verified to work on Linux
Never tried either, but current work on PPC kernel stuff is done from Linux/PPC, for instance. Kernel compiles at least.
One thing I forgot to ask though: with cross-compiling under a different operating system, is there a danger with the other filesystem not respecting BeOS attributes? I know that most operating systems will remove any attributes connected to a file, so I’m wondering if there are any mission-critical files that would cause major problems if they lost their attributes.
One thing I forgot to ask though: with cross-compiling under a different operating system, is there a danger with the other filesystem not respecting BeOS attributes? I know that most operating systems will remove any attributes connected to a file, so I’m wondering if there are any mission-critical files that would cause major problems if they lost their attributes.
Of the files that can be compiled ATM, not many should be affected
However, Ingo Weinhold is working on a system of some kind to write a BFS image under Linux…
I’m interested in cross-compiling Haiku as well, partly because I’m thinking about contributing to the PPC port. However, I did not manage to set up a cross-compiler under Mac OS X 10.3 nor under PPC Linux (FC4T2). Can someone give me hints how to set up a compiler system from OS X or Linux, especially which compiler to use as GCC2.95.3 does not seem to work.
I’ve been able to build a PPC kernel (well, at least I think I’ve been able to–I get a file called kernel_ppc, but as yet I’ve not figured out a way to boot it on Mac OS X… here’s what I’ve had to do:
Use GCC 4. I don’t think 2.95 supports Darwin as a host system.
You need to do the build and SVN checkouts, etc. on a CASE-SENSITIVE volume. This means a disk image or an external drive which has been formatted in Disk Utility as "Mac OS Extended (Case-sensitive, Journalled)."
There are a couple build scripts which need to be edited to make “darwin” a valid host system. I’m on a public machine now, so I don’t know which off the top of my head, but I’ll edit this post later if I remember.
Some things won’t build. Case in point: a couple of the utilities for creating befs disk images on the host system make use of the strn* functions in string.h, which are apparently not supported on most non-Linux systems like Mac OS X. I might try my hand at making a patch at some point, but no promises.
This is the first time I’ve worked on anything like this before, so that’s pretty much the depth of my knowledge. If I can get HaikuPPC to the point where the kernel loads and crashes, I’ll be very happy.
Sidenote: If you get far enough, might want to test inside Q http://www.kberg.ch/q/ before you set it loose on real hardware (buggy bootloaders can break your OpenFirmware, I’m told.)
I've been able to build a PPC kernel (well, at least I think I've been able to--I get a file called kernel_ppc, but as yet I've not figured out a way to boot it ;-) on Mac OS X... here's what I've had to do:
Use GCC 4. I don’t think 2.95 supports Darwin as a host system.
You need to do the build and SVN checkouts, etc. on a CASE-SENSITIVE volume. This means a disk image or an external drive which has been formatted in Disk Utility as "Mac OS Extended (Case-sensitive, Journalled)."
There are a couple build scripts which need to be edited to make “darwin” a valid host system. I’m on a public machine now, so I don’t know which off the top of my head, but I’ll edit this post later if I remember.
Some things won’t build. Case in point: a couple of the utilities for creating befs disk images on the host system make use of the strn* functions in string.h, which are apparently not supported on most non-Linux systems like Mac OS X. I might try my hand at making a patch at some point, but no promises.
This is the first time I’ve worked on anything like this before, so that’s pretty much the depth of my knowledge. If I can get HaikuPPC to the point where the kernel loads and crashes, I’ll be very happy.
Sidenote: If you get far enough, might want to test inside Q http://www.kberg.ch/q/ before you set it loose on real hardware (buggy bootloaders can break your OpenFirmware, I’m told.)