Re: Looking to help
"Morgan Howe" <[email protected]> Mon, 12 Mar 2007 11:06:54 -0700
| Newsgroups | gmane.os.openbeos.kernel.devel |
|---|---|
| Message-ID | <[email protected]> |
On 3/9/07, Ingo Weinhold <bonefish-CFLBMwTPW48UNGrzBIF7/[email protected]> wrote: > > On 2007-03-09 at 17:36:39 [+0100], Morgan Howe <[email protected]> wrote: > > On 3/9/07, Ingo Weinhold <bonefish-CFLBMwTPW48UNGrzBIF7/[email protected]> wrote: > [...] > > Well I was just going to make a barebones linux install in a Qemu and > use it > > to compile. But if you think we might be able to get this to work, I > could > > work on that first. I just tried to build it and it looks like the > first > > thing we would need to get rid of is 'error: template with C > linkage'. The > > next would be 'error: 'operator new' takes type 'size_t' ('long unsigned > > int') as first parameter'. That first one occurs about 11k times in a > build > > and the second about 70. > > I can't remember having seen those before. The first one sounds harmless. > I > suppose we're defining a template function somewhere in an 'extern "C" { > ... > }' block or something to that effect. Should become obvious when looking > at > the code the error message refers to. The second one sounds a bit weird. > But > there too, analyzing the referenced code should help understanding it. > > BTW, if you run jam with the switch "-q", it will stop as soon as it > encounters the first error, which is certainly a good idea as long as not > everything works. :-) I'll give that a shot. Some of those odd errors may stem from the fact that instead of creating a proper macOS (Darwin actually), I just did Darwin) buildTarget = freebsd ;; I knew they were close so I just figured I'd see if that got me anywhere. The buildtools seem ok with it, but not haiku. > It doesn't seem like it's too far from building, so I'll start with this > and > > hopefully when I move onto other stuff I won't have to mess around with > a > > bunch of different Qemu images. Let me know whatever information you > have > > about it, Ingo, and I'll give it a shot. > > Since you're already compiling things, there apparently was something you > changed. Here's what generally has to be done for supporting another host > platform: > > 1) Build platform detection in configure. You've probably already done > this. > Should be one line in the case statement. Assuming that uname returns > "MacOS" > it would by something like this: > > MacOS) buildPlatform=macos ;; > > 2) Support in build/jam/BuildSetup. You best look at each occurrence of > "freebsd" and add "macos" analogously. It's basically the same for > "linux", > save that for "freebsd" additionally "/usr/lib/libgnuregex.so" is added to > HOST_LIBROOT. You'll have to check whether MacOS's libc has GNU regex > support > built in or, as FreeBSD, provides a separate library. > > 3) headers/build/BeOSBuildCompatibility.h might need tweaking. The header > is > automatically included by every file built for the host platform. The > difference between Linux and FreeBSD there is only that the latter does > not > provide strnlen(). You'll have to check whether or not MacOS does this. If > you have more constant or prototype definitions that are missing in MacOS > or > need to be hacked somehow, they can go into this file. > > 4) Create a directory headers/build/host/macos. This directory is added to > the system include directories for every file compiled for the host > platform. > If a header the build expects is missing on you platform, you would put it > there. ATM we do that for FreeBSD only: It doesn't have <endian.h> and > <regex.h>. Our proxy headers simply include <sys/endian.h> and > <gnu/regex.h> > (and do minor macro mapping). > > Unless I've missed something, this should be all that's needed. The main > problem is, of course, to understand, why the build fails and to find > solutions to put into the respective files in the first place. :-) > > If you hit a problem you need help with don't hesitate to ask. Please send > the build output -- best run "jam -q" another time after it fails and > provide > the full output of that last run. > > CU, Ingo > > Thanks for the advice. That should be enough to get me started, expect questions soon. :) Morgan ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Open-beos-kernel-devel mailing list Open-beos-kernel-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org https://lists.sourceforge.net/lists/listinfo/open-beos-kernel-devel