*BSD News Article 49774


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!simtel!news.kei.com!news.mathworks.com!tank.news.pipex.net!pipex!news.sprintlink.net!in1.uu.net!zib-berlin.de!irz401!uriah.heep!bonnie.heep!not-for-mail
From: j@bonnie.heep.sax.de (J Wunsch)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: pmake + FreeBSD
Date: 24 Aug 1995 11:41:24 +0200
Organization: Private U**x site, Dresden.
Lines: 45
Message-ID: <41hhg4$9g0@bonnie.tcd-dresden.de>
References: <418nhj$vq2@csugrad.cs.vt.edu> <41cjts$1ol@bonnie.tcd-dresden.de> <41fh2r$gt2@csugrad.cs.vt.edu>
Reply-To: joerg_wunsch@uriah.heep.sax.de
NNTP-Posting-Host: 192.109.108.139
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit

Carl Harris <ceharris@vt.edu> wrote:

>: What gives?  The Berkeley make seems to try being as compatible as
>: possible with pmake (judging from the comments in the source).

>It's not the Berkeley-isms in the Makefiles, it's various FreeBSD-isms
>in the build.  Things like sys_errlist, sys_siglist, etc being defined

It's been there for long time (and logically belongs there):

#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
extern int sys_nerr;                    /* perror(3) external variables */
extern char *sys_errlist[];
#endif

for example, taken from FreeBSD 1.1.5.1's <stdio.h>.

#if defined(_SGI_SOURCE) && !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
extern char *   sys_errlist[];
extern int      sys_nerr;
...

Okay, SGI hides it in their <errno.h> behind _SGI_SOURCE.

Applications should never declare this on their own, and the reason
you're experiencing troubles now is that 4.4BSD consequently changed
many of those declarations to be `const char *' (since they are
constants, placed in the text segment -- it's not just a gratuious
change).

>in header files.  And 'ar' forcing the use of - before the command,

Ain't this just Posix?  All programs do it this way.  If historical
version didn't, they are broken^H^H^H^H^Hinconsistent.

>unlike previous versions of ar.  Just a lot of piddly cr*p like that.
>Not hard to fix; just bothersome.

My original question rather was: what would pmake buy you that the
current (b)make does not do?
-- 
cheers, J"org                      private:   joerg_wunsch@uriah.heep.sax.de
                                   http://www.sax.de/~joerg/

Never trust an operating system you don't have sources for. ;-)