Print this page
make: remove a bunch of unused and mis-licensed code from history

@@ -738,207 +738,6 @@
                         append_string(macro_list->value, buffer, FIND_LENGTH);
                         append_char((int) dollar_char, buffer);
                 }
         }
 }
-/*
- *      Copyright (c) 1987-1992 Sun Microsystems, Inc.  All Rights Reserved.
- *      Sun considers its source code as an unpublished, proprietary
- *      trade secret, and it is available only under strict license
- *      provisions.  This copyright notice is placed here only to protect
- *      Sun in the event the source is deemed a published work.  Dissassembly,
- *      decompilation, or other means of reducing the object code to human
- *      readable form is prohibited by the license agreement under which
- *      this code is provided to the user or company in possession of this
- *      copy.
- *      RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the
- *      Government is subject to restrictions as set forth in subparagraph
- *      (c)(1)(ii) of the Rights in Technical Data and Computer Software
- *      clause at DFARS 52.227-7013 and in similar clauses in the FAR and
- *      NASA FAR Supplement.
- *
- * 1.3 91/09/30
- */
-
-
-/* Some includes are commented because of the includes at the beginning */
-/* #include <signal.h> */
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/param.h>
-/* #include <string.h> */
-#include <unistd.h>
-#include <stdlib.h>
-/* #include <stdio.h> */
-/* #include <avo/find_dir.h> */
-/* #ifndef TEAMWARE_MAKE_CMN
-#include <avo/find_dir.h>
-#endif */
-
-/* Routines to find the base directory name from which the various components
- * -executables, *crt* libraries etc will be accessed
- */
-
-/* This routine checks to see if a given filename is an executable or not.
-   Logically similar to the csh statement : if  ( -x $i && ! -d $i )
- */
-
-static int
-check_if_exec(char *file)
-{
-        struct stat stb;
-        if (stat(file, &stb) < 0) {
-                return ( -1);
-        }
-        if (S_ISDIR(stb.st_mode)) {
-                return (-1);
-        }
-        if (!(stb.st_mode & S_IEXEC)) {
-                return ( -1);
-        }
-        return (0);
-}
-
-/* resolve - check for specified file in specified directory
- *      sets up dir, following symlinks.
- *      returns zero for success, or
- *      -1 for error (with errno set properly)
- */
-static int
-resolve (const char *indir,     /* search directory */
-         const char *cmd,       /* search for name */
-         char   *dir,   /* directory buffer */
-         char   **run)  /* resultion name ptr ptr */
-{
-    char               *p;
-    int                 rv = -1;
-    int                 sll;
-    char                symlink[MAXPATHLEN + 1];
-
-    do {
-        errno = ENAMETOOLONG;
-        if ((strlen (indir) + strlen (cmd) + 2) > (size_t) MAXPATHLEN)
-            break;
-
-        sprintf(dir, "%s/%s", indir, cmd);
-        if (check_if_exec(dir) != 0)  /* check if dir is an executable */
-        {
-                break;          /* Not an executable program */
-        }
-
-        /* follow symbolic links */
-        while ((sll = readlink (dir, symlink, MAXPATHLEN)) >= 0) {
-            symlink[sll] = 0;
-            if (*symlink == '/')
-                strcpy (dir, symlink);
-            else
-                sprintf (strrchr (dir, '/'), "/%s", symlink);
-        }
-        if (errno != EINVAL)
-            break;
-
-        p = strrchr (dir, '/');
-        *p++ = 0;
-        if (run)                /* user wants resolution name */
-            *run = p;
-        rv = 0;                 /* complete, with success! */
-
-    } while (0);
-
-    return rv;
-}
-
-/* 
- *find_run_directory - find executable file in PATH
- *
- * PARAMETERS:
- *      cmd     filename as typed by user (argv[0])
- *      cwd     buffer from which is read the working directory
- *               if first character is '/' or into which is
- *               copied working directory name otherwise
- *      dir     buffer into which is copied program's directory
- *      pgm     where to return pointer to tail of cmd (may be NULL
- *               if not wanted) 
- *      run     where to return pointer to tail of final resolved
- *               name ( dir/run is the program) (may be NULL
- *               if not wanted)
- *      path    user's path from environment
- *
- * Note: run and pgm will agree except when symbolic links have
- *      renamed files
- *
- * RETURNS:
- *      returns zero for success,
- *      -1 for error (with errno set properly).
- *
- * EXAMPLE:
- *      find_run_directory (argv[0], ".", &charray1, (char **) 0, (char **) 0,
- *                          getenv(NOGETTEXT("PATH")));
- */
-extern int
-find_run_directory (char        *cmd,
-                    char        *cwd,
-                    char        *dir,
-                    char        **pgm,
-                    char        **run,
-                    char        *path)
-{
-    int                 rv = 0;
-    char                *f, *s;
-    int                 i;
-    char                tmp_path[MAXPATHLEN];
-
-    if (!cmd || !*cmd || !cwd || !dir) {
-        errno = EINVAL;         /* stupid arguments! */
-        return -1;
-    }
-
-    if (*cwd != '/')
-        if (!(getcwd (cwd, MAXPATHLEN)))
-            return -1;          /* can not get working directory */
-
-    f = strrchr (cmd, '/');
-    if (pgm)                    /* user wants program name */
-        *pgm = f ? f + 1 : cmd;
-
-    /* get program directory */
-    rv = -1;
-    if (*cmd == '/')    /* absname given */
-        rv = resolve ("", cmd + 1, dir, run);
-    else if (f)         /* relname given */
-        rv = resolve (cwd, cmd, dir, run);
-    else {  /* from searchpath */
-            if (!path || !*path) {      /* if missing or null path */
-                    tmp_path[0] = '.';  /* assume sanity */
-                    tmp_path[1] = '\0';
-            } else {
-                    strcpy(tmp_path, path);
-            }
-        f = tmp_path;
-        rv = -1;
-        errno = ENOENT; /* errno gets this if path empty */
-        while (*f && (rv < 0)) {
-            s = f;
-            while (*f && (*f != ':'))
-                ++f;
-            if (*f)
-                *f++ = 0;
-            if (*s == '/')
-                rv = resolve (s, cmd, dir, run);
-            else {
-                char                abuf[MAXPATHLEN];
-
-                sprintf (abuf, "%s/%s", cwd, s);
-                rv = resolve (abuf, cmd, dir, run);
-            }
-        }
-    }
-
-    /* Remove any trailing /. */
-    i = strlen(dir);
-    if ( dir[i-2] == '/' && dir[i-1] == '.') {
-            dir[i-2] = '\0';
-    }
-
-    return rv;
-}