diff options
| author | christos <christos@NetBSD.org> | 2003-08-11 20:31:36 +0000 |
|---|---|---|
| committer | christos <christos@NetBSD.org> | 2003-08-11 20:31:36 +0000 |
| commit | b36d5146cd480111144576dce3836e00a1ed1f94 (patch) | |
| tree | 4f06adc6eb7095a93ed08b67c6dd70c6f68ebf33 /gnu/dist/gdb/utils/misc | |
| parent | 4084bd69eb93a2d6eee38bb74bc7837390e47468 (diff) | |
Import gdb-5.3
Diffstat (limited to 'gnu/dist/gdb/utils/misc')
| -rw-r--r-- | gnu/dist/gdb/utils/misc/Makefile.in | 110 | ||||
| -rw-r--r-- | gnu/dist/gdb/utils/misc/configure.in | 14 | ||||
| -rw-r--r-- | gnu/dist/gdb/utils/misc/doschk/ChangeLog | 62 | ||||
| -rw-r--r-- | gnu/dist/gdb/utils/misc/doschk/Makefile.in | 109 | ||||
| -rw-r--r-- | gnu/dist/gdb/utils/misc/doschk/README | 31 | ||||
| -rwxr-xr-x | gnu/dist/gdb/utils/misc/doschk/configure | 863 | ||||
| -rw-r--r-- | gnu/dist/gdb/utils/misc/doschk/configure.in | 6 | ||||
| -rw-r--r-- | gnu/dist/gdb/utils/misc/doschk/doschk.c | 479 |
8 files changed, 1674 insertions, 0 deletions
diff --git a/gnu/dist/gdb/utils/misc/Makefile.in b/gnu/dist/gdb/utils/misc/Makefile.in new file mode 100644 index 00000000000..cd78b5f0efd --- /dev/null +++ b/gnu/dist/gdb/utils/misc/Makefile.in @@ -0,0 +1,110 @@ +# +# Makefile +# Copyright (C) 1990, 1991, 1992, 1993 Free Software Foundation +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +# + +# +# Makefile for devo/util/misc +# + +srcdir = . + +prefix = /usr/local + +exec_prefix = $(prefix) +bindir = $(exec_prefix)/bin +libdir = $(exec_prefix)/lib +tooldir = $(exec_prefix) + +SHELL = /bin/sh + +INSTALL = `cd $(srcdir); pwd`/../../install-sh -c +INSTALL_PROGRAM = $(INSTALL) +INSTALL_DATA = $(INSTALL) + +AR_FLAGS = qv +MAKEINFO = makeinfo + +SUBDIRS= + +.NOEXPORT: +MAKEOVERRIDES= + +#### Host, target, and site specific Makefile fragments come in here. +### + +# These are roughly topologically sorted in order to make porting more +# streamlined. +FLAGS_TO_PASS = \ + "CC=$(CC)" \ + "CFLAGS=$(CFLAGS)" \ + "AR=$(AR)" \ + "RANLIB=$(RANLIB)" \ + "AR_FLAGS=$(AR_FLAGS)" \ + "AS=$(AS)" \ + "CROSS_CFLAGS=$(CROSS_CFLAGS)" \ + "TARGET_CFLAGS=$(TARGET_CFLAGS)" \ + "INCLUDES=$(INCLUDES)" + +all: + @for dir in ${SUBDIRS}; do \ + if [ -d $$dir ]; then \ + (rootme=`pwd`/ ; export rootme ; \ + rootsrc=`cd $(srcdir); pwd`/ ; export rootsrc ; \ + cd $$dir; $(MAKE) $(FLAGS_TO_PASS)); \ + fi; \ + done + +install: + @for dir in ${SUBDIRS}; do \ + echo "$$dir:"; \ + if [ -d $$dir ]; then \ + (cd $$dir; $(MAKE) install); \ + fi; \ + done + +clean: + -rm -f *~ core *.o a.out + @for dir in ${SUBDIRS}; do \ + echo "$$dir:"; \ + if [ -d $$dir ]; then \ + (cd $$dir; $(MAKE) clean); \ + fi; \ + done + +distclean maintainer-clean realclean: clean + @for dir in ${SUBDIRS}; do \ + echo "$$dir:"; \ + (cd $$dir; $(MAKE) distclean); \ + done + -rm -f *~ core + -rm -f Makefile config.status + +.PHONY: info install-info clean-info +info: +install-info: +clean-info: + +force: + +Makefile: Makefile.in configure.in $(host_makefile_frag) $(target_makefile_frag) + $(SHELL) config.status + + + + + diff --git a/gnu/dist/gdb/utils/misc/configure.in b/gnu/dist/gdb/utils/misc/configure.in new file mode 100644 index 00000000000..362410a51b6 --- /dev/null +++ b/gnu/dist/gdb/utils/misc/configure.in @@ -0,0 +1,14 @@ +# This file is a shell script fragment that supplies the information +# necessary to tailor a template configure script into the configure +# script appropriate for this directory. For more information, check +# any existing configure script. + +srctrigger=Makefile.in +srcname="Misc utilities" +target_dependent=true + +# per-host: + +# per-target: + +configdirs="doschk" diff --git a/gnu/dist/gdb/utils/misc/doschk/ChangeLog b/gnu/dist/gdb/utils/misc/doschk/ChangeLog new file mode 100644 index 00000000000..142ab97207c --- /dev/null +++ b/gnu/dist/gdb/utils/misc/doschk/ChangeLog @@ -0,0 +1,62 @@ +Tue Mar 24 17:31:47 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk> + + * configure: Regenerate with autoconf 2.12.1 to fix shell issues for + NT native builds. + +Fri Mar 28 17:17:08 1997 Ian Lance Taylor <ian@cygnus.com> + + * configure: Rebuild with autoconf 2.12. + +Tue Jun 25 19:11:11 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) + + * Makefile.in (datadir): Set to $(prefix)/share. + (libdir): Set to $(exec_prefix)/lib. + +Fri May 21 15:14:18 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu) + + * Version 1.1 released. + +Tue Apr 20 17:46:42 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu) + + * doschk.c: Remove all includes for alloc.h or malloc.h. Instead + just declare `extern char *malloc()'. + configure.in: Remove check for malloc.h. + +Fri Apr 16 21:06:13 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu) + + * README: include bug reporting address. + + * doschk.c (dos_special_names): New global variable. + (display_problems): Use it to check for special DOS device names. + Ignore trailing dot when checking for names which will resolve to + identical names under DOS. + Change printf format from %14s to %-14s. + + * doschk.c (alloc_ent): Ignore trailing periods. + Check for `:' in filenames. + + * doschk.c (mpath): Increase size of buf to 1024. + +Wed Apr 14 17:01:07 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu) + + * configure.in: Check for malloc.h. + doschk.c [!__MSDOS__]: Don't include malloc.h unless HAVE_MALLOC_H + is defined. + +Tue Apr 13 12:31:25 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu) + + * Version 1.0 released. + + * COPYING, README, Makefile.in, configure.in: New files. + + * doschk.c: Inserted copyright notice and usage in comments. + Reformatted through `indent -gnu'. + + * doschk.c (xmalloc): New function. + (alloc_end, fill_ent, display_problems): Use it instead of malloc. + + * doschk.c (fill_ent): If ent->path is allocated 0 bytes, reassign + pointer to fixed string instead of setting first byte to '\0'. + + * doschk.c (main): Return 0. + diff --git a/gnu/dist/gdb/utils/misc/doschk/Makefile.in b/gnu/dist/gdb/utils/misc/doschk/Makefile.in new file mode 100644 index 00000000000..4c6de95f5cc --- /dev/null +++ b/gnu/dist/gdb/utils/misc/doschk/Makefile.in @@ -0,0 +1,109 @@ +# Makefile for doschk. -*- Indented-Text -*- +# Copyright (C) 1993 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +#### Start of system configuration section. #### + +srcdir = @srcdir@ +VPATH = @srcdir@ + +CC = @CC@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_DATA = @INSTALL_DATA@ + +DEFS = @DEFS@ +LIBS = @LIBS@ + +CFLAGS = -g +LDFLAGS = -g + +prefix = /usr/local +exec_prefix = $(prefix) + +bindir = $(exec_prefix)/bin +datadir = $(prefix)/share +libdir = $(exec_prefix)/lib +infodir = $(prefix)/info + +# Where to install the manual pages. +mandir = $(prefix)/man/man1 +# Extension (not including `.') for the installed manual page filenames. +manext = 1 + +#### End of system configuration section. #### + +SHELL = /bin/sh + +LOADLIBES = $(LIBS) + +DISTFILES = COPYING ChangeLog Makefile.in README doschk.c + +DISTNAME = doschk-1.1 + +all: doschk +info: + +.c.o: + $(CC) -c -I. -I$(srcdir) $(DEFS) $(CPPFLAGS) $(CFLAGS) $< + +### targets required by GNU Coding standards ### + +TAGS: + cd $(srcdir); etags + +clean: + rm -f *.o core a.out doschk + +mostlyclean: clean + +distclean: clean + rm -f Makefile config.status + +realclean: distclean + rm -f TAGS + +dist: $(DISTFILES) + rm -rf $(DISTNAME) + mkdir $(DISTNAME) + ln $(DISTFILES) $(DISTNAME) + tar --gzip -chf $(DISTNAME).tar.z $(DISTNAME) + rm -rf $(DISTNAME) + +install: all + $(INSTALL_PROGRAM) doschk $(bindir)/doschk + +install-info: + +uninstall: force + -cd $(bindir); rm -f doschk + +### Actual doschk-specific targets ### + +doschk: doschk.o + +#check: doschk +# ls -1 * | ./doschk + +#doschk.info: doschk.texi +# cd $(srcdir); makeinfo doschk.texi + +#doschk.dvi: doschk.texi +# cd $(srcdir); texi2dvi doschk.texi + +# Prevent GNU make v3 from overflowing arg limit on SysV. +.NOEXPORT: diff --git a/gnu/dist/gdb/utils/misc/doschk/README b/gnu/dist/gdb/utils/misc/doschk/README new file mode 100644 index 00000000000..7244dfc4bfb --- /dev/null +++ b/gnu/dist/gdb/utils/misc/doschk/README @@ -0,0 +1,31 @@ +doschk - check filenames for DOS (and SYSV) compatibility + +This program is intended as a utility to help software developers +ensure that their source file names are distinguishable on MS-DOS and +14-character SYSV platforms. To perform this task, doschk reads a +list of filenames and produces a report of all the conflicts that +would arise if the files were transferred to a MS-DOS or SYSV +platform. + +To use this program, you must feed it a list of filenames in this +format: + + dir + dir/file1.ext + dir/file2.exe + dir/dir2 + dir/dir2/file3.ext + +If the list does not include the directory-only lines (like dir/dir2) +then their names will not be checked for uniqueness, else they will +be. Typical uses of this program are like these: + + find . -print | doschk + tar tf file.tar | doschk + +If this program produces no output, then all your files are MS-DOS +compatible. Any output messages are designed to be self-explanatory +and indicate cases where the files will not transfer to MS-DOS without +problems. + +Please report bugs to bug-gnu-utils@prep.ai.mit.edu. diff --git a/gnu/dist/gdb/utils/misc/doschk/configure b/gnu/dist/gdb/utils/misc/doschk/configure new file mode 100755 index 00000000000..6dd8a260fb0 --- /dev/null +++ b/gnu/dist/gdb/utils/misc/doschk/configure @@ -0,0 +1,863 @@ +#! /bin/sh + +# Guess values for system-dependent variables and create Makefiles. +# Generated automatically using autoconf version 2.12.1 +# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. + +# Defaults: +ac_help= +ac_default_prefix=/usr/local +# Any additions from configure.in: + +# Initialize some variables set by options. +# The variables have the same names as the options, with +# dashes changed to underlines. +build=NONE +cache_file=./config.cache +exec_prefix=NONE +host=NONE +no_create= +nonopt=NONE +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +target=NONE +verbose= +x_includes=NONE +x_libraries=NONE +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +# Initialize some other variables. +subdirs= +MFLAGS= MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} +# Maximum number of lines to put in a shell here document. +ac_max_here_lines=12 + +ac_prev= +for ac_option +do + + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + case "$ac_option" in + -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) ac_optarg= ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case "$ac_option" in + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir="$ac_optarg" ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build="$ac_optarg" ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file="$ac_optarg" ;; + + -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir="$ac_optarg" ;; + + -disable-* | --disable-*) + ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + eval "enable_${ac_feature}=no" ;; + + -enable-* | --enable-*) + ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "enable_${ac_feature}='$ac_optarg'" ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix="$ac_optarg" ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he) + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat << EOF +Usage: configure [options] [host] +Options: [defaults in brackets after descriptions] +Configuration: + --cache-file=FILE cache test results in FILE + --help print this message + --no-create do not create output files + --quiet, --silent do not print \`checking...' messages + --version print the version of autoconf that created configure +Directory and file names: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [same as prefix] + --bindir=DIR user executables in DIR [EPREFIX/bin] + --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] + --libexecdir=DIR program executables in DIR [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data in DIR + [PREFIX/share] + --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data in DIR + [PREFIX/com] + --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] + --libdir=DIR object code libraries in DIR [EPREFIX/lib] + --includedir=DIR C header files in DIR [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] + --infodir=DIR info documentation in DIR [PREFIX/info] + --mandir=DIR man documentation in DIR [PREFIX/man] + --srcdir=DIR find the sources in DIR [configure dir or ..] + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM + run sed PROGRAM on installed program names +EOF + cat << EOF +Host type: + --build=BUILD configure for building on BUILD [BUILD=HOST] + --host=HOST configure for HOST [guessed] + --target=TARGET configure for TARGET [TARGET=HOST] +Features and packages: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR +EOF + if test -n "$ac_help"; then + echo "--enable and --with options recognized:$ac_help" + fi + exit 0 ;; + + -host | --host | --hos | --ho) + ac_prev=host ;; + -host=* | --host=* | --hos=* | --ho=*) + host="$ac_optarg" ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir="$ac_optarg" ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir="$ac_optarg" ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir="$ac_optarg" ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir="$ac_optarg" ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + localstatedir="$ac_optarg" ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir="$ac_optarg" ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir="$ac_optarg" ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix="$ac_optarg" ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix="$ac_optarg" ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix="$ac_optarg" ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name="$ac_optarg" ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir="$ac_optarg" ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir="$ac_optarg" ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site="$ac_optarg" ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir="$ac_optarg" ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir="$ac_optarg" ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target="$ac_optarg" ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers) + echo "configure generated by autoconf version 2.12.1" + exit 0 ;; + + -with-* | --with-*) + ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "with_${ac_package}='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`echo $ac_option|sed -e 's/-*without-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + eval "with_${ac_package}=no" ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes="$ac_optarg" ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries="$ac_optarg" ;; + + -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } + ;; + + *) + if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then + echo "configure: warning: $ac_option: invalid host type" 1>&2 + fi + if test "x$nonopt" != xNONE; then + { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } + fi + nonopt="$ac_option" + ;; + + esac +done + +if test -n "$ac_prev"; then + { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } +fi + +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +# File descriptor usage: +# 0 standard input +# 1 file creation +# 2 errors and warnings +# 3 some systems may open it to /dev/tty +# 4 used on the Kubota Titan +# 6 checking for... messages and results +# 5 compiler messages saved in config.log +if test "$silent" = yes; then + exec 6>/dev/null +else + exec 6>&1 +fi +exec 5>./config.log + +echo "\ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. +" 1>&5 + +# Strip out --no-create and --no-recursion so they do not pile up. +# Also quote any args containing shell metacharacters. +ac_configure_args= +for ac_arg +do + case "$ac_arg" in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) + ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args $ac_arg" ;; + esac +done + +# NLS nuisances. +# Only set these to C if already set. These must not be set unconditionally +# because not all systems understand e.g. LANG=C (notably SCO). +# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! +# Non-C LC_CTYPE values break the ctype check. +if test "${LANG+set}" = set; then LANG=C; export LANG; fi +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi +if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo > confdefs.h + +# A filename unique to this package, relative to the directory that +# configure is in, which we can look for to find out if srcdir is correct. +ac_unique_file=doschk.c + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. + ac_prog=$0 + ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` + test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } + else + { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } + fi +fi +srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` + +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + echo "loading site script $ac_site_file" + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + echo "loading cache $cache_file" + . $cache_file +else + echo "creating cache $cache_file" + > $cache_file +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then + ac_n= ac_c=' +' ac_t=' ' + else + ac_n=-n ac_c= ac_t= + fi +else + ac_n= ac_c='\c' ac_t= +fi + + +ac_aux_dir= +for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do + if test -f $ac_dir/install-sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f $ac_dir/install.sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } +fi +ac_config_guess=$ac_aux_dir/config.guess +ac_config_sub=$ac_aux_dir/config.sub +ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# ./install, which can be erroneously created by make from ./install.sh. +echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 +echo "configure:554: checking for a BSD compatible install" >&5 +if test -z "$INSTALL"; then +if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + # Account for people who put trailing slashes in PATH elements. + case "$ac_dir/" in + /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + if test -f $ac_dir/$ac_prog; then + if test $ac_prog = install && + grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + else + ac_cv_path_install="$ac_dir/$ac_prog -c" + break 2 + fi + fi + done + ;; + esac + done + IFS="$ac_save_IFS" + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL="$ac_cv_path_install" + else + # As a last resort, use the slow shell script. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + INSTALL="$ac_install_sh" + fi +fi +echo "$ac_t""$INSTALL" 1>&6 + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +CC=${CC-cc} + +trap '' 1 2 15 +cat > confcache <<\EOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +(set) 2>&1 | + case `(ac_space=' '; set) 2>&1 | grep ac_space` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote substitution + # turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + -e "s/'/'\\\\''/g" \ + -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' + ;; + esac >> confcache +if cmp -s $cache_file confcache; then + : +else + if test -w $cache_file; then + echo "updating cache $cache_file" + cat confcache > $cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Any assignment to VPATH causes Sun make to only execute +# the first set of double-colon rules, so remove it if not needed. +# If there is a colon in the path, we need to keep it. +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' +fi + +trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +cat > conftest.defs <<\EOF +s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g +s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g +s%\[%\\&%g +s%\]%\\&%g +s%\$%$$%g +EOF +DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` +rm -f conftest.defs + + +# Without the "./", some shells look in PATH for config.status. +: ${CONFIG_STATUS=./config.status} + +echo creating $CONFIG_STATUS +rm -f $CONFIG_STATUS +cat > $CONFIG_STATUS <<EOF +#! /bin/sh +# Generated automatically by configure. +# Run this file to recreate the current configuration. +# This directory was configured as follows, +# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# +# $0 $ac_configure_args +# +# Compiler output produced by configure, useful for debugging +# configure, is in ./config.log if it exists. + +ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" +for ac_option +do + case "\$ac_option" in + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" + exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; + -version | --version | --versio | --versi | --vers | --ver | --ve | --v) + echo "$CONFIG_STATUS generated by autoconf version 2.12.1" + exit 0 ;; + -help | --help | --hel | --he | --h) + echo "\$ac_cs_usage"; exit 0 ;; + *) echo "\$ac_cs_usage"; exit 1 ;; + esac +done + +ac_given_srcdir=$srcdir +ac_given_INSTALL="$INSTALL" + +trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 +EOF +cat >> $CONFIG_STATUS <<EOF + +# Protect against being on the right side of a sed subst in config.status. +sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; + s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF +$ac_vpsub +$extrasub +s%@SHELL@%$SHELL%g +s%@CFLAGS@%$CFLAGS%g +s%@CPPFLAGS@%$CPPFLAGS%g +s%@CXXFLAGS@%$CXXFLAGS%g +s%@DEFS@%$DEFS%g +s%@LDFLAGS@%$LDFLAGS%g +s%@LIBS@%$LIBS%g +s%@exec_prefix@%$exec_prefix%g +s%@prefix@%$prefix%g +s%@program_transform_name@%$program_transform_name%g +s%@bindir@%$bindir%g +s%@sbindir@%$sbindir%g +s%@libexecdir@%$libexecdir%g +s%@datadir@%$datadir%g +s%@sysconfdir@%$sysconfdir%g +s%@sharedstatedir@%$sharedstatedir%g +s%@localstatedir@%$localstatedir%g +s%@libdir@%$libdir%g +s%@includedir@%$includedir%g +s%@oldincludedir@%$oldincludedir%g +s%@infodir@%$infodir%g +s%@mandir@%$mandir%g +s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g +s%@INSTALL_DATA@%$INSTALL_DATA%g +s%@CC@%$CC%g + +CEOF +EOF + +cat >> $CONFIG_STATUS <<\EOF + +# Split the substitutions into bite-sized pieces for seds with +# small command number limits, like on Digital OSF/1 and HP-UX. +ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. +ac_file=1 # Number of current file. +ac_beg=1 # First line for current file. +ac_end=$ac_max_sed_cmds # Line after last line for current file. +ac_more_lines=: +ac_sed_cmds="" +while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file + else + sed "${ac_end}q" conftest.subs > conftest.s$ac_file + fi + if test ! -s conftest.s$ac_file; then + ac_more_lines=false + rm -f conftest.s$ac_file + else + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f conftest.s$ac_file" + else + ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" + fi + ac_file=`expr $ac_file + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_cmds` + fi +done +if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat +fi +EOF + +cat >> $CONFIG_STATUS <<EOF + +CONFIG_FILES=\${CONFIG_FILES-"Makefile"} +EOF +cat >> $CONFIG_STATUS <<\EOF +for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. + + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" + # A "../" for each directory in $ac_dir_suffix. + ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` + else + ac_dir_suffix= ac_dots= + fi + + case "$ac_given_srcdir" in + .) srcdir=. + if test -z "$ac_dots"; then top_srcdir=. + else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; + /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; + *) # Relative path. + srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" + top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + case "$ac_given_INSTALL" in + [/$]*) INSTALL="$ac_given_INSTALL" ;; + *) INSTALL="$ac_dots$ac_given_INSTALL" ;; + esac + + echo creating "$ac_file" + rm -f "$ac_file" + configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." + case "$ac_file" in + *Makefile*) ac_comsub="1i\\ +# $configure_input" ;; + *) ac_comsub= ;; + esac + + ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` + sed -e "$ac_comsub +s%@configure_input@%$configure_input%g +s%@srcdir@%$srcdir%g +s%@top_srcdir@%$top_srcdir%g +s%@INSTALL@%$INSTALL%g +" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file +fi; done +rm -f conftest.s* + +EOF +cat >> $CONFIG_STATUS <<EOF + +EOF +cat >> $CONFIG_STATUS <<\EOF + +exit 0 +EOF +chmod +x $CONFIG_STATUS +rm -fr confdefs* $ac_clean_files +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 + diff --git a/gnu/dist/gdb/utils/misc/doschk/configure.in b/gnu/dist/gdb/utils/misc/doschk/configure.in new file mode 100644 index 00000000000..e89666e5edf --- /dev/null +++ b/gnu/dist/gdb/utils/misc/doschk/configure.in @@ -0,0 +1,6 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT(doschk.c) +AC_PROG_INSTALL +CC=${CC-cc} +AC_SUBST(CC) +AC_OUTPUT(Makefile) diff --git a/gnu/dist/gdb/utils/misc/doschk/doschk.c b/gnu/dist/gdb/utils/misc/doschk/doschk.c new file mode 100644 index 00000000000..b9b226ccb77 --- /dev/null +++ b/gnu/dist/gdb/utils/misc/doschk/doschk.c @@ -0,0 +1,479 @@ +/* + * doschk - check filenames for DOS (and SYSV) compatibility + * + * Copyright (C) 1993 DJ Delorie + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to: The Free Software Foundation, + * Inc.; 675 Mass Ave. Cambridge, MA 02139, USA. + * + * This program is intended as a utility to help software developers + * ensure that their source file names are distinguishable on MS-DOS and + * 14-character SYSV platforms. To perform this task, doschk reads a + * list of filenames and produces a report of all the conflicts that + * would arise if the files were transferred to a MS-DOS or SYSV + * platform. It also reports any file names that would conflict with + * MS-DOS device names. + * + * To use this program, you must feed it a list of filenames in this + * format: + * + * dir + * dir/file1.ext + * dir/file2.exe + * dir/dir2 + * dir/dir2/file3.ext + * + * If the list does not include the directory-only lines (like dir/dir2) + * then their names will not be checked for uniqueness, else they will + * be. Typical uses of this program are like these: + * + * find . -print | doschk + * tar tf file.tar | doschk + * + * If this program produces no output, then all your files are MS-DOS + * compatible. Any output messages are designed to be self-explanatory + * and indicate cases where the files will not transfer to MS-DOS without + * problems. + * + */ + +#include <stdio.h> +#include <ctype.h> +#include <string.h> + +extern char *malloc (); + +typedef struct ENT +{ + struct ENT *next; + char *dos_name; + char *full_name; + char *path; + int tagged; +} ENT; + +/* + * List of filenames in MSDOG that are special devices. + * Not all of these are problems on all MSLOSS systems, but most would not + * work on most of them. + */ +static char *dos_special_names[] = +{ + "NUL", + "CON", + "PRN", + "AUX", + "COM1", + "COM2", + "COM3", + "COM4", + "LPT1", + "LPT2", + "LPT3", + "MS$MOUSE", + "EMMXXXX0", + "XMSXXXX0", + "SMARTAAR", + "SETVERXX", + NULL +} ; + +ENT *eroot = 0; + +int first_inv = 1; +int first_msg = 1; + +/****************************************************************\ + * Utility routines * +\****************************************************************/ + +void +invalid_msg () +{ + if (first_inv) + { + if (first_msg) + first_msg = 0; + else + putchar ('\n'); + printf ("The following files are not valid DOS file names:\n"); + first_inv = 0; + } +} + +char * +xmalloc (size) + int size; +{ + char *s; + + if (size == 0) + return NULL; + + s = (char *) malloc (size); + + if (s == NULL) + { + fprintf (stderr, "Virtual memory exhausted.\n"); + exit (1); + } + + return s; +} + +ENT * +alloc_ent () +{ + ENT *rv = (ENT *) xmalloc (sizeof (ENT)); + memset (rv, 0, sizeof (ENT)); + return rv; +} + +void +fill_ent (ent, path) + ENT *ent; + char *path; +{ + char *first = path; + char *null = path + strlen (path); + char *last_slash = strrchr (path, '/'); + char *cp, *dp; + int dots_seen, chars_seen; + + if (last_slash + 1 == null) + { + *--null = '\0'; + last_slash = strrchr (path, '/'); + } + + if (!last_slash) + { + last_slash = first - 1; + } + + if (null - last_slash < 13) + ent->dos_name = (char *) xmalloc (null - last_slash); + else + ent->dos_name = (char *) xmalloc (13); + ent->full_name = (char *) xmalloc (null - last_slash); + ent->path = (char *) xmalloc (last_slash - first + 1); + + strcpy (ent->full_name, last_slash + 1); + if (last_slash > first) + { + strncpy (ent->path, first, last_slash - first); + ent->path[last_slash - first] = '\0'; + } + else + ent->path = "\0"; + + cp = last_slash + 1; + dp = ent->dos_name; + dots_seen = 0; + chars_seen = 0; + while (1) + { + if (!*cp) + break; + switch (*cp) + { + case '.': + if (cp == last_slash + 1 && strcmp (last_slash + 1, ".")) + { + invalid_msg (); + printf ("%s - file name cannot start with dot\n", path); + *dp = 0; + break; + } + if (dots_seen == 1) + { + /* If trailing dot, it will be ignored by MSDOG, so don't */ + /* actually complain. */ + if (*(cp + 1) != NULL) + { + invalid_msg (); + printf ("%s - too many dots\n", path); + } + *dp = '\0'; + break; + } + *dp++ = '.'; + chars_seen = 0; + dots_seen++; + break; + case '"': + case '*': + case '+': + case ',': + case ';': + case '<': + case '=': + case '>': + case '?': + case '[': + case '\\': + case ']': + case '|': + case ':': + invalid_msg (); + printf ("%s - invalid character `%c'\n", path, *cp); + *dp++ = '?'; + chars_seen++; + break; + default: + if (dots_seen) + { + if (chars_seen >= 3) + break; + } + else if (chars_seen >= 8) + break; + if ((*cp <= ' ') || (*cp >= 0x7f)) + { + invalid_msg (); + printf ("%s - invalid character `%c'\n", path, *cp); + *dp++ = '?'; + chars_seen++; + break; + } + if (islower (*cp)) + *dp++ = toupper (*cp); + else + *dp++ = *cp; + chars_seen++; + break; + } + cp++; + } + *dp++ = '\0'; +} + +int +compare_ent_dosname (e1, e2) + ENT **e1; + ENT **e2; +{ + int r = strcmp ((*e1)->dos_name, (*e2)->dos_name); + if (r == 0) + r = strcmp ((*e1)->path, (*e2)->path); + if (r == 0) + r = strcmp ((*e1)->full_name, (*e2)->full_name); + return r; +} + +int +compare_ent_fullname (e1, e2) + ENT **e1; + ENT **e2; +{ + int r = strncmp ((*e1)->full_name, (*e2)->full_name, 14); + if (r == 0) + r = strcmp ((*e1)->path, (*e2)->path); + if (r == 0) + r = strcmp ((*e1)->full_name, (*e2)->full_name); + return r; +} + +char * +mpath (ent) + ENT *ent; +{ + static char buf[1024]; /* fixed sizes for buffers are bad! */ + if (ent->path && ent->path[0]) + sprintf (buf, "%s/%s", ent->path, ent->full_name); + else + return ent->full_name; + return buf; +} + +/****************************************************************\ + * List handling routines * +\****************************************************************/ + +void +add_ent (ent) + ENT *ent; +{ + ent->next = eroot; + eroot = ent; +} + +void +handle_input (line) + char *line; +{ + ENT *ent = alloc_ent (); + fill_ent (ent, line); + add_ent (ent); +} + +void +display_problems () +{ + ENT **elist, *ent; + int ecount, i, first, first_err; + char **dos_dev_name; + + for (ecount = 0, ent = eroot; ent; ent = ent->next, ecount++); + elist = (ENT **) xmalloc (sizeof (ENT *) * ecount); + for (ecount = 0, ent = eroot; ent; ent = ent->next, ecount++) + elist[ecount] = ent; + + qsort (elist, ecount, sizeof (ENT *), compare_ent_dosname); + + first_err = 1; + for (i = 0; i < ecount; i++) + { + int elist_len = strlen (elist[i]->dos_name); + + dos_dev_name = dos_special_names; + while (*dos_dev_name) + { + if ((strcmp (elist[i]->dos_name, *dos_dev_name) == 0) + || ((*(elist[i]->dos_name + elist_len - 1) == '.') + && (strncmp (elist[i]->dos_name, *dos_dev_name, elist_len - 2) == 0))) + { + if (first_err) + { + if (first_msg) + first_msg = 0; + else + putchar ('\n'); + printf ("The following resolve to special DOS device names:\n"); + first_err = 0; + } + printf ("%-14s : %s\n", elist[i]->dos_name, mpath (elist[i])); + break; + } + dos_dev_name++; + } + } + + first = 1; + first_err = 1; + for (i = 0; i < ecount - 1; i++) + { + int elist1_len = strlen (elist[i + 1]->dos_name); + + if (((strcmp (elist[i]->dos_name, elist[i + 1]->dos_name) == 0) + && (strcmp (elist[i]->path, elist[i + 1]->path) == 0)) + || ((*(elist[i + 1]->dos_name + elist1_len - 1) == '.') + && (strncmp (elist[i]->dos_name, elist[i + 1]->dos_name, elist1_len - 2) == 0))) + { + if (first_err) + { + if (first_msg) + first_msg = 0; + else + putchar ('\n'); + printf ("The following resolve to the same DOS file names:\n"); + first_err = 0; + } + if (first) + { + printf ("%-14s : %s\n", elist[i]->dos_name, mpath (elist[i])); + first = 0; + } + printf ("\t\t %s\n", mpath (elist[i + 1])); + } + else + first = 1; + } + + qsort (elist, ecount, sizeof (ENT *), compare_ent_fullname); + + first = 1; + first_err = 1; + for (i = 0; i < ecount - 1; i++) + { + if ((strncmp (elist[i]->full_name, elist[i + 1]->full_name, 14) == 0) && + (strcmp (elist[i]->path, elist[i + 1]->path) == 0)) + { + if (first_err) + { + if (first_msg) + first_msg = 0; + else + putchar ('\n'); + printf ("The following resolve to the same SysV file names:\n"); + first_err = 0; + } + if (first) + { + printf ("%.14s : %s\n", elist[i]->full_name, mpath (elist[i])); + first = 0; + elist[i]->tagged = 1; + } + printf ("\t\t %s\n", mpath (elist[i + 1])); + elist[i + 1]->tagged = 1; + } + else + first = 1; + } + + first_err = 1; + for (i = 0; i < ecount; i++) + { + if ((strlen (elist[i]->full_name) > 14) && !elist[i]->tagged) + { + if (first_err) + { + if (first_msg) + first_msg = 0; + else + putchar ('\n'); + printf ("The following file names are too long for SysV:\n"); + first_err = 0; + } + printf ("%.14s : %s\n", elist[i]->full_name, mpath (elist[i])); + } + } +} + +/****************************************************************\ + * Main entry point * +\****************************************************************/ + +main (argc, argv) + int argc; + char **argv; +{ + FILE *input = stdin; + if (argc > 1) + { + input = fopen (argv[1], "r"); + if (!input) + { + perror (argv[1]); + exit (1); + } + } + while (1) + { + char line[500]; + char *lp; + fgets (line, 500, input); + if (feof (input)) + break; + lp = line + strlen (line); + while ((lp != line) && (*lp <= ' ')) + lp--; + lp[1] = 0; + handle_input (line); + } + display_problems (); + return 0; +} + +/* End of file */ |
