Return-Path: pg_adm@postgres.berkeley.edu
Received: by postgres.Berkeley.EDU (5.61/1.29)
	id AA06672; Mon, 19 Jul 93 14:49:42 -0700
Message-Id: <9307192149.AA06672@postgres.Berkeley.EDU>
From: ldl@buzz.cs.utah.edu (Lou D. Langholtz)
Subject: Re: Help porting Postgres !!!!
To: postgres@postgres.berkeley.edu
Sender: pg_adm@postgres.berkeley.edu
To: EB@CNUCE.CNR.IT
Date: Mon, 19 Jul 1993 15:55:11 +22306256 (MDT)
Cc: postgres@postgres.Berkeley.EDU
In-Reply-To: <01H0QJXU35TU9BVT1J@icnucevx.cnuce.cnr.it> from "EB@CNUCE.CNR.IT" at Jul 19, 93 09:58:00 am
X-Mailer: ELM [version 2.4 PL13]
Content-Type: text
Content-Length: 1880      

> During the last week I have been fighting with bmake trying to get
> it to work on SCO-ODT 2.0 and Linux but I'm about to give up.
> On SCO I managed to get a working bmake by running
> 	./bootmake bmake
> instead of the standard targets; unfortunately the compiler
> gives up while working on the backend.
> 
> On Linux I didn't even get bootmake running 8*(
> 
> Why does Postgres use such a badly portable tool? It's seems it's made
> just to work on SunOS (where I have Postgres running) and Ultrix.

Actually, bmake is the make used under BSD which for the versions
I've tried is far superior to the standard make I've found under
SunOS or Ultrix. As to portability, I can't comment since I've only
ported BSD make to SunOS which seems to be what the postgres people
did for bmake. It wasn't very hard as far as ports go.

> Has anyone written a portable bmake? Is there some way to convert
> the makefile into something that ordinary make understands or maybe
> in Imakefiles?

If you can find any architecture-os combination which has a working
BSD make (or you've compiled bmake for; sound's like you got it under SCO),
running the make with the "-n" flag will get you output for what the
bmake would be doing. You'll need to have the postgress.*.mk files
available. They probably were not installed not, if you were only able
to make bmake the way you've stated. These can be made available in a
number of different ways. Maybe the simplest is to copy them into the
system directory your BSD make uses for mk files (bmake uses
/usr/local/lib/mk by default, while the BSD make I've seen checks
/usr/share/mk).

I hope this atleast makes some sense if it doesn't help. If other
problems arise once you have a working bmake, invoking bmake with "-dA"
will print all possible debugging info. I've found this very helpful
when trying to port stuff using BSD's make.
-- 
Lou
