-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNOTICE
More file actions
70 lines (50 loc) · 3.07 KB
/
Copy pathNOTICE
File metadata and controls
70 lines (50 loc) · 3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
picoposh
========
This product includes software design derived from PowerShell.
picoposh's lexer and parser structure -- the *Rule() production hierarchy, the
AST node taxonomy, and the expression operator-precedence ladder -- are modeled
on the open-source PowerShell parser:
PowerShell (https://github.com/PowerShell/PowerShell)
src/System.Management.Automation/engine/parser/Parser.cs
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
No PowerShell source code is copied into picoposh; the C implementation here is
an independent reimplementation that adopts the same grammar shape. See
docs/grammar.md for the production-by-production mapping.
Watt-32 (bundled submodule, DOS networking)
-------------------------------------------
The optional MS-DOS HTTP backend (Invoke-WebRequest) links against Watt-32, a
DOS TCP/IP stack included as a git submodule:
Watt-32 (https://github.com/gvanem/Watt-32)
Copyright (c) 1997-2024 Gisle Vanem and contributors.
Licensed under a BSD-style license (see third_party/Watt-32/COPYING.txt).
Watt-32 is built and linked only for the DOS+networking target
(build/watcom/pico_watt.mk); the default builds do not include it. A small
config change (enabling the BSD sockets API for the 16-bit large model) is kept
as build/watcom/watt32-config.patch rather than modifying the submodule in place.
zlib and minizip (bundled submodule, archive support on DOS / Win9x)
--------------------------------------------------------------------
The OpenWatcom builds implement Expand-Archive with zlib's inflate and the
minizip reader bundled in zlib's contrib directory:
zlib (https://github.com/madler/zlib), pinned to release 1.3.1
Copyright (c) 1995-2024 Jean-loup Gailly and Mark Adler.
Licensed under the zlib license (see third_party/zlib/LICENSE).
minizip (third_party/zlib/contrib/minizip)
Copyright (c) 1998-2010 Gilles Vollant and contributors.
Licensed under the zlib license (see that directory's MiniZip64_info.txt).
zlib is used unmodified. It is pinned to the 1.3.1 release rather than tracking
a branch because minizip on zlib's development branch requires a 64-bit integer
type, which the 16-bit DOS compiler does not have. The sources are compiled
straight into picoposh (build/watcom/zip.mk) rather than linked as a library.
libzip (bundled submodule, archive support on modern targets)
--------------------------------------------------------------
The CMake builds implement Expand-Archive with libzip instead, which is actively
maintained and a better thing to point at untrusted input:
libzip (https://github.com/nih-at/libzip)
Copyright (c) 1999-2024 Dieter Baron and Thomas Klausner.
Licensed under a 3-clause BSD license (see third_party/libzip/LICENSE).
libzip is built from source via add_subdirectory with every optional backend
(bzip2, lzma, zstd, and all the encryption providers) disabled, and links the
same vendored zlib. The vintage targets cannot use it: libzip needs C99 and
32-bit types, so they get zlib+minizip, which is strict C89 and still carries
real 16-bit MSDOS support.