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