forked fromlmdbjava/lmdbjava
- Notifications
You must be signed in to change notification settings - Fork0
Commit288bb09
authored
Zig cross-compilation of native libraries (lmdbjava#217)
This new approach provides a number of benefits:1. The LmdbJava Native project can be archived. This project requiredcoordination with LmdbJava module releases and added extra artifactsto Maven Central simply to wrap native libraries. The native projectalso required a great deal of Maven configuration and it was alwaystedious to support additional platforms. Using Zig eliminates the needto run QEMU emulators in builds to support unusual platforms etc.2. Zig supports numerous cross-compilation targets straight out of thebox. A full list is available via zig targets | jq -r '.libc[]' andthis presently lists 64 on my machine. This is likely to accommodatemost LmdbJava platform support requests we are likely to receive.3. Platform naming conventions have now been standardised based on theZig target name. Support for individual build chains or specificprocessors is now simplified and much more transparent.4. The GitHub Action has been amended to perform cross-compilationunder Linux and upload the resulting native artifacts for later buildsteps. The later build steps run the Verifier on a native VM whereavailable (eg Windows, Mac OS) and this therefore tests thecross-compiled libraries.5. Target name resolution logic has been refactored and externalisedin its own class with corresponding unit tests to ensure corner casesare duly considered and any bugs more easily reproduced andpermanently rectified.This change is backwards compatible with users who used (and maycontinue to use) the lmdbjava.native.lib system property.1 parent9cf97a5 commit288bb09
File tree
9 files changed
+310
-94
lines changed- .github/workflows
- src
- main
- java/org/lmdbjava
- resources/org/lmdbjava
- test/java/org/lmdbjava
9 files changed
+310
-94
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
25 | 31 | | |
26 | 32 | | |
27 | 33 | | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
28 | 42 | | |
29 | 43 | | |
30 | 44 | | |
31 | 45 | | |
32 | 46 | | |
| 47 | + | |
33 | 48 | | |
34 | 49 | | |
35 | 50 | | |
| |||
48 | 63 | | |
49 | 64 | | |
50 | 65 | | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
51 | 72 | | |
52 | 73 | | |
53 | 74 | | |
| |||
81 | 102 | | |
82 | 103 | | |
83 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
84 | 111 | | |
85 | 112 | | |
86 | 113 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
58 | 76 | | |
59 | 77 | | |
60 | 78 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | 73 | | |
92 | 74 | | |
93 | 75 | | |
| |||
103 | 85 | | |
104 | 86 | | |
105 | 87 | | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | 88 | | |
112 | 89 | | |
113 | 90 | | |
| |||
132 | 109 | | |
133 | 110 | | |
134 | 111 | | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | 112 | | |
158 | 113 | | |
159 | 114 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
25 | 24 | | |
26 | 25 | | |
27 | | - | |
28 | | - | |
29 | 26 | | |
30 | 27 | | |
31 | 28 | | |
| |||
55 | 52 | | |
56 | 53 | | |
57 | 54 | | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | 55 | | |
68 | 56 | | |
69 | 57 | | |
70 | 58 | | |
71 | 59 | | |
72 | 60 | | |
73 | | - | |
| 61 | + | |
74 | 62 | | |
75 | 63 | | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | 64 | | |
88 | 65 | | |
89 | 66 | | |
90 | 67 | | |
91 | 68 | | |
92 | 69 | | |
93 | 70 | | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | 71 | | |
101 | 72 | | |
102 | 73 | | |
103 | 74 | | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
| 75 | + | |
| 76 | + | |
121 | 77 | | |
122 | | - | |
| 78 | + | |
123 | 79 | | |
124 | 80 | | |
125 | 81 | | |
| |||
0 commit comments
Comments
(0)