-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNOTICE
More file actions
81 lines (59 loc) · 3.58 KB
/
Copy pathNOTICE
File metadata and controls
81 lines (59 loc) · 3.58 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
71
72
73
74
75
76
77
78
79
80
81
MSCS_JavaBindings
Copyright 2026 Khrustal & Mann
MELBOURNE, VICTORIA, AUSTRALIA, 3000
This product includes software developed by Khrustal & Mann.
Licensed under the Apache License, Version 2.0. See the LICENSE file in
this directory, or http://www.apache.org/licenses/LICENSE-2.0
-------------------------------------------------------------------------
Machine-generated files
-------------------------------------------------------------------------
Everything under
Targetcore/java/src/main/java/com/targetcore/native_/
Msgcore/java/src/main/java/com/msgcore/native_/
is jextract output, generated from this project's own C headers -- for
Targetcore, from Targetcore_c.h in the Targetcore repository. It is
covered by the licence above like the rest of the tree, and carries no
per-file header for one reason: the files are REPLACED wholesale every
time the bindings are regenerated (README.md, Step 3), so a header added
by hand would be silently dropped on the next run and its absence would
then look deliberate.
The only hand edit those files receive is the documented JDK 22/23 shim,
which rewrites SymbolLookup.findOrThrow to find(...).orElseThrow().
jextract itself is an OpenJDK tool and is not redistributed here.
-------------------------------------------------------------------------
The native libraries
-------------------------------------------------------------------------
This repository contains no binaries. P2PmsgFacade.dll, Targetcore.dll and
Msgcore.dll are built from their own repositories and staged into bin\ at
run time by run_all.ps1; each carries its own NOTICE, and Targetcore's names
files that are NOT covered by the Apache License, Version 2.0.
A DISTRIBUTION assembled from this repository is a different thing from the
repository itself, and its licences do not all travel together. Anything that
ships the native libraries alongside these bindings carries components under
two different sets of terms, and must reproduce that split rather than
labelling the whole bundle Apache-2.0.
Under the Apache License, Version 2.0:
the Java bindings in this repository
P2PmsgFacade.dll from the P2PmsgFacade repository
Targetcore.dll from the Targetcore repository
Msgcore.dll from the Msgcore repository
The three native repositories each carry their own LICENSE and NOTICE.
Section 4 requires all of them to accompany the binaries; this file does
not stand in for the other three. All three DLLs must ship together in
any case - the facade is loaded by full path and Windows resolves its
dependencies out of that same directory.
Under Microsoft's Distributable Code terms - NOT Apache-2.0:
mfc140u.dll, msvcp140.dll, Redistributable under the Visual
vcruntime140.dll, Studio licence, not under the
vcruntime140_1.dll (x64) licence above.
Targetcore.dll and Msgcore.dll are MFC extension DLLs built against the
shared MFC and /MD runtimes, so these travel with them and cannot be
linked away.
The DEBUG runtimes - mfc140ud, msvcp140d, vcruntime140d - MAY NOT be
redistributed at all. build.ps1 stages into both bin\Debug and
bin\Release; only the Release set may leave the machine.
Ship the current Visual C++ redistributable. A JDK that bundles an
msvcp140 older than 14.40 fails on the first call into Targetcore, and
the JVM's own copy is what gets loaded.
On Linux the native libraries carry no Microsoft component of any kind, and a
distribution of these bindings with them is Apache-2.0 throughout.