aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/mkinclosure
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/mkinclosure')
-rwxr-xr-xlibstdc++-v3/mkinclosure102
1 files changed, 0 insertions, 102 deletions
diff --git a/libstdc++-v3/mkinclosure b/libstdc++-v3/mkinclosure
deleted file mode 100755
index 7996b4b5e18..00000000000
--- a/libstdc++-v3/mkinclosure
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/usr/bin/env bash
-#
-# usage: inclosure [ -I dir ] ... [ -G header-name ] ... header-name ...
-#
-# Locates each standard header and argument header-name in the
-# specified "-I" include path (default is /usr/include) and parses
-# any header names out of its #include directives. These names are
-# treated recursively to identify a _transitive_closure_ of standard
-# header names, which is sorted and sent to standard output. Headers
-# not specified with -G, and included somewhere but not located are
-# reported.
-#
-# Each header reported by this program must be "shadowed" by a
-# file of the same name in a C++ header. See
-# http://www.cantrip.org/cheaders.html
-#
-# BUGS:
-# - Cannot cope with header file names that contain spaces
-# - Ignores comment-block delimiters
-# - Ignores sub-includes under #include_next headers.
-
-OLDH=/tmp/old$$
-echo "this-compensates-for-a-stupid-bug-in-GNU-fgrep." >$OLDH
-HDRS=/tmp/hdrs$$
->$HDRS
-NEW=/tmp/new$$
->$NEW
-IGNORES=/tmp/ignores$$
-echo "this-compensates-for-a-stupid-bug-in-GNU-fgrep.">$IGNORES
-
-trap "rm -f $NEW $HDRS $OLDH $IGNORES" 0
-
-# process arguments
-unset INCPATH
-while [ $# != 0 -a "$1" != "${1#-}" ]; do
- FLAG="${1%%${1##-?}}"
- case "$FLAG" in -I|-G)
- ARG="${1##${FLAG}}"
- if [ "$ARG" = "" ]; then
- if [ $# != 0 ]; then
- shift;
- ARG="$1"
- else
- echo "$0: $FLAG needs an argument."
- exit
- fi
- fi ;;
- esac
- shift
- case "$FLAG" in
- -I) INCPATH="$INCPATH $ARG" ;;
- -G) echo " $ARG " >>$IGNORES ;;
- esac
-done
-INCPATH=${INCPATH-"/usr/include"}
-
-# identify headers
-
-STDHDRS="assert.h ctype.h errno.h float.h limits.h \
- locale.h math.h setjmp.h signal.h stdarg.h stddef.h \
- stdio.h stdlib.h string.h time.h wchar.h wctype.h "
-OTHERS="$*"
-
-for file in $STDHDRS $OTHERS; do
- echo "$file"
-done >$HDRS
-
-until cmp -s $OLDH $HDRS; do # (until no new headers found)
-
- fgrep -v -f $OLDH $HDRS \
- | while read file; do
- found=no
- for dir in $INCPATH; do
- name="$dir/$file"
- if [ -f "$name" ]; then
- cat "$name"
- found=yes
- break;
- fi
- done
- if [ "$found" = no ]; then # && echo " $file " | fgrep -v -q -f $IGNORES
- echo "$0: warning: header $file not found in include path." $1>&2
- fi
- done \
- | sed -n -e \
-'/^[ ]*#[ ]*include[ ]*<[^>]*>/s/^[^<]*<\([^>]*\)>.*/\1/p' \
- | while read file; do
- drop=no
- for ignore in `cat $IGNORES`; do
- if [ "$ignore" = "$file" ]; then drop=yes; fi
- done
- case "$file" in /*) drop=yes;; esac # no absolute paths
- case $drop in no) echo "$file";; esac
- done >$NEW
- mv $HDRS $OLDH
- cat $OLDH $NEW | sort -u -o $HDRS
-
-done
-cat $HDRS
-
-
-