From 17f4d7aa737f13a00221654dbb5429b26989d53c Mon Sep 17 00:00:00 2001 From: Laurynas Biveinis Date: Sat, 9 Dec 2000 04:10:22 +0000 Subject: [PATCH] winnt: Remove obsolete directory. * config/winnt: Remove obsolete directory. * install.texi (Configurations): Remove obsolete documentation for Windows NT. From-SVN: r38147 --- gcc/ChangeLog | 6 + gcc/config/winnt/config-nt.bat | 58 ------ gcc/config/winnt/config-nt.sed | 128 ------------ gcc/config/winnt/dirent.c | 360 --------------------------------- gcc/config/winnt/dirent.h | 96 --------- gcc/config/winnt/fixinc-nt.c | 260 ------------------------ gcc/config/winnt/headers.mak | 51 ----- gcc/config/winnt/ld.c | 348 ------------------------------- gcc/config/winnt/libgcc.mak | 19 -- gcc/config/winnt/mklibgcc.c | 97 --------- gcc/config/winnt/oldnames.c | 47 ----- gcc/config/winnt/spawnv.c | 71 ------- gcc/config/winnt/win-nt.h | 61 ------ gcc/config/winnt/x-winnt | 34 ---- gcc/config/winnt/xm-winnt.h | 71 ------- gcc/install.texi | 29 --- 16 files changed, 6 insertions(+), 1730 deletions(-) delete mode 100644 gcc/config/winnt/config-nt.bat delete mode 100644 gcc/config/winnt/config-nt.sed delete mode 100644 gcc/config/winnt/dirent.c delete mode 100644 gcc/config/winnt/dirent.h delete mode 100644 gcc/config/winnt/fixinc-nt.c delete mode 100644 gcc/config/winnt/headers.mak delete mode 100644 gcc/config/winnt/ld.c delete mode 100644 gcc/config/winnt/libgcc.mak delete mode 100644 gcc/config/winnt/mklibgcc.c delete mode 100644 gcc/config/winnt/oldnames.c delete mode 100644 gcc/config/winnt/spawnv.c delete mode 100644 gcc/config/winnt/win-nt.h delete mode 100644 gcc/config/winnt/x-winnt delete mode 100644 gcc/config/winnt/xm-winnt.h diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b65a3523b32..a5753dc0f68 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2000-12-08 Laurynas Biveinis + + * config/winnt: Remove obsolete directory. + * install.texi (Configurations): Remove obsolete documentation for + Windows NT. + 2000-12-08 Joseph S. Myers * configure.in: Don't define INSTALL_INFO. diff --git a/gcc/config/winnt/config-nt.bat b/gcc/config/winnt/config-nt.bat deleted file mode 100644 index 688d1264e89..00000000000 --- a/gcc/config/winnt/config-nt.bat +++ /dev/null @@ -1,58 +0,0 @@ -echo Configuring GCC for Windows NT on %2 -rem This batch file assumes a unix-type "sed" program - -if %2.==alpha. echo #include "alpha/xm-alpha.h" >config.h -if %2.==alpha. echo #include "winnt/xm-winnt.h" >>config.h -if %2.==alpha. echo #include "alpha/xm-winnt.h" >>config.h -if not %2.==alpha. echo #include "%2/xm-winnt.h" >config.h -copy config.h hconfig.h -copy config.h tconfig.h - -if %2.==alpha. echo #define TARGET_CPU_DEFAULT 64 >tm.h -if %2.==alpha. echo #include "alpha/alpha.h" >>tm.h -if %2.==alpha. echo #include "alpha/win-nt.h" >>tm.h -if not %2.==alpha. echo #include "%2/win-nt.h" >tm.h - -rem This batch file assumes a unix-type "sed" program - -echo # Makefile generated by "config-nt.bat"> Makefile -echo all.nt: cpp.exe cc1.exe cc1obj.exe xgcc.exe ld.exe stmp-headers libgcc.lib stmp-float_h specs stamp-objlist>> Makefile -sed -f config/%2/config-nt.sed -f config/winnt/config-nt.sed Makefile.in >> Makefile - -set LANG= - -echo # >specs.h -echo # >options.h - -if not exist cp\make-lang.in goto no_cp -if exist cp\lang-specs.h echo #include "cp/lang-specs.h">>specs.h -if exist cp\lang-options.h echo #include "cp/lang-options.h">>options.h -sed -f config/%2/config-nt.sed -f config/winnt/config-nt.sed cp\make-lang.in >> Makefile -sed -f config/%2/config-nt.sed -f config/winnt/config-nt.sed cp\makefile.in > cp\Makefile -set LANG=%LANG% c++.# -:no_cp - -if not exist ada\make-lang.in goto no_ada -if exist ada\lang-specs.h echo #include "ada/lang-specs.h">>specs.h -if exist ada\lang-options.h echo #include "ada/lang-options.h">>options.h -sed -f config/%2/config-nt.sed -f config/winnt/config-nt.sed ada\make-lang.in >> Makefile -sed -f config/%2/config-nt.sed -f config/winnt/config-nt.sed ada\makefile.in > ada\Makefile -set LANG=%LANG% ada.# -:no_ada - -if not exist f\make-lang.in goto no_f -if exist f\lang-specs.h echo #include "f/lang-specs.h">>specs.h -if exist f\lang-options.h echo #include "f/lang-options.h">>options.h -sed -f config/%2/config-nt.sed -f config/winnt/config-nt.sed f\make-lang.in >> Makefile -sed -f config/%2/config-nt.sed -f config/winnt/config-nt.sed f\makefile.in > f\Makefile -set LANG=%LANG% f.# -:no_f - -echo lang.mostlyclean: %LANG% | sed "s/#/mostlyclean/g" >> Makefile -echo lang.clean: %LANG% | sed "s/#/clean/g" >> Makefile -echo lang.distclean: %LANG% | sed "s/#/distclean/g" >> Makefile -echo lang.realclean: %LANG% | sed "s/#/realclean/g" >> Makefile - -echo #define MULTILIB_SELECT ". ;" > multilib.h1 -copy multilib.h1 multilib.h -del multilib.h1 diff --git a/gcc/config/winnt/config-nt.sed b/gcc/config/winnt/config-nt.sed deleted file mode 100644 index 23a05ddc373..00000000000 --- a/gcc/config/winnt/config-nt.sed +++ /dev/null @@ -1,128 +0,0 @@ -/^Makefile/,/^ rm -f config.run/d -s/rm -f/del/ -s/|| cp/|| copy/ -/^config.status/,/ fi/d -s/config.status//g -s/\/dev\/null/NUL/g -s/$(srcdir)\/c-parse/c-parse/g -s/$(srcdir)\/objc-parse.y/objc-parse.y/g -s/$(srcdir)\/c-gperf/c-gperf/g -/^multilib.h/ s/multilib/not-multilib/ -/^xmake_file=/ d -/^tmake_file=/ d -/^lang_specs_files=/ d -/^lang_options_files=/ d -/^version=/ c\ -version=2.8.1 -s/CC = cc/CC = cl/ -s/^SHELL =.*/SHELL =/ -s/CFLAGS = -g/CFLAGS =/ -s/:\$/: \$/g -s/<\ *\$(srcdir)\//< $(srcdir)\\/g -s/^ \$(SHELL) \$(srcdir)\/move-if-change/ copy/ -s/^ \$(srcdir)\/move-if-change/ copy/ -s/^USE_/# USE_/ -s/`echo \$(srcdir)\///g -s/ | sed 's,\^\\\.\/,,'`//g -s/^ cd \$(srcdir)[ ]*;/ / -/^stamp-attrtab/,/copy/ { - /\\$/d - / fi/d - /copy/ i\ -\ genattrtab $(md_file) > tmp-attrtab.c -} -/^enquire[ ]*:/ s/\$(GCC_PARTS)//g -/^enquire.o[ ]*:/ s/\$(GCC_PASSES)//g -/^GCC_FOR_TARGET =/ c\ -GCC_FOR_TARGET = xgcc -/^ENQUIRE_LDFLAGS =/ c\ -ENQUIRE_LDFLAGS = -s/; *@true// -/> *stamp-objlist/ c\ - echo.exe $(OBJS) | sed -e "s, \([a-z]\), ../\1,g" >stamp-objlist -/^OBJS.*stamp-objlist/ s?`cat ../stamp-objlist`?@../stamp-objlist? -s/^\(SUBDIR_OBSTACK *=\).*$/\1 ..\/obstack.o/ -s/^\(SUBDIR_USE_ALLOCA *=\).*$/\1/ -s/^\(SUBDIR_MALLOC *=\).*$/\1/ -/####target/ i\ -STMP_FIXPROTO = \ -OTHER_FIXINCLUDES_DIRS=. \ -RANLIB = : \ -RANLIB_TEST = false \ -OLDCC = cl \ -MAKE = nmake \ -SYMLINK = copy \ -INSTALL = $(srcdir)/install.sh -c \ -exeext = .exe \ -objext = .obj \ -oldobjext = .obj \ -\ -EXTRA_PROGRAMS=ld.exe \ -\ -ld.obj: $(srcdir)/config/winnt/ld.c \ -\ $(CC) $(CFLAGS) \\\ -\ -I. -I$(srcdir) -I$(srcdir)/config -c $(srcdir)/config/winnt/ld.c \ -\ -ld.exe: ld.obj \ - link -out:ld.exe ld.obj $(LDFLAGS) $(CLIB) \ -\ -EXTRA_GCC_OBJS=spawnv.obj oldnames.obj \ -spawnv.obj: $(srcdir)/config/winnt/spawnv.c \ -\ $(CC) $(CFLAGS) \\\ -\ -I. -I$(srcdir) -I$(srcdir)/config -c $(srcdir)/config/winnt/spawnv.c \ -\ -oldnames.obj: $(srcdir)/config/winnt/oldnames.c \ -\ $(CC) $(CFLAGS) \\\ -\ -I. -I$(srcdir) -I$(srcdir)/config -c $(srcdir)/config/winnt/oldnames.c -s/^C c:/Cc:/ -s/\${OBJS}/\$(OBJS)/g -s/\${SYSTEM_HEADER_DIR}/\$(SYSTEM_HEADER_DIR)/g -s/\${HOST_CC}/\$(HOST_CC)/g -s/ \${srcdir}\// /g -s/\${mainversion}/\$(mainversion)/g -s/\$(srcdir)\/move-if-change/copy/g -s/\$(SHELL) \$(srcdir)\/move-if-change/copy/g -/^# USE_HOST_OBSTACK/ i\ -USE_HOST_OBSTACK=obstack.obj -/^# USE_ALLOCA/ i\ -USE_ALLOCA=alloca.obj -/^# USE_HOST_ALLOCA/ i\ -USE_HOST_ALLOCA=alloca.obj -s/^ALLOCA =/ALLOCA = alloca.obj/ -s/^ALLOCA_FINISH = true/ALLOCA_FINISH =/ -s/ \.\// / -s/^gen\([a-z]*\) *:/gen\1.exe :/ -s/ gen\([a-z]*\)$/ gen\1.exe/ -s/ gen\([a-z]*\) / gen\1.exe /g -s/genmultilib.exe/genmultilib/g -s/^cccp *:/cccp.exe :/ -s/cccp$/cccp.exe/ -s/cccp /cccp.exe / -s/CCCP=cccp.exe/CCCP=cccp/ -s/(CCCP)$/(CCCP)$(exeext)/ -s/^cpp *:/cpp.exe :/ -s/cpp$/cpp.exe/ -s/cpp /cpp.exe / -s/^cc1 *:/cc1.exe :/ -s/cc1$/cc1.exe/ -s/cc1 /cc1.exe / -s/^cc1obj *:/cc1obj.exe :/ -s/cc1obj$/cc1obj.exe/ -s/cc1obj /cc1obj.exe / -s/^xgcc *:/xgcc.exe :/ -s/xgcc$/xgcc.exe/ -s/xgcc /xgcc.exe / -s/^enquire *:/enquire.exe :/ -s/enquire$/enquire.exe/ -s/enquire /enquire.exe / -s/\.o *:/.obj :/ -s/\.o$/.obj/ -s/\.o /.obj /g -s/-rm -f cpp.exe/del cpp.exe/ -s/\$(CC) \$(ALL_CFLAGS) \$(LDFLAGS) -o /link $(LDFLAGS) -out:/ -s/\$(HOST_CC) \$(HOST_CFLAGS) \$(HOST_LDFLAGS) -o /link $(HOST_LDFLAGS) -out:/ -/^# Build libgcc.a/ r config/winnt/libgcc.mak -/^# Build libgcc.a/,/ / d -/^# Build the include directory\./ r config/winnt/headers.mak -/^# Build the include directory\./,/touch objc-headers/ d -s/^\ // diff --git a/gcc/config/winnt/dirent.c b/gcc/config/winnt/dirent.c deleted file mode 100644 index f20e1f7d597..00000000000 --- a/gcc/config/winnt/dirent.c +++ /dev/null @@ -1,360 +0,0 @@ -/* - * @(#)msd_dir.c 1.4 87/11/06 Public Domain. - * - * A public domain implementation of BSD directory routines for - * MS-DOS. Written by Michael Rendell ({uunet,utai}michael@garfield), - * August 1897 - * - * Modified by Ian Stewartson, Data Logic (istewart@datlog.co.uk). - * - * Updates: 1. To support OS/2 1.x - * 2. To support HPFS long filenames - * 3. To support OS/2 2.x - * 4. To support TurboC - * 5. To support Windows NT - */ - -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include - - -#define WIN32_LEAN_AND_MEAN -#include - -#define FILE_NAME_E cFileName -#define OS_CloseFH(a) FindClose (a) -#define FIND_BUFFER WIN32_FIND_DATA -#define DISABLE_HARD_ERRORS SetErrorMode (0) -#define ENABLE_HARD_ERRORS SetErrorMode (SEM_FAILCRITICALERRORS | \ - SEM_NOOPENFILEERRORBOX); - -# define ERROR_EMPTY_DIR ERROR_FILE_NOT_FOUND - -# define ATTRIBUTES (_A_SUBDIR | _A_HIDDEN | _A_SYSTEM | \ - _A_NORMAL | _A_RDONLY | _A_ARCH) - -/* - * missing ?? - */ - -#ifndef ENOTDIR -# define ENOTDIR 120 /* Not a directory */ -#endif - -#ifndef S_IFMT -# define S_IFMT 0xf000 /* type of file */ -#endif - -#ifndef S_ISDIR -# define S_ISDIR(m) ((((m) & S_IFMT) == S_IFDIR)) -#endif - -/* - * Internals - */ - -typedef struct _dircontents DIRCONT; -static void free_dircontents (DIRCONT *); - -/* - * Open the directory stream - */ - -DIR * -opendir (name) - const char *name; -{ - struct stat statb; - DIR *dirp; - char *last; - DIRCONT *dp; - char *nbuf; - int len = strlen (name); - unsigned long rc; - FIND_BUFFER dtabuf; - HANDLE d_handle; - bool HPFS = FALSE; - - if (!len) - { - errno = ENOTDIR; - return (DIR *)NULL; - } - - if ((nbuf = malloc (len + 5)) == (char *)NULL) - return (DIR *) NULL; - - strcpy (nbuf, name); - last = &nbuf[len - 1]; - -/* Ok, DOS is very picky about its directory names. The following are - * valid. - * - * c:/ - * c:. - * c:name/name1 - * - * c:name/ is not valid - */ - - if (((*last == '\\') || (*last == '/')) && (len > 1) && - (!((len == 3) && (name[1] == ':')))) - *(last--) = 0; - -/* Check its a directory */ - - DISABLE_HARD_ERRORS; - rc = stat (nbuf, &statb); - ENABLE_HARD_ERRORS; - - if (rc) - { - free (nbuf); - return (DIR *) NULL; - } - - if (!S_ISDIR (statb.st_mode)) - { - free (nbuf); - errno = ENOTDIR; - return (DIR *)NULL; - } - - if ((dirp = (DIR *) malloc (sizeof (DIR))) == (DIR *) NULL) - { - free (nbuf); - return (DIR *) NULL; - } - -/* Set up to find everything */ - - if ((*last != '\\') && (*last != '/')) - strcat (last, "/"); - - strcat (last, "*.*"); - -/* Find the file system type */ - - HPFS = IsHPFSFileSystem (nbuf); - - dirp->dd_loc = 0; - dirp->dd_cp = (DIRCONT *) NULL; - dirp->dd_contents = (DIRCONT *) NULL; - - DISABLE_HARD_ERRORS; - - d_handle = FindFirstFile (nbuf, &dtabuf); - rc = (d_handle == INVALID_HANDLE_VALUE) ? GetLastError () : 0; - - ENABLE_HARD_ERRORS; - -/* Check for errors */ - - if (rc) - { - free (nbuf); - -/* Empty directory */ - -#if defined (ERROR_EMPTY_DIR) - if (rc == ERROR_EMPTY_DIR) - return dirp; -#endif - - free (dirp); - return (DIR *) NULL; - } - -/* Process the directory */ - - do - { - if (((dp = (DIRCONT *) malloc (sizeof (DIRCONT))) == (DIRCONT *)NULL) || - ((dp->_d_entry = strdup (dtabuf.FILE_NAME_E)) == (char *) NULL)) - { - if (dp->_d_entry != (char *)NULL) - free ((char *)dp); - - free (nbuf); - free_dircontents (dirp->dd_contents); - - OS_CloseFH (d_handle); - return (DIR *) NULL; - } - - if (!HPFS) - strlwr (dp->_d_entry); - - if (dirp->dd_contents != (DIRCONT *) NULL) - dirp->dd_cp = dirp->dd_cp->_d_next = dp; - - else - dirp->dd_contents = dirp->dd_cp = dp; - - dp->_d_next = (DIRCONT *) NULL; - - } while (FindNextFile (d_handle, &dtabuf)); - - dirp->dd_cp = dirp->dd_contents; - free (nbuf); - - OS_CloseFH (d_handle); - return dirp; -} - - -/* - * Close the directory stream - */ - -int -closedir (dirp) - DIR *dirp; -{ - if (dirp != (DIR *)NULL) - { - free_dircontents (dirp->dd_contents); - free ((char *)dirp); - } - - return 0; -} - -/* - * Read the next record from the stream - */ - -struct dirent * -readdir (dirp) - DIR *dirp; -{ - static struct dirent dp; - - if ((dirp == (DIR *)NULL) || (dirp->dd_cp == (DIRCONT *) NULL)) - return (struct dirent *) NULL; - - dp.d_reclen = strlen (strcpy (dp.d_name, dirp->dd_cp->_d_entry)); - dp.d_off = dirp->dd_loc * 32; - dp.d_ino = (ino_t)++dirp->dd_loc; - dirp->dd_cp = dirp->dd_cp->_d_next; - - return &dp; -} - -/* - * Restart the directory stream - */ - -void -rewinddir (dirp) - DIR *dirp; -{ - seekdir (dirp, (off_t)0); -} - -/* - * Move to a know position in the stream - */ - -void -seekdir (dirp, off) - DIR *dirp; - off_t off; -{ - long i = off; - DIRCONT *dp; - - if ((dirp == (DIR *)NULL) || (off < 0L)) - return; - - for (dp = dirp->dd_contents; (--i >= 0) && (dp != (DIRCONT *)NULL); - dp = dp->_d_next) - ; - - dirp->dd_loc = off - (i + 1); - dirp->dd_cp = dp; -} - -/* - * Get the current position - */ - -off_t -telldir(dirp) - DIR *dirp; -{ - return (dirp == (DIR *)NULL) ? (off_t) -1 : dirp->dd_loc; -} - -/* - * Release the internal structure - */ - -static void -free_dircontents (dp) - DIRCONT *dp; -{ - DIRCONT *odp; - - while ((odp = dp) != (DIRCONT *)NULL) - { - if (dp->_d_entry != (char *)NULL) - free (dp->_d_entry); - - dp = dp->_d_next; - free ((char *)odp); - } -} - - -/* - * Windows NT version - */ - -bool -IsHPFSFileSystem (directory) - char *directory; -{ - char bName[4]; - DWORD flags; - DWORD maxname; - BOOL rc; - unsigned int nDrive; - char szCurDir [MAX_PATH]; - - if (ISALPHA (directory[0]) && (directory[1] == ':')) - nDrive = TOUPPER (directory[0]) - '@'; - - else - { - GetCurrentDirectory (MAX_PATH, szCurDir); - nDrive = szCurDir[0] - 'A' + 1; - } - -/* Set up the drive name */ - - strcpy (bName, "x:\\"); - bName[0] = (char) (nDrive + '@'); - -/* Read the volume info, if we fail - assume non-HPFS */ - - DISABLE_HARD_ERRORS; - - rc = GetVolumeInformation (bName, (LPTSTR)NULL, 0, (LPDWORD)NULL, - &maxname, &flags, (LPTSTR)NULL, 0); - ENABLE_HARD_ERRORS; - - return ((rc) && (flags & (FS_CASE_SENSITIVE | FS_CASE_IS_PRESERVED))) - ? TRUE : FALSE; -} - diff --git a/gcc/config/winnt/dirent.h b/gcc/config/winnt/dirent.h deleted file mode 100644 index 822bd2cab06..00000000000 --- a/gcc/config/winnt/dirent.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - * dirent.h - */ - -#ifndef _DIRENT_H -# define _DIRENT_H - -# include -# include - -#define MAXNAMLEN 255 /* maximum filename length */ - -#ifndef NAME_MAX -#define NAME_MAX (MAXNAMLEN - 1) -#endif - -struct dirent /* data from getdents()/readdir() */ -{ - ino_t d_ino; /* inode number of entry */ - off_t d_off; /* offset of disk directory entry */ - wchar_t d_reclen; /* length of this record */ - char d_name[MAXNAMLEN + 1]; -}; - - -/* The following nonportable ugliness could have been avoided by defining - * DIRENTSIZ and DIRENTBASESIZ to also have (struct dirent *) arguments. - * There shouldn't be any problem if you avoid using the DIRENTSIZ() macro. - */ - -#define DIRENTBASESIZ (((struct dirent *)0)->d_name \ - - (char *)&((struct dirent *)0)->d_ino) - -#define DIRENTSIZ(namlen) ((DIRENTBASESIZ + sizeof(long) + (namlen)) \ - / sizeof(long) * sizeof(long)) - - - -# ifndef _BOOL_T_DEFINED -typedef unsigned char bool; -# define _BOOL_T_DEFINED -# endif - -# define DIRBUF 8192 /* buffer size for fs-indep. dirs */ - /* must in general be larger than the */ - /* filesystem buffer size */ - -struct _dircontents { - char *_d_entry; - struct _dircontents *_d_next; -}; - -typedef struct _dirdesc { - int dd_id; /* uniquely identify each open directory */ - long dd_loc; /* where we are in directory entry is this */ - struct _dircontents *dd_contents; /* pointer to contents of dir */ - struct _dircontents *dd_cp; /* pointer to current position */ -} DIR; - - -#if defined (__STDC__) -# define _PROTO(p) p -#else -# define _PROTO(p) () -# undef const -# undef volatile -#endif - -/* Functions */ - -extern DIR * opendir _PROTO ((const char *)); -extern struct dirent * readdir _PROTO ((DIR *)); -extern void rewinddir _PROTO ((DIR *)); - -extern int closedir _PROTO ((DIR *)); -extern void seekdir _PROTO ((DIR *, off_t)); -extern off_t telldir _PROTO ((DIR *)); - -extern int chdir _PROTO ((const char *)); -extern char * getcwd _PROTO ((char *, size_t)); - -extern int mkdir _PROTO ((const char *)); - -extern int rmdir _PROTO ((const char *)); -extern int scandir _PROTO ((char *, - struct dirent ***, - int (*)(const void *, const void *), - int (*)(const void *, const void *))); - -extern int _chdrive _PROTO ((int)); -extern int _getdrive _PROTO ((void)); -extern char * _getdcwd _PROTO ((int, char *, int)); - -extern bool IsHPFSFileSystem _PROTO ((char *)); - -#endif diff --git a/gcc/config/winnt/fixinc-nt.c b/gcc/config/winnt/fixinc-nt.c deleted file mode 100644 index f7e1a35d094..00000000000 --- a/gcc/config/winnt/fixinc-nt.c +++ /dev/null @@ -1,260 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -static char *concat(); -static char *concat3(); -static char *concat4(); -static int onlyonedir; -static int atleastone; -static char *fixeddirs, *origdirs; - -/* Convert all /'s to \'s */ - -char * -slash2slash (dirname) - char *dirname; -{ - int i; - for (i=0; dirname[i]; i++) - if (dirname [i] == '/') - dirname [i] = '\\'; - - return dirname; -} - -/* Examine each directory component of a path and create the directory */ - -int -mkdirpath (dirpath) - char *dirpath; -{ - char *ndirpath = strdup (dirpath); - char *bp, *fp; - - fp = bp = ndirpath; - - while (bp) - { - bp = strchr (fp, '\\'); - if (bp) - { - *bp = 0; - _mkdir (ndirpath); - *bp = '\\'; - fp = ++bp; - } - else - _mkdir (ndirpath); - } -} - -/* Construct a relative directory path from a given path by removing the - leading slash, if it exists and changing a drive letter from X: to X-. */ - -char * -newname (olddirname) - char *olddirname; -{ - char *newname = strdup (olddirname); - - if ((strlen (newname) >= 2) - && (ISALPHA (newname[0]) && newname[1] == ':')) - newname [1] = '-'; - else if ((strlen (newname) >= 1) - && (newname [0] == '/' || newname [0] == '\\')) - newname = &newname[1]; - - return newname; - -} - -/* Run the sed script on one header file. If no modifications were made, then - delete the newly created file. */ - -int -doheader (oneheader, outheader, oldsize) - char *oneheader, *outheader; - int oldsize; -{ - char *newbuff, *oldbuff; - char *newheader = concat3 ("include", "\\", newname (outheader)); - struct _stat newstatbuf; - int newdesc, olddesc; - int i; - - system (concat4 ("sed -f fixinc-nt.sed ", oneheader, " > ", newheader)); - _stat (newheader, &newstatbuf); - if (oldsize != newstatbuf.st_size) - { - atleastone = 1; - printf ("Fixing: %s\n", oneheader); - return 0; - } - oldbuff = malloc (oldsize); - newbuff = malloc (newstatbuf.st_size); - olddesc = open (oneheader, _O_RDONLY | _O_BINARY); - newdesc = open (newheader, _O_RDONLY | _O_BINARY); - read (olddesc, oldbuff, oldsize); - read (newdesc, newbuff, newstatbuf.st_size); - close (olddesc); - close (newdesc); - for (i=0; id_name[0] == '.') - continue; - - intempbuf = slash2slash (concat3 (indir, "\\", dire->d_name)); - outtempbuf = slash2slash (concat3 (outdir, "\\", dire->d_name)); - _stat (intempbuf, &statbuf); - - /* If directory ... */ - if (statbuf.st_mode & _S_IFDIR) - dodir (intempbuf, outtempbuf); - - /* If regular file ... */ - if (statbuf.st_mode & _S_IFREG) - doheader (intempbuf, outtempbuf, statbuf.st_size); - } - closedir (dir); - return 0; -} - -/* Retrieve the value of the Include environment variable, copy it into a - temporary and append a semi-colon for book-keeping purposes. Then call - dodir () for each complete directory that is named therein. If there is - only one directory, then direct the output to use include\. as the - root instead of include/, where is a path - constructed from the path named in the Include environment variable. - I.e. if Include=C:\MSTOOLS\Include;D:\MSVC20\Include then the modified - header files will be in include\C-\MSTOOLS\Include and - include\D-\MSVC20\Include. However if Include=C:\MSTOOLS\Include then the - modified files will be in include\. */ - -int -main () -{ - char *fp, *bp, *foobar; - char *incvar = getenv ("Include"); - int varlen = 0; - struct _stat statbuf; - - if (incvar == NULL) return 0; - - varlen = strlen (incvar); - foobar = (char *) malloc (varlen + 2); - - strcpy (foobar, incvar); - foobar = slash2slash (foobar); - if (foobar [varlen-1] != ';') strcat (foobar, ";"); - fp = bp = foobar; - - if (strchr (fp, ';') == strrchr (fp, ';')) - onlyonedir = 1; - else - onlyonedir = 0; - - fixeddirs = strdup(".\\include"); - origdirs = strdup(""); - - while (bp) - { - bp = strchr (fp, ';'); - if (bp) - { - *bp = 0; - _stat (fp, &statbuf); - if (statbuf.st_mode & _S_IFDIR) - { - atleastone = 0; - if (onlyonedir) - dodir (fp, "."); - else - dodir (fp, fp); - if (atleastone && !onlyonedir) - { - origdirs = concat3 (origdirs, ";", fp); - fixeddirs = concat3 (fixeddirs, ";", - concat3 (".\\include", "\\", newname(fp))); - } - } - fp = ++bp; - } - } - printf ("set C_Include_Path=%s%s\n", fixeddirs, origdirs); - return 0; -} - -/* Utility function that mallocs space and concatenates two strings. */ - -static char * -concat (s1, s2) - char *s1, *s2; -{ - int len1 = strlen (s1); - int len2 = strlen (s2); - char *result = malloc (len1 + len2 + 1); - - strcpy (result, s1); - strcpy (result + len1, s2); - *(result + len1 + len2) = 0; - - return result; -} - -/* Utility function that concatenates three strings. */ - -static char * -concat3 (s1, s2, s3) - char *s1, *s2, *s3; -{ - return concat (concat (s1, s2), s3); -} - -/* Utility function that concatenates four strings. */ - -static char * -concat4 (s1, s2, s3, s4) - char *s1, *s2, *s3, *s4; -{ - return concat (concat (s1, s2), concat (s3, s4)); -} diff --git a/gcc/config/winnt/headers.mak b/gcc/config/winnt/headers.mak deleted file mode 100644 index 8dec34132fc..00000000000 --- a/gcc/config/winnt/headers.mak +++ /dev/null @@ -1,51 +0,0 @@ -# Build the include directory. The stamp files are stmp-* rather than -# stamp-* so that mostlyclean does not force the include directory to -# be rebuilt. - - -# Copy in the headers provided with gcc. -USER_H = $(srcdir)\ginclude\stdarg.h $(srcdir)\ginclude\stddef.h \ - $(srcdir)\ginclude\varargs.h $(srcdir)\ginclude\va-alpha.h \ - $(srcdir)\ginclude\va-h8300.h $(srcdir)\ginclude\va-i860.h \ - $(srcdir)\ginclude\va-i960.h $(srcdir)\ginclude\va-mips.h \ - $(srcdir)\ginclude\va-m88k.h $(srcdir)\ginclude\va-pa.h \ - $(srcdir)\ginclude\va-pyr.h $(srcdir)\ginclude\va-sparc.h \ - $(srcdir)\ginclude\va-clipper.h $(srcdir)\ginclude\va-spur.h \ - $(srcdir)\ginclude\iso646.h \ - $(srcdir)\ginclude\proto.h - -# Build the include directory except for float.h (which depends upon -# enquire). - -stmp-int-hdrs: $(USER_H) - type $(srcdir)\limitx.h >xlimits.h - type $(srcdir)\glimits.h >>xlimits.h - type $(srcdir)\limity.h >>xlimits.h - - -mkdir include - for %%f in ($(USER_H)) do copy %%f include - del include\limits.h - copy xlimits.h include\limits.h - del include\syslimits.h - copy $(srcdir)\gsyslimits.h include\syslimits.h - copy include\limits.h include\syslimits.h - del include\README - copy $(srcdir)\README-fixinc include\README - touch stmp-int-hdrs - -stmp-headers: stmp-int-hdrs fixinc-nt.exe - fixinc-nt - touch stmp-headers - -# Build float.h. -stmp-float_h: libgcc.lib enquire.exe - -.\enquire -f > tmp-float.h - del include\float.h - copy tmp-float.h include\float.h - touch stmp-float_h - -fixinc-nt.obj: $(srcdir)/config/winnt/fixinc-nt.c - cl -c -I. -I$(srcdir) -I$(srcdir)/include -I$(srcdir)/config/winnt $(srcdir)/config/winnt/fixinc-nt.c - -fixinc-nt.exe: fixinc-nt.obj dirent.obj - cl fixinc-nt.obj dirent.obj libc.lib kernel32.lib diff --git a/gcc/config/winnt/ld.c b/gcc/config/winnt/ld.c deleted file mode 100644 index b02d1ede229..00000000000 --- a/gcc/config/winnt/ld.c +++ /dev/null @@ -1,348 +0,0 @@ -/* Call Windows NT 3.x linker. - Copyright (C) 1994, 1995 Free Software Foundation, Inc. - Contributed by Douglas B. Rupp (drupp@cs.washington.edu). - -This file is part of GNU CC. - -GNU CC 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. - -GNU CC 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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include "config.h" -#include -#include -#include -#include -#include -#include - -static char *concat (); -static char *concat3 (); - -/* These can be set by command line arguments */ -char *linker_path = 0; -int verbose = 0; -int subsystem = 0; -int entry = 0; - -int link_arg_max = -1; -char **link_args = (char **) 0; -int link_arg_index = -1; - -char *search_dirs = "."; - -static int is_regular_file (char *name); - -/* Add the argument contained in STR to the list of arguments to pass to the - linker */ - -static void -addarg (str) - char *str; -{ - int i; - - if (++link_arg_index >= link_arg_max) - { - char **new_link_args - = (char **) calloc (link_arg_max + 1000, sizeof (char *)); - - for (i = 0; i <= link_arg_max; i++) - new_link_args [i] = link_args [i]; - - if (link_args) - free (link_args); - - link_arg_max += 1000; - link_args = new_link_args; - } - - link_args [link_arg_index] = str; -} - -/* Locate the file named in FILE_NAME in the set of paths contained in - PATH_VAL */ - -static char * -locate_file (file_name, path_val) - char *file_name; - char *path_val; -{ - char buf [1000]; - int file_len = strlen (file_name); - char *end_path = path_val + strlen (path_val); - char *ptr; - - /* Handle absolute pathnames */ - if (file_name [0] == '/' || file_name [0] == DIR_SEPARATOR - || ISALPHA (file_name [0]) && file_name [1] == ':') - { - strncpy (buf, file_name, sizeof buf); - buf[sizeof buf - 1] = '\0'; - if (is_regular_file (buf)) - return strdup (buf); - else - return 0; - } - - if (! path_val) - return 0; - - for (;;) - { - for (; *path_val == PATH_SEPARATOR ; path_val++) - ; - if (! *path_val) - return 0; - - for (ptr = buf; *path_val && *path_val != PATH_SEPARATOR; ) - *ptr++ = *path_val++; - - ptr--; - if (*ptr != '/' && *ptr != DIR_SEPARATOR) - *++ptr = DIR_SEPARATOR; - - strcpy (++ptr, file_name); - - if (is_regular_file (buf)) - return strdup (buf); - } - - return 0; -} - -/* Given a library name in NAME, i.e. foo. Look first for libfoo.lib and then - libfoo.a in the set of directories we are allowed to search in */ - -static char * -expand_lib (name) - char *name; -{ - char *lib, *lib_path; - - lib = malloc (strlen (name) + 8); - strcpy (lib, "lib"); - strcat (lib, name); - strcat (lib, ".lib"); - lib_path = locate_file (lib, search_dirs); - if (!lib_path) - { - strcpy (lib, "lib"); - strcat (lib, name); - strcat (lib, ".a"); - lib_path = locate_file (lib, search_dirs); - if (!lib_path) - { - fprintf - (stderr, - "Couldn't locate library: lib%s.a or lib%s.lib\n", name, name); - exit (1); - } - } - - return lib_path; -} - -/* Check to see if the file named in NAME is a regular file, i.e. not a - directory */ - -static int -is_regular_file (name) - char *name; -{ - int ret; - struct stat statbuf; - - ret = stat(name, &statbuf); - return !ret && S_ISREG (statbuf.st_mode); -} - -/* Process the number of args in P_ARGC and contained in ARGV. Look for - special flags, etc. that must be handled for the Microsoft linker */ - -static void -process_args (p_argc, argv) - int *p_argc; - char *argv[]; -{ - int i, j; - - for (i = 1; i < *p_argc; i++) - { - /* -v turns on verbose option here and is passed on to gcc */ - if (! strcmp (argv [i], "-v")) - verbose = 1; - else if (! strncmp (argv [i], "-g", 2)) - { - addarg ("-debugtype:coff -debug:full"); - } - else if (! strncmp (argv [i], "-stack", 6)) - { - i++; - addarg (concat ("-stack:",argv[i])); - } - else if (! strncmp (argv [i], "-subsystem", 10)) - { - subsystem = 1; - i++; - addarg (concat ("-subsystem:",argv[i])); - } - else if (! strncmp (argv [i], "-e", 2)) - { - entry = 1; - i++; - addarg (concat ("-entry:",&argv[i][1])); - } - } -} - -/* The main program. Spawn the Microsoft linker after fixing up the - Unix-like flags and args to be what the Microsoft linker wants */ - -main (argc, argv) - int argc; - char *argv[]; -{ - int i; - int done_an_ali = 0; - int file_name_index; - char *pathval = getenv ("PATH"); - char *spawn_args [5]; - char *tmppathval = malloc (strlen (pathval) + 3); - - strcpy (tmppathval, ".;"); - pathval = strcat (tmppathval, pathval); - - linker_path = locate_file ("link32.exe", pathval); - if (!linker_path) - { - linker_path = locate_file ("link.exe", pathval); - if (!linker_path) - { - fprintf (stderr, "Couldn't locate link32 or link\n"); - exit (1); - } - } - - addarg (linker_path); - - process_args (&argc , argv); - if (! subsystem) addarg ("-subsystem:console"); - if (! entry) addarg ("-entry:mainCRTStartup"); - - for (i = 1; i < argc; i++) - { - int arg_len = strlen (argv [i]); - - if (!strcmp (argv [i], "-o")) - { - char *buff, *ptr; - int out_len; - - i++; - out_len = strlen (argv[i]) + 10; - buff = malloc (out_len); - strcpy (buff, "-out:"); - strcat (buff, argv[i]); - ptr = strstr (buff, ".exe"); - if (ptr == NULL || strlen (ptr) != 4) - strcat (buff, ".exe"); - addarg (buff); - } - else if (arg_len > 2 && !strncmp (argv [i], "-L", 2)) - { - char *nbuff, *sdbuff; - int j, new_len, search_dirs_len; - - new_len = strlen (&argv[i][2]); - search_dirs_len = strlen (search_dirs); - - nbuff = malloc (new_len + 1); - strcpy (nbuff, &argv[i][2]); - - for (j = 0; j < new_len; j++) - if (nbuff[j] == '/') nbuff[j] = DIR_SEPARATOR; - - sdbuff = malloc (search_dirs_len + new_len + 2); - strcpy (sdbuff, search_dirs); - sdbuff[search_dirs_len] = PATH_SEPARATOR; - sdbuff[search_dirs_len+1] = 0; - strcat (sdbuff, nbuff); - - search_dirs = sdbuff; - } - - else if (arg_len > 2 && !strncmp (argv [i], "-l", 2)) - { - addarg (expand_lib (&argv[i][2])); - } - else if (!strcmp (argv [i], "-v") - || !strcmp (argv [i], "-g") - || !strcmp (argv [i], "-noinhibit-exec")) - { - ; - } - else if (!strcmp (argv [i], "-stack") - || !strcmp (argv [i], "-subsystem") - || !strcmp (argv [i], "-e")) - { - i++; - } - else - { - addarg (argv [i]); - } - } - - addarg (NULL); - - if (verbose) - { - int i; - - for (i = 0; i < link_arg_index; i++) - printf ("%s ", link_args [i]); - putchar ('\n'); - } - - if (spawnvp (P_WAIT, linker_path, (const char * const *)link_args) != 0) - { - fprintf (stderr, "Error executing %s\n", link_args[0]); - exit (1); - } - - exit (0); -} - -static char * -concat (s1, s2) - char *s1, *s2; -{ - int len1 = strlen (s1); - int len2 = strlen (s2); - char *result = malloc (len1 + len2 + 1); - - strcpy (result, s1); - strcpy (result + len1, s2); - *(result + len1 + len2) = 0; - - return result; -} - -static char * -concat3 (s1, s2, s3) - char *s1, *s2, *s3; -{ - return concat (concat (s1, s2), s3); -} diff --git a/gcc/config/winnt/libgcc.mak b/gcc/config/winnt/libgcc.mak deleted file mode 100644 index adfb57e63cc..00000000000 --- a/gcc/config/winnt/libgcc.mak +++ /dev/null @@ -1,19 +0,0 @@ -# Build libgcc.a - -libgcc.lib : libgcc1.c libgcc2.c mklibgcc.exe - mklibgcc -c - mklibgcc "cl -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES)" libgcc1.c $(LIB1FUNCS) - mklibgcc "xgcc -B./ -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES)" libgcc2.c $(LIB2FUNCS) - mklibnow.bat - -del libgcc.lib - lib -verbose -out:libgcc.lib lgcctmp/*.obj - -mklibgcc.obj : $(srcdir)/config/winnt/mklibgcc.c - cl -I. -I$(srcdir) -I$(srcdir)/config/winnt -c $(srcdir)/config/winnt/mklibgcc.c - -dirent.obj : $(srcdir)/config/winnt/dirent.c stmp-int-hdrs - cl -I. -I$(srcdir) -I$(srcdir)/include -I$(srcdir)/config/winnt -c $(srcdir)/config/winnt/dirent.c - -mklibgcc.exe : mklibgcc.obj dirent.obj - cl mklibgcc.obj dirent.obj libc.lib kernel32.lib - diff --git a/gcc/config/winnt/mklibgcc.c b/gcc/config/winnt/mklibgcc.c deleted file mode 100644 index 081e4ec22c4..00000000000 --- a/gcc/config/winnt/mklibgcc.c +++ /dev/null @@ -1,97 +0,0 @@ -#include -#include -#include - -char *skips[] = { - 0 -}; - -int -do_clean() -{ - DIR *dir; - struct dirent *de; - remove("mklibnow.bat"); - - dir = opendir("lgcctmp"); - if (!dir) - return 0; - while ((de=readdir(dir))) - { - char buf[30]; - if (de->d_name[0] == '.') - continue; - sprintf(buf, "lgcctmp/%s", de->d_name); - unlink(buf); - } - closedir(dir); - return 0; -} - -int -main(int argc, char **argv) -{ - char *cc = argv[1]; - char *csrc=argv[2]; - int i; - FILE *batfile; - FILE *cfile; - - if (argc > 1 && strcmp(argv[1], "-c")==0) - return do_clean(); - - _mkdir("lgcctmp", 0755); - - batfile = fopen("mklibnow.bat", "a"); - if (!batfile) - { - perror("mklibnow.bat"); - return 1; - } -/* fprintf(batfile, "@echo off\n"); */ - - for (i=3; i) and #pragma pack(pop). */ -#define HANDLE_PRAGMA_PACK_PUSH_POP 1 diff --git a/gcc/config/winnt/x-winnt b/gcc/config/winnt/x-winnt deleted file mode 100644 index 36e36b9c1a2..00000000000 --- a/gcc/config/winnt/x-winnt +++ /dev/null @@ -1,34 +0,0 @@ -STMP_FIXPROTO = -OTHER_FIXINCLUDES_DIRS=${srcdir} -RANLIB = : -RANLIB_TEST = false -OLDCC = cl -MAKE = make -SHELL = sh -SYMLINK = cp -INSTALL = $(srcdir)/install.sh -c -.SUFFIXES: .obj -.c.obj: - $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< -.adb.obj: - $(CC) -c $(ALL_ADAFLAGS) $< -.ads.obj: - $(CC) -c $(ALL_ADAFLAGS) $< -exeext = .exe -objext = .obj - -CC = gcc -CLIB = -LDFLAGS = - -ld.o: $(srcdir)/config/winnt/ld.c - $(CC) -I. -I$(srcdir) -I$(srcdir)/config -c $(srcdir)/config/winnt/ld.c - -ld.exe: ld.o - $(CC) -o ld.exe ld.o - -oldnames.o: $(srcdir)/config/winnt/oldnames.c - $(CC) -I. -I$(srcdir) -I$(srcdir)/config -c $(srcdir)/config/winnt/oldnames.c - -spawnv.o: $(srcdir)/config/winnt/spawnv.c - $(CC) -I. -I$(srcdir) -I$(srcdir)/config -c $(srcdir)/config/winnt/spawnv.c diff --git a/gcc/config/winnt/xm-winnt.h b/gcc/config/winnt/xm-winnt.h deleted file mode 100644 index 88a4b572ecc..00000000000 --- a/gcc/config/winnt/xm-winnt.h +++ /dev/null @@ -1,71 +0,0 @@ -/* Configuration for GNU compiler for processor running Windows NT 3.x. - Copyright (C) 1993, 1995, 1997, 1999 Free Software Foundation, Inc. - Contributed by Douglas B. Rupp (drupp@cs.washington.edu) - -This file is part of GNU CC. - -GNU CC 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. - -GNU CC 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 GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -#include - -#ifndef USG -#define USG 1 -#endif - -#ifndef ONLY_INT_FIELD -#define ONLY_INT_FIELDS 1 -#endif - -#ifndef USE_PROTOTYPES -#define USE_PROTOTYPES 1 -#endif - -#ifndef HAVE_PUTENV -#define HAVE_PUTENV 1 -#endif - -#ifndef HAVE_VPRINTF -#define HAVE_VPRINTF 1 -#endif - -#define kill(a,b) raise(b) - -#define OBJECT_SUFFIX ".obj" -#define EXECUTABLE_SUFFIX ".exe" -#define PATH_SEPARATOR ';' - -#define DIR_SEPARATOR '\\' -#define DIR_SEPARATOR_2 '/' - -/* Allows checks for drive names. */ -#define HAVE_DOS_BASED_FILE_SYSTEM - -/* Tell GCC about NT's bit bucket. */ - -#define HOST_BIT_BUCKET "NUL" - -#define S_IRUSR 0000400 -#define S_IWUSR 0000200 -#define S_IXUSR 0000100 -#define S_IRGRP 0000040 -#define S_IWGRP 0000020 -#define S_IXGRP 0000010 -#define S_IROTH 0000004 -#define S_IWOTH 0000002 -#define S_IXOTH 0000001 -#define S_IRWXU S_IRUSR | S_IWUSR | S_IXUSR -#define S_ISREG(m) (((m)&S_IFMT) == S_IFREG) -#define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR) diff --git a/gcc/install.texi b/gcc/install.texi index e51b3b3e338..928387eea81 100644 --- a/gcc/install.texi +++ b/gcc/install.texi @@ -1113,35 +1113,6 @@ and Microsoft named libraries. For example, if you specify @samp{-lfoo}, @file{ld.exe} will look first for @file{libfoo.a} and then for @file{foo.lib}. -You may install GNU CC for Windows NT in one of two ways, depending on -whether or not you have a Unix-like shell and various Unix-like -utilities. - -@enumerate -@item -If you do not have a Unix-like shell and few Unix-like utilities, you -will use a DOS style batch script called @file{configure.bat}. Invoke -it as @code{configure winnt} from an MSDOS console window or from the -program manager dialog box. @file{configure.bat} assumes you have -already installed and have in your path a Unix-like @file{sed} program -which is used to create a working @file{Makefile} from @file{Makefile.in}. - -@file{Makefile} uses the Microsoft Nmake program maintenance utility and -the Visual C/C++ V8.00 compiler to build GNU CC. You need only have the -utilities @file{sed} and @file{touch} to use this installation method, -which only automatically builds the compiler itself. You must then -examine what @file{fixinc.winnt} does, edit the header files by hand and -build @file{libgcc.a} manually. - -@item -The second type of installation assumes you are running a Unix-like -shell, have a complete suite of Unix-like utilities in your path, and -have a previous version of GNU CC already installed, either through -building it via the above installation method or acquiring a pre-built -binary. In this case, use the @file{configure} script in the normal -fashion. -@end enumerate - @item i860-intel-osf1 This is the Paragon. @ifset INSTALLONLY -- 2.30.2