c89 is the Posix.2 name for a C compiler that accepts ANSI/ISO C source

code.  Basically a shortcut to cc -ansi -trigraphs.
This commit is contained in:
joerg 1997-09-17 20:44:54 +00:00
parent a20e1af289
commit 07f8a58416
3 changed files with 122 additions and 0 deletions

7
usr.bin/c89/Makefile Normal file
View File

@ -0,0 +1,7 @@
MAN1 = c89.1
beforeinstall:
${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
${.CURDIR}/c89.sh ${DESTDIR}${BINDIR}/c89
.include <bsd.prog.mk>

75
usr.bin/c89/c89.1 Normal file
View File

@ -0,0 +1,75 @@
.\"
.\" Copyright (c) 1997 Joerg Wunsch
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $Id$
.\" "
.Dd September 17, 1997
.Os
.Dt C89 1
.Sh NAME
.Nm c89
.Nd Posix.2 C language compiler
.Sh SYNOPSIS
.Nm c89
.Op Fl c
.Op Fl D Ar name Ns Op Ar =value
.Op ...
.Op Fl E
.Op Fl g
.Op Fl I Ar directory ...
.Op Fl L Ar directory ...
.Op Fl o Ar outfile
.Op Fl O
.Op Fl s
.Op Fl U Ar name ...
.Ar operand ...
.Sh DESCRIPTION
This is the name of the C language compiler as required by the
.St -p1003.2 .
standard.
.Pp
Since the standard demands that any program conforming to the C language
standard must be acceptable, the
.Xr cc 1
options
.Fl ansi
and
.Fl trigraphs
are always in effect, and an attempt to call
.Nm
with the
.Fl traditional
will be rejected.
.Pp
See the manual page for
.Xr cc 1
for a complete description.
.Sh SEE ALSO
.Xr cc 1
.Sh STANDARDS
The
.Nm
command is believed to comply with
.St -p1003.2 .

40
usr.bin/c89/c89.sh Executable file
View File

@ -0,0 +1,40 @@
#!/bin/sh
#
# Copyright (c) 1997 Joerg Wunsch
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# $Id$
#
# This is the Posix.2 mandated C compiler. Basically, a hook to the
# cc(1) command.
if echo "$*" | grep -q -- -traditional
then
echo "c89: non-standard C not supported by the Posix compiler version"\
1>&2
exit 64
fi
exec cc -ansi -trigraphs "$@"