summary refs log tree commit diff
path: root/bin/cash/mkbuiltins
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-04-18 20:30:54 -0400
committerJune McEnroe <june@causal.agency>2019-04-18 20:30:54 -0400
commitfb20e8c32eddb5ea4aedd44cfc0c49402ff9184d (patch)
treed9873161c7d43e452e47fdf8184439c1b6d85ca6 /bin/cash/mkbuiltins
parentColor python imports as Statement (diff)
downloadsrc-fb20e8c32eddb5ea4aedd44cfc0c49402ff9184d.tar.gz
src-fb20e8c32eddb5ea4aedd44cfc0c49402ff9184d.zip
Rename cash to catsh
Diffstat (limited to 'bin/cash/mkbuiltins')
-rwxr-xr-xbin/cash/mkbuiltins137
1 files changed, 0 insertions, 137 deletions
diff --git a/bin/cash/mkbuiltins b/bin/cash/mkbuiltins
deleted file mode 100755
index 32c09ec0..00000000
--- a/bin/cash/mkbuiltins
+++ /dev/null
@@ -1,137 +0,0 @@
-#!/bin/sh -
-
-#-
-# Copyright (c) 1991, 1993
-#	The Regents of the University of California.  All rights reserved.
-#
-# This code is derived from software contributed to Berkeley by
-# Kenneth Almquist.
-#
-# 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.
-# 3. Neither the name of the University nor the names of its contributors
-#    may be used to endorse or promote products derived from this software
-#    without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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.
-#
-#	@(#)mkbuiltins	8.2 (Berkeley) 5/4/95
-# $FreeBSD: releng/12.0/bin/sh/mkbuiltins 328934 2018-02-06 15:41:35Z arichardson $
-
-temp=`mktemp -t ka`
-havehist=1
-if [ "X$1" = "X-h" ]; then
-	havehist=0
-	shift
-fi
-srcdir=$1
-havejobs=0
-if grep '^#define[	 ]*JOBS[	 ]*1' $srcdir/shell.h > /dev/null
-then	havejobs=1
-fi
-exec > builtins.c
-cat <<\!
-/*
- * This file was generated by the mkbuiltins program.
- */
-
-#include <stdlib.h>
-#include "shell.h"
-#include "builtins.h"
-
-!
-awk '/^[^#]/ {if(('$havejobs' || $2 != "-j") && ('$havehist' || $2 != "-h")) \
-    print $0}' $srcdir/builtins.def | sed 's/-[hj]//' > $temp
-echo 'int (*const builtinfunc[])(int, char **) = {'
-awk '/^[^#]/ {	printf "\t%s,\n", $1}' $temp
-echo '};
-
-const unsigned char builtincmd[] = {'
-awk '{	for (i = 2 ; i <= NF ; i++) {
-		if ($i == "-s") {
-			spc = 1;
-		} else if ($i == "-n") {
-			# Handled later for builtins.h
-			continue
-		} else {
-			printf "\t\"\\%03o\\%03o%s\"\n", length($i), (spc ? 128 : 0) + NR-1, $i
-			spc = 0;
-		}
-	}}' $temp
-echo '};'
-
-exec > builtins.h
-cat <<\!
-/*
- * This file was generated by the mkbuiltins program.
- */
-
-#include <sys/cdefs.h>
-!
-tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ < $temp |
-	awk '{	printf "#define %s %d\n", $1, NR-1}'
-echo '
-#define BUILTIN_SPECIAL 0x80
-
-extern int (*const builtinfunc[])(int, char **);
-extern const unsigned char builtincmd[];
-'
-awk '{	printf "int %s(int, char **);\n", $1}' $temp
-
-# Build safe_builtin_always()
-cat <<EOF
-
-static inline int
-safe_builtin_always(int idx)
-{
-EOF
-awk '
-BEGIN { printed = 0 }
-{
-	for (i = 2 ; i <= NF ; i++) {
-		if ($i == "-s") {
-			continue
-		} else if ($i == "-n") {
-			nofork = 1;
-		} else {
-			if (nofork == 0) {
-				continue
-			}
-			if (printed == 1) {
-				printf " || \n\t    "
-			} else {
-				printf "\tif ("
-			}
-			printf "idx == " toupper($1)
-			printed = 1
-			nofork = 0;
-			# Only need to check each once
-			break
-		}
-	}
-}' $temp
-
-cat << EOF
-)
-		return (1);
-	return(0);
-}
-EOF
-
-rm -f $temp