Changeset 11700


Ignore:
Timestamp:
03/06/09 20:21:01 (13 years ago)
Author:
ehuelsmann
Message:

Add OpenBSD and NetBSD platform detection support.

Patch by: Julian Fondren (ayrnieu at gmail dot com)

Location:
trunk/abcl/src/org/armedbear/lisp
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/Keyword.java

    r11490 r11700  
    102102        LONG                = internKeyword("LONG"),
    103103        NAME                = internKeyword("NAME"),
     104        NETBSD              = internKeyword("NETBSD"),
    104105        NEW_VERSION         = internKeyword("NEW"),
    105106        NEWEST              = internKeyword("NEWEST"),
     
    108109        NO_ERROR            = internKeyword("NO-ERROR"),
    109110        OBJECT              = internKeyword("OBJECT"),
     111        OPENBSD             = internKeyword("OPENBSD"),
    110112        OPERANDS            = internKeyword("OPERANDS"),
    111113        OPERATION           = internKeyword("OPERATION"),
  • trunk/abcl/src/org/armedbear/lisp/Lisp.java

    r11698 r11700  
    21402140                                             Keyword.CDR6));
    21412141      }
     2142    else if (osName.startsWith("OpenBSD"))
     2143      {
     2144        Symbol.FEATURES.setSymbolValue(list7(Keyword.ARMEDBEAR,
     2145                                             Keyword.ABCL,
     2146                                             Keyword.COMMON_LISP,
     2147                                             Keyword.ANSI_CL,
     2148                                             Keyword.UNIX,
     2149                                             Keyword.OPENBSD,
     2150                                             Keyword.CDR6));
     2151      }
     2152    else if (osName.startsWith("NetBSD"))
     2153      {
     2154        Symbol.FEATURES.setSymbolValue(list7(Keyword.ARMEDBEAR,
     2155                                             Keyword.ABCL,
     2156                                             Keyword.COMMON_LISP,
     2157                                             Keyword.ANSI_CL,
     2158                                             Keyword.UNIX,
     2159                                             Keyword.NETBSD,
     2160                                             Keyword.CDR6));
     2161      }
    21422162    else if (osName.startsWith("Windows"))
    21432163      {
  • trunk/abcl/src/org/armedbear/lisp/ShellCommand.java

    r11488 r11700  
    250250            throws ConditionThrowable
    251251        {
    252             String command = first.getStringValue();
    253             String namestring = null;
    254             Stream outputStream = null;
    255             if (second != NIL) {
    256                 Pathname pathname = coerceToPathname(second);
    257                 namestring = pathname.getNamestring();
    258                 if (namestring == null) {
    259                     return error(new FileError("Pathname has no namestring: " + pathname.writeToString(),
    260                                                 pathname));
    261                 }
    262             }
    263             if (third != NIL)
    264                 outputStream = checkStream(third);
    265             ShellCommand shellCommand = new ShellCommand(command, namestring,
    266                                                          outputStream);
    267             shellCommand.run();
    268             if (outputStream != null)
    269                 outputStream._finishOutput();
    270             return number(shellCommand.exitValue());
     252            if (!(Utilities.isPlatformUnix || Utilities.isPlatformWindows)) {
     253              return error(new LispError("run-shell-command not implemented for "
     254                                       + System.getProperty("os.name")));
     255            }
     256            else {
     257                String command = first.getStringValue();
     258                String namestring = null;
     259                Stream outputStream = null;
     260                if (second != NIL) {
     261                    Pathname pathname = coerceToPathname(second);
     262                    namestring = pathname.getNamestring();
     263                    if (namestring == null) {
     264                        return error(new FileError("Pathname has no namestring: " + pathname.writeToString(),
     265                                                    pathname));
     266                    }
     267                }
     268                if (third != NIL)
     269                    outputStream = checkStream(third);
     270                ShellCommand shellCommand = new ShellCommand(command, namestring,
     271                                                             outputStream);
     272                shellCommand.run();
     273                if (outputStream != null)
     274                    outputStream._finishOutput();
     275                return number(shellCommand.exitValue());
     276            }
    271277        }
    272278    };
  • trunk/abcl/src/org/armedbear/lisp/Utilities.java

    r11391 r11700  
    4747            osName.startsWith("Mac OS X") || osName.startsWith("Solaris") ||
    4848            osName.startsWith("SunOS") || osName.startsWith("AIX") ||
    49             osName.startsWith("FreeBSD");
     49            osName.startsWith("FreeBSD") || osName.startsWith("OpenBSD") ||
     50            osName.startsWith("NetBSD");
    5051        isPlatformWindows = osName.startsWith("Windows");
    5152    }
Note: See TracChangeset for help on using the changeset viewer.