[comp.unix.questions] ANSI header files

parker@zaphod.mpr.ca (Ross Parker) (03/24/90)

Does anyone know if ANSI header files are available for UNIX
(specifically Ultrix 3.0 & 3.1)? I.e. header files to replace
the standard /usr/include/... but complete with function prototypes?

Thanks,

Ross Parker				parker@mpre.mpr.ca
(604)293-5495				uunet!ubc-cs!mpre!parker

gwyn@smoke.BRL.MIL (Doug Gwyn) (03/25/90)

In article <2105@kiwi.mpr.ca> parker@zaphod.mpr.ca (Ross Parker) writes:
>Does anyone know if ANSI header files are available for UNIX
>(specifically Ultrix 3.0 & 3.1)? I.e. header files to replace
>the standard /usr/include/... but complete with function prototypes?

You don't want to do this!
A C implementation consists of standard headers, a standard run-time
library, and a compiler.  All parts have to work together, so it is
a mistake to replace just one of them.  In particular, if the compiler
doesn't handle prototypes the headers had better not use them.  If it
does handle prototypes, I would expect the implementation to have used
them in its standard headers.

jsnyder@lehi3b15.csee.Lehigh.EDU (Jay Snyder) (03/26/90)

I'd be interested in ANSI header files to be used with GCC on my
SCO Xenix system, as GCC and SCO's headers don't get along.
-- 
====================================================
Jay A. Snyder       jsnyder@lehi3b15.csee.lehigh.edu
CSEE Dept.	          lehi3b15!jsnyder
Lehigh University

darcy@druid.uucp (D'Arcy J.M. Cain) (03/28/90)

In article <2105@kiwi.mpr.ca> parker@zaphod.mpr.ca (Ross Parker) writes:
>Does anyone know if ANSI header files are available for UNIX
>(specifically Ultrix 3.0 & 3.1)? I.e. header files to replace
>the standard /usr/include/... but complete with function prototypes?
>

I have been modifying the standard files for SV3.2 (ESIX)  and would
not mind posting the results but I am not sure what the copyright
situation would be.  I don't think diffs would be as universally
useful as the full files.  I suppose I could simply extract the function
prototypes and post them but that seems too much like work.  Any ideas?

-- 
D'Arcy J.M. Cain (darcy@druid)     |   Thank goodness we don't get all 
D'Arcy Cain Consulting             |   the government we pay for.
West Hill, Ontario, Canada         |
(416) 281-6094                     |

root@nebulus.UUCP (Dennis S. Breckenridge) (03/28/90)

In article <1990Mar27.181713.7875@druid.uucp> darcy@druid.UUCP (D'Arcy J.M. Cain) writes:
> useful as the full files.  I suppose I could simply extract the function
> prototypes and post them but that seems too much like work.  Any ideas?
> 

I would not release any of the ESIX code to the net unless you want to
get sued by Everex for copywrite infringment. Any code that belongs to
Everex cannot be freely distributed without express permission in writing
from the vendor. Be careful with context diffs as well. 
Darcy tsk tsk tsk! :-)

-- 
-----------------------------------------------------------------------------
Dennis S. Breckenridge  (604) 277-7413   dennis@nebulus.uucp           VE7TCP
               EMACS: Eight Megabytes And Constantly Swapping!
-----------------------------------------------------------------------------

darcy@druid.uucp (D'Arcy J.M. Cain) (03/28/90)

In article <12431@smoke.BRL.MIL> gwyn@brl.arpa (Doug Gwyn) writes:
>In article <2105@kiwi.mpr.ca> parker@zaphod.mpr.ca (Ross Parker) writes:
>>Does anyone know if ANSI header files are available for UNIX
>>(specifically Ultrix 3.0 & 3.1)? I.e. header files to replace
>>the standard /usr/include/... but complete with function prototypes?
>
>You don't want to do this!
Well I do.  I have installed gcc which doesn't come with header files.
It uses the standard AT&T library so the standard header files are
sort of OK but they don't have prototypes.  I have been slowly upgrading
the header files to be more ANSI compliant so that they work with gcc
better.

-- 
D'Arcy J.M. Cain (darcy@druid)     |   Thank goodness we don't get all 
D'Arcy Cain Consulting             |   the government we pay for.
West Hill, Ontario, Canada         |
(416) 281-6094                     |

root@nebulus.UUCP (Dennis S. Breckenridge) (03/29/90)

In article <1990Mar28.144531.12008@druid.uucp> darcy@druid.UUCP (D'Arcy J.M. Cain) writes:
> sort of OK but they don't have prototypes.  I have been slowly upgrading
                                              --------> WOW <----------
> the header files to be more ANSI compliant so that they work with gcc
> better.

Darcy, if you arbitrarily stomp on /usr/include with the ANSI C or gcc
header files you probably will get to a point where your kernel will 
not compile and link. There are *MANY* dependencies on the various 
XENIXisms found all over the place. TIOCGWINSZ is the one that frags
me all the time. If you use some of the net programs like "rn" that
take best guess at thier environment they find all kinds of axymorons
and try to build a XENIX - SYSV version of rn. I would put the gcc
headers in ~include/gcc and then add -I/usr/include/gcc to the compile
line. 

-- 
-----------------------------------------------------------------------------
Dennis S. Breckenridge  (604) 277-7413   dennis@nebulus.uucp           VE7TCP
               EMACS: Eight Megabytes And Constantly Swapping!
-----------------------------------------------------------------------------

darcy@druid.uucp (D'Arcy J.M. Cain) (03/30/90)

In article <1990Mar28.041844.8655@nebulus.UUCP> root@nebulus.UUCP (Dennis S. Breckenridge) writes:
>In article <1990Mar27.181713.7875@druid.uucp> darcy@druid.UUCP (D'Arcy J.M. Cain) writes:
>> useful as the full files.  I suppose I could simply extract the function
>> prototypes and post them but that seems too much like work.  Any ideas?
>> 
>I would not release any of the ESIX code to the net unless you want to
>get sued by Everex for copywrite infringment. Any code that belongs to
>Everex cannot be freely distributed without express permission in writing
>from the vendor. Be careful with context diffs as well. 

Actually they are copyright Eh TNT.  The thing is that the code I want to
release is written by me (more or less).  example: the header file may
have originally said
     extern int foo();
and I changed it to read
     extern int foo(const char *bar);
and that's the line I really want to release.  The problem is that it
is surrounded by a lot of scary legal stuff and I really don't want to
get involved with it.

>Darcy tsk tsk tsk! :-)
Dennis - have you been gone so long that you forget how to spell my name?
8^)

-- 
D'Arcy J.M. Cain (darcy@druid)     |   Thank goodness we don't get all 
D'Arcy Cain Consulting             |   the government we pay for.
West Hill, Ontario, Canada         |
(416) 281-6094                     |

moraes@cs.toronto.edu (Mark Moraes) (03/30/90)

By default, gcc will look for headers in $(libdir)/gcc-include before
/usr/include.  ($(libdir) is defined in the Makefile) If you want to
put prototyped headers on your system for gcc, gcc-include is probably
a better place to do it.

gcc -traditional won't work with those headers, though, and
-traditional is often useful for compiling non-ANSItized code.  (As
more vendors start stuffing prototypes and volatile and const in their
/usr/include, using gcc -traditional becomes harder; soon we'll have
to maintain a separate include directory of traditional non-prototyped
headers:-)  Yeah, I know; we should all bite the ANSI bullet...

	Mark.