[openbeos] Re: Compiling Haiku On Windows...

On Fri, 18 Nov 2005, Nathan Whitehorn wrote:

I did things properly now. I'm now getting lots of this (compiling with GCC4 -- I haven't gotten 2.95 to compile yet). It looks like I can't build *any* static libs, which is causing the whole build to fail. I can't figure out where in the build system the -g flag is coming from, so I'm appealing to your wisdom.


/usr/home/nathanw/haiku/haiku/generated/cross-tools/bin/i586-pc-beos-ar: illegal option -- g
Usage: /usr/home/nathanw/haiku/haiku/generated/cross-tools/bin/i586-pc-beos-ar [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] [count] archive-file file...

There are only few places where the cross-compilation ar is used. If you get multiple errors it's either the KernelStaticLibraryObjects (KernelRules), or the Archive rule invoked from LibraryFromObjects (OverriddenJamRules). I just fixed a potential problem in LibraryFromObjects, which could cause a problem only, if jam had in incorrect the buildin value for the AR variable.


If that doesn't fix it, you can check the definitions of HAIKU_AR and HAIKU_ARFLAGS in generated/build/BuildConfig. If they contain the spurious "-g", configure is doing something wrong. Otherwise things are trickier. Supposing a target for which the error occurs is built by LibraryFromObjects, I would add a

if $(_l) = NameOfFailingTarget {
  Echo AR on $(_l): [ on $(_l) return $(AR) ] ;
}

in that rule after the variable is set. I wouldn't expect it to be wrong, if the HAIKU_AR and HAIKU_ARFLAGS are OK in generated/build/BuildConfig. If it is, the variables are apparently changed somewhere. Further Echos help to narrow it down. If AR is fine at that point, things are really strange, since the Archive actions are just a concatenation of the expanded AR and library and object paths.

CU, Ingo

Other related posts: