From 07f8a58416ca469c89f6104e5a7ce18a2f0b4430 Mon Sep 17 00:00:00 2001 From: joerg Date: Wed, 17 Sep 1997 20:44:54 +0000 Subject: c89 is the Posix.2 name for a C compiler that accepts ANSI/ISO C source code. Basically a shortcut to cc -ansi -trigraphs. --- usr.bin/c89/Makefile | 7 +++++ usr.bin/c89/c89.1 | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ usr.bin/c89/c89.sh | 40 ++++++++++++++++++++++++++++ 3 files changed, 122 insertions(+) create mode 100644 usr.bin/c89/Makefile create mode 100644 usr.bin/c89/c89.1 create mode 100755 usr.bin/c89/c89.sh diff --git a/usr.bin/c89/Makefile b/usr.bin/c89/Makefile new file mode 100644 index 0000000..c6f909f --- /dev/null +++ b/usr.bin/c89/Makefile @@ -0,0 +1,7 @@ +MAN1 = c89.1 + +beforeinstall: + ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ + ${.CURDIR}/c89.sh ${DESTDIR}${BINDIR}/c89 + +.include diff --git a/usr.bin/c89/c89.1 b/usr.bin/c89/c89.1 new file mode 100644 index 0000000..bd7eba1 --- /dev/null +++ b/usr.bin/c89/c89.1 @@ -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 . diff --git a/usr.bin/c89/c89.sh b/usr.bin/c89/c89.sh new file mode 100755 index 0000000..49111f5 --- /dev/null +++ b/usr.bin/c89/c89.sh @@ -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 "$@" + -- cgit v1.1