Subject: Re: pkgsrc on solaris 8/sparc + bmake gnome2
To: adam morley <adam-netbsd-techpkg@gmi.com>
From: Simon J. Gerraty <sjg@crufty.net>
List: tech-pkg
Date: 07/11/2003 23:33:06
Did I send you a copy of boot-strap?  It will be included in 3.1.19
its what I use when building bmake for machines at work (FreeBSD,
SunOS, Linux)

I'm currently working out what to do about building on FreeBSD 4.8,
which sets a bunch of -W flags that make cannot survive (no const
correctness, unused function args etc).  For 3.1.19 I'll probably just
force all warnings off for FreeBSD which how they build make.
I've made a start at getting our make to compile with all these
warnings but I'm not sure its worth it.

On Fri, 11 Jul 2003 09:29:54 -0700, adam morley writes:
>On Thu, Jul 03, 2003 at 08:53:03PM -0700, Simon J. Gerraty wrote:
>> Adam,
>> 
>> sorry for delay in getting to this...
>> 
>> Can you grab bmake-3.1.18 from ftp://ftp.netbsd.org/pub/incoming/sjg/
>> and if you don't already have *.mk installed somewhere, grab
>> mk-1.3.2 from the same location - though I suspect the ones you got from
>> bootstrap-pkgsrc will do (be better).
>> 
>> Unpack the above bmake somewhere and just:
>> 
>> ./configure
>> make -f makefile.boot bootstrap
>> 
>> You may need to set MKSRC to the place where you have *.mk
>I set this before I compiled (export MKSRC=/var/tmp/bmake/mk)

That won't work. Sorry, for not being clear, you either need

configure --with-mksrc=/var/tmp/bmake/mk

so that the MKSRC setting in makefile.boot is correct
or set MKSRC=/var/tmp/bmake/mk on the make command line as in

gmake -f makefile.boot MKSRC=/var/tmp/bmake/mk

so that MKSRC will be overridden.

>so I symlinked /var/tmp/bmake/mk /usr/share/mk

Definitely don't do that ;-)

>then i copied /usr/pkgsrc/mk/bsd* to /var/tmp/bmake/mk b/c it barfed again:

Yep, that's why you want to use install-mk which is what makefile.boot
does.  

Simply using the boot-strap script that will come in bmake-3.1.19
will make life much simpler.

>so i moved /var/tmp/bmake/bmake/mk to /var/tmp/bmake/mk and got:
>
>$ ./bmake -V MACHINE  
>SunOS5
>$ ./bmake -V MACHINE_ARCH
>sparc

Ok, that's what I'd expect - given Solaris tr.
With 3.1.19 you'd get:

sunos5 and sparc.

>> also, as work arrounds you can use
>> 
>> configure --with-machine_arch=sparc 

and --with-machine=sparc too if that's what you want.
I actually find the sunos5 bit handy since I use $HOST_TARGET a lot
which for SunOS might be sunos5-sparc

>Okay.  Also, someone, I forget who, said that putting MACHINE_ARCH=sparc in /e
>tc/mk.conf will do the same thing.  Its sort of moot --- I found out that in o

Not really.  Putting it in the environment works better, since if you
set  MAKEOBJDIR='obj-${MACHINE_ARCH}' mk.conf won't be read until
after your setting of MACHINE_ARCH is needed.

Anyway, you can now grab bmake-3.1.19.tar.gz (and mk-1.3.3.tar.gz) from 
ftp://ftp.netbsd.org/pub/incoming/sjg/

I've just boot-strap'ed it on the OS's mentioned above.

--sjg