mirror of
https://github.com/Interlisp/maiko.git
synced 2026-03-15 14:27:19 +00:00
Compare commits
488 Commits
lmm-maiko
...
nhb-rewrit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3d09555c6c | ||
|
|
8ad8b4db2a | ||
|
|
673ec07a58 | ||
|
|
60e12dabc0 | ||
|
|
e2f69f4e48 | ||
|
|
9f1bcb9299 | ||
|
|
4dfbdf27ff | ||
|
|
51a33680f4 | ||
|
|
d4a882adc2 | ||
|
|
67f8cc0cf0 | ||
|
|
04ad740ead | ||
|
|
fe7beafcc1 | ||
|
|
e745381970 | ||
|
|
5190a3976f | ||
|
|
babe728d3a | ||
|
|
38d65df90c | ||
|
|
d4a9286962 | ||
|
|
24327920f2 | ||
|
|
987fa637a9 | ||
|
|
4de8b733fd | ||
|
|
353f6d202e | ||
|
|
55209aa7e7 | ||
|
|
dfb820cc62 | ||
|
|
11b81f6c17 | ||
|
|
9557ae8f5b | ||
|
|
d1f7361429 | ||
|
|
4c6aef8fd4 | ||
|
|
409617b506 | ||
|
|
6a550b4ca3 | ||
|
|
f0bd8e0f1f | ||
|
|
c9e2759666 | ||
|
|
9960010129 | ||
|
|
ce20b3520e | ||
|
|
c4752e6caa | ||
|
|
78dfa9b243 | ||
|
|
cfbd78007a | ||
|
|
afe40004b8 | ||
|
|
fe8c991a11 | ||
|
|
5343b12991 | ||
|
|
a0e703678c | ||
|
|
364bc1f31c | ||
|
|
428e7cf1a2 | ||
|
|
01d21b0a44 | ||
|
|
3569e54524 | ||
|
|
b75e66d91c | ||
|
|
0e2cda2328 | ||
|
|
c58336f813 | ||
|
|
f2bf026b07 | ||
|
|
3fad090a6c | ||
|
|
812e296fe8 | ||
|
|
7c7da4cd0c | ||
|
|
f375519dbc | ||
|
|
2c46a9473a | ||
|
|
93b3a709c9 | ||
|
|
31fcfb36ca | ||
|
|
1f18779eb8 | ||
|
|
357336b5f1 | ||
|
|
1ffd1ba7cb | ||
|
|
0a6f8ac72b | ||
|
|
fc90838ad8 | ||
|
|
de1fafba7e | ||
|
|
6f42b353b2 | ||
|
|
8e17c0747d | ||
|
|
6aafbbcb05 | ||
|
|
5dc9233aef | ||
|
|
b029b98fca | ||
|
|
7dd3c90a77 | ||
|
|
389ecf7874 | ||
|
|
5d3639a905 | ||
|
|
59953c2629 | ||
|
|
6d171bff1d | ||
|
|
834a6084c3 | ||
|
|
9343f58b17 | ||
|
|
4994982a90 | ||
|
|
40d4fca8cc | ||
|
|
c8dc63d418 | ||
|
|
7fe0f70640 | ||
|
|
55e20ea993 | ||
|
|
7d85a59e6f | ||
|
|
511a1b523e | ||
|
|
04f9905ca0 | ||
|
|
e61d0f2e6c | ||
|
|
3c4d9f5393 | ||
|
|
31bb14b9d7 | ||
|
|
f23a43f1a0 | ||
|
|
e251f26816 | ||
|
|
51045b402f | ||
|
|
e6c972a62a | ||
|
|
31ad2f2169 | ||
|
|
66721ccc1c | ||
|
|
b13a35e16e | ||
|
|
55d8504060 | ||
|
|
ecdab720f2 | ||
|
|
249efce565 | ||
|
|
1de2e3e954 | ||
|
|
a2f62159e9 | ||
|
|
b2a22a8ac8 | ||
|
|
89b2b4f866 | ||
|
|
96046c01f0 | ||
|
|
578b26547a | ||
|
|
13cbc33da3 | ||
|
|
baeec1b957 | ||
|
|
99550aaa7c | ||
|
|
99601ede75 | ||
|
|
4f3cb4d326 | ||
|
|
b98e1612d1 | ||
|
|
fe71946f82 | ||
|
|
c332c71a3e | ||
|
|
cea720feb2 | ||
|
|
a3f3775c0a | ||
|
|
d2d4f18ade | ||
|
|
c3b7d1707d | ||
|
|
532731b716 | ||
|
|
29e5b374fe | ||
|
|
0c7b1cccd4 | ||
|
|
fae5c4956e | ||
|
|
86ba485c3e | ||
|
|
b88ea87fa8 | ||
|
|
91e0cea9d5 | ||
|
|
4ad14fa832 | ||
|
|
aa4df518a1 | ||
|
|
5c9b5ef4ec | ||
|
|
3ef7d2d68e | ||
|
|
68c74e4e79 | ||
|
|
c765ca5cc8 | ||
|
|
3ac46abc5c | ||
|
|
613ffd8aca | ||
|
|
db5d5a31e7 | ||
|
|
4becc6ad93 | ||
|
|
40a1a8dcd2 | ||
|
|
fd16058ca7 | ||
|
|
1426386830 | ||
|
|
de361e0258 | ||
|
|
3979cdd60d | ||
|
|
6c6b01f99c | ||
|
|
143c0f67cf | ||
|
|
c391641691 | ||
|
|
38862ddb08 | ||
|
|
8d34f0869a | ||
|
|
e2e2c7e394 | ||
|
|
2e86450fad | ||
|
|
400ccab637 | ||
|
|
95f4ac8167 | ||
|
|
40f6488ee4 | ||
|
|
3c3fc94246 | ||
|
|
559ba779b2 | ||
|
|
afd6cf4b80 | ||
|
|
68baf6fb30 | ||
|
|
939c23c03b | ||
|
|
55591557b6 | ||
|
|
fb579a2ab5 | ||
|
|
258f70a82b | ||
|
|
895f765105 | ||
|
|
9f02ce0590 | ||
|
|
ce20accae3 | ||
|
|
ce7deadad3 | ||
|
|
0b0c82ce18 | ||
|
|
3ae25f81f8 | ||
|
|
52a3512379 | ||
|
|
df6dd883a6 | ||
|
|
3d341e3bbd | ||
|
|
ebe4babbe1 | ||
|
|
587ce1983a | ||
|
|
b841a44427 | ||
|
|
efd200dbf7 | ||
|
|
640f69877f | ||
|
|
400f3b7835 | ||
|
|
e657b2e1dc | ||
|
|
75c815f585 | ||
|
|
696ac9a675 | ||
|
|
8c54c0fbe0 | ||
|
|
586a3206c2 | ||
|
|
e93e3c895e | ||
|
|
29fdf4c40b | ||
|
|
7bb2393637 | ||
|
|
7c1d2081c8 | ||
|
|
acffcb74aa | ||
|
|
ad71e1e830 | ||
|
|
4b0032e1b6 | ||
|
|
b21fbcbcb1 | ||
|
|
0cc8e4d71c | ||
|
|
bee6a2f33e | ||
|
|
f208fd3302 | ||
|
|
e82b47a9e7 | ||
|
|
b666b1b2de | ||
|
|
d933ba88b7 | ||
|
|
56e7591ada | ||
|
|
28d7d5ec00 | ||
|
|
1e0264416f | ||
|
|
15966ccf34 | ||
|
|
09fae0a3f5 | ||
|
|
2caa2269a9 | ||
|
|
7b2cf44c7c | ||
|
|
79a788279b | ||
|
|
42477318b5 | ||
|
|
6cea8c69b0 | ||
|
|
eb3b382ac6 | ||
|
|
c9b4164d89 | ||
|
|
562f4c30ee | ||
|
|
98569d10b4 | ||
|
|
3207df6e24 | ||
|
|
7fce08f92c | ||
|
|
2c55f7923c | ||
|
|
b441a28c34 | ||
|
|
09e73d4153 | ||
|
|
8e43a393bd | ||
|
|
4a9f5500c4 | ||
|
|
44a4a4c42c | ||
|
|
2b24184293 | ||
|
|
c4f8ccc928 | ||
|
|
0ab92f5e65 | ||
|
|
501fb8e87a | ||
|
|
da7025ff02 | ||
|
|
b6328a234d | ||
|
|
74d6728fba | ||
|
|
59f2f2e835 | ||
|
|
8563c8700d | ||
|
|
aa019bdce2 | ||
|
|
d1f4653b95 | ||
|
|
90899d01fd | ||
|
|
83cc2d2f36 | ||
|
|
a6c38a04f4 | ||
|
|
b7bcbc1a85 | ||
|
|
ab2ddce621 | ||
|
|
9e6611a47b | ||
|
|
efaa97aa5f | ||
|
|
2a3aaa6704 | ||
|
|
408559b0d8 | ||
|
|
72850faf96 | ||
|
|
79f3149c4e | ||
|
|
985966925e | ||
|
|
0cffe64c90 | ||
|
|
9742a0fad9 | ||
|
|
3f2db4883b | ||
|
|
b91fdfe40b | ||
|
|
02b15a0cb0 | ||
|
|
c7c25e7c4d | ||
|
|
1b52f9fa44 | ||
|
|
f6f6653de0 | ||
|
|
c49fa46c70 | ||
|
|
7b42a5b51e | ||
|
|
29078cbb2c | ||
|
|
10093bad15 | ||
|
|
6f71e2b197 | ||
|
|
6d575a8f22 | ||
|
|
e074699beb | ||
|
|
2e893a75ab | ||
|
|
1f1e8753ef | ||
|
|
4754ec73eb | ||
|
|
a6d645ce9b | ||
|
|
e8daed41ea | ||
|
|
41ae0162da | ||
|
|
b265d3a917 | ||
|
|
90c6c9a088 | ||
|
|
3223ef2839 | ||
|
|
9cc7d9e13c | ||
|
|
45494170a3 | ||
|
|
a511feff39 | ||
|
|
42278285d3 | ||
|
|
d14d6183da | ||
|
|
6ce6aa25e1 | ||
|
|
68d63cc080 | ||
|
|
44b2412fd6 | ||
|
|
087c7a053a | ||
|
|
222a9594d5 | ||
|
|
525b9c94d8 | ||
|
|
7c322f41c4 | ||
|
|
6b69e0105f | ||
|
|
0bd29ae643 | ||
|
|
f16b01167e | ||
|
|
92df6316dc | ||
|
|
662fe9550c | ||
|
|
00d306d72f | ||
|
|
a8ded8a5f6 | ||
|
|
88cde175fc | ||
|
|
d19aec2fbf | ||
|
|
8e40ae8811 | ||
|
|
7c81d1fa08 | ||
|
|
ac14ce0e40 | ||
|
|
3745c08f51 | ||
|
|
5bd9de5e36 | ||
|
|
d4cccd7878 | ||
|
|
3e1130909c | ||
|
|
b3d27cdece | ||
|
|
55b45aa2aa | ||
|
|
2b5a34ebe9 | ||
|
|
e94d0f1cff | ||
|
|
97bf4961ba | ||
|
|
38147abef9 | ||
|
|
fcdc180254 | ||
|
|
f36cc29af2 | ||
|
|
2474619e83 | ||
|
|
11c7df5813 | ||
|
|
d63b933dc8 | ||
|
|
7d8a7a6668 | ||
|
|
4ae1987c33 | ||
|
|
8c490df964 | ||
|
|
2bc704c5e3 | ||
|
|
a3c462d211 | ||
|
|
376b045c33 | ||
|
|
7048f7dd8d | ||
|
|
a5923f42f9 | ||
|
|
355e6dfb51 | ||
|
|
b166d36ec4 | ||
|
|
878168f4f5 | ||
|
|
78bcb188a8 | ||
|
|
d2700aa637 | ||
|
|
0600a034b6 | ||
|
|
ca7f09bb6d | ||
|
|
16e4062b8f | ||
|
|
4104219ee5 | ||
|
|
74da70d0b4 | ||
|
|
2b957aa8f3 | ||
|
|
e5b8248465 | ||
|
|
fab10fc71f | ||
|
|
a2f8f23152 | ||
|
|
0e731ce02d | ||
|
|
0ed7719343 | ||
|
|
64e0419af3 | ||
|
|
1db44b1f76 | ||
|
|
dbba06d9e1 | ||
|
|
cf8ecc1dd4 | ||
|
|
380416fa2d | ||
|
|
6f0ca7ad1c | ||
|
|
7573151be8 | ||
|
|
083d153d43 | ||
|
|
13d367e766 | ||
|
|
af6c6e3e1d | ||
|
|
2f633f2f50 | ||
|
|
74d47b07ca | ||
|
|
292e5dd9b2 | ||
|
|
71d2d0a5b0 | ||
|
|
d046d26003 | ||
|
|
81e17c0955 | ||
|
|
40b24ec655 | ||
|
|
5e28babfa5 | ||
|
|
6604b3dd06 | ||
|
|
0187073ae0 | ||
|
|
79903e311e | ||
|
|
e2e6aa5366 | ||
|
|
8c34ca3106 | ||
|
|
b77f64f31e | ||
|
|
8038a959c5 | ||
|
|
085e99a7c0 | ||
|
|
3b6b203e6c | ||
|
|
948db16ed9 | ||
|
|
ffacda1278 | ||
|
|
e39b650f4d | ||
|
|
a722e01a4f | ||
|
|
8cf471bec9 | ||
|
|
900c9557ab | ||
|
|
937a003bfb | ||
|
|
a958af1627 | ||
|
|
7c270c8b49 | ||
|
|
f7542df4e7 | ||
|
|
53fe052432 | ||
|
|
18089578f6 | ||
|
|
2cb51ad326 | ||
|
|
98a8d8be49 | ||
|
|
4cc267856b | ||
|
|
ff7cf4f139 | ||
|
|
a7fba8d4bd | ||
|
|
d5490ed807 | ||
|
|
feb546c639 | ||
|
|
cdf6024452 | ||
|
|
96b3bddf12 | ||
|
|
e5894e5b81 | ||
|
|
b53b5bd710 | ||
|
|
39b12b20ba | ||
|
|
fff86c8050 | ||
|
|
dadb754e56 | ||
|
|
6fdb54f2c8 | ||
|
|
336c13369a | ||
|
|
b3f97a85c8 | ||
|
|
d95b82ac45 | ||
|
|
ddc09e09ba | ||
|
|
f51d269b1e | ||
|
|
96fcc9475a | ||
|
|
c10d339036 | ||
|
|
7aca8bf599 | ||
|
|
4a61a3fa6b | ||
|
|
c57ae7666d | ||
|
|
296ccb3ec9 | ||
|
|
dc893dda99 | ||
|
|
26737f3cbf | ||
|
|
235246ded3 | ||
|
|
6603957a0b | ||
|
|
6158162b62 | ||
|
|
13cd97ad41 | ||
|
|
215d4ff8c7 | ||
|
|
4b0eea260f | ||
|
|
97cca299be | ||
|
|
904f5b4d3d | ||
|
|
2b126bd083 | ||
|
|
ea022aa61c | ||
|
|
a06e4c949d | ||
|
|
d84f85c7e0 | ||
|
|
526e559c8d | ||
|
|
cb441fd8e5 | ||
|
|
f18295480f | ||
|
|
9d40ecd77a | ||
|
|
ade2b1461a | ||
|
|
ce97f136ec | ||
|
|
bb1b541014 | ||
|
|
7e2620db20 | ||
|
|
50f88d9f05 | ||
|
|
b85e7cac80 | ||
|
|
679b201849 | ||
|
|
7eb3cd0ceb | ||
|
|
9bfeaeb8b4 | ||
|
|
7eb87576f5 | ||
|
|
4b3997b432 | ||
|
|
a536faa736 | ||
|
|
4834f6f2b1 | ||
|
|
766de557bb | ||
|
|
d98df4f8d3 | ||
|
|
6b41fcea17 | ||
|
|
a17460cd6b | ||
|
|
55939e0bc9 | ||
|
|
960baf9b96 | ||
|
|
5c81ca3f41 | ||
|
|
38761fbd93 | ||
|
|
7b67b3f79f | ||
|
|
a6b8b65b5b | ||
|
|
11efd15613 | ||
|
|
b71a8088d3 | ||
|
|
1c6277d313 | ||
|
|
602fff2c2f | ||
|
|
43809d070b | ||
|
|
60a9497e7a | ||
|
|
2e6aba0d19 | ||
|
|
e1c4263dd8 | ||
|
|
871bf5459c | ||
|
|
67d9ee8b07 | ||
|
|
aa29914b2b | ||
|
|
2b7228f37e | ||
|
|
4853f0e3f5 | ||
|
|
a1e5e6eecc | ||
|
|
748c52fbaa | ||
|
|
6d7b4c1cd2 | ||
|
|
80c9c796c5 | ||
|
|
80e40fa942 | ||
|
|
38bf60c626 | ||
|
|
d5acdf7ea4 | ||
|
|
0ba8380aea | ||
|
|
8054c62f8a | ||
|
|
ab79048dae | ||
|
|
e03782c6b6 | ||
|
|
14c5f9245e | ||
|
|
c6b7eb7fd7 | ||
|
|
3ccc28d16a | ||
|
|
51cae2af8d | ||
|
|
f0f33fe587 | ||
|
|
9ab1215fc8 | ||
|
|
a3ba41fba2 | ||
|
|
39a716ace8 | ||
|
|
bae09d8eba | ||
|
|
6838c701cc | ||
|
|
2175364380 | ||
|
|
202db168a9 | ||
|
|
4a82b6c549 | ||
|
|
76cb36993c | ||
|
|
89a2b73d33 | ||
|
|
523368a710 | ||
|
|
bee3d3334a | ||
|
|
5f98006d38 | ||
|
|
093b4526ad | ||
|
|
f9e8f7ed85 | ||
|
|
d7ab75b1a7 | ||
|
|
d7c294bc0d | ||
|
|
1cfa67c515 | ||
|
|
434067770a | ||
|
|
072a493d56 | ||
|
|
b812513696 | ||
|
|
5ee8f49002 | ||
|
|
81d459be16 | ||
|
|
f7c67a6317 | ||
|
|
36355c12fb | ||
|
|
47ac0eacc5 | ||
|
|
36a7422ebc | ||
|
|
1dd86ed48c | ||
|
|
a10bd9b1c3 | ||
|
|
2c83acee31 | ||
|
|
aa177fa40a | ||
|
|
60e13a774d | ||
|
|
e122d894f9 | ||
|
|
a83cb5ad64 | ||
|
|
74361cb5a1 |
18
.github/workflows/Dockerfile_builder
vendored
Executable file
18
.github/workflows/Dockerfile_builder
vendored
Executable file
@@ -0,0 +1,18 @@
|
||||
#*******************************************************************************
|
||||
#
|
||||
# Dockerfile to build image with all the tools to build Maiko
|
||||
#
|
||||
# Copyright 2023 by Interlisp.org
|
||||
#
|
||||
# Frank Halasz 2023-02-21
|
||||
#
|
||||
# ******************************************************************************
|
||||
|
||||
FROM ubuntu:22.04
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
USER root:root
|
||||
# Install build tools
|
||||
RUN apt-get update && apt-get install -y make clang libx11-dev gcc
|
||||
USER root
|
||||
WORKDIR /root
|
||||
ENTRYPOINT /bin/bash
|
||||
34
.github/workflows/Dockerfile_maiko
vendored
Executable file
34
.github/workflows/Dockerfile_maiko
vendored
Executable file
@@ -0,0 +1,34 @@
|
||||
#*******************************************************************************
|
||||
#
|
||||
# Dockerfile to build Maiko for Linux to be used by buildRelease github action
|
||||
# The output of this is intended to be a directory in the github workspace
|
||||
# file system it is not intended to be a useable Docker image.
|
||||
#
|
||||
# Copyright 2023 by Interlisp.org
|
||||
#
|
||||
# Frank Halasz 2023-02-21
|
||||
#
|
||||
# ******************************************************************************
|
||||
|
||||
FROM ghcr.io/interlisp/maiko-builder
|
||||
ARG INSTALL_LOCATION=/usr/local/interlisp/maiko
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
# Copy over / clean maiko repo
|
||||
COPY . ${INSTALL_LOCATION}
|
||||
# Build maiko
|
||||
RUN cd ${INSTALL_LOCATION}/bin \
|
||||
&& ./makeright x cleanup \
|
||||
&& ./makeright x \
|
||||
&& if [ "$(./machinetype)" = "x86_64" ]; then \
|
||||
./makeright init; \
|
||||
fi
|
||||
# Build specially for WSL1 by "fooling" a linux build
|
||||
RUN cd ${INSTALL_LOCATION}/bin \
|
||||
&& arch="$(./machinetype)" \
|
||||
&& if [ "$arch" = "x86_64" ] || [ "$arch" = "aarch64" ]; then \
|
||||
export LDEARCH="${arch}-microsoft-wsl1" \
|
||||
&& ./makeright x cleanup \
|
||||
&& ./makeright x \
|
||||
&& ./makeright init \
|
||||
; \
|
||||
fi
|
||||
14
.github/workflows/build.yml
vendored
14
.github/workflows/build.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
matrix:
|
||||
os: [macos-11, macos-12, ubuntu-22.04, ubuntu-20.04]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install X11 dependencies on MacOS
|
||||
if: ${{ runner.os == 'macOS'}}
|
||||
run: brew install --cask xquartz
|
||||
@@ -28,7 +28,7 @@ jobs:
|
||||
# runs-on: [self-hosted, linux, ARM]
|
||||
# if: ${{ github.repository == 'Interlisp/maiko' }}
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# - uses: actions/checkout@v3
|
||||
# - name: Build
|
||||
# working-directory: bin
|
||||
# run: ./makeright x
|
||||
@@ -41,10 +41,18 @@ jobs:
|
||||
env:
|
||||
BUILD_TYPE: Release
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Show CMake version
|
||||
run: cmake --version
|
||||
- name: Install X11 dependencies on MacOS
|
||||
if: ${{ runner.os == 'macOS'}}
|
||||
run: brew install --cask xquartz
|
||||
- name: Install SDL2 dependencies on MacOS
|
||||
if: ${{ runner.os == 'macOS'}}
|
||||
run: brew install sdl2
|
||||
- name: Install SDL dependency on Ubuntu
|
||||
if: ${{ runner.os == 'Linux'}}
|
||||
run: sudo apt-get update && sudo apt-get install -y libsdl2-dev
|
||||
- name: Create Build Environment
|
||||
run: cmake -E make_directory ${{github.workspace}}/build
|
||||
- name: Configure CMake
|
||||
|
||||
87
.github/workflows/buildBuilderImage.yml
vendored
Normal file
87
.github/workflows/buildBuilderImage.yml
vendored
Normal file
@@ -0,0 +1,87 @@
|
||||
#*******************************************************************************
|
||||
# buildBuilderImage.yml
|
||||
#
|
||||
# Workflow to build a multiarch Docker image that includes all of the tools for
|
||||
# building maiko for linux. Intended to be used (exclusively?) by the github
|
||||
# actions that build maiko releases - e.g., buildRelease.yml.
|
||||
#
|
||||
# The purpose is to make the maiko github actions quicker and less resource
|
||||
# consuming by not hving to intll the tools every time and instead just reuse
|
||||
# this Docker image.
|
||||
#
|
||||
#
|
||||
# Copyright 2023 by Interlisp.org
|
||||
#
|
||||
# Frank Haasz 2023-02-21
|
||||
#
|
||||
# ******************************************************************************
|
||||
|
||||
name: 'Build/Push Builder Image'
|
||||
|
||||
# Run this workflow on ...
|
||||
on: workflow_dispatch
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
jobs:
|
||||
|
||||
buildBuilder:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
# Checkout maiko
|
||||
- name: Checkout maiko
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# Setup docker environment variables
|
||||
- name: Setup Docker Environment Variables
|
||||
id: docker_env
|
||||
run: |
|
||||
DOCKER_REGISTRY="ghcr.io"
|
||||
DOCKER_NAMESPACE=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
|
||||
DOCKER_REPO=${DOCKER_REGISTRY}/${DOCKER_NAMESPACE}/maiko-builder
|
||||
DOCKER_TAGS="${DOCKER_REPO}:latest"
|
||||
echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> ${GITHUB_ENV}
|
||||
echo "DOCKER_TAGS=${DOCKER_TAGS}" >> ${GITHUB_ENV}
|
||||
|
||||
# Setup the Docker Machine Emulation environment.
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@master
|
||||
with:
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||
|
||||
# Setup the Docker Buildx funtion
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@master
|
||||
|
||||
# Login to ghcr.io
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# Do the Docker Build using the Dockerfile_builder in the repository we
|
||||
# checked out. Push the result to ghcr.io.
|
||||
#
|
||||
- name: Build Docker Images for Push to GHCR
|
||||
if: ${{ true }}
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
build-args: |
|
||||
BUILD_DATE=${{ env.BUILD_DATE }}
|
||||
context: ./.github/workflows
|
||||
file: ./.github/workflows/Dockerfile_builder
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||
# Push the result to DockerHub
|
||||
push: true
|
||||
tags: ${{ env.DOCKER_TAGS }}
|
||||
|
||||
|
||||
######################################################################################
|
||||
594
.github/workflows/buildRelease.yml
vendored
Normal file
594
.github/workflows/buildRelease.yml
vendored
Normal file
@@ -0,0 +1,594 @@
|
||||
#*******************************************************************************
|
||||
# buidRelease.yml
|
||||
#
|
||||
# Workflow to build a Maiko release that is pushed to github.
|
||||
# For linux: release assets are built/pushed for X86_64, aarch64 and arm7vl.
|
||||
# For macOS: release assets are built/pushed for X86_64 and aarch64 as well as
|
||||
# a set of universal binaries.
|
||||
# For Windows: not supported
|
||||
#
|
||||
# Note release pushed to github automatically includes source code assets
|
||||
# in tar and zip formats.
|
||||
#
|
||||
# 2022-01-16 by Frank Halasz based on earlier workflow called buildDocker.yml
|
||||
# Updated 2023-06-06: Remove docker image push; increase build efficeincy for linux
|
||||
#
|
||||
# Copyright 2022-2023 by Interlisp.org
|
||||
#
|
||||
#
|
||||
# ******************************************************************************
|
||||
|
||||
name: 'Build/Push Release'
|
||||
|
||||
# Run this workflow on ...
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
draft:
|
||||
description: "Mark this as a draft release"
|
||||
type: choice
|
||||
options:
|
||||
- 'false'
|
||||
- 'true'
|
||||
force:
|
||||
description: "Force build even if build already successfully completed for this commit"
|
||||
type: choice
|
||||
options:
|
||||
- 'false'
|
||||
- 'true'
|
||||
|
||||
workflow_call:
|
||||
secrets:
|
||||
DOCKER_USERNAME:
|
||||
required: true
|
||||
DOCKER_PASSWORD:
|
||||
required: true
|
||||
outputs:
|
||||
successful:
|
||||
description: "'True' if maiko build completed successully"
|
||||
value: ${{ jobs.complete.outputs.build_successful }}
|
||||
inputs:
|
||||
draft:
|
||||
description: "Mark this as a draft release"
|
||||
required: false
|
||||
type: string
|
||||
default: 'false'
|
||||
force:
|
||||
description: "Force build even if build already successfully completed for this commit"
|
||||
required: false
|
||||
type: string
|
||||
default: 'false'
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
# 3 separate jobs here that can run in parallel
|
||||
#
|
||||
# 1. Linux: Build a multiplatform Linux Docker file system (not saved) and use
|
||||
# results to build/push Linux release assets.
|
||||
#
|
||||
# 2. MacOs: Build maiko for MacOS (x86_64, aarch64, and universal) then create
|
||||
# and push release assets.
|
||||
#
|
||||
# 3. Windows: Build maiko for cygwin and SDL (x86_64). Build is done within the
|
||||
# cygwin-maiko-builder Docker image by building a new docker files system (and
|
||||
# not a docker container) which is used to build/push Windows(cygwin) assets.
|
||||
#
|
||||
|
||||
jobs:
|
||||
|
||||
######################################################################################
|
||||
|
||||
# Regularize the inputs so they can be referenced the same way whether they are
|
||||
# the result of a workflow_dispatch or a workflow_call
|
||||
|
||||
inputs:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
draft: ${{ steps.one.outputs.draft }}
|
||||
force: ${{ steps.one.outputs.force }}
|
||||
linux: ${{ steps.one.outputs.linux }}
|
||||
macos: ${{ steps.one.outputs.macos }}
|
||||
windows: ${{ steps.one.outputs.windows }}
|
||||
steps:
|
||||
- id: one
|
||||
run: >
|
||||
if [ '${{ toJSON(inputs) }}' = 'null' ];
|
||||
then
|
||||
echo "workflow_dispatch";
|
||||
echo "draft=${{ github.event.inputs.draft }}" >> $GITHUB_OUTPUT;
|
||||
echo "force=${{ github.event.inputs.force }}" >> $GITHUB_OUTPUT;
|
||||
else
|
||||
echo "workflow_call";
|
||||
echo "draft=${{ inputs.draft }}" >> $GITHUB_OUTPUT;
|
||||
echo "force=${{ inputs.force }}" >> $GITHUB_OUTPUT;
|
||||
fi;
|
||||
echo "linux=true" >> $GITHUB_OUTPUT;
|
||||
echo "macos=true" >> $GITHUB_OUTPUT;
|
||||
echo "windows=true" >> $GITHUB_OUTPUT;
|
||||
|
||||
|
||||
######################################################################################
|
||||
|
||||
# Use sentry-action to determine if this release has already been built
|
||||
# based on the latest commit to the repo
|
||||
|
||||
sentry:
|
||||
needs: inputs
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
release_not_built: ${{ steps.check.outputs.release_not_built }}
|
||||
|
||||
steps:
|
||||
# Checkout the actions for this repo owner
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ github.repository_owner }}/.github
|
||||
path: ./Actions_${{ github.sha }}
|
||||
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
|
||||
|
||||
# Check if build already run for this commit
|
||||
- name: Build already completed?
|
||||
id: check
|
||||
continue-on-error: true
|
||||
uses: ./../actions/check-sentry-action
|
||||
with:
|
||||
tag: "release_docker"
|
||||
|
||||
######################################################################################
|
||||
|
||||
# Linux: build and push multi-platform docker image for Linux
|
||||
# Use docker images to create and push release assets to github
|
||||
|
||||
linux:
|
||||
|
||||
needs: [inputs, sentry]
|
||||
if: |
|
||||
needs.inputs.outputs.linux == 'true'
|
||||
&& (
|
||||
needs.sentry.outputs.release_not_built == 'true'
|
||||
|| needs.inputs.outputs.force == 'true'
|
||||
)
|
||||
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
steps:
|
||||
# Checkout the actions for this repo owner
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ github.repository_owner }}/.github
|
||||
path: ./Actions_${{ github.sha }}
|
||||
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
|
||||
|
||||
# Checkout the branch
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Setup release tag
|
||||
- name: Setup Release Tag
|
||||
id: tag
|
||||
uses: ./../actions/release-tag-action
|
||||
|
||||
# Setup docker environment variables
|
||||
- name: Setup Docker Environment Variables
|
||||
id: docker_env
|
||||
run: |
|
||||
DOCKER_NAMESPACE=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
|
||||
echo "DOCKER_NAMESPACE=${DOCKER_NAMESPACE}" >> ${GITHUB_ENV}
|
||||
DOCKER_IMAGE=${DOCKER_NAMESPACE}/${{ steps.tag.outputs.repo_name }}
|
||||
DOCKER_TAGS="${DOCKER_IMAGE}:latest,${DOCKER_IMAGE}:${RELEASE_TAG#*-}"
|
||||
echo "build_time=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
|
||||
echo "docker_tags=${DOCKER_TAGS}" >> $GITHUB_OUTPUT
|
||||
|
||||
# Setup the Docker Machine Emulation environment.
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
with:
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||
|
||||
# Setup the Docker Buildx funtion
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
|
||||
# Do the Docker Build using the Dockerfile in the repository we
|
||||
# checked out. Save the results in a directory under /tmp to be used
|
||||
# for creating release tars. Does not creatre a docker image and does not
|
||||
# push anything to Docker Hub.
|
||||
#
|
||||
# NOTE: THE ACTUAL MAIKO BUILD (FOR LINUX) HAPPENS HERE - I.E., IN THE
|
||||
# DOCKER BUILD CALL. BUILD COMMANDS ARE SPECIFIED IN THE
|
||||
# Dockerfile, NOT HERE IN THE WORKFLOW.
|
||||
#
|
||||
- name: Build Docker Image and Save It Locally
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
build-args: |
|
||||
BUILD_DATE=${{ steps.docker_env.outputs.build_time }}
|
||||
RELEASE_TAG=${{ steps.tag.outputs.release_tag }}
|
||||
context: .
|
||||
file: ./.github/workflows/Dockerfile_maiko
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||
# Put the results out to the local file system
|
||||
outputs: type=local,dest=/tmp/docker_images
|
||||
tags: ${{ steps.docker_env.outputs.docker_tags }}
|
||||
|
||||
# Use docker results to create releases for github.
|
||||
# Docker results are in /tmp/docker_images. One subdir for each platform.
|
||||
- name: Make release tars for each platform
|
||||
env:
|
||||
RELEASE_TAG: ${{ steps.tag.outputs.release_tag }}
|
||||
run: |
|
||||
mkdir -p /tmp/release_tars
|
||||
for OSARCH in \
|
||||
"linux.x86_64:linux_amd64" \
|
||||
"linux.aarch64:linux_arm64" \
|
||||
"linux.armv7l:linux_arm_v7" \
|
||||
"wsl1.x86_64:linux_amd64" \
|
||||
"wsl1.aarch64:linux_arm64" \
|
||||
; \
|
||||
do \
|
||||
pushd /tmp/docker_images/${OSARCH##*:}/usr/local/interlisp >/dev/null ; \
|
||||
/usr/bin/tar -c -z \
|
||||
-f /tmp/release_tars/${RELEASE_TAG}-${OSARCH%%:*}.tgz \
|
||||
maiko/bin/osversion \
|
||||
maiko/bin/machinetype \
|
||||
maiko/bin/config.guess \
|
||||
maiko/bin/config.sub \
|
||||
maiko/${OSARCH%%:*}/lde* \
|
||||
; \
|
||||
popd >/dev/null ; \
|
||||
done
|
||||
|
||||
# Push Release to github
|
||||
- name: Push the release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
allowUpdates: true
|
||||
artifacts:
|
||||
/tmp/release_tars/${{ steps.tag.outputs.release_tag }}-linux.x86_64.tgz,
|
||||
/tmp/release_tars/${{ steps.tag.outputs.release_tag }}-linux.aarch64.tgz,
|
||||
/tmp/release_tars/${{ steps.tag.outputs.release_tag }}-wsl1.x86_64.tgz,
|
||||
/tmp/release_tars/${{ steps.tag.outputs.release_tag }}-wsl1.aarch64.tgz,
|
||||
/tmp/release_tars/${{ steps.tag.outputs.release_tag }}-linux.armv7l.tgz
|
||||
tag: ${{ steps.tag.outputs.release_tag }}
|
||||
draft: ${{ needs.inputs.outputs.draft }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
|
||||
######################################################################################
|
||||
|
||||
# MacOS: build for MacOS (x86_64, aarch64, universal) and use results to
|
||||
# create and push release assets to github
|
||||
macos:
|
||||
|
||||
needs: [inputs, sentry]
|
||||
if: |
|
||||
needs.inputs.outputs.macos == 'true'
|
||||
&& (
|
||||
needs.sentry.outputs.release_not_built == 'true'
|
||||
|| needs.inputs.outputs.force == 'true'
|
||||
)
|
||||
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
|
||||
# Checkout the branch
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Checkout the actions for this repo owner
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ github.repository_owner }}/.github
|
||||
path: ./Actions_${{ github.sha }}
|
||||
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
|
||||
|
||||
# Setup release tag
|
||||
- name: Setup Release Tag
|
||||
id: tag
|
||||
uses: ./../actions/release-tag-action
|
||||
|
||||
# Uninstall exisitng X11 stuff preconfigured on runner then install correct X11 dependencies
|
||||
- name: Unistall X components already on the runner
|
||||
run: |
|
||||
brew uninstall --ignore-dependencies --force libxft
|
||||
brew uninstall --ignore-dependencies --force libxrender
|
||||
brew uninstall --ignore-dependencies --force libxext
|
||||
brew uninstall --ignore-dependencies --force libx11
|
||||
brew uninstall --ignore-dependencies --force xorgproto
|
||||
brew uninstall --ignore-dependencies --force libxdmcp
|
||||
brew uninstall --ignore-dependencies --force libxau
|
||||
|
||||
- name: Install X11 dependencies on MacOS
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
gh release download XQuartz-2.8.5 --repo XQuartz/XQuartz --pattern XQuartz-2.8.5.pkg
|
||||
sudo installer -pkg ./XQuartz-2.8.5.pkg -target /
|
||||
|
||||
# Install SDL dependencies
|
||||
- name: Install SDL2 dependencies on MacOS
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
gh release download release-2.30.11 --repo libsdl-org/SDL --pattern SDL2-2.30.11.dmg
|
||||
hdiutil attach SDL2-2.30.11.dmg
|
||||
sudo ditto /Volumes/SDL2/SDL2.framework /Library/Frameworks/SDL2.framework
|
||||
hdiutil detach /Volumes/SDL2/
|
||||
|
||||
# Build maiko
|
||||
- name: Build ldeinit
|
||||
working-directory: ./bin
|
||||
run: |
|
||||
export LDEARCH=x86_64-apple-darwin
|
||||
./makeright init
|
||||
export LDEARCH=aarch64-apple-darwin
|
||||
./makeright init
|
||||
mkdir -p ../darwin.universal
|
||||
exe=ldeinit
|
||||
lipo -create \
|
||||
-arch arm64 ../darwin.aarch64/${exe} \
|
||||
-arch x86_64 ../darwin.x86_64/${exe} \
|
||||
-output ../darwin.universal/${exe}
|
||||
|
||||
- name: Build lde, ldex, & ldesdl
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
# -DCMAKE_OSX_DEPLOYMENT_TARGET=10.12
|
||||
cmake .. \
|
||||
-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" \
|
||||
-DMAIKO_DISPLAY_SDL=2 \
|
||||
-DMAIKO_DISPLAY_X11=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build . --config Release
|
||||
for exe in lde ldex ldesdl
|
||||
do
|
||||
lipo ${exe} -output ../darwin.x86_64/${exe} -extract x86_64
|
||||
lipo ${exe} -output ../darwin.aarch64/${exe} -extract arm64
|
||||
cp -p ${exe} ../darwin.universal/${exe}
|
||||
done
|
||||
|
||||
# Create release tar for github.
|
||||
- name: Make release tar(s)
|
||||
env:
|
||||
RELEASE_TAG: ${{ steps.tag.outputs.release_tag }}
|
||||
run: |
|
||||
mkdir -p /tmp/release_tars
|
||||
cd ${GITHUB_WORKSPACE}/../
|
||||
for arch in x86_64 aarch64 universal
|
||||
do
|
||||
tar -c -z \
|
||||
-f /tmp/release_tars/${RELEASE_TAG}-darwin.${arch}.tgz \
|
||||
maiko/bin/osversion \
|
||||
maiko/bin/machinetype \
|
||||
maiko/bin/config.guess \
|
||||
maiko/bin/config.sub \
|
||||
maiko/darwin.${arch}/lde*
|
||||
done
|
||||
|
||||
# Push Release
|
||||
- name: Push the release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
allowUpdates: true
|
||||
artifacts:
|
||||
/tmp/release_tars/${{ steps.tag.outputs.release_tag }}-darwin.x86_64.tgz,
|
||||
/tmp/release_tars/${{ steps.tag.outputs.release_tag }}-darwin.aarch64.tgz,
|
||||
/tmp/release_tars/${{ steps.tag.outputs.release_tag }}-darwin.universal.tgz
|
||||
tag: ${{ steps.tag.outputs.release_tag }}
|
||||
draft: ${{ needs.inputs.outputs.draft }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
######################################################################################
|
||||
|
||||
# Windows: build for Windows-Cygwin via Docker build and use results to
|
||||
# create and push release assets to github
|
||||
|
||||
windows:
|
||||
|
||||
needs: [inputs, sentry]
|
||||
if: |
|
||||
needs.inputs.outputs.windows == 'true'
|
||||
&& (
|
||||
needs.sentry.outputs.release_not_built == 'true'
|
||||
|| needs.inputs.outputs.force == 'true'
|
||||
)
|
||||
|
||||
runs-on: windows-2022
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: powershell
|
||||
|
||||
steps:
|
||||
|
||||
# setup git to not mess up line endings
|
||||
- name: git config
|
||||
run: git config --global core.autocrlf input
|
||||
|
||||
# Retrieve Cygwin setup and install cygwin
|
||||
- name: Install cygwin
|
||||
id: cygwin
|
||||
run: |
|
||||
wget https://cygwin.com/setup-x86_64.exe -OutFile setup-x86_64.exe
|
||||
Unblock-File setup-x86_64.exe
|
||||
Start-Process setup-x86_64.exe -Wait -ArgumentList @("--root", ".\cygwin", "--quiet-mode", "--no-admin", "--wait", "--no-shortcuts", "--no-write-registry", "--verbose", "--site", "https://mirrors.kernel.org/sourceware/cygwin/", "--packages", "nano,binutils,make,cmake,gcc,clang")
|
||||
cygwin\bin\bash -login -c 'sed -i -e "s/^none/#none/" /etc/fstab; echo "none / cygdrive binary,posix=0,user 0 0" >>/etc/fstab'
|
||||
|
||||
# Retrieve SDL2 and install in cygwin
|
||||
- name: Install SDL2
|
||||
id: sdl2
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
gh release download 2.26.5 --repo interlisp/cygwin-sdl --pattern *.tgz --output .\cygwin\sdl2.tar.gz
|
||||
cygwin\bin\bash -login -c 'cd /; tar xzf sdl2.tar.gz'
|
||||
|
||||
# Checkout the branch
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: cygwin\maiko
|
||||
|
||||
# Checkout the actions for this repo owner
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ github.repository_owner }}/.github
|
||||
path: ./Actions_${{ github.sha }}
|
||||
- run: |
|
||||
mv ./Actions_${{ github.sha }}/actions ../actions
|
||||
rm -recurse -force ./Actions_${{ github.sha }}
|
||||
|
||||
# Setup release tag
|
||||
- name: Setup Release Tag
|
||||
id: tag
|
||||
uses: ./../actions/release-tag-action
|
||||
with:
|
||||
path: cygwin/maiko
|
||||
|
||||
# Build maiko TODO-cleanup
|
||||
- name: Build Cygwin-SDL Maiko
|
||||
run: |
|
||||
cygwin\bin\bash -login -c 'cd /maiko/bin && ./makeright sdl cleanup && ./makeright sdl'
|
||||
cygwin\bin\bash -login -c 'mkdir /tmp/maiko; mkdir /tmp/maiko/bin; mkdir /tmp/maiko/cygwin.x86_64'
|
||||
cygwin\bin\bash -login -c 'cp /maiko/bin/osversion /tmp/maiko/bin; cp /maiko/bin/machinetype /tmp/maiko/bin'
|
||||
cygwin\bin\bash -login -c 'cp /maiko/bin/config.guess /tmp/maiko/bin; cp /maiko/bin/config.sub /tmp/maiko/bin'
|
||||
cygwin\bin\bash -login -c 'cp /maiko/cygwin.x86_64/* /tmp/maiko/cygwin.x86_64; cp /usr/local/bin/SDL2.DLL /tmp/maiko/cygwin.x86_64'
|
||||
cygwin\bin\bash -login -c 'chmod +x /tmp/maiko/bin/*; chmod +x /tmp/maiko/cygwin.x86_64/*'
|
||||
cygwin\bin\bash -login -c 'echo lde > /tmp/maiko/cygwin.x86_64/lde.exe.local; echo ldesdl > /tmp/maiko/cygwin.x86_64/ldesdl.exe.local'
|
||||
cygwin\bin\bash -login -c 'mkdir -p /tmp/release_tars'
|
||||
cygwin\bin\bash -login -c 'tar -c -z -C /tmp -f /tmp/release_tars/${{ steps.tag.outputs.release_tag }}-cygwin.x86_64.tgz maiko'
|
||||
|
||||
# Push Release to github
|
||||
- name: Push the release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
allowUpdates: true
|
||||
artifacts:
|
||||
cygwin/tmp/release_tars/${{ steps.tag.outputs.release_tag }}-cygwin.x86_64.tgz
|
||||
tag: ${{ steps.tag.outputs.release_tag }}
|
||||
draft: ${{ needs.inputs.outputs.draft }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
|
||||
|
||||
######################################################################################
|
||||
|
||||
# Emscripten: build and push Maiko compiled for Emscripten (to run Maiko in browser)
|
||||
|
||||
emscripten:
|
||||
|
||||
needs: [inputs, sentry]
|
||||
if: |
|
||||
needs.inputs.outputs.linux == 'true'
|
||||
&& (
|
||||
needs.sentry.outputs.release_not_built == 'true'
|
||||
|| needs.inputs.outputs.force == 'true'
|
||||
)
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
|
||||
# Checkout the actions for this repo owner
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ github.repository_owner }}/.github
|
||||
path: ./Actions_${{ github.sha }}
|
||||
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
|
||||
|
||||
# Install SDL2
|
||||
- name: Install SDL2
|
||||
run: |
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
sudo -E apt-get update
|
||||
sudo -E apt-get install -y libsdl2-dev libsdl2-2.0-0
|
||||
|
||||
# Install Emscripten SDK
|
||||
- name: Install Empscripten
|
||||
working-directory: ../
|
||||
run: |
|
||||
git clone https://github.com/emscripten-core/emsdk.git
|
||||
cd emsdk
|
||||
./emsdk install latest
|
||||
./emsdk activate latest
|
||||
CWD="$(pwd)"
|
||||
echo "${CWD}" >> ${GITHUB_PATH}
|
||||
echo "${CWD}/upstream/emscripten" >> ${GITHUB_PATH}
|
||||
echo "${CWD}/upstream/emscripten/tools" >> ${GITHUB_PATH}
|
||||
echo "${CWD}/node/$(ls -d node/*64bit | tail -1)/bin" >> ${GITHUB_PATH}
|
||||
|
||||
# Checkout the maiko branch
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Setup release tag
|
||||
- name: Setup Release Tag
|
||||
id: tag
|
||||
uses: ./../actions/release-tag-action
|
||||
|
||||
# Compile maiko using Emscripten (no load build)
|
||||
- name: Compile Maiko using Emscripten
|
||||
working-directory: ./bin
|
||||
run: |
|
||||
./makeright wasm_nl
|
||||
cd ../emscripten.wasm_nl
|
||||
tar -c -z -f ../${{ steps.tag.outputs.release_tag }}-emscripten.tgz *
|
||||
|
||||
# Push Release to github
|
||||
- name: Push the release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
allowUpdates: true
|
||||
artifacts: ${{ steps.tag.outputs.release_tag }}-emscripten.tgz
|
||||
tag: ${{ steps.tag.outputs.release_tag }}
|
||||
draft: ${{ needs.inputs.outputs.draft }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
|
||||
######################################################################################
|
||||
|
||||
# Use set-sentry-action to determine set the sentry that says this release has
|
||||
# been successfully built
|
||||
|
||||
complete:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
outputs:
|
||||
build_successful: ${{ steps.output.outputs.build_successful }}
|
||||
|
||||
needs: [inputs, sentry, linux, macos, windows, emscripten]
|
||||
|
||||
steps:
|
||||
# Checkout the actions for this repo owner
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ${{ github.repository_owner }}/.github
|
||||
path: ./Actions_${{ github.sha }}
|
||||
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
|
||||
|
||||
# Set sentry
|
||||
- name: Is build for this commit already completed?
|
||||
id: set
|
||||
uses: ./../actions/set-sentry-action
|
||||
with:
|
||||
tag: "release_docker"
|
||||
|
||||
- name: Output
|
||||
id: output
|
||||
run: |
|
||||
echo "build_successful=true" >> $GITHUB_OUTPUT
|
||||
|
||||
######################################################################################
|
||||
357
.github/workflows/buildReleaseInclDocker.yml
vendored
357
.github/workflows/buildReleaseInclDocker.yml
vendored
@@ -1,357 +0,0 @@
|
||||
#*******************************************************************************
|
||||
# buidReleaseInclDocker.yml
|
||||
#
|
||||
# Workflow to build a Maiko release that is pushed to github as well as
|
||||
# Docker images incorporating the release, which are pushed to Docker Hub.
|
||||
# For linux: release assets are built/pushed for X86_64, aarch64 and arm7vl and
|
||||
# a multiplatform Docker image is pushed.
|
||||
# For macOS: release assets are built/pushed for X86_64. (No aarch64 as yet.)
|
||||
# For Windows: not supported
|
||||
#
|
||||
# Note release pushed to github automatically includes source code assets
|
||||
# in tar and zip formats.
|
||||
#
|
||||
# 2022-01-16 by Frank Halasz based on earlier workflow called buildDocker.yml
|
||||
#
|
||||
# Copyright 2022 by Interlisp.org
|
||||
#
|
||||
#
|
||||
# ******************************************************************************
|
||||
|
||||
name: 'Build/Push Release & Docker Image'
|
||||
|
||||
env:
|
||||
workflow: 'buildReleaseInclDocker.yml'
|
||||
|
||||
# Run this workflow on ...
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
force:
|
||||
description: "Force build even if build already successfully completed for this commit"
|
||||
type: choice
|
||||
options:
|
||||
- 'false'
|
||||
- 'true'
|
||||
|
||||
workflow_call:
|
||||
secrets:
|
||||
DOCKER_USERNAME:
|
||||
required: true
|
||||
DOCKER_PASSWORD:
|
||||
required: true
|
||||
outputs:
|
||||
successful:
|
||||
description: "'True' if maiko build completed successully"
|
||||
value: ${{ jobs.complete.outputs.build_successful }}
|
||||
inputs:
|
||||
force:
|
||||
description: "Force build even if build already successfully completed for this commit"
|
||||
required: false
|
||||
type: string
|
||||
default: 'false'
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
# 2 separate jobs here that can run in parallel
|
||||
#
|
||||
# 1. Linux: Build/push a multiplatform Linux Docker image and use results to
|
||||
# build/push Linux release assets.
|
||||
#
|
||||
# 2. MacOs_x86_64: Build maiko for MacOS on X86_64 then create and push release assets.
|
||||
#
|
||||
|
||||
jobs:
|
||||
|
||||
######################################################################################
|
||||
|
||||
# Regularize the inputs so they can be referenced the same way whether they are
|
||||
# the result of a workflow_dispatch or a workflow_call
|
||||
|
||||
inputs:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
force: ${{ steps.force.outputs.force }}
|
||||
steps:
|
||||
- id: force
|
||||
run: >
|
||||
if [ '${{ toJSON(inputs) }}' = 'null' ];
|
||||
then echo ::set-output name=force::'${{ github.event.inputs.force }}'; echo "workflow_dispatch";
|
||||
else echo ::set-output name=force::'${{ inputs.force }}'; echo "workflow_call";
|
||||
fi
|
||||
|
||||
|
||||
|
||||
######################################################################################
|
||||
|
||||
# Use sentry-action to determine if this release has already been built
|
||||
# based on the latest commit to the repo
|
||||
|
||||
sentry:
|
||||
needs: inputs
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
release_not_built: ${{ steps.check.outputs.release_not_built }}
|
||||
|
||||
steps:
|
||||
# Checkout the actions for this repo owner
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: ${{ github.repository_owner }}/.github
|
||||
path: ./Actions_${{ github.sha }}
|
||||
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
|
||||
|
||||
# Check if build already run for this commit
|
||||
- name: Build already completed?
|
||||
id: check
|
||||
continue-on-error: true
|
||||
uses: ./../actions/check-sentry-action
|
||||
with:
|
||||
tag: "release_docker"
|
||||
|
||||
######################################################################################
|
||||
|
||||
# Linux: build and push multi-platform docker image for Linux
|
||||
# Use docker images to create and push release assets to github
|
||||
|
||||
linux:
|
||||
|
||||
needs: [inputs, sentry]
|
||||
if: |
|
||||
needs.sentry.outputs.release_not_built == 'true'
|
||||
|| needs.inputs.outputs.force == 'true'
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
# Checkout the actions for this repo owner
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: ${{ github.repository_owner }}/.github
|
||||
path: ./Actions_${{ github.sha }}
|
||||
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
|
||||
|
||||
# Checkout the branch
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Setup release tag
|
||||
- name: Setup Release Tag
|
||||
id: tag
|
||||
uses: ./../actions/release-tag-action
|
||||
|
||||
# Setup docker environment variables
|
||||
- name: Setup Docker Environment Variables
|
||||
id: docker_env
|
||||
run: |
|
||||
DOCKER_NAMESPACE=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
|
||||
echo "DOCKER_NAMESPACE=${DOCKER_NAMESPACE}" >> ${GITHUB_ENV}
|
||||
DOCKER_IMAGE=${DOCKER_NAMESPACE}/${{ steps.tag.outputs.repo_name }}
|
||||
DOCKER_TAGS="${DOCKER_IMAGE}:latest,${DOCKER_IMAGE}:${RELEASE_TAG#*-}"
|
||||
echo ::set-output name=build_time::$(date -u +'%Y-%m-%dT%H:%M:%SZ')
|
||||
echo ::set-output name=docker_tags::${DOCKER_TAGS}
|
||||
|
||||
# Setup the Docker Machine Emulation environment.
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@master
|
||||
with:
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||
|
||||
# Setup the Docker Buildx funtion
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@master
|
||||
|
||||
# Login into DockerHub - required to store the created image
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
# Do the Docker Build using the Dockerfile in the repository we
|
||||
# checked out. Push the result to Docker Hub.
|
||||
#
|
||||
# NOTE: THE ACTUAL MAIKO BUILD (FOR LINUX) HAPPENS HERE - I.E., IN THE
|
||||
# DOCKER BUILD CALL. BUILD COMMANDS ARE SPECIFIED IN THE
|
||||
# Dockerfile, NOT HERE IN THE WORKFLOW.
|
||||
#
|
||||
- name: Build Docker Image for Push to Docker Hub
|
||||
if: ${{ true }}
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
build-args: |
|
||||
BUILD_DATE=${{ steps.docker_env.outputs.build_time }}
|
||||
RELEASE_TAG=${{ steps.tag.outputs.release_tag }}
|
||||
context: .
|
||||
file: ./Dockerfile
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||
# Push the result to DockerHub
|
||||
push: true
|
||||
tags: ${{ steps.docker_env.outputs.docker_tags }}
|
||||
|
||||
# Redo the Docker Build (hopefully mostly using the cache from the previous build).
|
||||
# But save the results in a directory under /tmp to be used for creating release tars.
|
||||
- name: Rebuild Docker Image For Saving Locally
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
build-args: |
|
||||
BUILD_DATE=${{ steps.docker_env.outputs.build_time }}
|
||||
RELEASE_TAG=${{ steps.tag.outputs.release_tag }}
|
||||
context: .
|
||||
file: ./Dockerfile
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||
# Put the results out to the local file system
|
||||
outputs: type=local,dest=/tmp/docker_images
|
||||
tags: ${{ steps.docker_env.outputs.docker_tags }}
|
||||
|
||||
# Use docker results to create releases for github.
|
||||
# Docker results are in /tmp/docker_images. One subdir for each platform.
|
||||
- name: Make release tars for each platform
|
||||
env:
|
||||
RELEASE_TAG: ${{ steps.tag.outputs.release_tag }}
|
||||
run: |
|
||||
mkdir -p /tmp/release_tars
|
||||
for OSARCH in "linux.x86_64:linux_amd64" "linux.aarch64:linux_arm64" "linux.armv7l:linux_arm_v7" ; \
|
||||
do \
|
||||
pushd /tmp/docker_images/${OSARCH##*:}/usr/local/interlisp >/dev/null ; \
|
||||
/usr/bin/tar -c -z \
|
||||
-f /tmp/release_tars/${RELEASE_TAG}-${OSARCH%%:*}.tgz \
|
||||
maiko/bin/osversion \
|
||||
maiko/bin/machinetype \
|
||||
maiko/bin/config.guess \
|
||||
maiko/bin/config.sub \
|
||||
maiko/${OSARCH%%:*}/lde* \
|
||||
; \
|
||||
popd >/dev/null ; \
|
||||
done
|
||||
|
||||
# Push Release to github
|
||||
- name: Push the release
|
||||
uses: ncipollo/release-action@v1.8.10
|
||||
with:
|
||||
allowUpdates: true
|
||||
artifacts:
|
||||
/tmp/release_tars/${{ steps.tag.outputs.release_tag }}-linux.x86_64.tgz,
|
||||
/tmp/release_tars/${{ steps.tag.outputs.release_tag }}-linux.aarch64.tgz,
|
||||
/tmp/release_tars/${{ steps.tag.outputs.release_tag }}-linux.armv7l.tgz
|
||||
tag: ${{ steps.tag.outputs.release_tag }}
|
||||
draft: true
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
|
||||
######################################################################################
|
||||
|
||||
# MacOS: build for MacOS (X86_64) and use results to
|
||||
# create and push release assets to github
|
||||
macos_x86_64:
|
||||
|
||||
needs: [inputs, sentry]
|
||||
if: |
|
||||
needs.sentry.outputs.release_not_built == 'true'
|
||||
|| needs.inputs.outputs.force == 'true'
|
||||
|
||||
runs-on: macos-10.15
|
||||
|
||||
steps:
|
||||
|
||||
# Checkout the branch
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Checkout the actions for this repo owner
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: ${{ github.repository_owner }}/.github
|
||||
path: ./Actions_${{ github.sha }}
|
||||
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
|
||||
|
||||
# Setup release tag
|
||||
- name: Setup Release Tag
|
||||
id: tag
|
||||
uses: ./../actions/release-tag-action
|
||||
|
||||
# Install X11 dependencies
|
||||
- name: Install X11 dependencies on MacOS
|
||||
if: ${{ runner.os == 'macOS'}}
|
||||
run: brew install --cask xquartz
|
||||
|
||||
# Build maiko
|
||||
- name: Build
|
||||
working-directory: ./bin
|
||||
run: |
|
||||
./makeright x
|
||||
./makeright init
|
||||
|
||||
# Create release tar for github.
|
||||
- name: Make release tar(s)
|
||||
env:
|
||||
RELEASE_TAG: ${{ steps.tag.outputs.release_tag }}
|
||||
run: |
|
||||
mkdir -p /tmp/release_tars
|
||||
pushd ${GITHUB_WORKSPACE}/../ >/dev/null
|
||||
tar -c -z \
|
||||
-f /tmp/release_tars/${RELEASE_TAG}-darwin.x86_64.tgz \
|
||||
maiko/bin/osversion \
|
||||
maiko/bin/machinetype \
|
||||
maiko/bin/config.guess \
|
||||
maiko/bin/config.sub \
|
||||
maiko/darwin.x86_64/lde*
|
||||
popd >/dev/null
|
||||
|
||||
# Push Release
|
||||
- name: Push the release
|
||||
uses: ncipollo/release-action@v1.8.10
|
||||
with:
|
||||
allowUpdates: true
|
||||
artifacts:
|
||||
/tmp/release_tars/${{ steps.tag.outputs.release_tag }}-darwin.x86_64.tgz
|
||||
tag: ${{ steps.tag.outputs.release_tag }}
|
||||
draft: true
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
|
||||
|
||||
######################################################################################
|
||||
|
||||
# Use set-sentry-action to determine set the sentry that says this release has
|
||||
# been successfully built
|
||||
|
||||
complete:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
outputs:
|
||||
build_successful: ${{ steps.output.outputs.build_successful }}
|
||||
|
||||
needs: [inputs, sentry, linux, macos_x86_64]
|
||||
|
||||
steps:
|
||||
# Checkout the actions for this repo owner
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: ${{ github.repository_owner }}/.github
|
||||
path: ./Actions_${{ github.sha }}
|
||||
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
|
||||
|
||||
# Set sentry
|
||||
- name: Is build for this commit already completed?
|
||||
id: set
|
||||
uses: ./../actions/set-sentry-action
|
||||
with:
|
||||
tag: "release_docker"
|
||||
|
||||
- name: Output
|
||||
id: output
|
||||
run: |
|
||||
echo ::set-output name=build_successful::'true'
|
||||
|
||||
######################################################################################
|
||||
12
.gitignore
vendored
12
.gitignore
vendored
@@ -6,8 +6,11 @@
|
||||
.DS_Store
|
||||
# build directories
|
||||
build/**
|
||||
cmake-build-*/**
|
||||
.idea/
|
||||
*.m68k-x/**
|
||||
*.m68k/**
|
||||
*.386-sdl/**
|
||||
*.386-x/**
|
||||
*.386/**
|
||||
*.ppc-x/**
|
||||
@@ -15,12 +18,21 @@ build/**
|
||||
*.sparc-x/**
|
||||
*.sparc/**
|
||||
*.x86_64-x/**
|
||||
*.x86_64-sdl/**
|
||||
*.x86_64/**
|
||||
*.wasm/**
|
||||
*.wasm-wasm/**
|
||||
*.wasm_nl/**
|
||||
*.wasm_nl-wasm_nl/**
|
||||
*.armv7l-x/**
|
||||
*.armv7l/**
|
||||
*.aarch64-x/**
|
||||
*.aarch64-sdl/**
|
||||
*.aarch64/**
|
||||
init.386/**
|
||||
*.universal/**
|
||||
# core files
|
||||
core
|
||||
*.core
|
||||
*.swp
|
||||
|
||||
|
||||
142
CMakeLists.txt
142
CMakeLists.txt
@@ -1,5 +1,5 @@
|
||||
PROJECT(maiko C)
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.15)
|
||||
PROJECT(maiko C)
|
||||
|
||||
SET(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
@@ -18,15 +18,17 @@ ENDIF()
|
||||
|
||||
find_program(
|
||||
CLANG_TIDY_EXE
|
||||
NAMES "clang-tidy" "clang-tidy13" "clang-tidy12" "clang-tidy11" "clang-tidy10"
|
||||
NAMES "clang-tidy" "clang-tidy16" "clang-tidy15" "clang-tidy14" "clang-tidy13" "clang-tidy12" "clang-tidy11" "clang-tidy10"
|
||||
DOC "Path to clang-tidy executable"
|
||||
)
|
||||
|
||||
IF (CLANG_TIDY_EXE)
|
||||
IF (NOT CMAKE_CROSSCOMPILING)
|
||||
# There are many many warnings for strcpy instances to deal with,
|
||||
# but suppress it for now so that other issues are more obvious
|
||||
#
|
||||
SET(CMAKE_C_CLANG_TIDY ${CLANG_TIDY_EXE} -checks=-*,cert-*,clang-analyzer-security.*,-clang-analyzer-security.insecureAPI.strcpy,-clang-analyzer-security.insecureAPI.bzero -header-filter=.*)
|
||||
SET(CMAKE_C_CLANG_TIDY ${CLANG_TIDY_EXE} -checks=-*,cert-*,clang-analyzer-security.*,-clang-analyzer-security.insecureAPI.strcpy,-clang-analyzer-security.insecureAPI.bzero -header-filter=.*)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
INCLUDE(CheckLibraryExists)
|
||||
@@ -35,11 +37,22 @@ IF(NEED_LIB_M)
|
||||
SET(MAIKO_LIBRARIES m)
|
||||
ENDIF()
|
||||
|
||||
SET (MAIKO_RELEASE 351 CACHE STRING "Release version to build. Release: 115, 200, 201, 210, 300, 350, 351")
|
||||
SET_PROPERTY(CACHE MAIKO_RELEASE PROPERTY STRINGS 115 200 201 210 300 350 351)
|
||||
|
||||
MESSAGE("-- Configured for release ${MAIKO_RELEASE}")
|
||||
SET(MAIKO_DEFINITIONS
|
||||
"-DRELEASE=351"
|
||||
"-DRELEASE=${MAIKO_RELEASE}"
|
||||
)
|
||||
|
||||
SET(MAIKO_INIT_DEFINITIONS
|
||||
"-DRELEASE=${MAIKO_RELEASE}" "-DINIT" "-DNOVERSION"
|
||||
)
|
||||
|
||||
OPTION(MAIKO_DISPLAY_X11 "Use X11 for display." ON)
|
||||
SET(MAIKO_DISPLAY_SDL OFF CACHE STRING "Use SDL for display. Version: OFF, 2, 3")
|
||||
SET_PROPERTY(CACHE MAIKO_DISPLAY_SDL PROPERTY STRINGS OFF 2 3)
|
||||
|
||||
IF(MAIKO_DISPLAY_X11)
|
||||
FIND_PACKAGE(X11 REQUIRED)
|
||||
SET(MAIKO_DISPLAY_X11_DEFINITIONS
|
||||
@@ -67,9 +80,39 @@ IF(MAIKO_DISPLAY_X11)
|
||||
inc/xmkicondefs.h
|
||||
inc/xrdoptdefs.h
|
||||
inc/xscrolldefs.h
|
||||
inc/xscroll.h
|
||||
inc/xwinmandefs.h
|
||||
)
|
||||
MESSAGE("-- Configured for X11 display")
|
||||
ENDIF()
|
||||
|
||||
IF(MAIKO_DISPLAY_SDL STREQUAL "2")
|
||||
FIND_PACKAGE(SDL2 REQUIRED CONFIG REQUIRED COMPONENTS SDL2)
|
||||
SET(MAIKO_DISPLAY_SDL_DEFINITIONS
|
||||
"-DSDL=2"
|
||||
)
|
||||
SET(MAIKO_DISPLAY_SDL_INCLUDE_DIRS SDL2::Headers)
|
||||
SET(MAIKO_DISPLAY_SDL_LIBRARIES SDL2::SDL2)
|
||||
SET(MAIKO_DISPLAY_SDL_SRCS
|
||||
src/sdl.c
|
||||
)
|
||||
SET(MAIKO_DISPLAY_SDL_HDRS
|
||||
inc/sdldefs.h
|
||||
)
|
||||
MESSAGE("-- Configured for SDL2 display")
|
||||
ELSEIF(MAIKO_DISPLAY_SDL STREQUAL "3")
|
||||
FIND_PACKAGE(SDL3 REQUIRED CONFIG REQUIRED COMPONENTS SDL3)
|
||||
SET(MAIKO_DISPLAY_SDL_DEFINITIONS
|
||||
"-DSDL=3"
|
||||
)
|
||||
SET(MAIKO_DISPLAY_SDL_INCLUDE_DIRS SDL3::Headers)
|
||||
SET(MAIKO_DISPLAY_SDL_LIBRARIES SDL3::SDL3)
|
||||
SET(MAIKO_DISPLAY_SDL_SRCS
|
||||
src/sdl.c
|
||||
)
|
||||
SET(MAIKO_DISPLAY_SDL_HDRS
|
||||
inc/sdldefs.h
|
||||
)
|
||||
MESSAGE("-- Configured for SDL3 display")
|
||||
ENDIF()
|
||||
|
||||
# according to: https://cmake.org/pipermail/cmake/2016-October/064342.html
|
||||
@@ -93,10 +136,14 @@ ELSEIF(NOT MAIKO_NETWORK_TYPE STREQUAL "NONE")
|
||||
MESSAGE(WARNING "Invalid option given for MAIKO_NETWORK_TYPE, must be one of:\nNONE, SUN_DLPI, SUN_NIT, NETHUB")
|
||||
ENDIF()
|
||||
|
||||
|
||||
IF(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
|
||||
LIST(APPEND MAIKO_DEFINITIONS
|
||||
"-DOS5"
|
||||
)
|
||||
LIST(APPEND MAIKO_INIT_DEFINITIONS
|
||||
"-DOS5"
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
IF(APPLE)
|
||||
@@ -247,7 +294,7 @@ SET(MAIKO_HDRS
|
||||
inc/bindefs.h
|
||||
inc/bindsdefs.h
|
||||
inc/bitbltdefs.h
|
||||
inc/bitblt.h
|
||||
inc/bbtmacro.h
|
||||
inc/bltdefs.h
|
||||
inc/byteswapdefs.h
|
||||
inc/car-cdrdefs.h
|
||||
@@ -272,7 +319,6 @@ SET(MAIKO_HDRS
|
||||
inc/emlglob.h
|
||||
inc/eqfdefs.h
|
||||
inc/etherdefs.h
|
||||
inc/ether.h
|
||||
inc/fast_dsp.h
|
||||
inc/findkeydefs.h
|
||||
inc/foreigndefs.h
|
||||
@@ -292,7 +338,6 @@ SET(MAIKO_HDRS
|
||||
inc/gcscandefs.h
|
||||
inc/gvar2defs.h
|
||||
inc/hardrtndefs.h
|
||||
inc/hdw_conf.h
|
||||
inc/ifpage.h
|
||||
inc/inetdefs.h
|
||||
inc/initatms.h
|
||||
@@ -319,7 +364,6 @@ SET(MAIKO_HDRS
|
||||
inc/lispemul.h
|
||||
inc/lispmap.h
|
||||
inc/lispver1.h
|
||||
inc/lispver2.h
|
||||
inc/llcolordefs.h
|
||||
inc/lldsp.h
|
||||
inc/llstkdefs.h
|
||||
@@ -352,14 +396,14 @@ SET(MAIKO_HDRS
|
||||
inc/opcodes.h
|
||||
inc/os.h
|
||||
inc/osmsgdefs.h
|
||||
inc/osmsg.h
|
||||
inc/osmsgprint.h
|
||||
inc/perrnodefs.h
|
||||
inc/picture.h
|
||||
inc/pilotbbt.h
|
||||
inc/print.h
|
||||
inc/rawrs232c.h
|
||||
inc/retmacro.h
|
||||
inc/returndefs.h
|
||||
inc/return.h
|
||||
inc/rpcdefs.h
|
||||
inc/rplconsdefs.h
|
||||
inc/rs232c.h
|
||||
@@ -377,7 +421,6 @@ SET(MAIKO_HDRS
|
||||
inc/tos1defs.h
|
||||
inc/tosfns.h
|
||||
inc/tosret.h
|
||||
inc/tty.h
|
||||
inc/typeofdefs.h
|
||||
inc/ubf1defs.h
|
||||
inc/ubf2defs.h
|
||||
@@ -393,29 +436,33 @@ SET(MAIKO_HDRS
|
||||
inc/vars3defs.h
|
||||
inc/version.h
|
||||
inc/vmemsavedefs.h
|
||||
inc/vmemsave.h
|
||||
inc/xcdefs.h
|
||||
inc/z2defs.h
|
||||
)
|
||||
|
||||
ADD_CUSTOM_TARGET(gen-vdate
|
||||
ADD_CUSTOM_COMMAND(OUTPUT vdate.c
|
||||
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bin/mkvdate > vdate.c
|
||||
BYPRODUCTS vdate.c
|
||||
DEPENDS ${MAIKO_SRCS} ${MAIKO_HDRS} ${MAIKO_DISPLAY_X11_SRCS} ${MAIKO_DISPLAY_X11_HDRS} ${MAIKO_DISPLAY_SDL_SRCS} ${MAIKO_DISPLAY_SDL_HDRS}
|
||||
)
|
||||
|
||||
ADD_EXECUTABLE(lde src/ldeboot.c src/unixfork.c)
|
||||
TARGET_COMPILE_DEFINITIONS(lde PUBLIC ${MAIKO_DEFINITIONS})
|
||||
TARGET_INCLUDE_DIRECTORIES(lde PUBLIC inc)
|
||||
TARGET_COMPILE_DEFINITIONS(lde PRIVATE ${MAIKO_DEFINITIONS})
|
||||
TARGET_INCLUDE_DIRECTORIES(lde PRIVATE inc)
|
||||
IF(MAIKO_DISPLAY_X11)
|
||||
# Tell it that the X11 launcher is available.
|
||||
TARGET_COMPILE_DEFINITIONS(lde PUBLIC ${MAIKO_DISPLAY_X11_DEFINITIONS})
|
||||
TARGET_COMPILE_DEFINITIONS(lde PRIVATE ${MAIKO_DISPLAY_X11_DEFINITIONS})
|
||||
# This is needed so that it can call XOpenDisplay.
|
||||
TARGET_LINK_LIBRARIES(lde X11::X11)
|
||||
ENDIF()
|
||||
|
||||
IF(MAIKO_DISPLAY_SDL)
|
||||
# Tell it that the SDL launcher is available.
|
||||
TARGET_COMPILE_DEFINITIONS(lde PRIVATE ${MAIKO_DISPLAY_SDL_DEFINITIONS})
|
||||
ENDIF()
|
||||
|
||||
ADD_EXECUTABLE(ldeether src/ldeether.c src/dlpi.c)
|
||||
TARGET_COMPILE_DEFINITIONS(ldeether PUBLIC ${MAIKO_DEFINITIONS})
|
||||
TARGET_INCLUDE_DIRECTORIES(ldeether PUBLIC inc)
|
||||
TARGET_COMPILE_DEFINITIONS(ldeether PRIVATE ${MAIKO_DEFINITIONS})
|
||||
TARGET_INCLUDE_DIRECTORIES(ldeether PRIVATE inc)
|
||||
|
||||
IF(MAIKO_DISPLAY_X11)
|
||||
ADD_EXECUTABLE(ldex
|
||||
@@ -426,15 +473,58 @@ IF(MAIKO_DISPLAY_X11)
|
||||
${MAIKO_DISPLAY_X11_SRCS}
|
||||
${MAIKO_DISPLAY_X11_HDRS}
|
||||
)
|
||||
TARGET_COMPILE_DEFINITIONS(ldex PUBLIC ${MAIKO_DEFINITIONS} ${MAIKO_DISPLAY_X11_DEFINITIONS})
|
||||
TARGET_INCLUDE_DIRECTORIES(ldex PUBLIC inc)
|
||||
TARGET_COMPILE_DEFINITIONS(ldex PRIVATE ${MAIKO_DEFINITIONS} ${MAIKO_DISPLAY_X11_DEFINITIONS})
|
||||
TARGET_INCLUDE_DIRECTORIES(ldex PRIVATE inc)
|
||||
TARGET_LINK_LIBRARIES(ldex ${MAIKO_LIBRARIES} ${MAIKO_DISPLAY_X11_LIBRARIES})
|
||||
|
||||
ADD_EXECUTABLE(ldeinit
|
||||
src/main.c
|
||||
vdate.c
|
||||
${MAIKO_SRCS}
|
||||
${MAIKO_HDRS}
|
||||
${MAIKO_DISPLAY_X11_SRCS}
|
||||
${MAIKO_DISPLAY_X11_HDRS}
|
||||
)
|
||||
TARGET_COMPILE_DEFINITIONS(ldeinit PRIVATE ${MAIKO_INIT_DEFINITIONS} ${MAIKO_DISPLAY_X11_DEFINITIONS})
|
||||
TARGET_INCLUDE_DIRECTORIES(ldeinit PRIVATE inc)
|
||||
TARGET_LINK_LIBRARIES(ldeinit ${MAIKO_LIBRARIES} ${MAIKO_DISPLAY_X11_LIBRARIES})
|
||||
ENDIF()
|
||||
|
||||
IF(MAIKO_DISPLAY_SDL)
|
||||
ADD_EXECUTABLE(ldesdl
|
||||
src/main.c
|
||||
vdate.c
|
||||
${MAIKO_SRCS}
|
||||
${MAIKO_HDRS}
|
||||
${MAIKO_DISPLAY_SDL_SRCS}
|
||||
${MAIKO_DISPLAY_SDL_HDRS}
|
||||
)
|
||||
TARGET_COMPILE_DEFINITIONS(ldesdl PRIVATE ${MAIKO_DEFINITIONS} ${MAIKO_DISPLAY_SDL_DEFINITIONS})
|
||||
TARGET_INCLUDE_DIRECTORIES(ldesdl PRIVATE inc)
|
||||
TARGET_INCLUDE_DIRECTORIES(ldesdl PRIVATE ${MAIKO_DISPLAY_SDL_INCLUDE_DIRS})
|
||||
|
||||
IF(APPLE)
|
||||
IF(MAIKO_DISPLAY_SDL STREQUAL "3")
|
||||
#
|
||||
# Until CMake properly supports .xcframeworks, https://gitlab.kitware.com/cmake/cmake/-/issues/25998
|
||||
# we need to manually set the RPATH to produce a working executable
|
||||
#
|
||||
MESSAGE("-- Applying fixup for macOS RPATH for SDL3.xcframework")
|
||||
SET_PROPERTY(TARGET ldesdl APPEND PROPERTY BUILD_RPATH "/Library/Frameworks/SDL3.xcframework/macos-arm64_x86_64")
|
||||
#
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
TARGET_LINK_LIBRARIES(ldesdl ${MAIKO_LIBRARIES} ${MAIKO_DISPLAY_SDL_LIBRARIES})
|
||||
ENDIF()
|
||||
|
||||
ADD_EXECUTABLE(mkvdate src/mkvdate.c)
|
||||
TARGET_COMPILE_DEFINITIONS(mkvdate PRIVATE ${MAIKO_DEFINITIONS})
|
||||
TARGET_INCLUDE_DIRECTORIES(mkvdate PRIVATE inc)
|
||||
|
||||
ADD_EXECUTABLE(setsout src/setsout.c src/byteswap.c)
|
||||
TARGET_COMPILE_DEFINITIONS(setsout PUBLIC ${MAIKO_DEFINITIONS})
|
||||
TARGET_INCLUDE_DIRECTORIES(setsout PUBLIC inc)
|
||||
TARGET_COMPILE_DEFINITIONS(setsout PRIVATE ${MAIKO_DEFINITIONS})
|
||||
TARGET_INCLUDE_DIRECTORIES(setsout PRIVATE inc)
|
||||
|
||||
ADD_EXECUTABLE(tstsout src/tstsout.c src/byteswap.c)
|
||||
TARGET_COMPILE_DEFINITIONS(tstsout PUBLIC ${MAIKO_DEFINITIONS})
|
||||
TARGET_INCLUDE_DIRECTORIES(tstsout PUBLIC inc)
|
||||
TARGET_COMPILE_DEFINITIONS(tstsout PRIVATE ${MAIKO_DEFINITIONS})
|
||||
TARGET_INCLUDE_DIRECTORIES(tstsout PRIVATE inc)
|
||||
|
||||
55
Dockerfile
55
Dockerfile
@@ -1,55 +0,0 @@
|
||||
#*******************************************************************************
|
||||
#
|
||||
# Dockerfile to build Maiko (Stage 1) and create a Docker image and push it
|
||||
# to DockerHub (stage 2).
|
||||
#
|
||||
# Copyright 2022 by Interlisp.org
|
||||
#
|
||||
# ******************************************************************************
|
||||
|
||||
#
|
||||
# Build Maiko Stage
|
||||
#
|
||||
FROM ubuntu:focal AS builder
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
USER root:root
|
||||
# Install build tools
|
||||
RUN apt-get update && apt-get install -y make clang libx11-dev gcc x11vnc xvfb
|
||||
# Copy over / clean maiko repo
|
||||
COPY . /app/maiko
|
||||
RUN rm -rf /app/maiko/linux*
|
||||
# Build maiko
|
||||
WORKDIR /app/maiko/bin
|
||||
RUN ./makeright x
|
||||
RUN if [ "$(./osversion)" = "linux" ] && [ "$(./machinetype)" = "x86_64" ]; then ./makeright init; fi
|
||||
# Prep for Install Stage
|
||||
RUN mv ../$(./osversion).$(./machinetype) ../TRANSFER
|
||||
#
|
||||
# Install Maiko Stage
|
||||
#
|
||||
FROM ubuntu:focal
|
||||
ARG BUILD_DATE="not_available"
|
||||
ARG RELEASE_TAG="not_available"
|
||||
LABEL name="Maiko"
|
||||
LABEL description="Virtual machine for Interlisp Medley"
|
||||
LABEL url="https://github.com/Interlisp/maiko"
|
||||
LABEL build-time=$BUILD_DATE
|
||||
LABEL release_tag=$RELEASE_TAG
|
||||
ENV MAIKO_RELEASE=$RELEASE_TAG
|
||||
ENV MAIKO_BUILD_DATE=$BUILD_DATE
|
||||
ARG BUILD_LOCATION=/app/maiko
|
||||
ARG INSTALL_LOCATION=/usr/local/interlisp/maiko
|
||||
#
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
USER root:root
|
||||
# Copy release files into /usr/local/directories
|
||||
COPY --from=builder ${BUILD_LOCATION}/bin/osversion ${INSTALL_LOCATION}/bin/
|
||||
COPY --from=builder ${BUILD_LOCATION}/bin/machinetype ${INSTALL_LOCATION}/bin/
|
||||
COPY --from=builder ${BUILD_LOCATION}/bin/config.guess ${INSTALL_LOCATION}/bin/
|
||||
COPY --from=builder ${BUILD_LOCATION}/bin/config.sub ${INSTALL_LOCATION}/bin/
|
||||
COPY --from=builder ${BUILD_LOCATION}/TRANSFER/lde* ${INSTALL_LOCATION}/TRANSFER/
|
||||
RUN cd ${INSTALL_LOCATION} && mv TRANSFER "$(cd bin && ./osversion).$(cd bin/ && ./machinetype)"
|
||||
# Some niceties
|
||||
USER root
|
||||
WORKDIR /root
|
||||
ENTRYPOINT /bin/bash
|
||||
42
README.md
42
README.md
@@ -1,10 +1,11 @@
|
||||
# Maiko
|
||||
|
||||
Maiko is the implementation of the Medley Interlisp virtual machine, for a
|
||||
byte-coded Lisp instruction set and some low-level functions for
|
||||
connecting with Lisp for access to display (via X11) and disk etc.
|
||||
Maiko is the implementation of the Medley Interlisp virtual machine for a
|
||||
byte-coded Lisp instruction set, and some low-level functions for
|
||||
connecting Lisp to a display (via X11 or SDL), the local filesystem,
|
||||
and a network subsystem.
|
||||
|
||||
For an overview, see [Medley Interlisp Introduction](https://github.com/Interlisp/medley/wiki/Medley-Interlisp-Introduction).
|
||||
For an overview, see [Medley Interlisp Introduction](https://interlisp.org/medley/using/docs/medley/).
|
||||
|
||||
See [the Medley repository](https://github.com/Interlisp/medley) for
|
||||
* [Issues](https://github.com/Interlisp/medley/issues) (note that maiko issues are there too)
|
||||
@@ -15,17 +16,18 @@ Bug reports, feature requests, fixes and improvements, support for additional pl
|
||||
|
||||
## Development Platforms
|
||||
|
||||
We are developing on FreeBSD, Linux, MacOS, and Solaris currently
|
||||
on arm7l, arm64, PowerPC, SPARC, i386, and x86_64 hardware.
|
||||
Development has been primarily on macOS, FreeBSD, and Linux, with testing on Solaris and Windows.
|
||||
Processor architectures i386, x86\_64, arm64, arm7l, and SPARC.
|
||||
|
||||
|
||||
## Building Maiko
|
||||
|
||||
Building requires `clang`, `make`, X11 client libraries (`libx11-dev`). For example,
|
||||
### Building with make
|
||||
Building requires a C compiler (`clang` preferred), either `make` or `CMake`, and X11 client libraries (`libx11-dev`), or SDL2. For example, using `make` and X11:
|
||||
|
||||
``` sh
|
||||
$ sudo apt update
|
||||
$ sudo apt install clang make x11dev
|
||||
$ sudo apt install clang make libx11-dev
|
||||
```
|
||||
|
||||
```
|
||||
@@ -33,17 +35,21 @@ $ cd maiko/bin
|
||||
$ ./makeright x
|
||||
```
|
||||
|
||||
* The build will (attempt to) detect the OS-type and cpu-type. It will build binaries `lde` and `ldex` in `../ostype.cputype` (with .o files in `..ostype.cputype-x`. For example, Linux on a 64-bit x86 will use `linux.x86_64`, while MacOS 11 on a (new M1) Mac will use `darwin.aarch64`.
|
||||
* If you prefer using `gcc` over `clang`, you will need to edit the makefile fragment for your configuration (`makefile-ostype.cputype-x`) and comment out the line (with a #) that defines `CC` for `clang` and uncomment the line (delete the #) for the line that defines `CC` for `gcc`.
|
||||
* There is a cmake configuration (TBD To Be Described here).
|
||||
* The build will (attempt to) detect the OS-type and cpu-type. It will build binaries `lde` and `ldex` in `../`_`ostype.cputype`_ (with .o files in `../`_`ostype.cputype-x`_. For example, Linux on a 64-bit x86 will use `linux.x86_64`, while macOS 11 on a (new M1) Mac will use `darwin.aarch64`.
|
||||
* If you prefer `gcc` over `clang`, you will need to edit the makefile fragment for your configuration (`makefile-ostype.cputype-x`) and comment out the line (with a #) that defines `CC` as `clang` and uncomment the line (delete the #) for the line that defines `CC` as `gcc`.
|
||||
|
||||
### Building For MacOS
|
||||
### Building with CMake
|
||||
We provide a `CMakeLists.txt` which provides mostly matching build capabilities to the `make` setup.
|
||||
CMake options are provided to control the configuration of the Maiko executables:
|
||||
* MAIKO\_DISPLAY\_SDL: [OFF], 2, 3 - selects display subsystem SDL of version specified
|
||||
* MAIKO\_DISPLAY\_X11: [ON], OFF - selects X11 display subsystem
|
||||
* MAIKO\_NETWORK\_TYPE: [NONE], SUN\_DLPI, SUN\_NIT, NETHUB - network subsystem access
|
||||
* MAIKO_RELEASE: [351], various - see `maiko/inc/version.h`
|
||||
|
||||
* Running on MacOS requires an X server, and building on a Mac requires X client libraries.
|
||||
An X-server for MacOS (and X11 client libraries) can be freely obtained at https://www.xquartz.org/releases
|
||||
While SDL3 is selectable, the Maiko code has not yet been updated to work with the SDL3 API.
|
||||
|
||||
### Building for Windows 10
|
||||
|
||||
Windows 10 currently requires "Docker for Desktop" or WSL2 and a (Windows X-server).
|
||||
See [Medley's README](https://github.com/Interlisp/medley/blob/master/README.md) for more.
|
||||
### Building For macOS
|
||||
|
||||
* Building/running on macOS requires either an X server and X client libraries or the SDL2 library.
|
||||
An X-server for macOS (and X11 client libraries) can be freely obtained at https://www.xquartz.org/releases
|
||||
The SDL library is freely available from https://libsdl.org
|
||||
|
||||
1239
bin/config.guess
vendored
1239
bin/config.guess
vendored
File diff suppressed because it is too large
Load Diff
310
bin/config.sub
vendored
310
bin/config.sub
vendored
@@ -1,12 +1,14 @@
|
||||
#! /bin/sh
|
||||
# Configuration validation subroutine script.
|
||||
# Copyright 1992-2020 Free Software Foundation, Inc.
|
||||
# Copyright 1992-2024 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2020-08-17'
|
||||
# shellcheck disable=SC2006,SC2268 # see below for rationale
|
||||
|
||||
timestamp='2024-01-01'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
@@ -33,7 +35,7 @@ timestamp='2020-08-17'
|
||||
# Otherwise, we print the canonical config type on stdout and succeed.
|
||||
|
||||
# You can get the latest version of this script from:
|
||||
# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
|
||||
# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
|
||||
|
||||
# This file is supposed to be the same for all GNU packages
|
||||
# and recognize all the CPU types, system types and aliases
|
||||
@@ -50,6 +52,13 @@ timestamp='2020-08-17'
|
||||
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
||||
# It is wrong to echo any other type of specification.
|
||||
|
||||
# The "shellcheck disable" line above the timestamp inhibits complaints
|
||||
# about features and limitations of the classic Bourne shell that were
|
||||
# superseded or lifted in POSIX. However, this script identifies a wide
|
||||
# variety of pre-POSIX systems that do not have POSIX shells at all, and
|
||||
# even some reasonably current systems (Solaris 10 as case-in-point) still
|
||||
# have a pre-POSIX /bin/sh.
|
||||
|
||||
me=`echo "$0" | sed -e 's,.*/,,'`
|
||||
|
||||
usage="\
|
||||
@@ -67,13 +76,13 @@ Report bugs and patches to <config-patches@gnu.org>."
|
||||
version="\
|
||||
GNU config.sub ($timestamp)
|
||||
|
||||
Copyright 1992-2020 Free Software Foundation, Inc.
|
||||
Copyright 1992-2024 Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
|
||||
help="
|
||||
Try \`$me --help' for more information."
|
||||
Try '$me --help' for more information."
|
||||
|
||||
# Parse command line
|
||||
while test $# -gt 0 ; do
|
||||
@@ -112,14 +121,16 @@ esac
|
||||
|
||||
# Split fields of configuration type
|
||||
# shellcheck disable=SC2162
|
||||
saved_IFS=$IFS
|
||||
IFS="-" read field1 field2 field3 field4 <<EOF
|
||||
$1
|
||||
EOF
|
||||
IFS=$saved_IFS
|
||||
|
||||
# Separate into logical components for further validation
|
||||
case $1 in
|
||||
*-*-*-*-*)
|
||||
echo Invalid configuration \`"$1"\': more than four components >&2
|
||||
echo "Invalid configuration '$1': more than four components" >&2
|
||||
exit 1
|
||||
;;
|
||||
*-*-*-*)
|
||||
@@ -134,7 +145,8 @@ case $1 in
|
||||
nto-qnx* | linux-* | uclinux-uclibc* \
|
||||
| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
|
||||
| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
|
||||
| storm-chaos* | os2-emx* | rtmk-nova*)
|
||||
| storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \
|
||||
| windows-* )
|
||||
basic_machine=$field1
|
||||
basic_os=$maybe_os
|
||||
;;
|
||||
@@ -163,6 +175,10 @@ case $1 in
|
||||
basic_machine=$field1
|
||||
basic_os=$field2
|
||||
;;
|
||||
zephyr*)
|
||||
basic_machine=$field1-unknown
|
||||
basic_os=$field2
|
||||
;;
|
||||
# Manufacturers
|
||||
dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
|
||||
| att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
|
||||
@@ -922,11 +938,13 @@ case $basic_machine in
|
||||
|
||||
*-*)
|
||||
# shellcheck disable=SC2162
|
||||
saved_IFS=$IFS
|
||||
IFS="-" read cpu vendor <<EOF
|
||||
$basic_machine
|
||||
EOF
|
||||
IFS=$saved_IFS
|
||||
;;
|
||||
# We use `pc' rather than `unknown'
|
||||
# We use 'pc' rather than 'unknown'
|
||||
# because (1) that's what they normally are, and
|
||||
# (2) the word "unknown" tends to confuse beginning users.
|
||||
i*86 | x86_64)
|
||||
@@ -1003,6 +1021,11 @@ case $cpu-$vendor in
|
||||
;;
|
||||
|
||||
# Here we normalize CPU types with a missing or matching vendor
|
||||
armh-unknown | armh-alt)
|
||||
cpu=armv7l
|
||||
vendor=alt
|
||||
basic_os=${basic_os:-linux-gnueabihf}
|
||||
;;
|
||||
dpx20-unknown | dpx20-bull)
|
||||
cpu=rs6000
|
||||
vendor=bull
|
||||
@@ -1053,7 +1076,7 @@ case $cpu-$vendor in
|
||||
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
|
||||
cpu=i586
|
||||
;;
|
||||
pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
|
||||
pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*)
|
||||
cpu=i686
|
||||
;;
|
||||
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
|
||||
@@ -1104,7 +1127,7 @@ case $cpu-$vendor in
|
||||
xscale-* | xscalee[bl]-*)
|
||||
cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
|
||||
;;
|
||||
arm64-*)
|
||||
arm64-* | aarch64le-*)
|
||||
cpu=aarch64
|
||||
;;
|
||||
|
||||
@@ -1158,14 +1181,14 @@ case $cpu-$vendor in
|
||||
case $cpu in
|
||||
1750a | 580 \
|
||||
| a29k \
|
||||
| aarch64 | aarch64_be \
|
||||
| aarch64 | aarch64_be | aarch64c | arm64ec \
|
||||
| abacus \
|
||||
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
|
||||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
|
||||
| alphapca5[67] | alpha64pca5[67] \
|
||||
| am33_2.0 \
|
||||
| amdgcn \
|
||||
| arc | arceb \
|
||||
| arc | arceb | arc32 | arc64 \
|
||||
| arm | arm[lb]e | arme[lb] | armv* \
|
||||
| avr | avr32 \
|
||||
| asmjs \
|
||||
@@ -1177,45 +1200,29 @@ case $cpu-$vendor in
|
||||
| d10v | d30v | dlx | dsp16xx \
|
||||
| e2k | elxsi | epiphany \
|
||||
| f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
|
||||
| javascript \
|
||||
| h8300 | h8500 \
|
||||
| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||
| hexagon \
|
||||
| i370 | i*86 | i860 | i960 | ia16 | ia64 \
|
||||
| ip2k | iq2000 \
|
||||
| k1om \
|
||||
| kvx \
|
||||
| le32 | le64 \
|
||||
| lm32 \
|
||||
| loongarch32 | loongarch64 \
|
||||
| m32c | m32r | m32rle \
|
||||
| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
|
||||
| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
|
||||
| m88110 | m88k | maxq | mb | mcore | mep | metag \
|
||||
| microblaze | microblazeel \
|
||||
| mips | mipsbe | mipseb | mipsel | mipsle \
|
||||
| mips16 \
|
||||
| mips64 | mips64eb | mips64el \
|
||||
| mips64octeon | mips64octeonel \
|
||||
| mips64orion | mips64orionel \
|
||||
| mips64r5900 | mips64r5900el \
|
||||
| mips64vr | mips64vrel \
|
||||
| mips64vr4100 | mips64vr4100el \
|
||||
| mips64vr4300 | mips64vr4300el \
|
||||
| mips64vr5000 | mips64vr5000el \
|
||||
| mips64vr5900 | mips64vr5900el \
|
||||
| mipsisa32 | mipsisa32el \
|
||||
| mipsisa32r2 | mipsisa32r2el \
|
||||
| mipsisa32r6 | mipsisa32r6el \
|
||||
| mipsisa64 | mipsisa64el \
|
||||
| mipsisa64r2 | mipsisa64r2el \
|
||||
| mipsisa64r6 | mipsisa64r6el \
|
||||
| mipsisa64sb1 | mipsisa64sb1el \
|
||||
| mipsisa64sr71k | mipsisa64sr71kel \
|
||||
| mipsr5900 | mipsr5900el \
|
||||
| mipstx39 | mipstx39el \
|
||||
| mips* \
|
||||
| mmix \
|
||||
| mn10200 | mn10300 \
|
||||
| moxie \
|
||||
| mt \
|
||||
| msp430 \
|
||||
| nanomips* \
|
||||
| nds32 | nds32le | nds32be \
|
||||
| nfp \
|
||||
| nios | nios2 | nios2eb | nios2el \
|
||||
@@ -1229,7 +1236,7 @@ case $cpu-$vendor in
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
|
||||
| pru \
|
||||
| pyramid \
|
||||
| riscv | riscv32 | riscv64 \
|
||||
| riscv | riscv32 | riscv32be | riscv64 | riscv64be \
|
||||
| rl78 | romp | rs6000 | rx \
|
||||
| s390 | s390x \
|
||||
| score \
|
||||
@@ -1241,11 +1248,13 @@ case $cpu-$vendor in
|
||||
| sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
|
||||
| spu \
|
||||
| tahoe \
|
||||
| thumbv7* \
|
||||
| tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
|
||||
| tron \
|
||||
| ubicom32 \
|
||||
| v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
|
||||
| vax \
|
||||
| vc4 \
|
||||
| visium \
|
||||
| w65 \
|
||||
| wasm32 | wasm64 \
|
||||
@@ -1257,7 +1266,7 @@ case $cpu-$vendor in
|
||||
;;
|
||||
|
||||
*)
|
||||
echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
|
||||
echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -1278,34 +1287,45 @@ esac
|
||||
|
||||
# Decode manufacturer-specific aliases for certain operating systems.
|
||||
|
||||
if test x$basic_os != x
|
||||
if test x"$basic_os" != x
|
||||
then
|
||||
|
||||
# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just
|
||||
# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
|
||||
# set os.
|
||||
obj=
|
||||
case $basic_os in
|
||||
gnu/linux*)
|
||||
kernel=linux
|
||||
os=`echo $basic_os | sed -e 's|gnu/linux|gnu|'`
|
||||
os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'`
|
||||
;;
|
||||
os2-emx)
|
||||
kernel=os2
|
||||
os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'`
|
||||
;;
|
||||
nto-qnx*)
|
||||
kernel=nto
|
||||
os=`echo $basic_os | sed -e 's|nto-qnx|qnx|'`
|
||||
os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
|
||||
;;
|
||||
*-*)
|
||||
# shellcheck disable=SC2162
|
||||
saved_IFS=$IFS
|
||||
IFS="-" read kernel os <<EOF
|
||||
$basic_os
|
||||
EOF
|
||||
IFS=$saved_IFS
|
||||
;;
|
||||
# Default OS when just kernel was specified
|
||||
nto*)
|
||||
kernel=nto
|
||||
os=`echo $basic_os | sed -e 's|nto|qnx|'`
|
||||
os=`echo "$basic_os" | sed -e 's|nto|qnx|'`
|
||||
;;
|
||||
linux*)
|
||||
kernel=linux
|
||||
os=`echo $basic_os | sed -e 's|linux|gnu|'`
|
||||
os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
|
||||
;;
|
||||
managarm*)
|
||||
kernel=managarm
|
||||
os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'`
|
||||
;;
|
||||
*)
|
||||
kernel=
|
||||
@@ -1326,7 +1346,7 @@ case $os in
|
||||
os=cnk
|
||||
;;
|
||||
solaris1 | solaris1.*)
|
||||
os=`echo $os | sed -e 's|solaris1|sunos4|'`
|
||||
os=`echo "$os" | sed -e 's|solaris1|sunos4|'`
|
||||
;;
|
||||
solaris)
|
||||
os=solaris2
|
||||
@@ -1355,7 +1375,7 @@ case $os in
|
||||
os=sco3.2v4
|
||||
;;
|
||||
sco3.2.[4-9]*)
|
||||
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
|
||||
os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'`
|
||||
;;
|
||||
sco*v* | scout)
|
||||
# Don't match below
|
||||
@@ -1367,13 +1387,7 @@ case $os in
|
||||
os=psos
|
||||
;;
|
||||
qnx*)
|
||||
case $cpu in
|
||||
x86 | i*86)
|
||||
;;
|
||||
*)
|
||||
os=nto-$os
|
||||
;;
|
||||
esac
|
||||
os=qnx
|
||||
;;
|
||||
hiux*)
|
||||
os=hiuxwe2
|
||||
@@ -1437,7 +1451,7 @@ case $os in
|
||||
;;
|
||||
# Preserve the version number of sinix5.
|
||||
sinix5.*)
|
||||
os=`echo $os | sed -e 's|sinix|sysv|'`
|
||||
os=`echo "$os" | sed -e 's|sinix|sysv|'`
|
||||
;;
|
||||
sinix*)
|
||||
os=sysv4
|
||||
@@ -1478,10 +1492,16 @@ case $os in
|
||||
os=eabi
|
||||
;;
|
||||
*)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
aout* | coff* | elf* | pe*)
|
||||
# These are machine code file formats, not OSes
|
||||
obj=$os
|
||||
os=
|
||||
;;
|
||||
*)
|
||||
# No normalization, but not necessarily accepted, that comes below.
|
||||
;;
|
||||
@@ -1500,12 +1520,15 @@ else
|
||||
# system, and we'll never get to this point.
|
||||
|
||||
kernel=
|
||||
obj=
|
||||
case $cpu-$vendor in
|
||||
score-*)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
spu-*)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
*-acorn)
|
||||
os=riscix1.2
|
||||
@@ -1515,28 +1538,35 @@ case $cpu-$vendor in
|
||||
os=gnu
|
||||
;;
|
||||
arm*-semi)
|
||||
os=aout
|
||||
os=
|
||||
obj=aout
|
||||
;;
|
||||
c4x-* | tic4x-*)
|
||||
os=coff
|
||||
os=
|
||||
obj=coff
|
||||
;;
|
||||
c8051-*)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
clipper-intergraph)
|
||||
os=clix
|
||||
;;
|
||||
hexagon-*)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
tic54x-*)
|
||||
os=coff
|
||||
os=
|
||||
obj=coff
|
||||
;;
|
||||
tic55x-*)
|
||||
os=coff
|
||||
os=
|
||||
obj=coff
|
||||
;;
|
||||
tic6x-*)
|
||||
os=coff
|
||||
os=
|
||||
obj=coff
|
||||
;;
|
||||
# This must come before the *-dec entry.
|
||||
pdp10-*)
|
||||
@@ -1558,19 +1588,24 @@ case $cpu-$vendor in
|
||||
os=sunos3
|
||||
;;
|
||||
m68*-cisco)
|
||||
os=aout
|
||||
os=
|
||||
obj=aout
|
||||
;;
|
||||
mep-*)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
mips*-cisco)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
mips*-*)
|
||||
os=elf
|
||||
mips*-*|nanomips*-*)
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
or32-*)
|
||||
os=coff
|
||||
os=
|
||||
obj=coff
|
||||
;;
|
||||
*-tti) # must be before sparc entry or we get the wrong os.
|
||||
os=sysv3
|
||||
@@ -1579,7 +1614,8 @@ case $cpu-$vendor in
|
||||
os=sunos4.1.1
|
||||
;;
|
||||
pru-*)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
*-be)
|
||||
os=beos
|
||||
@@ -1660,10 +1696,12 @@ case $cpu-$vendor in
|
||||
os=uxpv
|
||||
;;
|
||||
*-rom68k)
|
||||
os=coff
|
||||
os=
|
||||
obj=coff
|
||||
;;
|
||||
*-*bug)
|
||||
os=coff
|
||||
os=
|
||||
obj=coff
|
||||
;;
|
||||
*-apple)
|
||||
os=macos
|
||||
@@ -1681,13 +1719,20 @@ esac
|
||||
|
||||
fi
|
||||
|
||||
# Now, validate our (potentially fixed-up) OS.
|
||||
# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ).
|
||||
|
||||
case $os in
|
||||
# Sometimes we do "kernel-abi", so those need to count as OSes.
|
||||
musl* | newlib* | uclibc*)
|
||||
# Sometimes we do "kernel-libc", so those need to count as OSes.
|
||||
llvm* | musl* | newlib* | relibc* | uclibc*)
|
||||
;;
|
||||
# Likewise for "kernel-libc"
|
||||
eabi | eabihf | gnueabi | gnueabihf)
|
||||
# Likewise for "kernel-abi"
|
||||
eabi* | gnueabi*)
|
||||
;;
|
||||
# VxWorks passes extra cpu info in the 4th filed.
|
||||
simlinux | simwindows | spe)
|
||||
;;
|
||||
# See `case $cpu-$os` validation below
|
||||
ghcjs)
|
||||
;;
|
||||
# Now accept the basic system types.
|
||||
# The portable systems comes first.
|
||||
@@ -1697,20 +1742,20 @@ case $os in
|
||||
| hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
|
||||
| sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
|
||||
| hiux* | abug | nacl* | netware* | windows* \
|
||||
| os9* | macos* | osx* | ios* \
|
||||
| os9* | macos* | osx* | ios* | tvos* | watchos* \
|
||||
| mpw* | magic* | mmixware* | mon960* | lnews* \
|
||||
| amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
|
||||
| aos* | aros* | cloudabi* | sortix* | twizzler* \
|
||||
| nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
|
||||
| clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
|
||||
| mirbsd* | netbsd* | dicos* | openedition* | ose* \
|
||||
| bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
|
||||
| bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
|
||||
| ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
|
||||
| bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
|
||||
| ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
|
||||
| bosx* | nextstep* | cxux* | oabi* \
|
||||
| ptx* | ecoff* | winnt* | domain* | vsta* \
|
||||
| udi* | lites* | ieee* | go32* | aux* | hcos* \
|
||||
| chorusrdb* | cegcc* | glidix* \
|
||||
| cygwin* | msys* | pe* | moss* | proelf* | rtems* \
|
||||
| chorusrdb* | cegcc* | glidix* | serenity* \
|
||||
| cygwin* | msys* | moss* | proelf* | rtems* \
|
||||
| midipix* | mingw32* | mingw64* | mint* \
|
||||
| uxpv* | beos* | mpeix* | udk* | moxiebox* \
|
||||
| interix* | uwin* | mks* | rhapsody* | darwin* \
|
||||
@@ -1722,42 +1767,117 @@ case $os in
|
||||
| skyos* | haiku* | rdos* | toppers* | drops* | es* \
|
||||
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
|
||||
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
|
||||
| nsk* | powerunix* | genode* | zvmoe* )
|
||||
| nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
|
||||
| fiwix* | mlibc* | cos* | mbr* | ironclad* )
|
||||
;;
|
||||
# This one is extra strict with allowed versions
|
||||
sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
|
||||
# Don't forget version if it is 3.2v4 or newer.
|
||||
;;
|
||||
# This refers to builds using the UEFI calling convention
|
||||
# (which depends on the architecture) and PE file format.
|
||||
# Note that this is both a different calling convention and
|
||||
# different file format than that of GNU-EFI
|
||||
# (x86_64-w64-mingw32).
|
||||
uefi)
|
||||
;;
|
||||
none)
|
||||
;;
|
||||
kernel* | msvc* )
|
||||
# Restricted further below
|
||||
;;
|
||||
'')
|
||||
if test x"$obj" = x
|
||||
then
|
||||
echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
|
||||
echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
case $obj in
|
||||
aout* | coff* | elf* | pe*)
|
||||
;;
|
||||
'')
|
||||
# empty is fine
|
||||
;;
|
||||
*)
|
||||
echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Here we handle the constraint that a (synthetic) cpu and os are
|
||||
# valid only in combination with each other and nowhere else.
|
||||
case $cpu-$os in
|
||||
# The "javascript-unknown-ghcjs" triple is used by GHC; we
|
||||
# accept it here in order to tolerate that, but reject any
|
||||
# variations.
|
||||
javascript-ghcjs)
|
||||
;;
|
||||
javascript-* | *-ghcjs)
|
||||
echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# As a final step for OS-related things, validate the OS-kernel combination
|
||||
# (given a valid OS), if there is a kernel.
|
||||
case $kernel-$os in
|
||||
linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* )
|
||||
case $kernel-$os-$obj in
|
||||
linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \
|
||||
| linux-mlibc*- | linux-musl*- | linux-newlib*- \
|
||||
| linux-relibc*- | linux-uclibc*- )
|
||||
;;
|
||||
-dietlibc* | -newlib* | -musl* | -uclibc* )
|
||||
uclinux-uclibc*- )
|
||||
;;
|
||||
managarm-mlibc*- | managarm-kernel*- )
|
||||
;;
|
||||
windows*-msvc*-)
|
||||
;;
|
||||
-dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \
|
||||
| -uclibc*- )
|
||||
# These are just libc implementations, not actual OSes, and thus
|
||||
# require a kernel.
|
||||
echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
|
||||
echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
kfreebsd*-gnu* | kopensolaris*-gnu*)
|
||||
-kernel*- )
|
||||
echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
nto-qnx*)
|
||||
*-kernel*- )
|
||||
echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
*-eabi* | *-gnueabi*)
|
||||
*-msvc*- )
|
||||
echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
-*)
|
||||
kfreebsd*-gnu*- | kopensolaris*-gnu*-)
|
||||
;;
|
||||
vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-)
|
||||
;;
|
||||
nto-qnx*-)
|
||||
;;
|
||||
os2-emx-)
|
||||
;;
|
||||
*-eabi*- | *-gnueabi*-)
|
||||
;;
|
||||
none--*)
|
||||
# None (no kernel, i.e. freestanding / bare metal),
|
||||
# can be paired with an machine code file format
|
||||
;;
|
||||
-*-)
|
||||
# Blank kernel with real OS is always fine.
|
||||
;;
|
||||
*-*)
|
||||
echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
|
||||
--*)
|
||||
# Blank kernel and OS with real machine code file format is always fine.
|
||||
;;
|
||||
*-*-*)
|
||||
echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -1840,7 +1960,7 @@ case $vendor in
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "$cpu-$vendor-${kernel:+$kernel-}$os"
|
||||
echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}"
|
||||
exit
|
||||
|
||||
# Local variables:
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
# #
|
||||
#########################################################################
|
||||
|
||||
os=${LDEARCH:-`./config.guess`}
|
||||
SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
|
||||
os=${LDEARCH:-`$SCRIPTPATH/config.guess`}
|
||||
# o/s switch block
|
||||
case "$os" in
|
||||
m68k-*) echo m68k ;;
|
||||
|
||||
26
bin/makefile-cygwin.x86_64-sdl
Normal file
26
bin/makefile-cygwin.x86_64-sdl
Normal file
@@ -0,0 +1,26 @@
|
||||
# Options for Linux, Intel x86_64 and X-Window
|
||||
|
||||
CC = gcc -m64 $(GCC_CFLAGS) -I/usr/local/include
|
||||
#CC = clang -m64 $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
#
|
||||
# For SDL version 2
|
||||
# -DSDL=2 in XFLAGS and -lSDL2 in LDFLAGS
|
||||
# For SDL version 3
|
||||
# -DSDL=3 in XFLAGS and -lSDL3 in LDFLAGS
|
||||
#
|
||||
XFLAGS = -DSDL=2
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -lm -L/usr/local/lib -lSDL2
|
||||
#
|
||||
LDELDFLAGS =
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
|
||||
4
bin/makefile-cygwin.x86_64-x
Executable file → Normal file
4
bin/makefile-cygwin.x86_64-x
Executable file → Normal file
@@ -1,7 +1,7 @@
|
||||
# Options for Linux, Intel x86_64 and X-Window
|
||||
|
||||
#CC = gcc -m64 $(GCC_CFLAGS)
|
||||
CC = clang -m64 $(CLANG_CFLAGS) -DMAIKO_ENABLE_NETHUB
|
||||
CC = clang -m64 $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
@@ -18,7 +18,7 @@ XFLAGS = -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
@@ -19,7 +19,7 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
|
||||
OPTFLAGS = -O2 -g
|
||||
DEBUGFLAGS = # -DDEBUG -DOPTRACE
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) \
|
||||
-DRELEASE=351 # -DSTACKCHECK -DFSBCHECK -DPCTRACE
|
||||
-DRELEASE=$(RELEASE) # -DSTACKCHECK -DFSBCHECK -DPCTRACE
|
||||
|
||||
LDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
|
||||
26
bin/makefile-darwin.aarch64-sdl
Normal file
26
bin/makefile-darwin.aarch64-sdl
Normal file
@@ -0,0 +1,26 @@
|
||||
# Options for MacOS, arm64 (aka aarch64) processor, SDL
|
||||
|
||||
CC = clang -target aarch64-apple-darwin $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
#
|
||||
# For SDL version 2
|
||||
# -DSDL=2 in SDLFLAGS and -framework SDL2 in LDFLAGS
|
||||
# For SDL version 3
|
||||
# -DSDL=3 in SDLFLAGS and -framework SDL3 in LDFLAGS
|
||||
#
|
||||
|
||||
SDLFLAGS = -DSDL=2 -F /Library/Frameworks
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g
|
||||
DEBUGFLAGS = # -DDEBUG -DOPTRACE
|
||||
DFLAGS = $(DEBUGFLAGS) $(SDLFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -rpath /Library/Frameworks -F /Library/Frameworks -framework SDL2
|
||||
LDELDFLAGS =
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
|
||||
@@ -1,6 +1,6 @@
|
||||
# Options for MacOS, x86 processor, X windows
|
||||
# Options for MacOS, arm64 (aka aarch64) processor, X windows
|
||||
|
||||
CC = clang $(CLANG_CFLAGS)
|
||||
CC = clang -target aarch64-apple-darwin $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
@@ -18,7 +18,7 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2
|
||||
DEBUGFLAGS = # -DDEBUG -DOPTRACE
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
|
||||
@@ -19,7 +19,7 @@ XFLAGS = -I/usr/X11/include -DXWINDOW
|
||||
OPTFLAGS = -O2 -g
|
||||
DEBUGFLAGS = # -DDEBUG -DOPTRACE
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) \
|
||||
-DRELEASE=351
|
||||
-DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lm
|
||||
|
||||
25
bin/makefile-darwin.x86_64-sdl
Normal file
25
bin/makefile-darwin.x86_64-sdl
Normal file
@@ -0,0 +1,25 @@
|
||||
# Options for MacOS, x86 processor, SDL
|
||||
|
||||
CC = clang -m64 -target x86_64-apple-darwin $(CLANG_CFLAGS)
|
||||
|
||||
#
|
||||
# For SDL version 2
|
||||
# -DSDL=2 in SDLFLAGS and -framework SDL2 in LDFLAGS
|
||||
# For SDL version 3
|
||||
# -DSDL=3 in SDLFLAGS and -framework SDL3 in LDFLAGS
|
||||
#
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
SDLFLAGS = -DSDL=2 -F /Library/Frameworks
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g
|
||||
DEBUGFLAGS = # -DDEBUG -DOPTRACE
|
||||
DFLAGS = $(DEBUGFLAGS) $(SDLFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -rpath /Library/Frameworks -F /Library/Frameworks -framework SDL2
|
||||
LDELDFLAGS =
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
|
||||
@@ -1,6 +1,6 @@
|
||||
# Options for MacOS, x86 processor, X windows
|
||||
|
||||
CC = clang -m64 $(CLANG_CFLAGS)
|
||||
CC = clang -target x86_64-apple-darwin $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
@@ -18,7 +18,7 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O1 -g
|
||||
DEBUGFLAGS = # -DDEBUG -DOPTRACE
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
@@ -26,3 +26,4 @@ LDELDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ SRCFILES = conspage.c gcoflow.c shift.c dbgtool.c gcr.c gcrcell.c llstk.
|
||||
OFILES = conspage.obj gcoflow.obj shift.obj dbgtool.obj gcr.obj gcrcell.obj llstk.obj gcscan.obj loopsops.obj storage.obj allocmds.obj dir.obj gvar2.obj lowlev1.obj subr.obj arithops.obj lowlev2.obj subr0374.obj doscomm.obj hardrtn.obj lsthandl.obj sxhash.obj draw.obj main.obj testtool.obj array.obj dsk.obj inet.obj misc7.obj timer.obj array2.obj dspif.obj initdsp.obj miscn.obj typeof.obj array3.obj initkbd.obj ubf1.obj array4.obj dspsubrs.obj initsout.obj mkatom.obj ubf2.obj array5.obj eqf.obj intcall.obj mkcell.obj ubf3.obj array6.obj ether.obj ufn.obj atom.obj findkey.obj kbdsubrs.obj mouseif.obj ufs.obj bbtsub.obj foreign.obj keyevent.obj unixcomm.obj bin.obj fp.obj binds.obj fvar.obj mvs.obj unwind.obj bitblt.obj gc.obj uraid.obj blt.obj gc2.obj kprint.obj osmsg.obj usrsubr.obj byteswap.obj gcarray.obj perrno.obj uutils.obj carcdr.obj asmbbt.obj gccode.obj vars3.obj gcfinal.obj ldsout.obj return.obj vmemsave.obj chardev.obj gchtfind.obj lineblt8.obj rpc.obj xc.obj common.obj gcmain3.obj lisp2c.obj rplcons.obj z2.obj vdate.obj $(COLORFILES) $(ARCHFILES) $(LPFILES)
|
||||
|
||||
|
||||
HFILES = address.h adr68k.h arithopsdefs.h arith.h cell.h dbprint.h display.h dspif.h ifpage.h iopage.h lispemul.h lispmap.h lsptypes.h miscstat.h lspglob.h array.h bb.h bitblt.h debug.h devconf.h dspdata.h ether.h fast_dsp.h gcdata.h hdw_conf.h initatms.h inlinec.h keyboard.h lispver1.h lispver2.h lldsp.h locfile.h medleyfp.h mouseif.h my.h opcodes.h osmsg.h pilotbbt.h print.h return.h stack.h stream.h subrs.h timeout.h tos1defs.h tosfns.h tosret.h vmemsave.h xdefs.h xbitmaps.h xkeymap.h
|
||||
HFILES = address.h adr68k.h arithopsdefs.h arith.h cell.h dbprint.h display.h dspif.h ifpage.h iopage.h lispemul.h lispmap.h lsptypes.h miscstat.h lspglob.h array.h bb.h bbtmacro.h debug.h devconf.h dspdata.h fast_dsp.h gcdata.h initatms.h inlinec.h keyboard.h lispver1.h lldsp.h locfile.h medleyfp.h mouseif.h my.h opcodes.h osmsgprint.h pilotbbt.h print.h retmacro.h stack.h stream.h subrs.h timeout.h tos1defs.h tosfns.h tosret.h xdefs.h xbitmaps.h xkeymap.h
|
||||
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ emul.exe : $(OFILES)
|
||||
del copts
|
||||
@ echo "Executable is now named '$@'"
|
||||
|
||||
main.o : lispemul.h address.h lsptypes.h adr68k.h stack.h lspglob.h lispmap.h ifpage.h iopage.h return.h debug.h
|
||||
main.o : lispemul.h address.h lsptypes.h adr68k.h stack.h lspglob.h lispmap.h ifpage.h iopage.h retmacro.h debug.h
|
||||
|
||||
|
||||
|
||||
|
||||
40
bin/makefile-emscripten.wasm-wasm
Normal file
40
bin/makefile-emscripten.wasm-wasm
Normal file
@@ -0,0 +1,40 @@
|
||||
# Options for Emscripten, WASM and SDL
|
||||
|
||||
CC = emcc $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
#
|
||||
# For SDL version 2
|
||||
# -DSDL=2 and -sUSE_SDL=2 in XFLAGS and -sUSE_SDL=2 in LDFLAGS
|
||||
# For SDL version 3
|
||||
# -DSDL=3 and -sUSE_SDL=3 in XFLAGS and -sUSE_SDL=3 in LDFLAGS
|
||||
#
|
||||
XFLAGS = -DSDL=2 -sUSE_SDL=2
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -DMAIKO_ENABLE_NETHUB
|
||||
|
||||
MEDLEY?=../../medley
|
||||
SYSOUT?=$(MEDLEY)/loadups/full.sysout
|
||||
|
||||
LD = emcc
|
||||
LDFLAGS = -sUSE_SDL=2 -sASYNCIFY -sALLOW_MEMORY_GROWTH -sEXIT_RUNTIME=1 \
|
||||
--preload-file $(SYSOUT)@medley/loadups/full.sysout \
|
||||
--preload-file $(MEDLEY)/loadups/whereis.hash@medley/loadups/whereis.hash \
|
||||
--preload-file $(MEDLEY)/greetfiles/MEDLEYDIR-INIT.LCOM@usr/local/lde/site-init.lisp \
|
||||
--preload-file $(MEDLEY)/docs/@medley/docs \
|
||||
--preload-file $(MEDLEY)/doctools/@medley/doctools \
|
||||
--preload-file $(MEDLEY)/greetfiles/@medley/greetfiles \
|
||||
--preload-file $(MEDLEY)/internal/@medley/internal \
|
||||
--preload-file $(MEDLEY)/sources/@medley/sources \
|
||||
--preload-file $(MEDLEY)/library/@medley/library \
|
||||
--preload-file $(MEDLEY)/lispusers/@medley/lispusers \
|
||||
--preload-file $(MEDLEY)/fonts/@medley/fonts
|
||||
|
||||
LDELDFLAGS =
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/ldesdl.js
|
||||
29
bin/makefile-emscripten.wasm_nl-wasm_nl
Normal file
29
bin/makefile-emscripten.wasm_nl-wasm_nl
Normal file
@@ -0,0 +1,29 @@
|
||||
# Options for Emscripten, WASM and SDL
|
||||
|
||||
CC = emcc $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
#
|
||||
# For SDL version 2
|
||||
# -DSDL=2 and -sUSE_SDL=2 in XFLAGS and -sUSE_SDL=2 in LDFLAGS
|
||||
# For SDL version 3
|
||||
# -DSDL=3 and -sUSE_SDL=3 in XFLAGS and -sUSE_SDL=3 in LDFLAGS
|
||||
#
|
||||
XFLAGS = -DSDL=2 -sUSE_SDL=2
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -DMAIKO_ENABLE_NETHUB
|
||||
|
||||
MEDLEY?=../../medley
|
||||
SYSOUT?=$(MEDLEY)/loadups/full.sysout
|
||||
|
||||
LD = emcc
|
||||
LDFLAGS = -sUSE_SDL=2 -sASYNCIFY -sALLOW_MEMORY_GROWTH -sEXIT_RUNTIME=1 -sFORCE_FILESYSTEM -sLZ4
|
||||
|
||||
LDELDFLAGS =
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/ldesdl.js
|
||||
24
bin/makefile-freebsd.386-sdl
Normal file
24
bin/makefile-freebsd.386-sdl
Normal file
@@ -0,0 +1,24 @@
|
||||
# Options for FreeBSD, Intel 386/486 and SDL
|
||||
|
||||
CC = clang -m32 $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
#
|
||||
# For SDL version 2
|
||||
# -DSDL=2 in SDLFLAGS and -lSDL2 in LDFLAGS
|
||||
# For SDL version 3
|
||||
# -DSDL=3 in SDLFLAGS and -lSDL3 in LDFLAGS
|
||||
#
|
||||
SDLFLAGS = -DSDL=2 -I/usr/local/include
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g
|
||||
DFLAGS = $(SDLFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/usr/local/lib -lSDL2 -lm
|
||||
LDELDFLAGS =
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
|
||||
@@ -17,7 +17,7 @@ XFLAGS = -I/usr/local/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
|
||||
24
bin/makefile-freebsd.aarch64-sdl
Normal file
24
bin/makefile-freebsd.aarch64-sdl
Normal file
@@ -0,0 +1,24 @@
|
||||
# Options for FreeBSD, ARM64 and SDL
|
||||
|
||||
CC = clang -m64 $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
#
|
||||
# For SDL version 2
|
||||
# -DSDL=2 in SDLFLAGS and -lSDL2 in LDFLAGS
|
||||
# For SDL version 3
|
||||
# -DSDL=3 in SDLFLAGS and -lSDL3 in LDFLAGS
|
||||
#
|
||||
SDLFLAGS = -DSDL=2 -I/usr/local/include
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g
|
||||
DFLAGS = $(SDLFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/usr/local/lib -lSDL2 -lm
|
||||
LDELDFLAGS =
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
|
||||
@@ -17,7 +17,7 @@ XFLAGS = -I/usr/local/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
|
||||
24
bin/makefile-freebsd.x86_64-sdl
Normal file
24
bin/makefile-freebsd.x86_64-sdl
Normal file
@@ -0,0 +1,24 @@
|
||||
# Options for FreeBSD, Intel x86_64 and X-Windows
|
||||
|
||||
CC = clang -m64 $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
#
|
||||
# For SDL version 2
|
||||
# -DSDL=2 in SDLFLAGS and -lSDL2 in LDFLAGS
|
||||
# For SDL version 3
|
||||
# -DSDL=3 in SDLFLAGS and -lSDL3 in LDFLAGS
|
||||
#
|
||||
SDLFLAGS = -DSDL=2 -I/usr/local/include
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g
|
||||
DFLAGS = $(SDLFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/usr/local/lib -lSDL2 -lm
|
||||
LDELDFLAGS =
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
|
||||
@@ -17,7 +17,7 @@ XFLAGS = -I/usr/local/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
|
||||
25
bin/makefile-haiku.x86_64-sdl
Normal file
25
bin/makefile-haiku.x86_64-sdl
Normal file
@@ -0,0 +1,25 @@
|
||||
# Options for Haiku, Intel x86_64 and SDL
|
||||
|
||||
CC = gcc -m64 $(GCC_CFLAGS)
|
||||
# CC = clang -m64 $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
#
|
||||
# For SDL version 2
|
||||
# -DSDL=2 in XFLAGS and -lSDL2 in LDFLAGS
|
||||
# For SDL version 3
|
||||
# -DSDL=3 in XFLAGS and -lSDL3 in LDFLAGS
|
||||
#
|
||||
XFLAGS = -DSDL=2
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -lSDL2 -lnetwork
|
||||
LDELDFLAGS = -lnetwork -lbsd
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
|
||||
@@ -18,7 +18,7 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
|
||||
# OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it
|
||||
OPTFLAGS = -O0 -g
|
||||
DEBUGFLAGS =
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lm
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Options for MacOS, aarch64 processor, X windows, for INIT processing
|
||||
|
||||
CC = clang $(CLANG_CFLAGS)
|
||||
CC = clang -target aarch64-apple-darwin $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
@@ -18,7 +18,7 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O0 -g3
|
||||
DEBUGFLAGS = # -DDEBUG -DOPTRACE
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Options for MacOS, x86_64 processor, X windows, for INIT processing
|
||||
|
||||
CC = clang -m64 $(CLANG_CFLAGS)
|
||||
CC = clang -m64 -target x86_64-apple-darwin $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
@@ -18,7 +18,7 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O0 -g
|
||||
DEBUGFLAGS = # -DDEBUG -DOPTRACE
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
|
||||
@@ -17,7 +17,7 @@ XFLAGS = -I/usr/local/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O0 for init
|
||||
OPTFLAGS = -O0 -g
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
|
||||
@@ -17,7 +17,7 @@ XFLAGS = -I/usr/local/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O0 for init
|
||||
OPTFLAGS = -O0 -g
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
|
||||
@@ -17,7 +17,7 @@ XFLAGS = -I/usr/local/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O0 for init
|
||||
OPTFLAGS = -O0 -g
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
|
||||
29
bin/makefile-init-linux.aarch64
Normal file
29
bin/makefile-init-linux.aarch64
Normal file
@@ -0,0 +1,29 @@
|
||||
# Options for Linux, aarch64 processor, X windows, for INIT processing
|
||||
|
||||
CC = gcc $(GCC_CFLAGS)
|
||||
#CC = clang $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
$(OBJECTDIR)dspif.o \
|
||||
$(OBJECTDIR)xinit.o \
|
||||
$(OBJECTDIR)xscroll.o \
|
||||
$(OBJECTDIR)xcursor.o \
|
||||
$(OBJECTDIR)xlspwin.o \
|
||||
$(OBJECTDIR)xrdopt.o \
|
||||
$(OBJECTDIR)xwinman.o
|
||||
|
||||
|
||||
XFLAGS = -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it
|
||||
OPTFLAGS = -O0 -g
|
||||
DEBUGFLAGS =
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/ldeinit
|
||||
@@ -1,7 +1,7 @@
|
||||
# Options for Linux, x86 processor, X windows, for INIT processing
|
||||
|
||||
#CC = gcc -m64 $(GCC_CFLAGS)
|
||||
CC = clang -m64 $(CLANG_CFLAGS)
|
||||
CC = gcc $(GCC_CFLAGS)
|
||||
#CC = clang $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
@@ -19,7 +19,7 @@ XFLAGS = -DXWINDOW
|
||||
# OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it
|
||||
OPTFLAGS = -O0 -g
|
||||
DEBUGFLAGS =
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
27
bin/makefile-init-openbsd.x86_64
Normal file
27
bin/makefile-init-openbsd.x86_64
Normal file
@@ -0,0 +1,27 @@
|
||||
# Options for OpenBSD, Intel x86_64 and X-Window
|
||||
|
||||
CC = clang -m64 $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
$(OBJECTDIR)dspif.o \
|
||||
$(OBJECTDIR)xinit.o \
|
||||
$(OBJECTDIR)xscroll.o \
|
||||
$(OBJECTDIR)xcursor.o \
|
||||
$(OBJECTDIR)xlspwin.o \
|
||||
$(OBJECTDIR)xrdopt.o \
|
||||
$(OBJECTDIR)xwinman.o
|
||||
|
||||
|
||||
XFLAGS = -I/usr/X11R6/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/usr/X11R6/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11R6/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/ldeinit
|
||||
@@ -50,7 +50,7 @@ DFLAGS = -DINIT \
|
||||
$(XFLAGS) \
|
||||
$(DEBUGFLAGS) \
|
||||
$(MACHINEFLAGS) \
|
||||
-DNOVERSION -DRELEASE=351
|
||||
-DNOVERSION -DRELEASE=$(RELEASE)
|
||||
|
||||
|
||||
LDFLAGS = -lX11 -lc -lm -lsocket -lnsl
|
||||
|
||||
29
bin/makefile-init-wsl1.aarch64
Normal file
29
bin/makefile-init-wsl1.aarch64
Normal file
@@ -0,0 +1,29 @@
|
||||
# Options for Windows System for Linux v1, aarch64 processor, X windows, for INIT processing
|
||||
|
||||
CC = gcc $(GCC_CFLAGS)
|
||||
#CC = clang $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
$(OBJECTDIR)dspif.o \
|
||||
$(OBJECTDIR)xinit.o \
|
||||
$(OBJECTDIR)xscroll.o \
|
||||
$(OBJECTDIR)xcursor.o \
|
||||
$(OBJECTDIR)xlspwin.o \
|
||||
$(OBJECTDIR)xrdopt.o \
|
||||
$(OBJECTDIR)xwinman.o
|
||||
|
||||
|
||||
XFLAGS = -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it
|
||||
OPTFLAGS = -O0 -g
|
||||
DEBUGFLAGS =
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT -D__wsl1__
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/ldeinit
|
||||
29
bin/makefile-init-wsl1.x86_64
Normal file
29
bin/makefile-init-wsl1.x86_64
Normal file
@@ -0,0 +1,29 @@
|
||||
# Options for Windows System for Linux v1, Intel x86_64 processor, X windows, for INIT processing
|
||||
|
||||
CC = gcc $(GCC_CFLAGS)
|
||||
#CC = clang $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
$(OBJECTDIR)dspif.o \
|
||||
$(OBJECTDIR)xinit.o \
|
||||
$(OBJECTDIR)xscroll.o \
|
||||
$(OBJECTDIR)xcursor.o \
|
||||
$(OBJECTDIR)xlspwin.o \
|
||||
$(OBJECTDIR)xrdopt.o \
|
||||
$(OBJECTDIR)xwinman.o
|
||||
|
||||
|
||||
XFLAGS = -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2, for INIT we want unoptimized in case we need to debug it
|
||||
OPTFLAGS = -O0 -g
|
||||
DEBUGFLAGS =
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=$(RELEASE) -DNOVERSION -DINIT -D__wsl1__
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/ldeinit
|
||||
25
bin/makefile-linux.386-sdl
Normal file
25
bin/makefile-linux.386-sdl
Normal file
@@ -0,0 +1,25 @@
|
||||
# Options for Linux, Intel 386/486 and SDL
|
||||
|
||||
CC = gcc -m32 $(GCC_CFLAGS)
|
||||
# CC = clang $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
#
|
||||
# For SDL version 2
|
||||
# -DSDL=2 in XFLAGS and -lSDL2 in LDFLAGS
|
||||
# For SDL version 3
|
||||
# -DSDL=3 in XFLAGS and -lSDL3 in LDFLAGS
|
||||
#
|
||||
XFLAGS = -DSDL=2
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -lm -lSDL2
|
||||
LDELDFLAGS =
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
|
||||
@@ -1,7 +1,8 @@
|
||||
# Options for Linux, Intel 386/486 and X-Window
|
||||
|
||||
#CC = gcc -m32 $(GCC_CFLAGS)
|
||||
CC = clang -m32 $(CLANG_CFLAGS)
|
||||
CC = gcc -m32 $(GCC_CFLAGS)
|
||||
# CC = clang -m32 $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
$(OBJECTDIR)dspif.o \
|
||||
@@ -12,12 +13,11 @@ XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xrdopt.o \
|
||||
$(OBJECTDIR)xwinman.o
|
||||
|
||||
|
||||
XFLAGS = -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
25
bin/makefile-linux.aarch64-sdl
Normal file
25
bin/makefile-linux.aarch64-sdl
Normal file
@@ -0,0 +1,25 @@
|
||||
# Options for Linux, ARM64 and SDL
|
||||
|
||||
CC = gcc $(GCC_CFLAGS)
|
||||
#CC = clang $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
#
|
||||
# For SDL version 2
|
||||
# -DSDL=2 in SDLFLAGS and -lSDL2 in LDFLAGS
|
||||
# For SDL version 3
|
||||
# -DSDL=3 in SDLFLAGS and -lSDL3 in LDFLAGS
|
||||
#
|
||||
SDLFLAGS = -DSDL=2
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(SDLFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -lSDL2 -lm
|
||||
LDELDFLAGS =
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
|
||||
@@ -1,4 +1,4 @@
|
||||
# Options for Linux, ARMv7 and X-Window
|
||||
# Options for Linux, aarch64 and X-Window
|
||||
|
||||
CC = gcc $(GCC_CFLAGS)
|
||||
#CC = clang $(CLANG_CFLAGS)
|
||||
@@ -17,7 +17,7 @@ XFLAGS = -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
25
bin/makefile-linux.armv7l-sdl
Normal file
25
bin/makefile-linux.armv7l-sdl
Normal file
@@ -0,0 +1,25 @@
|
||||
# Options for Linux, ARMv7 and SDL
|
||||
|
||||
CC = gcc $(GCC_CFLAGS)
|
||||
#CC = clang $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
#
|
||||
# For SDL version 2
|
||||
# -DSDL=2 in XFLAGS and -lSDL2 in LDFLAGS
|
||||
# For SDL version 3
|
||||
# -DSDL=3 in XFLAGS and -lSDL3 in LDFLAGS
|
||||
#
|
||||
XFLAGS = -DSDL=2
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -lm -lSDL2
|
||||
LDELDFLAGS =
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
|
||||
@@ -17,7 +17,7 @@ XFLAGS = -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
25
bin/makefile-linux.x86_64-sdl
Normal file
25
bin/makefile-linux.x86_64-sdl
Normal file
@@ -0,0 +1,25 @@
|
||||
# Options for Linux, Intel x86_64 and SDL
|
||||
|
||||
CC = gcc -m64 $(GCC_CFLAGS)
|
||||
# CC = clang -m64 $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
#
|
||||
# For SDL version 2
|
||||
# -DSDL=2 in XFLAGS and -lSDL2 in LDFLAGS
|
||||
# For SDL version 3
|
||||
# -DSDL=3 in XFLAGS and -lSDL3 in LDFLAGS
|
||||
#
|
||||
XFLAGS = -DSDL=2
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -lm -lSDL2
|
||||
LDELDFLAGS =
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
|
||||
@@ -1,7 +1,7 @@
|
||||
# Options for Linux, Intel x86_64 and X-Window
|
||||
|
||||
#CC = gcc -m64 $(GCC_CFLAGS)
|
||||
CC = clang -m64 $(CLANG_CFLAGS) -DMAIKO_ENABLE_NETHUB
|
||||
CC = gcc -m64 $(GCC_CFLAGS)
|
||||
# CC = clang -m64 $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
@@ -18,7 +18,7 @@ XFLAGS = -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
@@ -17,7 +17,7 @@ XFLAGS = -I/usr/X11R6/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/usr/X11R6/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11R6/lib -lX11 -lc -lm
|
||||
|
||||
@@ -36,7 +36,7 @@ DEBUGFLAGS = # -DSTACKCHECK -DFNSTKCHECK
|
||||
DFLAGS = $(XFLAGS) \
|
||||
$(DEBUGFLAGS) \
|
||||
-DOS5 \
|
||||
-DRELEASE=351
|
||||
-DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lsocket -lnsl
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lsocket -lnsl
|
||||
|
||||
@@ -45,7 +45,7 @@ MACHINEFLAGS = -DOS5 -DUSE_DLPI
|
||||
DFLAGS = $(XFLAGS) \
|
||||
$(DEBUGFLAGS) \
|
||||
$(MACHINEFLAGS) \
|
||||
-DRELEASE=351
|
||||
-DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -lX11 -lc -lm -lsocket -lnsl
|
||||
LDELDFLAGS = -lX11 -lc -lm -lsocket -lnsl
|
||||
|
||||
@@ -37,7 +37,7 @@ DFLAGS = $(XFLAGS) \
|
||||
$(DEBUGFLAGS) \
|
||||
-DOS5 \
|
||||
-DUSE_DLPI \
|
||||
-DRELEASE=351
|
||||
-DRELEASE=$(RELEASE)
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lsocket -lnsl
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lsocket -lnsl
|
||||
|
||||
@@ -192,7 +192,7 @@ $(OBJECTDIR)ldeether.o: $(SRCDIR)ldeether.c $(REQUIRED-INCS)
|
||||
$(OBJECTDIR)main.o: $(SRCDIR)main.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)dbprint.h \
|
||||
$(INCDIR)emlglob.h $(INCDIR)address.h $(INCDIR)adr68k.h $(INCDIR)stack.h \
|
||||
$(INCDIR)return.h $(INCDIR)lspglob.h $(INCDIR)ifpage.h $(INCDIR)iopage.h \
|
||||
$(INCDIR)retmacro.h $(INCDIR)lspglob.h $(INCDIR)ifpage.h $(INCDIR)iopage.h \
|
||||
$(INCDIR)miscstat.h $(INCDIR)lsptypes.h $(INCDIR)lispmap.h $(INCDIR)debug.h \
|
||||
$(INCDIR)timeout.h $(INCDIR)maindefs.h $(INCDIR)commondefs.h \
|
||||
$(INCDIR)dirdefs.h $(INCDIR)dspifdefs.h $(INCDIR)devif.h \
|
||||
@@ -292,7 +292,7 @@ $(OBJECTDIR)bitblt.o: $(SRCDIR)bitblt.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lspglob.h \
|
||||
$(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)lispmap.h \
|
||||
$(INCDIR)adr68k.h $(INCDIR)address.h $(INCDIR)pilotbbt.h $(INCDIR)display.h \
|
||||
$(INCDIR)bitblt.h $(INCDIR)bb.h $(INCDIR)bitbltdefs.h $(INCDIR)initdspdefs.h
|
||||
$(INCDIR)bbtmacro.h $(INCDIR)bb.h $(INCDIR)bitbltdefs.h $(INCDIR)initdspdefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)bitblt.c -o $(OBJECTDIR)bitblt.o
|
||||
|
||||
$(OBJECTDIR)bbt68k.o: $(OBJECTDIR)bbt68k.i $(SRCDIR)bbt68k.s
|
||||
@@ -308,10 +308,10 @@ $(OBJECTDIR)bbtsub.o: $(SRCDIR)bbtsub.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)xdefs.h $(INCDIR)lispemul.h $(INCDIR)lspglob.h $(INCDIR)ifpage.h \
|
||||
$(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)lispmap.h $(INCDIR)lsptypes.h \
|
||||
$(INCDIR)emlglob.h $(INCDIR)adr68k.h $(INCDIR)address.h $(INCDIR)arith.h \
|
||||
$(INCDIR)stack.h $(INCDIR)return.h $(INCDIR)cell.h $(INCDIR)gcdata.h \
|
||||
$(INCDIR)stack.h $(INCDIR)retmacro.h $(INCDIR)cell.h $(INCDIR)gcdata.h \
|
||||
$(INCDIR)bbtsubdefs.h $(INCDIR)car-cdrdefs.h $(INCDIR)commondefs.h \
|
||||
$(INCDIR)gcarraydefs.h $(INCDIR)initdspdefs.h $(INCDIR)kprintdefs.h \
|
||||
$(INCDIR)llstkdefs.h $(INCDIR)returndefs.h $(INCDIR)bb.h $(INCDIR)bitblt.h \
|
||||
$(INCDIR)llstkdefs.h $(INCDIR)returndefs.h $(INCDIR)bb.h $(INCDIR)bbtmacro.h \
|
||||
$(INCDIR)pilotbbt.h $(INCDIR)dspdata.h $(INCDIR)display.h $(INCDIR)dbprint.h \
|
||||
$(INCDIR)devif.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)bbtsub.c -o $(OBJECTDIR)bbtsub.o
|
||||
@@ -324,7 +324,7 @@ $(OBJECTDIR)blt.o: $(SRCDIR)blt.c $(REQUIRED-INCS) \
|
||||
$(CC) $(RFLAGS) $(SRCDIR)blt.c -o $(OBJECTDIR)blt.o
|
||||
|
||||
$(OBJECTDIR)byteswap.o: $(SRCDIR)byteswap.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)hdw_conf.h $(INCDIR)lispemul.h \
|
||||
$(INCDIR)lispemul.h \
|
||||
$(INCDIR)lispmap.h $(INCDIR)lsptypes.h $(INCDIR)stack.h \
|
||||
$(INCDIR)byteswapdefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)byteswap.c -o $(OBJECTDIR)byteswap.o
|
||||
@@ -340,7 +340,7 @@ $(OBJECTDIR)car-cdr.o: $(SRCDIR)car-cdr.c $(REQUIRED-INCS) \
|
||||
$(OBJECTDIR)chardev.o: $(SRCDIR)chardev.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lispmap.h \
|
||||
$(INCDIR)adr68k.h $(INCDIR)lsptypes.h $(INCDIR)arith.h $(INCDIR)timeout.h \
|
||||
$(INCDIR)locfile.h $(INCDIR)lispver2.h $(INCDIR)osmsg.h $(INCDIR)dbprint.h \
|
||||
$(INCDIR)locfile.h $(INCDIR)dbprint.h \
|
||||
$(INCDIR)chardevdefs.h $(INCDIR)byteswapdefs.h $(INCDIR)commondefs.h \
|
||||
$(INCDIR)perrnodefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)chardev.c -o $(OBJECTDIR)chardev.o
|
||||
@@ -348,7 +348,7 @@ $(OBJECTDIR)chardev.o: $(SRCDIR)chardev.c $(REQUIRED-INCS) \
|
||||
$(OBJECTDIR)rawcolor.o: $(SRCDIR)rawcolor.c $(REQUIRED-INCS) $(INCDIR)lispemul.h \
|
||||
$(INCDIR)lspglob.h $(INCDIR)lispmap.h $(INCDIR)lsptypes.h \
|
||||
$(INCDIR)emlglob.h $(INCDIR)adr68k.h $(INCDIR)address.h \
|
||||
$(INCDIR)pilotbbt.h $(INCDIR)display.h $(INCDIR)bitblt.h \
|
||||
$(INCDIR)pilotbbt.h $(INCDIR)display.h $(INCDIR)bbtmacro.h \
|
||||
$(INCDIR)arith.h $(INCDIR)cell.h $(INCDIR)dspdata.h $(INCDIR)debug.h \
|
||||
$(INCDIR)stream.h $(INCDIR)bbtsubdefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)rawcolor.c -o $(OBJECTDIR)rawcolor.o
|
||||
@@ -357,7 +357,7 @@ $(OBJECTDIR)llcolor.o: $(SRCDIR)llcolor.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lispmap.h \
|
||||
$(INCDIR)lsptypes.h $(INCDIR)address.h $(INCDIR)adr68k.h $(INCDIR)lspglob.h \
|
||||
$(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)emlglob.h \
|
||||
$(INCDIR)display.h $(INCDIR)devconf.h $(INCDIR)bb.h $(INCDIR)bitblt.h \
|
||||
$(INCDIR)display.h $(INCDIR)devconf.h $(INCDIR)bb.h $(INCDIR)bbtmacro.h \
|
||||
$(INCDIR)pilotbbt.h $(INCDIR)dbprint.h $(INCDIR)llcolordefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)llcolor.c -o $(OBJECTDIR)llcolor.o
|
||||
|
||||
@@ -391,7 +391,7 @@ $(OBJECTDIR)mkcell.o: $(SRCDIR)mkcell.c $(REQUIRED-INCS) \
|
||||
$(OBJECTDIR)draw.o: $(SRCDIR)draw.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lspglob.h \
|
||||
$(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)lispmap.h \
|
||||
$(INCDIR)lsptypes.h $(INCDIR)emlglob.h $(INCDIR)adr68k.h $(INCDIR)bitblt.h \
|
||||
$(INCDIR)lsptypes.h $(INCDIR)emlglob.h $(INCDIR)adr68k.h $(INCDIR)bbtmacro.h \
|
||||
$(INCDIR)display.h $(INCDIR)drawdefs.h $(INCDIR)bbtsubdefs.h \
|
||||
$(INCDIR)initdspdefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)draw.c -o $(OBJECTDIR)draw.o
|
||||
@@ -423,7 +423,7 @@ $(OBJECTDIR)fp.o: $(SRCDIR)fp.c $(REQUIRED-INCS) \
|
||||
$(OBJECTDIR)intcall.o: $(SRCDIR)intcall.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)address.h \
|
||||
$(INCDIR)adr68k.h $(INCDIR)lsptypes.h $(INCDIR)lispmap.h $(INCDIR)stack.h \
|
||||
$(INCDIR)return.h $(INCDIR)emlglob.h $(INCDIR)lspglob.h $(INCDIR)ifpage.h \
|
||||
$(INCDIR)retmacro.h $(INCDIR)emlglob.h $(INCDIR)lspglob.h $(INCDIR)ifpage.h \
|
||||
$(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)initatms.h $(INCDIR)cell.h \
|
||||
$(INCDIR)tosfns.h $(INCDIR)intcalldefs.h $(INCDIR)commondefs.h \
|
||||
$(INCDIR)llstkdefs.h $(INCDIR)returndefs.h
|
||||
@@ -450,7 +450,7 @@ $(OBJECTDIR)ubf3.o: $(SRCDIR)ubf3.c $(REQUIRED-INCS) \
|
||||
$(OBJECTDIR)uutils.o: $(SRCDIR)uutils.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)adr68k.h \
|
||||
$(INCDIR)lsptypes.h $(INCDIR)lspglob.h $(INCDIR)ifpage.h $(INCDIR)iopage.h \
|
||||
$(INCDIR)miscstat.h $(INCDIR)osmsg.h $(INCDIR)keyboard.h $(INCDIR)uutilsdefs.h \
|
||||
$(INCDIR)miscstat.h $(INCDIR)osmsgprint.h $(INCDIR)keyboard.h $(INCDIR)uutilsdefs.h \
|
||||
$(INCDIR)osmsgdefs.h $(INCDIR)uraiddefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)uutils.c -o $(OBJECTDIR)uutils.o
|
||||
|
||||
@@ -478,21 +478,21 @@ $(OBJECTDIR)ether_common.o: $(SRCDIR)ether_common.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)commondefs.h $(INCDIR)lispemul.h \
|
||||
$(INCDIR)lispmap.h $(INCDIR)emlglob.h $(INCDIR)lsptypes.h $(INCDIR)lspglob.h \
|
||||
$(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)adr68k.h \
|
||||
$(INCDIR)ether.h $(INCDIR)dbprint.h $(INCDIR)etherdefs.h
|
||||
$(INCDIR)dbprint.h $(INCDIR)etherdefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)ether_common.c -o $(OBJECTDIR)ether_common.o
|
||||
|
||||
$(OBJECTDIR)ether_sunos.o: $(SRCDIR)ether_sunos.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)commondefs.h $(INCDIR)lispemul.h \
|
||||
$(INCDIR)lispmap.h $(INCDIR)emlglob.h $(INCDIR)lsptypes.h $(INCDIR)lspglob.h \
|
||||
$(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)adr68k.h \
|
||||
$(INCDIR)ether.h $(INCDIR)dbprint.h $(INCDIR)etherdefs.h
|
||||
$(INCDIR)dbprint.h $(INCDIR)etherdefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)ether_sunos.c -o $(OBJECTDIR)ether_sunos.o
|
||||
|
||||
$(OBJECTDIR)ether_nethub.o: $(SRCDIR)ether_nethub.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)commondefs.h $(INCDIR)lispemul.h \
|
||||
$(INCDIR)lispmap.h $(INCDIR)emlglob.h $(INCDIR)lsptypes.h $(INCDIR)lspglob.h \
|
||||
$(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)adr68k.h \
|
||||
$(INCDIR)ether.h $(INCDIR)dbprint.h $(INCDIR)etherdefs.h
|
||||
$(INCDIR)dbprint.h $(INCDIR)etherdefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)ether_nethub.c -o $(OBJECTDIR)ether_nethub.o
|
||||
|
||||
$(OBJECTDIR)findkey.o: $(SRCDIR)findkey.c $(REQUIRED-INCS) \
|
||||
@@ -505,7 +505,7 @@ $(OBJECTDIR)dsk.o: $(SRCDIR)dsk.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lispmap.h \
|
||||
$(INCDIR)adr68k.h $(INCDIR)lsptypes.h $(INCDIR)lspglob.h $(INCDIR)ifpage.h \
|
||||
$(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)arith.h $(INCDIR)stream.h \
|
||||
$(INCDIR)timeout.h $(INCDIR)locfile.h $(INCDIR)lispver2.h $(INCDIR)osmsg.h \
|
||||
$(INCDIR)timeout.h $(INCDIR)locfile.h \
|
||||
$(INCDIR)dbprint.h $(INCDIR)dskdefs.h $(INCDIR)byteswapdefs.h \
|
||||
$(INCDIR)car-cdrdefs.h $(INCDIR)cell.h $(INCDIR)commondefs.h \
|
||||
$(INCDIR)ufsdefs.h
|
||||
@@ -515,7 +515,7 @@ $(OBJECTDIR)ufs.o: $(SRCDIR)ufs.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lispmap.h \
|
||||
$(INCDIR)adr68k.h $(INCDIR)lsptypes.h $(INCDIR)lspglob.h $(INCDIR)ifpage.h \
|
||||
$(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)arith.h $(INCDIR)stream.h \
|
||||
$(INCDIR)timeout.h $(INCDIR)locfile.h $(INCDIR)lispver2.h $(INCDIR)dbprint.h \
|
||||
$(INCDIR)timeout.h $(INCDIR)locfile.h $(INCDIR)dbprint.h \
|
||||
$(INCDIR)ufsdefs.h $(INCDIR)commondefs.h $(INCDIR)dskdefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)ufs.c -o $(OBJECTDIR)ufs.o
|
||||
|
||||
@@ -523,7 +523,7 @@ $(OBJECTDIR)dir.o: $(SRCDIR)dir.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lispmap.h \
|
||||
$(INCDIR)adr68k.h $(INCDIR)lsptypes.h $(INCDIR)arith.h $(INCDIR)lspglob.h \
|
||||
$(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)timeout.h \
|
||||
$(INCDIR)locfile.h $(INCDIR)lispver2.h $(INCDIR)dirdefs.h \
|
||||
$(INCDIR)locfile.h $(INCDIR)dirdefs.h \
|
||||
$(INCDIR)commondefs.h $(INCDIR)dskdefs.h $(INCDIR)ufsdefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)dir.c -o $(OBJECTDIR)dir.o
|
||||
|
||||
@@ -632,7 +632,7 @@ $(OBJECTDIR)hardrtn.o: $(SRCDIR)hardrtn.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lispmap.h \
|
||||
$(INCDIR)lsptypes.h $(INCDIR)adr68k.h $(INCDIR)address.h $(INCDIR)lspglob.h \
|
||||
$(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)emlglob.h \
|
||||
$(INCDIR)cell.h $(INCDIR)stack.h $(INCDIR)return.h $(INCDIR)hardrtndefs.h \
|
||||
$(INCDIR)cell.h $(INCDIR)stack.h $(INCDIR)retmacro.h $(INCDIR)hardrtndefs.h \
|
||||
$(INCDIR)commondefs.h $(INCDIR)llstkdefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)hardrtn.c -o $(OBJECTDIR)hardrtn.o
|
||||
|
||||
@@ -640,7 +640,7 @@ $(OBJECTDIR)inet.o: $(SRCDIR)inet.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lispmap.h \
|
||||
$(INCDIR)lsptypes.h $(INCDIR)arith.h $(INCDIR)emlglob.h $(INCDIR)lspglob.h \
|
||||
$(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)adr68k.h \
|
||||
$(INCDIR)ether.h $(INCDIR)dbprint.h $(INCDIR)locfile.h $(INCDIR)lispver2.h \
|
||||
$(INCDIR)dbprint.h $(INCDIR)locfile.h \
|
||||
$(INCDIR)inetdefs.h $(INCDIR)byteswapdefs.h $(INCDIR)commondefs.h \
|
||||
$(INCDIR)mkcelldefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)inet.c -o $(OBJECTDIR)inet.o
|
||||
@@ -649,7 +649,7 @@ $(OBJECTDIR)initdsp.o: $(SRCDIR)initdsp.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lispmap.h \
|
||||
$(INCDIR)lsptypes.h $(INCDIR)address.h $(INCDIR)adr68k.h $(INCDIR)lspglob.h \
|
||||
$(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)emlglob.h \
|
||||
$(INCDIR)display.h $(INCDIR)devconf.h $(INCDIR)bb.h $(INCDIR)bitblt.h \
|
||||
$(INCDIR)display.h $(INCDIR)devconf.h $(INCDIR)bb.h $(INCDIR)bbtmacro.h \
|
||||
$(INCDIR)pilotbbt.h $(INCDIR)dbprint.h $(INCDIR)initdspdefs.h \
|
||||
$(INCDIR)byteswapdefs.h $(INCDIR)xcursordefs.h $(INCDIR)devif.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)initdsp.c -o $(OBJECTDIR)initdsp.o
|
||||
@@ -663,7 +663,7 @@ $(OBJECTDIR)initkbd.o: $(SRCDIR)initkbd.c $(REQUIRED-INCS) \
|
||||
$(CC) $(RFLAGS) $(SRCDIR)initkbd.c -o $(OBJECTDIR)initkbd.o
|
||||
|
||||
$(OBJECTDIR)initsout.o: $(SRCDIR)initsout.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)hdw_conf.h $(INCDIR)lispemul.h \
|
||||
$(INCDIR)lispemul.h \
|
||||
$(INCDIR)lspglob.h $(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h \
|
||||
$(INCDIR)lsptypes.h $(INCDIR)lispmap.h $(INCDIR)adr68k.h $(INCDIR)cell.h \
|
||||
$(INCDIR)devconf.h $(INCDIR)dbprint.h $(INCDIR)lldsp.h $(INCDIR)gcdata.h \
|
||||
@@ -674,7 +674,7 @@ $(OBJECTDIR)initsout.o: $(SRCDIR)initsout.c $(REQUIRED-INCS) \
|
||||
|
||||
$(OBJECTDIR)kbdsubrs.o: $(SRCDIR)kbdsubrs.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)kbdsubrsdefs.h \
|
||||
$(INCDIR)commondefs.h $(INCDIR)lisp2cdefs.h $(INCDIR)xwinmandefs.h \
|
||||
$(INCDIR)commondefs.h $(INCDIR)xwinmandefs.h \
|
||||
$(INCDIR)devif.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)kbdsubrs.c -o $(OBJECTDIR)kbdsubrs.o
|
||||
|
||||
@@ -682,7 +682,7 @@ $(OBJECTDIR)keyevent.o: $(SRCDIR)keyevent.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lspglob.h \
|
||||
$(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)adr68k.h \
|
||||
$(INCDIR)address.h $(INCDIR)stack.h $(INCDIR)keyboard.h $(INCDIR)display.h \
|
||||
$(INCDIR)lsptypes.h $(INCDIR)bb.h $(INCDIR)bitblt.h $(INCDIR)pilotbbt.h \
|
||||
$(INCDIR)lsptypes.h $(INCDIR)bb.h $(INCDIR)bbtmacro.h $(INCDIR)pilotbbt.h \
|
||||
$(INCDIR)keyeventdefs.h $(INCDIR)osmsgdefs.h $(INCDIR)xwinmandefs.h \
|
||||
$(INCDIR)devif.h $(INCDIR)dbprint.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)keyevent.c -o $(OBJECTDIR)keyevent.o
|
||||
@@ -698,7 +698,7 @@ $(OBJECTDIR)llstk.o: $(SRCDIR)llstk.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lispmap.h \
|
||||
$(INCDIR)adr68k.h $(INCDIR)address.h $(INCDIR)lsptypes.h $(INCDIR)initatms.h \
|
||||
$(INCDIR)lspglob.h $(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h \
|
||||
$(INCDIR)emlglob.h $(INCDIR)cell.h $(INCDIR)stack.h $(INCDIR)return.h \
|
||||
$(INCDIR)emlglob.h $(INCDIR)cell.h $(INCDIR)stack.h $(INCDIR)retmacro.h \
|
||||
$(INCDIR)llstkdefs.h $(INCDIR)commondefs.h $(INCDIR)dbgtooldefs.h \
|
||||
$(INCDIR)testtooldefs.h $(INCDIR)kprintdefs.h $(INCDIR)storagedefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)llstk.c -o $(OBJECTDIR)llstk.o
|
||||
@@ -758,7 +758,7 @@ $(OBJECTDIR)osmsg.o: $(SRCDIR)osmsg.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lispmap.h \
|
||||
$(INCDIR)adr68k.h $(INCDIR)lsptypes.h $(INCDIR)arith.h $(INCDIR)stream.h \
|
||||
$(INCDIR)lspglob.h $(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h \
|
||||
$(INCDIR)timeout.h $(INCDIR)locfile.h $(INCDIR)lispver2.h $(INCDIR)osmsg.h \
|
||||
$(INCDIR)timeout.h $(INCDIR)locfile.h $(INCDIR)osmsgprint.h \
|
||||
$(INCDIR)dbprint.h $(INCDIR)commondefs.h $(INCDIR)osmsgdefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)osmsg.c -o $(OBJECTDIR)osmsg.o
|
||||
|
||||
@@ -766,7 +766,7 @@ $(OBJECTDIR)return.o: $(SRCDIR)return.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)address.h \
|
||||
$(INCDIR)adr68k.h $(INCDIR)lsptypes.h $(INCDIR)lispmap.h $(INCDIR)stack.h \
|
||||
$(INCDIR)emlglob.h $(INCDIR)lspglob.h $(INCDIR)ifpage.h $(INCDIR)iopage.h \
|
||||
$(INCDIR)miscstat.h $(INCDIR)initatms.h $(INCDIR)cell.h $(INCDIR)return.h \
|
||||
$(INCDIR)miscstat.h $(INCDIR)initatms.h $(INCDIR)cell.h $(INCDIR)retmacro.h \
|
||||
$(INCDIR)returndefs.h $(INCDIR)commondefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)return.c -o $(OBJECTDIR)return.o
|
||||
|
||||
@@ -789,7 +789,7 @@ $(OBJECTDIR)shift.o: $(SRCDIR)shift.c $(REQUIRED-INCS) \
|
||||
$(CC) $(RFLAGS) $(SRCDIR)shift.c -o $(OBJECTDIR)shift.o
|
||||
|
||||
$(OBJECTDIR)storage.o: $(SRCDIR)storage.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)hdw_conf.h $(INCDIR)lispemul.h \
|
||||
$(INCDIR)lispemul.h \
|
||||
$(INCDIR)address.h $(INCDIR)adr68k.h $(INCDIR)lispmap.h $(INCDIR)stack.h \
|
||||
$(INCDIR)lspglob.h $(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h \
|
||||
$(INCDIR)cell.h $(INCDIR)lsptypes.h $(INCDIR)gcdata.h $(INCDIR)storagedefs.h \
|
||||
@@ -828,7 +828,7 @@ $(OBJECTDIR)subr0374.o: $(SRCDIR)subr0374.c $(REQUIRED-INCS) \
|
||||
$(CC) $(RFLAGS) $(SRCDIR)subr0374.c -o $(OBJECTDIR)subr0374.o
|
||||
|
||||
$(OBJECTDIR)perrno.o: $(SRCDIR)perrno.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)osmsg.h \
|
||||
$(INCDIR)lispemul.h $(INCDIR)osmsgprint.h \
|
||||
$(INCDIR)perrnodefs.h $(INCDIR)osmsgdefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)perrno.c -o $(OBJECTDIR)perrno.o
|
||||
|
||||
@@ -842,8 +842,8 @@ $(OBJECTDIR)timer.o: $(SRCDIR)timer.c $(REQUIRED-INCS) \
|
||||
|
||||
$(OBJECTDIR)tty.o: $(SRCDIR)tty.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lispmap.h \
|
||||
$(INCDIR)adr68k.h $(INCDIR)lsptypes.h $(INCDIR)lspglob.h $(INCDIR)ifpage.h \
|
||||
$(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)commondefs.h $(INCDIR)tty.h
|
||||
$(INCDIR)adr68k.h $(INCDIR)lsptypes.h $(INCDIR)lspglob.h \
|
||||
$(INCDIR)commondefs.h $(INCDIR)ttydefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)tty.c -o $(OBJECTDIR)tty.o
|
||||
|
||||
$(OBJECTDIR)typeof.o: $(SRCDIR)typeof.c $(REQUIRED-INCS) \
|
||||
@@ -865,7 +865,7 @@ $(OBJECTDIR)unixcomm.o: $(SRCDIR)unixcomm.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lspglob.h $(INCDIR)ifpage.h $(INCDIR)iopage.h $(INCDIR)miscstat.h \
|
||||
$(INCDIR)cell.h $(INCDIR)stack.h $(INCDIR)arith.h $(INCDIR)dbprint.h \
|
||||
$(INCDIR)timeout.h $(INCDIR)unixcommdefs.h $(INCDIR)byteswapdefs.h \
|
||||
$(INCDIR)commondefs.h $(INCDIR)locfile.h $(INCDIR)lispver2.h
|
||||
$(INCDIR)commondefs.h $(INCDIR)locfile.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)unixcomm.c -o $(OBJECTDIR)unixcomm.o
|
||||
|
||||
$(OBJECTDIR)unixfork.o: $(SRCDIR)unixfork.c $(REQUIRED-INCS) \
|
||||
@@ -876,7 +876,7 @@ $(OBJECTDIR)uraid.o: $(SRCDIR)uraid.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lispmap.h \
|
||||
$(INCDIR)adr68k.h $(INCDIR)lsptypes.h $(INCDIR)lspglob.h $(INCDIR)ifpage.h \
|
||||
$(INCDIR)iopage.h $(INCDIR)miscstat.h $(INCDIR)emlglob.h $(INCDIR)cell.h \
|
||||
$(INCDIR)debug.h $(INCDIR)devconf.h $(INCDIR)display.h $(INCDIR)bitblt.h \
|
||||
$(INCDIR)debug.h $(INCDIR)devconf.h $(INCDIR)display.h $(INCDIR)bbtmacro.h \
|
||||
$(INCDIR)uraiddefs.h $(INCDIR)dbgtooldefs.h $(INCDIR)stack.h \
|
||||
$(INCDIR)gcarraydefs.h $(INCDIR)initdspdefs.h $(INCDIR)initkbddefs.h \
|
||||
$(INCDIR)kprintdefs.h $(INCDIR)llstkdefs.h $(INCDIR)mkatomdefs.h \
|
||||
@@ -888,7 +888,7 @@ $(OBJECTDIR)rpc.o: $(SRCDIR)rpc.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)lispmap.h \
|
||||
$(INCDIR)lsptypes.h $(INCDIR)lspglob.h $(INCDIR)ifpage.h $(INCDIR)iopage.h \
|
||||
$(INCDIR)miscstat.h $(INCDIR)emlglob.h $(INCDIR)adr68k.h $(INCDIR)arith.h \
|
||||
$(INCDIR)locfile.h $(INCDIR)lispver2.h $(INCDIR)rpcdefs.h \
|
||||
$(INCDIR)locfile.h $(INCDIR)rpcdefs.h \
|
||||
$(INCDIR)commondefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)rpc.c -o $(OBJECTDIR)rpc.o
|
||||
|
||||
@@ -906,10 +906,10 @@ $(OBJECTDIR)vars3.o: $(SRCDIR)vars3.c $(REQUIRED-INCS) \
|
||||
$(CC) $(RFLAGS) $(SRCDIR)vars3.c -o $(OBJECTDIR)vars3.o
|
||||
|
||||
$(OBJECTDIR)vmemsave.o: $(SRCDIR)vmemsave.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)hdw_conf.h $(INCDIR)lispemul.h \
|
||||
$(INCDIR)lispemul.h \
|
||||
$(INCDIR)lispmap.h $(INCDIR)lspglob.h $(INCDIR)ifpage.h $(INCDIR)iopage.h \
|
||||
$(INCDIR)miscstat.h $(INCDIR)vmemsave.h $(INCDIR)timeout.h $(INCDIR)adr68k.h \
|
||||
$(INCDIR)lsptypes.h $(INCDIR)locfile.h $(INCDIR)lispver2.h $(INCDIR)dbprint.h \
|
||||
$(INCDIR)miscstat.h $(INCDIR)timeout.h $(INCDIR)adr68k.h \
|
||||
$(INCDIR)lsptypes.h $(INCDIR)locfile.h $(INCDIR)dbprint.h \
|
||||
$(INCDIR)devif.h $(INCDIR)vmemsavedefs.h $(INCDIR)byteswapdefs.h $(INCDIR)commondefs.h \
|
||||
$(INCDIR)dskdefs.h $(INCDIR)initkbddefs.h $(INCDIR)perrnodefs.h \
|
||||
$(INCDIR)ufsdefs.h
|
||||
@@ -929,7 +929,7 @@ $(OBJECTDIR)usrsubr.o: $(SRCDIR)usrsubr.c $(REQUIRED-INCS) \
|
||||
|
||||
$(OBJECTDIR)xc.o: $(SRCDIR)xc.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)emlglob.h \
|
||||
$(INCDIR)address.h $(INCDIR)adr68k.h $(INCDIR)stack.h $(INCDIR)return.h \
|
||||
$(INCDIR)address.h $(INCDIR)adr68k.h $(INCDIR)stack.h $(INCDIR)retmacro.h \
|
||||
$(INCDIR)dbprint.h $(INCDIR)lspglob.h $(INCDIR)ifpage.h $(INCDIR)iopage.h \
|
||||
$(INCDIR)miscstat.h $(INCDIR)lsptypes.h $(INCDIR)lispmap.h $(INCDIR)cell.h \
|
||||
$(INCDIR)initatms.h $(INCDIR)gcdata.h $(INCDIR)arith.h $(INCDIR)stream.h \
|
||||
@@ -992,10 +992,13 @@ $(OBJECTDIR)xcursor.o: $(SRCDIR)xcursor.c $(REQUIRED-INCS) \
|
||||
|
||||
$(OBJECTDIR)xwinman.o: $(SRCDIR)xwinman.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)lispemul.h $(INCDIR)miscstat.h $(INCDIR)devif.h $(INCDIR)xdefs.h \
|
||||
$(INCDIR)xscroll.h $(INCDIR)xwinmandefs.h $(INCDIR)keyeventdefs.h \
|
||||
$(INCDIR)xwinmandefs.h $(INCDIR)keyeventdefs.h \
|
||||
$(INCDIR)xlspwindefs.h $(INCDIR)xscrolldefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)xwinman.c -o $(OBJECTDIR)xwinman.o
|
||||
|
||||
$(OBJECTDIR)sdl.o: $(SRCDIR)sdl.c $(REQUIRED-INCS)
|
||||
$(CC) $(RFLAGS) $(SRCDIR)sdl.c -o $(OBJECTDIR)sdl.o
|
||||
|
||||
$(OBJECTDIR)foreign.o: $(SRCDIR)foreign.c $(REQUIRED-INCS) \
|
||||
$(INCDIR)/foreigndefs.h
|
||||
$(CC) $(RFLAGS) $(SRCDIR)foreign.c -o $(OBJECTDIR)foreign.o
|
||||
@@ -1055,7 +1058,7 @@ $(OBJECTDIR)lpy.tab.o: $(SRCDIR)lpy.tab.c $(REQUIRED-INCS) $(INCDIR)lpdefs.h $(I
|
||||
# .c.s. should always have -O
|
||||
################################################################################
|
||||
|
||||
cleanup:
|
||||
clean cleanup:
|
||||
$(RM) -r $(OBJECTDIR) $(OSARCHDIR)
|
||||
|
||||
.c.o:
|
||||
|
||||
25
bin/makefile-wsl1.aarch64-sdl
Normal file
25
bin/makefile-wsl1.aarch64-sdl
Normal file
@@ -0,0 +1,25 @@
|
||||
# Options for Windows System for Linux v1, ARM64 and SDL
|
||||
|
||||
CC = gcc $(GCC_CFLAGS)
|
||||
#CC = clang $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
#
|
||||
# For SDL version 2
|
||||
# -DSDL=2 in SDLFLAGS and -lSDL2 in LDFLAGS
|
||||
# For SDL version 3
|
||||
# -DSDL=3 in SDLFLAGS and -lSDL3 in LDFLAGS
|
||||
#
|
||||
SDLFLAGS = -DSDL=2
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(SDLFLAGS) -DRELEASE=$(RELEASE) -D__wsl1__
|
||||
|
||||
LDFLAGS = -lSDL2 -lm
|
||||
LDELDFLAGS =
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
|
||||
27
bin/makefile-wsl1.aarch64-x
Normal file
27
bin/makefile-wsl1.aarch64-x
Normal file
@@ -0,0 +1,27 @@
|
||||
# Options for Windows System for Linux v1, aarch64 and X-Window
|
||||
|
||||
CC = gcc $(GCC_CFLAGS)
|
||||
#CC = clang $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
$(OBJECTDIR)dspif.o \
|
||||
$(OBJECTDIR)xinit.o \
|
||||
$(OBJECTDIR)xscroll.o \
|
||||
$(OBJECTDIR)xcursor.o \
|
||||
$(OBJECTDIR)xlspwin.o \
|
||||
$(OBJECTDIR)xrdopt.o \
|
||||
$(OBJECTDIR)xwinman.o
|
||||
|
||||
XFLAGS = -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -D__wsl1__
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
|
||||
25
bin/makefile-wsl1.x86_64-sdl
Normal file
25
bin/makefile-wsl1.x86_64-sdl
Normal file
@@ -0,0 +1,25 @@
|
||||
# Options for Windows System for Linux v1, Intel x86_64 and SDL
|
||||
|
||||
CC = gcc -m64 $(GCC_CFLAGS)
|
||||
# CC = clang -m64 $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)sdl.o
|
||||
|
||||
#
|
||||
# For SDL version 2
|
||||
# -DSDL=2 in XFLAGS and -lSDL2 in LDFLAGS
|
||||
# For SDL version 3
|
||||
# -DSDL=3 in XFLAGS and -lSDL3 in LDFLAGS
|
||||
#
|
||||
XFLAGS = -DSDL=2
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -D__wsl1__
|
||||
|
||||
LDFLAGS = -lm -lSDL2
|
||||
LDELDFLAGS =
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldesdl
|
||||
28
bin/makefile-wsl1.x86_64-x
Normal file
28
bin/makefile-wsl1.x86_64-x
Normal file
@@ -0,0 +1,28 @@
|
||||
# Options for Windows System for Linux v1, Intel x86_64 and X-Window
|
||||
|
||||
CC = gcc -m64 $(GCC_CFLAGS)
|
||||
# CC = clang -m64 $(CLANG_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
$(OBJECTDIR)dspif.o \
|
||||
$(OBJECTDIR)xinit.o \
|
||||
$(OBJECTDIR)xscroll.o \
|
||||
$(OBJECTDIR)xcursor.o \
|
||||
$(OBJECTDIR)xlspwin.o \
|
||||
$(OBJECTDIR)xrdopt.o \
|
||||
$(OBJECTDIR)xwinman.o
|
||||
|
||||
|
||||
XFLAGS = -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=$(RELEASE) -D__wsl1__
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
|
||||
@@ -54,9 +54,10 @@ if test $# -gt 0
|
||||
shift
|
||||
fi
|
||||
|
||||
: ${RELEASE=351}
|
||||
architecture=`machinetype`
|
||||
osversion=`osversion`
|
||||
echo "making so far for ${osversion} on ${architecture}."
|
||||
echo "making release ${RELEASE} for ${osversion} on ${architecture}."
|
||||
case "$display" in
|
||||
init) display=single
|
||||
releasename=init-${osversion}.${architecture}
|
||||
@@ -71,6 +72,19 @@ case "$display" in
|
||||
x) releasename=${osversion}.${architecture}-${display}
|
||||
ldename=ldex
|
||||
;;
|
||||
sdl*) releasename=${osversion}.${architecture}-${display}
|
||||
ldename=ldesdl
|
||||
;;
|
||||
wasm) osversion=emscripten
|
||||
architecture=wasm
|
||||
releasename=${osversion}.${architecture}-${display}
|
||||
ldename=ldesdl.js
|
||||
;;
|
||||
wasm_nl) osversion=emscripten
|
||||
architecture=wasm_nl
|
||||
releasename=${osversion}.${architecture}-${display}
|
||||
ldename=ldesdl.js
|
||||
;;
|
||||
*) echo "display-option: $display is not supported."
|
||||
exit
|
||||
;;
|
||||
@@ -93,12 +107,12 @@ if [ ! -d ../${releasename} ]; then
|
||||
mkdir ../${releasename}
|
||||
fi
|
||||
|
||||
echo start making lde for ${releasename}.
|
||||
echo start making lde for ${releasename}
|
||||
|
||||
# then finally do the make, including the right stuff
|
||||
# With makefile-tail merged, this should only take ONE make command....
|
||||
|
||||
make RELEASENAME=${releasename} LDENAME=${ldename} \
|
||||
make RELEASENAME=${releasename} RELEASE=${RELEASE} LDENAME=${ldename} \
|
||||
OSARCHNAME=${osversion}.${architecture} \
|
||||
-f makefile-header -f makefile-${releasename} \
|
||||
-f makefile-tail $*
|
||||
|
||||
16
bin/mkvdate
16
bin/mkvdate
@@ -1,6 +1,22 @@
|
||||
#!/bin/sh
|
||||
if command -v "git" >/dev/null 2>&1; then
|
||||
MAIKO_REV="$(git status --porcelain)"
|
||||
if [ $? -eq 0 ]; then
|
||||
if [ ! -z "$(git status --porcelain)" ]; then
|
||||
MAIKO_REV="$(git rev-parse --short HEAD)-dirty"
|
||||
else
|
||||
MAIKO_REV="$(git rev-parse --short HEAD)"
|
||||
fi
|
||||
else
|
||||
MAIKO_REV="none"
|
||||
fi
|
||||
else
|
||||
MAIKO_REV = "none"
|
||||
fi
|
||||
cat <<EOF
|
||||
#include <time.h>
|
||||
extern const time_t MDate;
|
||||
const time_t MDate = $(date +%s);
|
||||
extern const char *MaikoGitVersion;
|
||||
const char *MaikoGitVersion = "maiko git version: $MAIKO_REV";
|
||||
EOF
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#!/bin/sh
|
||||
os=${LDEARCH:-`./config.guess`}
|
||||
SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
|
||||
os=${LDEARCH:-`$SCRIPTPATH/config.guess`}
|
||||
case "$os" in
|
||||
m68k-*-amigaos) echo amigaos ;;
|
||||
sparc-sun-sunos*) echo sunos4 ;;
|
||||
@@ -7,10 +8,14 @@ case "$os" in
|
||||
*-*-solaris2*) echo sunos5 ;;
|
||||
alpha-dec-osf1) echo osf1 ;;
|
||||
*-apple-darwin*) echo darwin ;;
|
||||
*-*-linux*) echo linux ;;
|
||||
*-*-linux*)
|
||||
if [ -n "${WSL_DISTRO_NAME}" ] && [ -z "${WSL_INTEROP}" ];
|
||||
then echo wsl1; else echo linux; fi ;;
|
||||
*-*-openbsd*) echo openbsd ;;
|
||||
*-*-freebsd*) echo freebsd ;;
|
||||
*-*-cygwin*) echo cygwin ;;
|
||||
*-*-haiku*) echo haiku ;;
|
||||
*-microsoft-wsl1) echo wsl1 ;;
|
||||
esac
|
||||
### Don't leave the variable set.
|
||||
unset os
|
||||
|
||||
@@ -6,9 +6,9 @@ It is treated as an on-page indicator bit and a 3-bit scaled offset.
|
||||
Certain combinations are treated specially.
|
||||
|
||||
|
||||
on-page| offset | interpretation
|
||||
-------|--------|----------------------------------------------------------------------------
|
||||
1 | 0 | CDR is NIL
|
||||
1 | 1 - 7 | CDR is at 2*offset (counted in 32-bit cells) on same page
|
||||
0 | 0 | CDR is indirect, CDR(car)
|
||||
0 | 1 - 7 | CDR is not a cons cell but is in the car of cell at 2*offset on same page
|
||||
| on-page | offset | interpretation |
|
||||
|---------|---------|---------------------------------------------------------------------------|
|
||||
| 1 | 0 | CDR is NIL |
|
||||
| 1 | 1 - 7 | CDR is at 2*offset (counted in 32-bit cells) on same page |
|
||||
| 0 | 0 | CDR is indirect, CDR(car) |
|
||||
| 0 | 1 - 7 | CDR is not a cons cell but is in the car of cell at 2*offset on same page |
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
* triples in this array are interpreted in initkbd.c as
|
||||
* reusable, (Lisp keyboard) code, (X keysym) symbol
|
||||
*/
|
||||
int generic_X_keymap[] = {
|
||||
static const int generic_X_keymap[] = {
|
||||
0, 107, 0x1000ff10, /* Un-named KEYSYM used on Sun kbd for F11 */
|
||||
0, 108, 0x1000ff11, /* Un-named KEYSYM used on Sun kbd for F12 */
|
||||
0, 107, XK_F11,
|
||||
@@ -221,17 +221,17 @@ int generic_X_keymap[] = {
|
||||
/* keypad digit assignments above, try assigning */
|
||||
/* the new arrow-key key#s assigned for RS/6000 */
|
||||
/* Failing that, try assigning the keypad #s. */
|
||||
1, 84, XK_Left,
|
||||
0, 129, XK_Left,
|
||||
0, 84, XK_Left,
|
||||
|
||||
1, 82, XK_Up,
|
||||
0, 130, XK_Up,
|
||||
0, 82, XK_Up,
|
||||
|
||||
1, 69, XK_Down,
|
||||
0, 131, XK_Down,
|
||||
0, 69, XK_Down,
|
||||
|
||||
1, 87, XK_Right,
|
||||
0, 132, XK_Right,
|
||||
0, 87, XK_Right,
|
||||
|
||||
0, 93, XK_Multi_key, /* Expand, Sun type-4 */
|
||||
0, 93, XK_Alt_R, /* Expand, RH Alt key */
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
#define HILOC(ptr) (LRSH(((unsigned int)(ptr) & SEGMASK),16))
|
||||
#define LOLOC(ptr) ((unsigned int)(ptr) & 0x0ffff)
|
||||
|
||||
#define VAG2(hi,lo) (LLSH((hi),16) | (lo))
|
||||
#define VAG2(hi,lo) (LispPTR)(LLSH((hi),16) | (lo))
|
||||
|
||||
|
||||
/* NOTE: argument off must be WORD offset */
|
||||
|
||||
17
inc/adr68k.h
17
inc/adr68k.h
@@ -38,7 +38,7 @@ static inline LispPTR LAddrFromNative(void *NAddr)
|
||||
if ((uintptr_t)NAddr & 1) {
|
||||
printf("Misaligned pointer in LAddrFromNative %p\n", NAddr);
|
||||
}
|
||||
return ((DLword *)NAddr) - Lisp_world;
|
||||
return (LispPTR)(((DLword *)NAddr) - Lisp_world);
|
||||
}
|
||||
|
||||
static inline DLword *NativeAligned2FromLAddr(LispPTR LAddr)
|
||||
@@ -51,20 +51,20 @@ static inline LispPTR *NativeAligned4FromLAddr(LispPTR LAddr)
|
||||
if (LAddr & 1) {
|
||||
printf("Misaligned pointer in NativeAligned4FromLAddr 0x%x\n", LAddr);
|
||||
}
|
||||
return (LispPTR *)(Lisp_world + LAddr);
|
||||
return (void *)(Lisp_world + LAddr);
|
||||
}
|
||||
|
||||
static inline LispPTR *NativeAligned4FromLPage(LispPTR LPage)
|
||||
{
|
||||
return (LispPTR *)(Lisp_world + (LPage << 8));
|
||||
return (void *)(Lisp_world + (LPage << 8));
|
||||
}
|
||||
|
||||
static inline DLword StackOffsetFromNative(void *SAddr)
|
||||
{
|
||||
/* Stack offsets are expressed as an offset in DLwords from the stack base */
|
||||
ptrdiff_t hoffset = (DLword *)SAddr - Stackspace;
|
||||
if (hoffset > 0xffff) {
|
||||
printf("Stack offset is too large: 0x%tx\n", hoffset);
|
||||
if (hoffset > 0xffff || hoffset < 0) {
|
||||
printf("Stack offset is out of range: 0x%tx\n", hoffset);
|
||||
}
|
||||
return (DLword)hoffset;
|
||||
}
|
||||
@@ -76,7 +76,10 @@ static inline DLword *NativeAligned2FromStackOffset(DLword StackOffset)
|
||||
|
||||
static inline LispPTR *NativeAligned4FromStackOffset(DLword StackOffset)
|
||||
{
|
||||
return (LispPTR *)(Stackspace + StackOffset);
|
||||
if (StackOffset & 1) {
|
||||
printf("Misaligned StackOffset in NativeAligned4FromStackOffset 0x%hx\n", StackOffset);
|
||||
}
|
||||
return (void *)(Stackspace + StackOffset);
|
||||
}
|
||||
|
||||
static inline LispPTR LPageFromNative(void *NAddr)
|
||||
@@ -84,6 +87,6 @@ static inline LispPTR LPageFromNative(void *NAddr)
|
||||
if ((uintptr_t)NAddr & 1) {
|
||||
printf("Misaligned pointer in LPageFromNative %p\n", NAddr);
|
||||
}
|
||||
return (((DLword *)NAddr) - Lisp_world) >> 8;
|
||||
return (LispPTR)((((DLword *)NAddr) - Lisp_world) >> 8);
|
||||
}
|
||||
#endif /* ADR68K_H */
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
#define MAX_FIXP 2147483647 /* == 0x7FFFFFFF */
|
||||
#define MIN_FIXP (-2147483648) /* == 0x80000000 */
|
||||
|
||||
#define SMALLP_ZERO ((LispPTR)S_POSITIVE)
|
||||
#define SMALLP_MINUSONE ((LispPTR)(S_NEGATIVE | 0xFFFF))
|
||||
/**
|
||||
* extract an integer value from a smallp
|
||||
*/
|
||||
@@ -101,8 +103,8 @@ static inline LispPTR GetPosSmallp(unsigned long x) {
|
||||
int *fixpp; \
|
||||
/* arg is FIXP, call createcell */ \
|
||||
fixpp = (int *)createcell68k(TYPE_FIXP); \
|
||||
*((int *)fixpp) = (int)(arg); \
|
||||
(result) = (LAddrFromNative(fixpp)); \
|
||||
*fixpp = (int)(arg); \
|
||||
(result) = LAddrFromNative(fixpp); \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
@@ -117,7 +119,7 @@ static inline LispPTR GetPosSmallp(unsigned long x) {
|
||||
int *fixpp; \
|
||||
/* arg is FIXP, call createcell */ \
|
||||
fixpp = (int *)createcell68k(TYPE_FIXP); \
|
||||
*fixpp = arg; \
|
||||
*fixpp = (int)(arg); \
|
||||
return (LAddrFromNative(fixpp)); \
|
||||
} \
|
||||
} \
|
||||
|
||||
24
inc/array.h
24
inc/array.h
@@ -24,8 +24,8 @@ typedef struct sequencedescriptor {
|
||||
unsigned nil2 :1;
|
||||
unsigned base :28;
|
||||
unsigned typ :4;
|
||||
unsigned length: 28;
|
||||
LispPTR offst;
|
||||
unsigned length :28;
|
||||
int32_t offst;
|
||||
} Arrayp;
|
||||
|
||||
struct arrayheader {
|
||||
@@ -41,8 +41,8 @@ struct arrayheader {
|
||||
unsigned extendablep :1;
|
||||
unsigned typenumber :8;
|
||||
DLword offset;
|
||||
LispPTR fillpointer;
|
||||
LispPTR totalsize;
|
||||
int32_t fillpointer;
|
||||
int32_t totalsize;
|
||||
};
|
||||
#else
|
||||
typedef struct sequencedescriptor {
|
||||
@@ -100,9 +100,9 @@ typedef struct sequencedescriptor {
|
||||
unsigned readonly :1;
|
||||
unsigned nil :1;
|
||||
unsigned orig :1;
|
||||
unsigned length: 28;
|
||||
unsigned length :28;
|
||||
unsigned typ :4;
|
||||
LispPTR offst;
|
||||
int32_t offst;
|
||||
} Arrayp;
|
||||
|
||||
struct arrayheader {
|
||||
@@ -118,8 +118,8 @@ struct arrayheader {
|
||||
unsigned bitp :1;
|
||||
unsigned indirectp :1;
|
||||
unsigned readonlyp :1;
|
||||
LispPTR totalsize;
|
||||
LispPTR fillpointer;
|
||||
int32_t totalsize;
|
||||
int32_t fillpointer;
|
||||
};
|
||||
#else
|
||||
typedef struct sequencedescriptor {
|
||||
@@ -216,14 +216,6 @@ struct abdum
|
||||
#define FIRSTARRAYSEGMENT 19
|
||||
#define MAXCELLSPERHUNK 64
|
||||
|
||||
/****************** The following are for codereclaimer *********************/
|
||||
|
||||
#define BITSPERBITE 8
|
||||
|
||||
/********************* End of codereclaimer *********************************/
|
||||
|
||||
|
||||
|
||||
/****************************************************************************/
|
||||
/* */
|
||||
/* End of Definitions */
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
LispPTR N_OP_misc3(LispPTR baseL, LispPTR typenumber, LispPTR inx, int alpha);
|
||||
LispPTR N_OP_misc4(LispPTR data, LispPTR base, LispPTR typenumber, LispPTR inx, int alpha);
|
||||
LispPTR N_OP_aref1(LispPTR arrayarg, LispPTR inx);
|
||||
LispPTR N_OP_aset1(LispPTR data, LispPTR arrayarg, int inx);
|
||||
LispPTR N_OP_aset1(LispPTR data, LispPTR arrayarg, LispPTR inx);
|
||||
LispPTR N_OP_aref2(LispPTR arrayarg, LispPTR inx0, LispPTR inx1);
|
||||
LispPTR N_OP_aset2(LispPTR data, LispPTR arrayarg, LispPTR inx0, LispPTR inx1);
|
||||
#endif
|
||||
|
||||
18
inc/bb.h
18
inc/bb.h
@@ -705,17 +705,17 @@
|
||||
/************************************************************************/
|
||||
|
||||
#define variables \
|
||||
int num_lines_remaining; \
|
||||
int dstnumL, src32lbit, srcLshift, dst32lbit; \
|
||||
unsigned int srcRmask, dstold, dstdata, mask; \
|
||||
UNSIGNED x32byta, x32nbyt, x32ia; \
|
||||
int abc, dst32rbit, src32rbit, fwd; \
|
||||
unsigned int *OrigSrcAddr, *OrigDstAddr; \
|
||||
int num_lines_remaining = 0; \
|
||||
int dstnumL = 0, src32lbit = 0, srcLshift = 0, dst32lbit = 0; \
|
||||
unsigned int srcRmask = 0, dstold = 0, dstdata = 0, mask = 0; \
|
||||
UNSIGNED x32byta = 0, x32nbyt = 0, x32ia = 0; \
|
||||
int abc, dst32rbit = 0, src32rbit = 0, fwd; \
|
||||
unsigned int *OrigSrcAddr = 0, *OrigDstAddr = 0; \
|
||||
int bb_fast; \
|
||||
unsigned int preloop_mask, postloop_mask, sdw_mask; \
|
||||
unsigned int *dst32addr, *src32addr; \
|
||||
unsigned int shS, savedS, newS; \
|
||||
int srcRshift;
|
||||
unsigned int *dst32addr = 0, *src32addr = 0; \
|
||||
unsigned int shS = 0, savedS = 0, newS = 0; \
|
||||
int srcRshift = 0;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#ifndef BITBLT_H
|
||||
#define BITBLT_H 1
|
||||
#ifndef BBTMACRO_H
|
||||
#define BBTMACRO_H 1
|
||||
/* $Id: bitblt.h,v 1.2 1999/01/03 02:05:54 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
|
||||
/*
|
||||
* Copyright (C) 1988 by Fuji Xerox Co., Ltd. All rights reserved.
|
||||
*
|
||||
* File : bitblt.h
|
||||
* File : bbtmacro.h (was bitblt.h)
|
||||
*
|
||||
* Author : Osamu Nakamura
|
||||
*
|
||||
@@ -50,9 +50,9 @@ extern int DisplayRasterWidth;
|
||||
|
||||
|
||||
#ifdef DOS
|
||||
#define HideCursor { (currentdsp->mouse_invisible)(currentdsp, IOPage68K); }
|
||||
#define ShowCursor { (currentdsp->mouse_visible)(IOPage68K->dlmousex, \
|
||||
IOPage68K->dlmousey); }
|
||||
#define HideCursor { (currentdsp->mouse_invisible)(currentdsp, IOPage); }
|
||||
#define ShowCursor { (currentdsp->mouse_visible)(IOPage->dlmousex, \
|
||||
IOPage->dlmousey); }
|
||||
|
||||
#else
|
||||
extern DLword *EmCursorX68K,*EmCursorY68K;
|
||||
@@ -85,4 +85,4 @@ extern DLword *EmCursorX68K,*EmCursorY68K;
|
||||
#define UNLOCKSCREEN ScreenLocked = NIL
|
||||
|
||||
#endif /* DOS */
|
||||
#endif /* BITBLT_H */
|
||||
#endif /* BBTMACRO_H */
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef BINDSDEFS_H
|
||||
#define BINDSDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
LispPTR *N_OP_bind(LispPTR *stack_pointer, LispPTR tos, int byte1, int byte2);
|
||||
LispPTR *N_OP_bind(LispPTR *stack_pointer, LispPTR tos, unsigned byte1, unsigned byte2);
|
||||
LispPTR *N_OP_unbind(LispPTR *stack_pointer);
|
||||
LispPTR *N_OP_dunbind(LispPTR *stack_pointer, LispPTR tos);
|
||||
#endif
|
||||
|
||||
@@ -10,7 +10,7 @@ static inline unsigned int swapx(unsigned int word) {
|
||||
return (((word >> 16) & 0xffff) | ((word & 0xffff) << 16));
|
||||
}
|
||||
|
||||
void word_swap_page(unsigned short *page, int longwordcount);
|
||||
void word_swap_page(void *page, unsigned longwordcount);
|
||||
void bit_reverse_region(unsigned short *top, int width, int height, int rasterwidth);
|
||||
#ifdef RESWAPPEDCODESTREAM
|
||||
unsigned int byte_swap_code_block(unsigned int *base);
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
#define CONSPAGEDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
struct conspage *next_conspage(void);
|
||||
LispPTR N_OP_cons(int cons_car, int cons_cdr);
|
||||
LispPTR N_OP_cons(LispPTR cons_car, LispPTR cons_cdr);
|
||||
LispPTR cons(LispPTR cons_car, LispPTR cons_cdr);
|
||||
#endif
|
||||
|
||||
@@ -40,7 +40,7 @@ extern int flushing;
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
#define DBPRINT(X) do {printf X ; if (flushing) fflush(stdout); } while(0)
|
||||
#define DBPRINT(X) do { printf("%s:%d ", __FILE__, __LINE__); printf X ; if (flushing) fflush(stdout); } while(0)
|
||||
#define DEBUGGER(X) X
|
||||
#else
|
||||
#define DBPRINT(X) if (0) do {printf X ; } while(0)
|
||||
@@ -51,7 +51,7 @@ extern int flushing;
|
||||
/* For trace print statements */
|
||||
|
||||
#ifdef TRACE
|
||||
#define TPRINT(X) do { printf X; if (flushing) fflush(stdout); } while (0)
|
||||
#define TPRINT(X) do { printf("%s:%d ", __FILE__, __LINE__); printf X; if (flushing) fflush(stdout); } while (0)
|
||||
#define TRACER(X) X
|
||||
#else /* TRACE */
|
||||
|
||||
@@ -64,7 +64,7 @@ extern int flushing;
|
||||
/* For tracing individual opcode executions */
|
||||
|
||||
#ifdef OPTRACE
|
||||
#define OPTPRINT(X) do { printf X; if (flushing) fflush(stdout); } while (0)
|
||||
#define OPTPRINT(X) do { printf("%s:%d ", __FILE__, __LINE__); printf X; if (flushing) fflush(stdout); } while (0)
|
||||
#define OPTRACER(X) X
|
||||
#else
|
||||
#define OPTPRINT(X) if (0) do { printf X; } while (0)
|
||||
@@ -75,7 +75,7 @@ extern int flushing;
|
||||
/* For tracing function calls */
|
||||
|
||||
#ifdef FNTRACE
|
||||
#define FNTPRINT(X) do { printf X; if (flushing) fflush(stdout); } while (0)
|
||||
#define FNTPRINT(X) do { printf("%s:%d ", __FILE__, __LINE__); printf X; if (flushing) fflush(stdout); } while (0)
|
||||
#define FNTRACER(X) X
|
||||
#else
|
||||
#define FNTPRINT(X) if (0) do { printf X; } while (0)
|
||||
@@ -86,7 +86,7 @@ extern int flushing;
|
||||
/* For function-call & return stack checking */
|
||||
|
||||
#ifdef FNSTKCHECK
|
||||
#define FNCHKPRINT(X) do { printf X ; if (flushing) fflush(stdout); } while (0)
|
||||
#define FNCHKPRINT(X) do { printf("%s:%d ", __FILE__, __LINE__); printf X ; if (flushing) fflush(stdout); } while (0)
|
||||
#define FNCHECKER(X) X
|
||||
#else
|
||||
#define FNCHKPRINT(X) if (0) do { printf X; } while (0)
|
||||
|
||||
113
inc/devif.h
113
inc/devif.h
@@ -11,13 +11,6 @@
|
||||
/************************************************************************/
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
|
||||
typedef void (*PFV)(); /* Pointer to Function returning Void */
|
||||
typedef int (*PFI)(); /* Pointer to Function returning Int */
|
||||
typedef char (*PFC)(); /* Pointer to Function returning Char */
|
||||
typedef float (*PFF)(); /* Pointer to Function returning Float */
|
||||
typedef int (*PFP)(); /* Pointer to Function returning a Pointer */
|
||||
typedef unsigned long (*PFUL)(); /* Pointer to Function returning an unsigned long */
|
||||
|
||||
#ifdef XWINDOW
|
||||
#include <X11/Xlib.h>
|
||||
#endif /* XWINDOW */
|
||||
@@ -52,17 +45,16 @@ typedef struct
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
int width;
|
||||
int height;
|
||||
unsigned width;
|
||||
unsigned height;
|
||||
} MRegion;
|
||||
|
||||
|
||||
|
||||
/**************************************************************/
|
||||
/* D e v R e c */
|
||||
/* */
|
||||
/* Definition common to all devices. Used for mouse, kbd and */
|
||||
/* display. */
|
||||
/* display. The xxxInterfaceRec containing this device is */
|
||||
/* passed as the only argument to the device methods */
|
||||
/**************************************************************/
|
||||
typedef struct
|
||||
{
|
||||
@@ -71,22 +63,22 @@ typedef struct
|
||||
to prevent multiple consecutive initializations. */
|
||||
int locked; /* LOCK, a semaphore: 0 if dev is free.
|
||||
Test and increment to use this device. */
|
||||
void (* enter)(); /* ENTER, a function
|
||||
args: self
|
||||
void (* enter)(void *); /* ENTER, a function
|
||||
args: interface rec (Kbd, Dsp, Mouse)
|
||||
Called to set up the device. Has to be called before
|
||||
anything else is done to the device. */
|
||||
void (* exit)(); /* EXIT, a function
|
||||
args: self
|
||||
void (* exit)(void *); /* EXIT, a function
|
||||
args: interface rec (Kbd, Dsp, Mouse)
|
||||
Called to deactivate the device and restore the
|
||||
device to its previous state */
|
||||
void (* before_raid)(); /* BEFORE_RAID, a function.
|
||||
args: self
|
||||
void (* before_raid)(void *); /* BEFORE_RAID, a function.
|
||||
args: interface rec (Kbd, Dsp, Mouse)
|
||||
Prepare this device for uraid. */
|
||||
void (* after_raid)(); /* BEFORE_RAID, a function.
|
||||
args: self
|
||||
void (* after_raid)(void *); /* BEFORE_RAID, a function.
|
||||
args: interface rec (Kbd, Dsp, Mouse)
|
||||
Cleanup and restart device after uraid. */
|
||||
void (* sync_device)(); /* SYNC_DEVICE, a function.
|
||||
args: self
|
||||
void (* sync_device)(void *); /* SYNC_DEVICE, a function.
|
||||
args: interface rec (Kbd, Dsp, Mouse)
|
||||
Make reality and emulator coincide with each other */
|
||||
} DevRec;
|
||||
|
||||
@@ -96,7 +88,7 @@ typedef struct
|
||||
/* M o u s e I n t e r f a c e */
|
||||
/* */
|
||||
/* Definition of the mouse. Note that the mouse is also */
|
||||
/* dependent on the IOPage68K */
|
||||
/* dependent on the IOPage */
|
||||
/**************************************************************/
|
||||
typedef struct
|
||||
{
|
||||
@@ -114,7 +106,7 @@ typedef struct
|
||||
short tick; /* Clock for timeout. */
|
||||
long StartTime; /* The maximum timeout */
|
||||
long RunTimer; /* Chording timer activate flag. */
|
||||
PFV NextHandler; /* Pointer to the next timer (used with 2button) */
|
||||
void (* NextHandler)(void); /* Pointer to the next timer (used with 2button) */
|
||||
} Button;
|
||||
|
||||
|
||||
@@ -133,14 +125,15 @@ typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
DevRec device;
|
||||
void (* Handler)(); /* Event handler for the mouse. */
|
||||
void (* Handler)(void); /* Event handler for the mouse. */
|
||||
MCursor Cursor;
|
||||
Button Button;
|
||||
LispPTR *timestamp;
|
||||
unsigned int keyeventsize; /* The sizeof() one kbd event */
|
||||
unsigned int maxkeyevent; /* Offset to the end of the ringbuffer. */
|
||||
int eurokbd; /* Keep tabs of the euro-ness of the kbd */
|
||||
} MouseInterfaceRec, *MouseInterface;
|
||||
} MouseInterfaceRec;
|
||||
typedef MouseInterfaceRec *MouseInterface;
|
||||
|
||||
|
||||
|
||||
@@ -148,12 +141,12 @@ typedef struct
|
||||
/* K b d I n t e r f a c e */
|
||||
/* */
|
||||
/* Definition of the keyboard. Note that the keyboard is also */
|
||||
/* dependent on the IOPage68K */
|
||||
/* dependent on the IOPage */
|
||||
/**************************************************************/
|
||||
typedef struct
|
||||
{
|
||||
DevRec device;
|
||||
PFV device_event; /* Event handler for the keyboard. */
|
||||
void (*device_event)(void); /* Event handler for the keyboard. */
|
||||
#ifdef DOS
|
||||
u_char KeyMap[0x80]; /* The key translation table. Use the keycode you
|
||||
get from the keyboard as an index. The value
|
||||
@@ -162,14 +155,13 @@ typedef struct
|
||||
unsigned int keyeventsize; /* The sizeof() one kbd event */
|
||||
unsigned int maxkeyevent; /* Offset to the end of the ringbuffer. */
|
||||
int eurokbd; /* Keep tabs of the euro-ness of the kbd */
|
||||
PFV prev_handler; /* The previous keyboard handler.
|
||||
void (* prev_handler)(void);/* The previous keyboard handler.
|
||||
Keep this around
|
||||
to restore when we exit Medley */
|
||||
int URaid; /* Put this in a better place later.. /jarl */
|
||||
#endif /* DOS */
|
||||
} KbdInterfaceRec, *KbdInterface;
|
||||
|
||||
|
||||
} KbdInterfaceRec;
|
||||
typedef KbdInterfaceRec *KbdInterface;
|
||||
|
||||
/**************************************************************/
|
||||
/* D s p I n t e r f a c e */
|
||||
@@ -177,47 +169,53 @@ typedef struct
|
||||
/* Definition of the display. This structure collects all the */
|
||||
/* special knowledge needed to manipulate the screen. */
|
||||
/**************************************************************/
|
||||
typedef struct
|
||||
/*
|
||||
* NOTE: At this time only the DspInterface methods
|
||||
* bitblt_to_screen(), clearscreen(), mouse_visible(), and mouse_invisible()
|
||||
* are called, and the mouse_* are only used for DOS.
|
||||
* All the other methods are not implemented and not called.
|
||||
*/
|
||||
typedef struct DspInterfaceRec
|
||||
{
|
||||
DevRec device;
|
||||
|
||||
void (* drawline)(); /* DRAWLINE
|
||||
unsigned long (* drawline)(void); /* DRAWLINE
|
||||
args: dont know yet. Not yet implemented.*/
|
||||
void (* cleardisplay)(); /* CLEARDISPLAY, a function
|
||||
unsigned long (* cleardisplay)(struct DspInterfaceRec *); /* CLEARDISPLAY, a function
|
||||
args: self
|
||||
clears the screen.*/
|
||||
|
||||
unsigned long (* get_color_map_entry)();
|
||||
unsigned long (* set_color_map_entry)();
|
||||
unsigned long (* available_colors)(); /* How many colors do I have on my palette */
|
||||
unsigned long (* possible_colors)(); /* How many colors is it possible to select from */
|
||||
unsigned long (* get_color_map_entry)(void);
|
||||
unsigned long (* set_color_map_entry)(void *);
|
||||
unsigned long (* available_colors)(void); /* How many colors do I have on my palette */
|
||||
unsigned long (* possible_colors)(void); /* How many colors is it possible to select from */
|
||||
|
||||
#ifdef NOTYET
|
||||
unsigned long (* get_color_map)(); /* get a pointer to a colormap */
|
||||
unsigned long (* set_color_map)(); /* set the current colormap */
|
||||
unsigned long (* make_color_map)(); /* return a brand new colormap */
|
||||
unsigned long (* get_color_map)(void); /* get a pointer to a colormap */
|
||||
unsigned long (* set_color_map)(void); /* set the current colormap */
|
||||
unsigned long (* make_color_map)(void); /* return a brand new colormap */
|
||||
#endif /* NOTYET */
|
||||
|
||||
unsigned long (* medley_to_native_bm)(); /* 1 bit/pix to native bit/pix */
|
||||
unsigned long (* native_to_medley_bm)(); /* native bit/pix to 1 bit/pix */
|
||||
unsigned long (* medley_to_native_bm)(void); /* 1 bit/pix to native bit/pix */
|
||||
unsigned long (* native_to_medley_bm)(void); /* native bit/pix to 1 bit/pix */
|
||||
|
||||
unsigned long (* bitblt_to_screen)(); /* BITBLT_TO_SCREEN, a function
|
||||
unsigned long (* bitblt_to_screen)(struct DspInterfaceRec *, DLword *, int, int, int, int); /* BITBLT_TO_SCREEN, a function
|
||||
args: self, buffer left top width height.
|
||||
biblt's buffer to the screen. */
|
||||
unsigned long (* bitblt_from_screen)();
|
||||
unsigned long (* scroll_region)(); /* ie. bbt from screen to screen */
|
||||
|
||||
void (* mouse_invisible)(); /* MOUSE_INVISIBLE
|
||||
unsigned long (* bitblt_from_screen)(void);
|
||||
unsigned long (* scroll_region)(void); /* ie. bbt from screen to screen */
|
||||
unsigned long (* mouse_invisible)(struct DspInterfaceRec *, void *); /* MOUSE_INVISIBLE
|
||||
args: self (a dsp), iop (an IOPAGE preferably the one and only)
|
||||
This method makes the mouse invisible on the screen. Note that
|
||||
the dsp supplies the method and the iop supplies the data. */
|
||||
void (* mouse_visible)(); /* MOUSE_VISIBLE
|
||||
args: self (a dsp), iop (an IOPAGE preferably the one and only)
|
||||
This method makes the mouse visible on the screen. Note that
|
||||
the dsp supplies the method and the iop supplies the data. */
|
||||
unsigned long (* mouse_visible)(int x, int y); /* MOUSE_VISIBLE
|
||||
args: x, y position where the mouse/cursor should be displayed.
|
||||
NOTE: this should probably include the DspInterface as the first arg?
|
||||
*/
|
||||
MRegion Display; /* Dimensions of the physical display. */
|
||||
unsigned short unused0; /* alignment padding for next field */
|
||||
unsigned short bitsperpixel;
|
||||
unsigned long colors; /* cash for the available_colors */
|
||||
unsigned long colors; /* cache for the available_colors */
|
||||
unsigned long oldstate; /* Keep the old state around */
|
||||
unsigned long graphicsmode; /* Magic cookie used to set the state. */
|
||||
unsigned long numberofbanks;
|
||||
@@ -256,10 +254,11 @@ typedef struct
|
||||
Pixmap GravityOnPixmap;
|
||||
Pixmap GravityOffPixmap;
|
||||
XImage ScreenBitmap;
|
||||
Mask DisableEventMask;
|
||||
Mask EnableEventMask;
|
||||
long DisableEventMask;
|
||||
long EnableEventMask;
|
||||
#endif /* XWINDOW */
|
||||
} DspInterfaceRec, *DspInterface;
|
||||
} DspInterfaceRec;
|
||||
typedef DspInterfaceRec *DspInterface;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
#ifndef DIRDEFS_H
|
||||
#define DIRDEFS_H 1
|
||||
#include <dirent.h> // for MAXNAMLEN
|
||||
|
||||
#include <sys/types.h> // for u_short, ino_t
|
||||
#include "lispemul.h" // for LispPTR
|
||||
#include "locfile.h" // for MAXNAMLEN
|
||||
/*
|
||||
* FINFO and FPROP are used to store the information of the enumerated files
|
||||
* and directories. They are arranged in a form of linked list. Each list is
|
||||
@@ -29,30 +30,26 @@ typedef struct fprop {
|
||||
unsigned wdate; /* Written (Creation) date in Lisp sense. */
|
||||
unsigned rdate; /* Read date in Lisp sense. */
|
||||
unsigned protect; /* Protect mode of this file. */
|
||||
size_t au_len; /* Byte length of author. */
|
||||
char author[256]; /* Author in Lisp sense. */
|
||||
u_short au_len; /* Byte length of author. */
|
||||
unsigned long nil; /* padding to 8-byte multiple */
|
||||
} FPROP;
|
||||
|
||||
/* This structure has a pointer at each end to force alignment to
|
||||
be correct when a pointer is 8 bytes long. */
|
||||
typedef struct finfo {
|
||||
FPROP *prop; /* File properties Lisp needs. */
|
||||
char lname[MAXNAMLEN]; /* Name in Lisp Format. */
|
||||
u_short lname_len; /* Byte length of lname. */
|
||||
char no_ver_name[MAXNAMLEN];
|
||||
char lname[MAXNAMLEN + 1]; /* Name in Lisp Format. */
|
||||
char no_ver_name[MAXNAMLEN + 1];
|
||||
/*
|
||||
* Name in UNIX Format. Does not
|
||||
* include Version field.
|
||||
* All lower case.
|
||||
*/
|
||||
ino_t ino; /* I-node number of this file. */
|
||||
size_t lname_len; /* Byte length of lname. */
|
||||
unsigned dirp; /* If 1, this file is a directory. */
|
||||
unsigned version; /* Version in Lisp sense. */
|
||||
u_short dirp; /* If 1, this file is a directory. */
|
||||
struct finfo *next; /*
|
||||
* Link to a next entry. Last entry is
|
||||
* indicated by NULL pointer.
|
||||
*/
|
||||
ino_t ino; /* I-node number of this file. */
|
||||
struct finfo *next; /* Last entry is indicated by NULL pointer. */
|
||||
} FINFO;
|
||||
|
||||
typedef struct dfinfo {
|
||||
@@ -61,7 +58,7 @@ typedef struct dfinfo {
|
||||
} DFINFO;
|
||||
|
||||
#ifdef DOS
|
||||
int make_old_version(char *old, char *file);
|
||||
int make_old_version(char *old, size_t oldsize, char *file);
|
||||
#endif
|
||||
#ifdef FSDEBUG
|
||||
void print_finfo(FINFO *fp);
|
||||
|
||||
@@ -43,6 +43,10 @@ extern DLword *DISP_MAX_Address;
|
||||
#define DISPLAYBUFFER
|
||||
#endif /* XWINDOW */
|
||||
|
||||
#ifdef SDL
|
||||
#define DISPLAYBUFFER
|
||||
#endif /* SDL */
|
||||
|
||||
#ifdef DOS
|
||||
#define DISPLAYBUFFER
|
||||
#endif /* DOS */
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
int setup_dlpi_dev(char *device);
|
||||
void flush_dlpi(int fd);
|
||||
int dlpi_devtype(int fd);
|
||||
char *savestr(char *s);
|
||||
int dlunitdatareq(int fd, u_char *addrp, int addrlen, u_long minpri, u_long maxpri, u_char *datap, int datalen);
|
||||
#endif
|
||||
|
||||
@@ -19,7 +19,9 @@ LispPTR COM_writepage(LispPTR *args);
|
||||
LispPTR COM_truncatefile(LispPTR *args);
|
||||
LispPTR COM_changedir(LispPTR *args);
|
||||
LispPTR COM_getfreeblock(LispPTR *args);
|
||||
void separate_version(char *name, char *ver, int checkp);
|
||||
void conc_dir_and_name(char *dir, char *name, char *fname, size_t fname_size);
|
||||
void conc_name_and_version(char *name, char *ver, char *rname, size_t rname_size);
|
||||
void separate_version(char *name, size_t namesize, char *ver, size_t versize, int checkp);
|
||||
int unpack_filename(char *file, char *dir, char *name, char *ver, int checkp);
|
||||
int true_name(char *path);
|
||||
int true_name(char *path, size_t pathsize);
|
||||
#endif
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
#define DSPIFDEFS_H 1
|
||||
#include "devif.h"
|
||||
void make_dsp_instance(DspInterface dsp, char *lispbitmap, int width_hint, int height_hint, int depth_hint);
|
||||
unsigned long GenericReturnT(void);
|
||||
void GenericPanic(DspInterface dsp);
|
||||
unsigned long GenericReturnT(void *d);
|
||||
void GenericReturnVoid(void *d);
|
||||
void GenericPanic(void *d);
|
||||
void describedsp(DspInterface dsp);
|
||||
#endif
|
||||
|
||||
120
inc/ether.h
120
inc/ether.h
@@ -1,120 +0,0 @@
|
||||
#ifndef ETHER_H
|
||||
#define ETHER_H 1
|
||||
/* $Id: ether.h,v 1.2 1999/01/03 02:05:59 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
/* (C) Copyright 1989-92 Venue. All Rights Reserved. */
|
||||
/* Manufactured in the United States of America. */
|
||||
/* */
|
||||
/************************************************************************/
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
|
||||
#ifndef BYTESWAP
|
||||
|
||||
typedef struct {
|
||||
DLword DLLOCALHOST0;
|
||||
DLword DLLOCALHOST1;
|
||||
DLword DLLOCALHOST2;
|
||||
DLword DLFIRSTICB;
|
||||
DLword DLINPUTMASK;
|
||||
DLword DLFIRSTOCB;
|
||||
DLword DLOUTPUTMASK;
|
||||
DLword DLMISSEDPACKETS;
|
||||
DLword DLLASTICB;
|
||||
DLword DLLASTOCB;
|
||||
} DLETHERCSB;
|
||||
|
||||
typedef struct{
|
||||
DLword DLIOCBLENGTH;
|
||||
DLword DLIOCBBUFFERLO;
|
||||
DLword DLIOCBBUFFERHI;
|
||||
DLword DLRETRANSMISSIONMASK;
|
||||
DLword DLIOCBBYTESUSED;
|
||||
DLword DLIOCBSTATUS;
|
||||
DLword DLNEXTIOCB;
|
||||
DLword DLFOROUTPUTUSE;
|
||||
} DLETHERIOCB;
|
||||
|
||||
typedef struct {
|
||||
unsigned int NETTYPE : 8;
|
||||
unsigned int NDBNEXT : 24;
|
||||
unsigned int NDBPUPNET : 8;
|
||||
unsigned int NDBNSNET : 24;
|
||||
unsigned int NDBTASK : 8;
|
||||
unsigned int NDBBROADCASTP : 24;
|
||||
unsigned int NDBPUPHOST : 8;
|
||||
unsigned int NDBTRANSMITTER : 24;
|
||||
unsigned int nil1: 8;
|
||||
unsigned int NDBENCAPSULATOR : 24;
|
||||
unsigned int NDBIQLENGTH : 8; /* DATATYPE */
|
||||
unsigned int NDBCSB : 24; /* DATATYPE */
|
||||
LispPTR NDBIQ;
|
||||
LispPTR NDBTQ;
|
||||
LispPTR NDBTRANSLATIONS;
|
||||
LispPTR NDBETHERFLUSHER;
|
||||
LispPTR NDBWATCHER;
|
||||
LispPTR NDBCANHEARSELF;
|
||||
LispPTR NDBIPNET;
|
||||
LispPTR NDBIPHOST;
|
||||
DLword NDBPUPTYPE;
|
||||
DLword nil2;
|
||||
LispPTR nil3;
|
||||
} NDB;
|
||||
#else
|
||||
/***********************************************/
|
||||
/* Byte-swapped definitions, for e.g., 80386's */
|
||||
/***********************************************/
|
||||
typedef struct {
|
||||
DLword DLLOCALHOST1;
|
||||
DLword DLLOCALHOST0;
|
||||
DLword DLFIRSTICB;
|
||||
DLword DLLOCALHOST2;
|
||||
DLword DLFIRSTOCB;
|
||||
DLword DLINPUTMASK;
|
||||
DLword DLMISSEDPACKETS;
|
||||
DLword DLOUTPUTMASK;
|
||||
DLword DLLASTOCB;
|
||||
DLword DLLASTICB;
|
||||
} DLETHERCSB;
|
||||
|
||||
typedef struct{
|
||||
DLword DLIOCBBUFFERLO;
|
||||
DLword DLIOCBLENGTH;
|
||||
DLword DLRETRANSMISSIONMASK;
|
||||
DLword DLIOCBBUFFERHI;
|
||||
DLword DLIOCBSTATUS;
|
||||
DLword DLIOCBBYTESUSED;
|
||||
DLword DLFOROUTPUTUSE;
|
||||
DLword DLNEXTIOCB;
|
||||
} DLETHERIOCB;
|
||||
|
||||
typedef struct {
|
||||
unsigned int NDBNEXT : 24;
|
||||
unsigned int NETTYPE : 8;
|
||||
unsigned int NDBNSNET : 24;
|
||||
unsigned int NDBPUPNET : 8;
|
||||
unsigned int NDBBROADCASTP : 24;
|
||||
unsigned int NDBTASK : 8;
|
||||
unsigned int NDBTRANSMITTER : 24;
|
||||
unsigned int NDBPUPHOST : 8;
|
||||
unsigned int NDBENCAPSULATOR : 24;
|
||||
unsigned int nil1: 8;
|
||||
unsigned int NDBCSB : 24; /* DATATYPE */
|
||||
unsigned int NDBIQLENGTH : 8; /* DATATYPE */
|
||||
LispPTR NDBIQ;
|
||||
LispPTR NDBTQ;
|
||||
LispPTR NDBTRANSLATIONS;
|
||||
LispPTR NDBETHERFLUSHER;
|
||||
LispPTR NDBWATCHER;
|
||||
LispPTR NDBCANHEARSELF;
|
||||
LispPTR NDBIPNET;
|
||||
LispPTR NDBIPHOST;
|
||||
DLword nil2;
|
||||
DLword NDBPUPTYPE;
|
||||
LispPTR nil3;
|
||||
} NDB;
|
||||
|
||||
#endif /* BYTESWAP */
|
||||
|
||||
#endif /* ETHER_H */
|
||||
@@ -19,5 +19,5 @@ void setNethubHost(char* host);
|
||||
void setNethubPort(int port);
|
||||
void setNethubMac(int m0, int m1, int m2, int m3, int m4, int m5);
|
||||
void setNethubLogLevel(int ll);
|
||||
void connectToHub();
|
||||
void connectToHub(void);
|
||||
#endif
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#ifndef GCCODEDEFS_H
|
||||
#define GCCODEDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
LispPTR map_code_pointers(LispPTR codeblock, short int casep);
|
||||
LispPTR remimplicitkeyhash(LispPTR item, LispPTR ik_hash_table);
|
||||
LispPTR reclaimcodeblock(LispPTR codebase);
|
||||
int code_block_size(long unsigned int codeblock68k);
|
||||
#endif
|
||||
|
||||
35
inc/gcdata.h
35
inc/gcdata.h
@@ -18,8 +18,7 @@
|
||||
*/
|
||||
/**********************************************************************/
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
#include "version.h" /* for USHORT */
|
||||
#include "gchtfinddefs.h"
|
||||
#include "version.h" /* for BIGVM */
|
||||
|
||||
#define ADDREF 0 /* for gclookup routine. */
|
||||
#define DELREF 1 /* for gclookup routine. */
|
||||
@@ -132,10 +131,10 @@
|
||||
#ifdef BIGVM
|
||||
struct hashentry
|
||||
{ /* GC hashtable entry */
|
||||
unsigned short count :15;
|
||||
unsigned short stackref :1;
|
||||
unsigned short segnum :15;
|
||||
unsigned short collision :1;
|
||||
DLword count :15;
|
||||
DLword stackref :1;
|
||||
DLword segnum :15;
|
||||
DLword collision :1;
|
||||
};
|
||||
|
||||
struct htlinkptr
|
||||
@@ -163,10 +162,10 @@ struct htoverflow
|
||||
#else
|
||||
struct hashentry
|
||||
{ /* GC hashtable entry */
|
||||
USHORT count :6;
|
||||
USHORT stackref :1;
|
||||
USHORT segnum :8;
|
||||
USHORT collision :1;
|
||||
DLword count :6;
|
||||
DLword stackref :1;
|
||||
DLword segnum :8;
|
||||
DLword collision :1;
|
||||
};
|
||||
|
||||
struct htlinkptr
|
||||
@@ -201,10 +200,10 @@ struct htoverflow
|
||||
#ifdef BIGVM
|
||||
struct hashentry
|
||||
{ /* GC hashtable entry */
|
||||
USHORT collision :1;
|
||||
USHORT segnum :15;
|
||||
USHORT stackref :1;
|
||||
USHORT count :15;
|
||||
DLword collision :1;
|
||||
DLword segnum :15;
|
||||
DLword stackref :1;
|
||||
DLword count :15;
|
||||
};
|
||||
|
||||
struct htlinkptr
|
||||
@@ -232,10 +231,10 @@ struct htoverflow
|
||||
#else
|
||||
struct hashentry
|
||||
{ /* GC hashtable entry */
|
||||
USHORT collision :1;
|
||||
USHORT segnum :8;
|
||||
USHORT stackref :1;
|
||||
USHORT count :6;
|
||||
DLword collision :1;
|
||||
DLword segnum :8;
|
||||
DLword stackref :1;
|
||||
DLword count :6;
|
||||
};
|
||||
|
||||
struct htlinkptr
|
||||
|
||||
@@ -2,14 +2,10 @@
|
||||
#define GCFINALDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
void printarrayblock(LispPTR base);
|
||||
int integerlength(unsigned int n);
|
||||
LispPTR findptrsbuffer(LispPTR ptr);
|
||||
void printfreeblockchainn(int arlen);
|
||||
LispPTR releasingvmempage(LispPTR ptr);
|
||||
LispPTR checkarrayblock(LispPTR base, LispPTR free, LispPTR onfreelist);
|
||||
LispPTR deleteblock(LispPTR base);
|
||||
LispPTR linkblock(LispPTR base);
|
||||
LispPTR makefreearrayblock(LispPTR block, DLword length);
|
||||
LispPTR arrayblockmerger(LispPTR base, LispPTR nbase);
|
||||
LispPTR mergebackward(LispPTR base);
|
||||
LispPTR mergeforward(LispPTR base);
|
||||
LispPTR reclaimarrayblock(LispPTR ptr);
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
#ifndef GCHTFINDDEFS_H
|
||||
#define GCHTFINDDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
#include "gcdata.h" /* for GCENTRY */
|
||||
void enter_big_reference_count(LispPTR ptr);
|
||||
void modify_big_reference_count(LispPTR *entry, DLword casep, LispPTR ptr);
|
||||
void modify_big_reference_count(GCENTRY *entry, DLword casep, LispPTR ptr);
|
||||
LispPTR htfind(LispPTR ptr, int casep);
|
||||
LispPTR rec_htfind(LispPTR ptr, int casep);
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#ifndef GCSCANDEFS_H
|
||||
#define GCSCANDEFS_H 1
|
||||
#include "lispemul.h" /* for DLword */
|
||||
DLword gcscan1(int probe);
|
||||
DLword gcscan2(int probe);
|
||||
int gcscan1(int probe);
|
||||
int gcscan2(int probe);
|
||||
#endif
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
#ifndef HDW_CONF_H
|
||||
#define HDW_CONF_H 1
|
||||
/* $Id: hdw_conf.h,v 1.2 1999/01/03 02:06:01 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
|
||||
|
||||
|
||||
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
/* (C) Copyright 1989-92 Venue. All Rights Reserved. */
|
||||
/* Manufactured in the United States of America. */
|
||||
/* */
|
||||
/************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
/**************************************************************/
|
||||
/*
|
||||
File name : machineconfig.h
|
||||
|
||||
Created : Aug-19-87 take
|
||||
|
||||
Desc. : Define for Machine dependent param
|
||||
|
||||
*/
|
||||
/**************************************************************/
|
||||
/* Machine Type */
|
||||
|
||||
#define KATANA 3
|
||||
|
||||
/* Lastvmempage(32Mbyte) */
|
||||
#ifdef BIGVM
|
||||
#define LASTVMEMPAGE 0x1FFFF
|
||||
#else
|
||||
#define LASTVMEMPAGE (65535)
|
||||
#endif
|
||||
|
||||
#endif /* HDW_CONF_H */
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
#include "version.h" /* for BIGVM */
|
||||
|
||||
#define MACHINETYPE_MAIKO 3
|
||||
#define IFPAGE_KEYVAL 0x15e3
|
||||
#ifndef BYTESWAP
|
||||
#ifdef BIGVM
|
||||
@@ -91,10 +92,10 @@ typedef struct ifpage {
|
||||
LispPTR dlnilp1;
|
||||
LispPTR dlnilp2;
|
||||
LispPTR dlnilp3;
|
||||
int dllastvmempage;
|
||||
unsigned dllastvmempage;
|
||||
int nactivepages;
|
||||
int ndirtypages;
|
||||
int process_size; /* was lastnumchars */
|
||||
unsigned process_size; /* was lastnumchars */
|
||||
} IFPAGE;
|
||||
#else
|
||||
/* Normal definition, for big-endian machines */
|
||||
@@ -248,10 +249,10 @@ typedef struct ifpage {
|
||||
LispPTR dlnilp1;
|
||||
LispPTR dlnilp2;
|
||||
LispPTR dlnilp3;
|
||||
int dllastvmempage;
|
||||
unsigned dllastvmempage;
|
||||
int nactivepages;
|
||||
int ndirtypages;
|
||||
int process_size; /* was lastnumchars */
|
||||
unsigned process_size; /* was lastnumchars */
|
||||
} IFPAGE;
|
||||
#else
|
||||
/***********************************************************/
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
void init_cursor(void);
|
||||
void set_cursor(void);
|
||||
void clear_display(void);
|
||||
void init_display2(DLword *display_addr, int display_max);
|
||||
void init_display2(DLword *display_addr, unsigned display_max);
|
||||
void display_before_exit(void);
|
||||
void flush_display_buffer(void);
|
||||
void flush_display_region(int x, int y, int w, int h);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define INITSOUTDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
LispPTR *fixp_value(LispPTR *ptr);
|
||||
void init_ifpage(int sysout_size);
|
||||
void init_ifpage(unsigned sysout_size);
|
||||
void init_iopage(void);
|
||||
void build_lisp_map(void);
|
||||
void init_for_keyhandle(void);
|
||||
|
||||
@@ -217,7 +217,7 @@
|
||||
|
||||
#define FJUMPMACRO(x) \
|
||||
do { \
|
||||
if (TOPOFSTACK != 0) { goto PopNextop1; } \
|
||||
if (TOPOFSTACK != 0) { POP; nextop1; } \
|
||||
{ \
|
||||
CHECK_INTERRUPT; \
|
||||
POP; \
|
||||
@@ -227,7 +227,7 @@
|
||||
} while (0)
|
||||
#define TJUMPMACRO(x) \
|
||||
do { \
|
||||
if (TOPOFSTACK == 0) { goto PopNextop1; } \
|
||||
if (TOPOFSTACK == 0) { POP; nextop1; } \
|
||||
{ \
|
||||
CHECK_INTERRUPT; \
|
||||
POP; \
|
||||
@@ -449,15 +449,15 @@
|
||||
|
||||
#define GCSCAN1 \
|
||||
do { \
|
||||
TOPOFSTACK = gcscan1(TOPOFSTACK & 0xffff); \
|
||||
if (TOPOFSTACK) { TOPOFSTACK |= S_POSITIVE; }; \
|
||||
int scan = gcscan1(TOPOFSTACK & 0xffff); \
|
||||
TOPOFSTACK = (scan == -1) ? NIL : (S_POSITIVE | scan); \
|
||||
nextop1; \
|
||||
} while (0)
|
||||
|
||||
#define GCSCAN2 \
|
||||
do { \
|
||||
TOPOFSTACK = gcscan2(TOPOFSTACK & 0xffff); \
|
||||
if (TOPOFSTACK) { TOPOFSTACK |= S_POSITIVE; }; \
|
||||
int scan = gcscan2(TOPOFSTACK & 0xffff); \
|
||||
TOPOFSTACK = (scan == -1) ? NIL : (S_POSITIVE | scan); \
|
||||
nextop1; \
|
||||
} while (0)
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
void process_io_events(void);
|
||||
void kb_trans(u_short keycode, u_short upflg);
|
||||
void taking_mouse_down(void);
|
||||
void taking_mouse_up(int newx, int newy);
|
||||
void copy_cursor(int newx, int newy);
|
||||
void cursor_hidden_bitmap(int x, int y);
|
||||
#endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#ifndef LDSOUTDEFS_H
|
||||
#define LDSOUTDEFS_H 1
|
||||
int sysout_loader(const char * sysout_file_name, int sys_size);
|
||||
unsigned sysout_loader(const char * sysout_file_name, unsigned sys_size);
|
||||
#endif
|
||||
|
||||
@@ -142,12 +142,6 @@ typedef struct wbits {
|
||||
unsigned LSB : 1;
|
||||
} WBITS;
|
||||
|
||||
typedef struct lbits {
|
||||
unsigned xMSB : 1;
|
||||
unsigned MIDDLE : 30;
|
||||
unsigned LSB : 1;
|
||||
} LBITS;
|
||||
|
||||
#define PUTBASEBIT68K(base68k, offset, bitvalue) \
|
||||
do { \
|
||||
if (bitvalue) \
|
||||
@@ -273,30 +267,24 @@ struct state {
|
||||
|
||||
/* For bit test */
|
||||
typedef struct wbits {
|
||||
USHORT LSB : 1;
|
||||
USHORT B14 : 1;
|
||||
USHORT B13 : 1;
|
||||
USHORT B12 : 1;
|
||||
USHORT B11 : 1;
|
||||
USHORT B10 : 1;
|
||||
USHORT B9 : 1;
|
||||
USHORT B8 : 1;
|
||||
USHORT B7 : 1;
|
||||
USHORT B6 : 1;
|
||||
USHORT B5 : 1;
|
||||
USHORT B4 : 1;
|
||||
USHORT B3 : 1;
|
||||
USHORT B2 : 1;
|
||||
USHORT B1 : 1;
|
||||
USHORT xMSB : 1;
|
||||
DLword LSB : 1;
|
||||
DLword B14 : 1;
|
||||
DLword B13 : 1;
|
||||
DLword B12 : 1;
|
||||
DLword B11 : 1;
|
||||
DLword B10 : 1;
|
||||
DLword B9 : 1;
|
||||
DLword B8 : 1;
|
||||
DLword B7 : 1;
|
||||
DLword B6 : 1;
|
||||
DLword B5 : 1;
|
||||
DLword B4 : 1;
|
||||
DLword B3 : 1;
|
||||
DLword B2 : 1;
|
||||
DLword B1 : 1;
|
||||
DLword xMSB : 1;
|
||||
} WBITS;
|
||||
|
||||
typedef struct lbits {
|
||||
unsigned LSB : 1;
|
||||
unsigned MIDDLE : 30;
|
||||
unsigned xMSB : 1; /* xMSB b/c HPUX defined MSB in a header */
|
||||
} LBITS;
|
||||
|
||||
#define PUTBASEBIT68K(base68k, offset, bitvalue) \
|
||||
do { \
|
||||
UNSIGNED real68kbase; \
|
||||
@@ -318,19 +306,18 @@ typedef struct lbits {
|
||||
|
||||
extern struct state MachineState;
|
||||
|
||||
#define MState (&MachineState)
|
||||
#define CURRENTFX ((struct frameex1 *)(((DLword *)PVar) - FRAMESIZE))
|
||||
#define IVar (MState->ivar)
|
||||
#define PVar (MState->pvar)
|
||||
#define CurrentStackPTR (MState->csp)
|
||||
#define TopOfStack (MState->tosvalue)
|
||||
#define PC (MState->currentpc)
|
||||
#define FuncObj (MState->currentfunc)
|
||||
#define EndSTKP (MState->endofstack)
|
||||
#define Irq_Stk_Check (MState->irqcheck)
|
||||
#define Irq_Stk_End (MState->irqend)
|
||||
#define Scratch_CSTK (MState->scratch_cstk)
|
||||
#define Error_Exit (MState->errorexit)
|
||||
#define CURRENTFX ((struct frameex1 *)(void *)(((DLword *)PVar) - FRAMESIZE))
|
||||
#define IVar (MachineState.ivar)
|
||||
#define PVar (MachineState.pvar)
|
||||
#define CurrentStackPTR (MachineState.csp)
|
||||
#define TopOfStack (MachineState.tosvalue)
|
||||
#define PC (MachineState.currentpc)
|
||||
#define FuncObj (MachineState.currentfunc)
|
||||
#define EndSTKP (MachineState.endofstack)
|
||||
#define Irq_Stk_Check (MachineState.irqcheck)
|
||||
#define Irq_Stk_End (MachineState.irqend)
|
||||
#define Scratch_CSTK (MachineState.scratch_cstk)
|
||||
#define Error_Exit (MachineState.errorexit)
|
||||
|
||||
/****************************************************
|
||||
MakeAddr:
|
||||
@@ -357,23 +344,33 @@ GetLongWord:
|
||||
*****************************************************/
|
||||
#define GetLongWord(address) (*((LispPTR *)(address)))
|
||||
|
||||
/* The stack is maintained as a DLword* pointer, carefully incremented
|
||||
* and decremented by 2 (= 4 bytes), and mostly accessed as a LispPTR*
|
||||
* to fetch 4-byte cells. There are a few places where items are
|
||||
* accessed as 2 separate DLwords, so don't be tempted to blindly replace
|
||||
* the DLword* declaration by a LispPTR*. The (void *) cast discourages
|
||||
* the compiler from complaining about a required upgrade in the
|
||||
* alignment when we know(!) that it will always point to an
|
||||
* appropriate boundary.
|
||||
*/
|
||||
|
||||
/****************************************************
|
||||
PopCStack:
|
||||
#define PopCStack {TopOfStack = *((LispPTR *)(--CurrentStackPTR)); --CurrentStackPTR;}
|
||||
*****************************************************/
|
||||
#define PopCStack \
|
||||
do { \
|
||||
TopOfStack = *((LispPTR *)(CurrentStackPTR)); \
|
||||
TopOfStack = *((LispPTR *)(void *)(CurrentStackPTR)); \
|
||||
CurrentStackPTR -= 2; \
|
||||
} while (0)
|
||||
|
||||
/****************************************************
|
||||
PopStackTo: CSTK -> Place
|
||||
#define PopStackTo(Place) {Place= *((LispPTR *)(--CurrentStackPTR)); CurrentStackPTR--; }
|
||||
#define PopStackTo(Place) {Place= *((LispPTR *)(void *)(--CurrentStackPTR)); CurrentStackPTR--; }
|
||||
*****************************************************/
|
||||
#define PopStackTo(Place) \
|
||||
do { \
|
||||
(Place) = *((LispPTR *)(CurrentStackPTR)); \
|
||||
(Place) = *((LispPTR *)(void *)(CurrentStackPTR)); \
|
||||
CurrentStackPTR -= 2; \
|
||||
} while (0)
|
||||
|
||||
@@ -384,7 +381,7 @@ PushCStack:
|
||||
#define PushCStack \
|
||||
do { \
|
||||
CurrentStackPTR += 2; \
|
||||
*((LispPTR *)(CurrentStackPTR)) = TopOfStack; \
|
||||
*((LispPTR *)(void *)(CurrentStackPTR)) = TopOfStack; \
|
||||
} while (0)
|
||||
|
||||
/****************************************************
|
||||
@@ -394,14 +391,14 @@ PushStack:
|
||||
#define PushStack(x) \
|
||||
do { \
|
||||
CurrentStackPTR += 2; \
|
||||
*((LispPTR *)(CurrentStackPTR)) = x; \
|
||||
*((LispPTR *)(void *)(CurrentStackPTR)) = x; \
|
||||
} while (0)
|
||||
|
||||
/****************************************************
|
||||
SmashStack:
|
||||
#define SmashStack(x) (*((LispPTR *)(CurrentStackPTR-1))=x)
|
||||
*****************************************************/
|
||||
#define SmashStack(x) (*((LispPTR *)(CurrentStackPTR)) = (x))
|
||||
#define SmashStack(x) (*((LispPTR *)(void *)(CurrentStackPTR)) = (x))
|
||||
|
||||
/*********************************************************
|
||||
Get_BYTE(byteptr) byteptr: pointer to 8 bit data
|
||||
@@ -413,7 +410,7 @@ Get_BYTE(byteptr) byteptr: pointer to 8 bit data
|
||||
|
||||
/**********************************************************
|
||||
DOSTACKOVERFLOW(argnum,bytenum) if it needs hardreturn-cleanup
|
||||
then upnt to contextsw and immediately return
|
||||
then punt to contextsw and immediately return
|
||||
**********************************************************/
|
||||
#define DOSTACKOVERFLOW(argnum, bytenum) \
|
||||
do { \
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
#ifndef LISPVER2_H
|
||||
#define LISPVER2_H 1
|
||||
/* $Id: lispver2.h,v 1.2 1999/01/03 02:06:09 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
|
||||
|
||||
/* non-DOS version of LispVersionToUnixVersion */
|
||||
|
||||
#define LispVersionToUnixVersion(pathname) do { \
|
||||
\
|
||||
char *lv_cp; \
|
||||
char *lv_vp; \
|
||||
unsigned lv_ver; \
|
||||
char lv_ver_buf[VERSIONLEN]; \
|
||||
\
|
||||
lv_cp = pathname; \
|
||||
lv_vp = NULL; \
|
||||
while (*lv_cp) { \
|
||||
switch (*lv_cp) { \
|
||||
\
|
||||
case ';': \
|
||||
lv_vp = lv_cp; \
|
||||
lv_cp++; \
|
||||
break; \
|
||||
\
|
||||
case '\'': \
|
||||
if (*(lv_cp + 1) != 0) lv_cp += 2; \
|
||||
else lv_cp++; \
|
||||
break; \
|
||||
\
|
||||
default: \
|
||||
lv_cp++; \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
\
|
||||
if (lv_vp != NULL) { \
|
||||
/* \
|
||||
* A semicolon which is not quoted has been found. \
|
||||
*/ \
|
||||
if (*(lv_vp + 1) == 0) { \
|
||||
/* \
|
||||
* The empty version field. \
|
||||
* This is regarded as a versionless file. \
|
||||
*/ \
|
||||
*lv_vp = 0; \
|
||||
} else { \
|
||||
NumericStringP((lv_vp + 1), YES, NO); \
|
||||
YES: \
|
||||
/* \
|
||||
* Convert the remaining field to digit. \
|
||||
*/ \
|
||||
lv_ver = strtoul(lv_vp + 1, (char **)NULL, 10); \
|
||||
if (lv_ver == 0) { \
|
||||
/* versionless */ \
|
||||
*lv_vp = 0; \
|
||||
} else { \
|
||||
sprintf(lv_ver_buf, ".~%u~", lv_ver); \
|
||||
*lv_vp = 0; \
|
||||
strcat(pathname, lv_ver_buf); \
|
||||
} \
|
||||
goto CONT; \
|
||||
\
|
||||
NO: \
|
||||
strcpy(lv_ver_buf, lv_vp + 1); \
|
||||
strcat(lv_ver_buf, "~"); \
|
||||
*lv_vp++ = '.'; \
|
||||
*lv_vp++ = '~'; \
|
||||
*lv_vp = 0; \
|
||||
strcat(pathname, lv_ver_buf); \
|
||||
CONT: \
|
||||
lv_vp--; /* Just for label */ \
|
||||
} \
|
||||
} \
|
||||
} while (0)
|
||||
#endif /* LISPVER2_H */
|
||||
332
inc/locfile.h
332
inc/locfile.h
@@ -8,7 +8,11 @@
|
||||
/* Manufactured in the United States of America. */
|
||||
/* */
|
||||
/************************************************************************/
|
||||
#include <errno.h>
|
||||
#include <limits.h> /* for NAME_MAX */
|
||||
#include <dirent.h> /* for MAXNAMLEN */
|
||||
#include "lispemul.h" /* for DLword */
|
||||
#include "commondefs.h" /* for error */
|
||||
|
||||
#define FDEV_PAGE_SIZE 512 /* 1 page == 512 byte */
|
||||
|
||||
@@ -31,10 +35,8 @@
|
||||
#define PROTECTION (S_POSITIVE | 6)
|
||||
#define EOL (S_POSITIVE | 7)
|
||||
#define ALL (S_POSITIVE | 8)
|
||||
|
||||
|
||||
extern DLword *Lisp_world; /* To access LispSysout area */
|
||||
|
||||
#define INODE_LO (S_POSITIVE | 9)
|
||||
#define INODE_HI (S_POSITIVE | 10)
|
||||
|
||||
#define ToLispTime(x) ((int)(x) + 29969152)
|
||||
/* For getfileinfo. For WDATE&RDATE */
|
||||
@@ -45,18 +47,17 @@ extern DLword *Lisp_world; /* To access LispSysout area */
|
||||
/* For getfileinfo. For WDATE&RDATE */
|
||||
/* 29969152 == (timer.c)LISP_UNIX_TIME_DIFF */
|
||||
|
||||
#define StrNCpyFromCToLisp(lispbuf, cbuf ,len) do { \
|
||||
char *lf_sptr = (cbuf); \
|
||||
char *lf_dptr = (lispbuf); \
|
||||
for(size_t lf_i=0;lf_i<(len);lf_i++)\
|
||||
GETBYTE(lf_dptr++) = *lf_sptr++; \
|
||||
} while (0)
|
||||
|
||||
#define StrNCpyFromLispToC(cbuf , lispbuf, len) do { \
|
||||
char *lf_sptr = (lispbuf); \
|
||||
char *lf_dptr = (cbuf); \
|
||||
for(size_t lf_i=0;lf_i<(len);lf_i++)\
|
||||
*lf_dptr++ = GETBYTE(lf_sptr++); \
|
||||
/*
|
||||
* Copy memory between native memory locations accounting for potential
|
||||
* byte-swapping necessary when then destination is within Lisp memory space
|
||||
* though the provided destination pointer is a native address within the
|
||||
* Lisp space.
|
||||
*/
|
||||
#define MemCpyToLispFromNative(lispbuf, cbuf, len) \
|
||||
do { \
|
||||
char *lf_sptr = (cbuf); \
|
||||
char *lf_dptr = (lispbuf); \
|
||||
for (size_t lf_i = 0; lf_i < (len); lf_i++) *BYTEPTR(lf_dptr++) = *lf_sptr++; \
|
||||
} while (0)
|
||||
|
||||
#define FGetNum(ptr, place) do { \
|
||||
@@ -65,6 +66,10 @@ extern DLword *Lisp_world; /* To access LispSysout area */
|
||||
else {return(NIL);}} while (0)
|
||||
|
||||
|
||||
#ifndef min
|
||||
#define min(a, b) (((a) <= (b))?(a):(b))
|
||||
#endif /* min */
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
/* L i s p S t r i n g T o C S t r i n g */
|
||||
@@ -80,65 +85,52 @@ extern DLword *Lisp_world; /* To access LispSysout area */
|
||||
/* */
|
||||
/************************************************************************/
|
||||
#ifndef BYTESWAP
|
||||
#define LispStringToCString(Lisp, C, MaxLen) \
|
||||
do { \
|
||||
OneDArray *lf_arrayp; \
|
||||
char *lf_base, *lf_dp; \
|
||||
short *lf_sbase; \
|
||||
size_t lf_length; \
|
||||
lf_arrayp = (OneDArray *)NativeAligned4FromLAddr(Lisp); \
|
||||
lf_length = min(MaxLen, lf_arrayp->fillpointer); \
|
||||
switch(lf_arrayp->typenumber) \
|
||||
{ \
|
||||
case THIN_CHAR_TYPENUMBER: \
|
||||
lf_base = ((char *)(NativeAligned2FromLAddr(lf_arrayp->base))) \
|
||||
+ ((int)(lf_arrayp->offset)); \
|
||||
strncpy(C, lf_base, lf_length); \
|
||||
(C)[lf_length] = '\0'; \
|
||||
break; \
|
||||
\
|
||||
case FAT_CHAR_TYPENUMBER: \
|
||||
lf_sbase = ((short *)(NativeAligned2FromLAddr(lf_arrayp->base))) \
|
||||
+ ((int)(lf_arrayp->offset)); \
|
||||
lf_dp = C; \
|
||||
for(size_t lf_i=0;lf_i<(lf_length);lf_i++) \
|
||||
*lf_dp++ = (char)(*lf_sbase++); \
|
||||
*lf_dp = '\0'; \
|
||||
break; \
|
||||
default: \
|
||||
error("LispStringToCString: Not a character array.\n"); \
|
||||
} \
|
||||
} while (0)
|
||||
static void LispStringToCString(LispPTR Lisp, char *C, size_t MaxLen) {
|
||||
OneDArray *lf_arrayp;
|
||||
char *lf_base, *lf_dp;
|
||||
short *lf_sbase;
|
||||
size_t lf_length;
|
||||
lf_arrayp = (OneDArray *)NativeAligned4FromLAddr(Lisp);
|
||||
lf_length = min(MaxLen - 1, lf_arrayp->fillpointer);
|
||||
lf_dp = (C);
|
||||
switch (lf_arrayp->typenumber) {
|
||||
case THIN_CHAR_TYPENUMBER:
|
||||
lf_base = ((char *)(NativeAligned2FromLAddr(lf_arrayp->base))) + ((int)(lf_arrayp->offset));
|
||||
strncpy(lf_dp, lf_base, lf_length);
|
||||
lf_dp[lf_length] = '\0';
|
||||
break;
|
||||
|
||||
case FAT_CHAR_TYPENUMBER:
|
||||
lf_sbase = ((short *)(NativeAligned2FromLAddr(lf_arrayp->base))) + ((int)(lf_arrayp->offset));
|
||||
for (size_t lf_i = 0; lf_i < (lf_length); lf_i++) *lf_dp++ = (char)(*lf_sbase++);
|
||||
*lf_dp = '\0';
|
||||
break;
|
||||
default: error("LispStringToCString: Not a character array.\n");
|
||||
}
|
||||
}
|
||||
#else /* BYTESWAP == T CHANGED-BY-TAKE */
|
||||
#define LispStringToCString(Lisp, C, MaxLen) \
|
||||
do { \
|
||||
OneDArray *lf_arrayp; \
|
||||
char *lf_base, *lf_dp; \
|
||||
short *lf_sbase; \
|
||||
size_t lf_length; \
|
||||
lf_arrayp = (OneDArray *)(NativeAligned4FromLAddr(Lisp)); \
|
||||
lf_length = min(MaxLen, lf_arrayp->fillpointer); \
|
||||
switch(lf_arrayp->typenumber) \
|
||||
{ \
|
||||
case THIN_CHAR_TYPENUMBER: \
|
||||
lf_base = ((char *)(NativeAligned2FromLAddr(lf_arrayp->base))) \
|
||||
+ ((int)(lf_arrayp->offset)); \
|
||||
StrNCpyFromLispToC(C , lf_base , lf_length ); \
|
||||
(C)[lf_length] = '\0'; \
|
||||
break; \
|
||||
\
|
||||
case FAT_CHAR_TYPENUMBER: \
|
||||
lf_sbase = ((short *)(NativeAligned2FromLAddr(lf_arrayp->base))) \
|
||||
+ ((int)(lf_arrayp->offset)); \
|
||||
lf_dp = C; \
|
||||
for(size_t lf_ii=0;lf_ii<(lf_length);lf_ii++,lf_sbase++) \
|
||||
*lf_dp++ = (char)(GETWORD(lf_sbase)); \
|
||||
*lf_dp = '\0'; \
|
||||
break; \
|
||||
default: \
|
||||
error("LispStringToCString: Not a character array.\n"); \
|
||||
} \
|
||||
} while (0)
|
||||
static void LispStringToCString(LispPTR Lisp, char *C, size_t MaxLen) {
|
||||
OneDArray *lf_arrayp;
|
||||
char *lf_base, *lf_dp;
|
||||
short *lf_sbase;
|
||||
size_t lf_length;
|
||||
lf_arrayp = (OneDArray *)(NativeAligned4FromLAddr(Lisp));
|
||||
lf_length = min(MaxLen - 1, lf_arrayp->fillpointer);
|
||||
lf_dp = (C);
|
||||
switch (lf_arrayp->typenumber) {
|
||||
case THIN_CHAR_TYPENUMBER:
|
||||
lf_base = ((char *)(NativeAligned2FromLAddr(lf_arrayp->base))) + ((int)(lf_arrayp->offset));
|
||||
for (size_t lf_i = 0; lf_i < lf_length; lf_i++) *lf_dp++ = GETBYTE(lf_base++);
|
||||
break;
|
||||
|
||||
case FAT_CHAR_TYPENUMBER:
|
||||
lf_sbase = ((short *)(NativeAligned2FromLAddr(lf_arrayp->base))) + ((int)(lf_arrayp->offset));
|
||||
for (size_t lf_ii = 0; lf_ii < lf_length; lf_ii++) *lf_dp++ = (char)(GETWORD(lf_sbase++));
|
||||
break;
|
||||
default: error("LispStringToCString: Not a character array.\n");
|
||||
}
|
||||
*lf_dp = '\0';
|
||||
}
|
||||
|
||||
#endif /* BYTESWAP */
|
||||
|
||||
@@ -190,13 +182,10 @@ do { \
|
||||
(cstringp) = (char *)(NativeAligned2FromLAddr(((OneDArray *)lf_naddress)->base)); \
|
||||
} while (0)
|
||||
|
||||
#ifndef min
|
||||
#define min(a, b) (((a) <= (b))?(a):(b))
|
||||
#endif /* min */
|
||||
|
||||
#define LispNumToCInt(Lisp) \
|
||||
( (((Lisp) & SEGMASK) == S_POSITIVE) ? \
|
||||
((Lisp) & 0xFFFF) : (*((int *)(NativeAligned4FromLAddr(Lisp)))) )
|
||||
( (((Lisp) & SEGMASK) == S_POSITIVE) ? ((Lisp) & 0xFFFF) : \
|
||||
(((Lisp) & SEGMASK) == S_NEGATIVE) ? ((Lisp) | 0xFFFF0000) : \
|
||||
(*((int *)(NativeAligned4FromLAddr(Lisp)))) )
|
||||
|
||||
#define UPLOWDIFF 0x20
|
||||
|
||||
@@ -299,7 +288,7 @@ do { \
|
||||
* Argument: char *pathname
|
||||
* Xerox Lisp syntax pathname.
|
||||
*
|
||||
* Value: If succeed, returns 1, otherwise 0.
|
||||
* Value: On success returns 1, otherwise 0.
|
||||
*
|
||||
* Side Effect: The version part of pathname is destructively modified.
|
||||
*
|
||||
@@ -312,7 +301,7 @@ do { \
|
||||
* code.
|
||||
* This macro should be called at the top of the routines which accept the
|
||||
* file name from lisp before converting it into UNIX file name, because
|
||||
* locating the version part, the informations about quoted characters are needed.
|
||||
* locating the version part, the information about quoted characters are needed.
|
||||
* They might be lost in the course of the conversion.
|
||||
*
|
||||
*/
|
||||
@@ -323,183 +312,15 @@ do { \
|
||||
/* * * * * it gave "Too many characters in a character constant" errors! */
|
||||
#include "lispver1.h"
|
||||
#else /* DOS */
|
||||
/* NON-DOS version of the macro LispVersionToUnixVersion */
|
||||
#include "lispver2.h"
|
||||
/* NON-DOS version is inline in ufs.c */
|
||||
#endif /* DOS */
|
||||
|
||||
|
||||
/*
|
||||
* Name: UnixVersionToLispVersion
|
||||
*
|
||||
* Argument: char *pathname
|
||||
* UNIX syntax pathname.
|
||||
* int vlessp
|
||||
* If 0, versionless file is converted to version 1.
|
||||
* Otherwise, remains as versionless.
|
||||
*
|
||||
* Value: If succeed, returns 1, otherwise 0.
|
||||
*
|
||||
* Side Effect: The version part of pathname is destructively modified.
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* Destructively modify the version part of pathname which is following the
|
||||
* UNIX file naming convention to Xerox Lisp one.
|
||||
* This macro should be called, in the routines which convert the UNIX pathname
|
||||
* to Lisp one, just before it returns the result to Lisp, because converting
|
||||
* version field will append a semicolon and it might make the routine be
|
||||
* confused.
|
||||
* The file which has not a valid version field, that is ".~##~" form, is
|
||||
* dealt with as version 1.
|
||||
*/
|
||||
|
||||
#define UnixVersionToLispVersion(pathname, vlessp) do { \
|
||||
\
|
||||
char *start; \
|
||||
char *end; \
|
||||
char *lf_cp; \
|
||||
int ver_no; \
|
||||
size_t len; \
|
||||
char ver_buf[VERSIONLEN]; \
|
||||
\
|
||||
if ((start = strchr(pathname, '~')) != NULL) { \
|
||||
/* First of all, find the version field in pathname. */ \
|
||||
end = start; \
|
||||
lf_cp = start + 1; \
|
||||
while (*lf_cp) { \
|
||||
if (*lf_cp == '~') { \
|
||||
start = end; \
|
||||
end = lf_cp; \
|
||||
lf_cp++; \
|
||||
} else { \
|
||||
lf_cp++; \
|
||||
} \
|
||||
} \
|
||||
\
|
||||
if (start != end && *(start - 1) == '.' && end == (lf_cp - 1)) { \
|
||||
/* \
|
||||
* pathname ends in the form ".~###~". But we \
|
||||
* check ### is a valid number or not. \
|
||||
*/ \
|
||||
len = (end - start) - 1; \
|
||||
strncpy(ver_buf, start + 1, len); \
|
||||
ver_buf[len] = '\0'; \
|
||||
NumericStringP(ver_buf, YES, NO); \
|
||||
YES: \
|
||||
*(start - 1) = ';'; \
|
||||
*start = '\0'; \
|
||||
*end = '\0'; \
|
||||
/* call strtoul() to eliminate leading 0s. */ \
|
||||
ver_no = strtoul(start + 1, (char **)NULL, 10); \
|
||||
sprintf(ver_buf, "%u", ver_no); \
|
||||
strcat(pathname, ver_buf); \
|
||||
goto CONT; \
|
||||
\
|
||||
NO: \
|
||||
/* Dealt with as version 1 unless vlessp */ \
|
||||
if (!(vlessp)) strcat(pathname, ";1"); \
|
||||
CONT: \
|
||||
lf_cp--; /* Just for label */ \
|
||||
} else { \
|
||||
/* Dealt with as version 1 unless vlessp. */ \
|
||||
if (!(vlessp)) strcat(pathname, ";1"); \
|
||||
} \
|
||||
} else { \
|
||||
/* Dealt with as version 1 unless vlessp. */ \
|
||||
if (!(vlessp)) strcat(pathname, ";1"); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* Name: ConcDirAndName
|
||||
*
|
||||
* Argument: char *dir The name of the directory.
|
||||
* char *name The name of a file.
|
||||
* char *fname The place where the full file name should be
|
||||
* stored.
|
||||
* Value: N/A
|
||||
*
|
||||
* Side Effect: fname is replaced with the full file name.
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* Concatenate the directory name and root file name. Checks if dir contains
|
||||
* the trail directory delimiter or not.
|
||||
*
|
||||
*/
|
||||
|
||||
#define ConcDirAndName(dir, name, fname) do { \
|
||||
\
|
||||
char *lf_cp1, *lf_cp2; \
|
||||
\
|
||||
lf_cp1 = dir; \
|
||||
lf_cp2 = dir; \
|
||||
\
|
||||
while (*lf_cp2 != '\0') { \
|
||||
switch (*lf_cp2) { \
|
||||
\
|
||||
case '/': \
|
||||
lf_cp1 = lf_cp2; \
|
||||
lf_cp2++; \
|
||||
break; \
|
||||
\
|
||||
default: \
|
||||
lf_cp2++; \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
if (lf_cp1 == (lf_cp2 - 1)) { \
|
||||
if (lf_cp1 == (dir)) { \
|
||||
/* dir is a root directory. */ \
|
||||
strcpy(fname, "/"); \
|
||||
strcat(fname, name); \
|
||||
} else { \
|
||||
/* The trail directory is included. */ \
|
||||
strcpy(fname, dir); \
|
||||
strcat(fname, name); \
|
||||
} \
|
||||
} else { \
|
||||
/* The trail directory is not included */ \
|
||||
strcpy(fname, dir); \
|
||||
strcat(fname, "/"); \
|
||||
strcat(fname, name); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* Name: ConcNameAndVersion
|
||||
*
|
||||
* Argument: char *name The root file name.
|
||||
* char *ver The file version.
|
||||
* char *rname The place where the concatenated file name will be
|
||||
* stored.
|
||||
* Value: N/A
|
||||
*
|
||||
* Side Effect: rname is replaced with the concatenated file name.
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* Concatenate the root file name and its version in UNIX format.
|
||||
*
|
||||
*/
|
||||
|
||||
#define ConcNameAndVersion(name, ver, rname) do { \
|
||||
if (*(ver) != '\0') { \
|
||||
strcpy(rname, name); \
|
||||
strcat(rname, ".~"); \
|
||||
strcat(rname, ver); \
|
||||
strcat(rname, "~"); \
|
||||
} else { \
|
||||
strcpy(rname, name); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define VERSIONLEN 16
|
||||
|
||||
#define VERSIONLEN 24
|
||||
#define MAXVERSION 999999999
|
||||
|
||||
#define LASTVERSIONARRAY ((unsigned) -1)
|
||||
#define VERSIONARRAYLENGTH 200
|
||||
#define VERSIONARRAYCHUNKLENGTH 200
|
||||
#define VERSIONARRAYMAXLENGTH 2000
|
||||
|
||||
#define NoFileP(varray) \
|
||||
(((varray)->version_no == LASTVERSIONARRAY)? 1 : 0)
|
||||
@@ -542,9 +363,6 @@ do { \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
|
||||
extern int errno;
|
||||
|
||||
#define ChangeToVersionless(pathname) do { \
|
||||
char *lf_cp; \
|
||||
if( (lf_cp=strrchr(pathname, ';')) != 0) \
|
||||
|
||||
@@ -45,20 +45,20 @@
|
||||
#ifdef BIGVM
|
||||
extern LispPTR *FPtoVP;
|
||||
#else
|
||||
extern DLword *FPtoVP ;
|
||||
extern DLword *FPtoVP;
|
||||
#endif /* BIGVM */
|
||||
extern DLword *PAGEMap;
|
||||
extern DLword *PageMapTBL ;
|
||||
extern DLword *PageMapTBL;
|
||||
extern DLword *LockedPageTable;
|
||||
|
||||
/* For Interface to Micro or Device */
|
||||
extern DLword *IOCBPage ;
|
||||
extern IOPAGE *IOPage ;
|
||||
extern IFPAGE *InterfacePage ;
|
||||
extern MISCSTATS *MiscStats ;
|
||||
extern DLword *IOCBPage;
|
||||
extern IOPAGE *IOPage;
|
||||
extern IFPAGE *InterfacePage;
|
||||
extern MISCSTATS *MiscStats;
|
||||
|
||||
/* UFN Tbl */
|
||||
extern DLword *UFNTable ;
|
||||
extern DLword *UFNTable;
|
||||
|
||||
/* Internal Hash Table for GC */
|
||||
#ifdef BIGVM
|
||||
@@ -75,15 +75,15 @@ extern DLword *UFNTable ;
|
||||
|
||||
|
||||
/* DISPLAY */
|
||||
extern DLword *DisplayRegion ;
|
||||
extern DLword *DisplayRegion;
|
||||
|
||||
|
||||
/* FLEX STORAGES */
|
||||
extern DLword *MDS_space_bottom; /* Start of MDS (pre -2) */
|
||||
extern DLword *PnCharspace ; /* Space for PN char codes (Thin only) */
|
||||
extern DLword *PnCharspace; /* Space for PN char codes (Thin only) */
|
||||
|
||||
extern struct dtd *ListpDTD ; /* DTD for LISTP chang. 25-mar-87 take */
|
||||
extern DLword *Next_Array ; /* Next available ARRAY space */
|
||||
extern struct dtd *ListpDTD; /* DTD for LISTP chang. 25-mar-87 take */
|
||||
extern DLword *Next_Array; /* Next available ARRAY space */
|
||||
extern DLword *Next_MDSpage; /* Next available MDS space */
|
||||
|
||||
/* Pointers in Cell or any object means DLword offset from Lisp_world.
|
||||
@@ -100,7 +100,7 @@ extern LispPTR *Next_MDSpage_word;
|
||||
extern LispPTR *Next_Array_word;
|
||||
extern LispPTR *MDS_free_page_word;
|
||||
|
||||
extern LispPTR *Reclaim_cnt_word ;
|
||||
extern LispPTR *Reclaim_cnt_word;
|
||||
|
||||
/*** cache values for array reclaimer by Tomtom 30-Sep-1987 ***/
|
||||
|
||||
@@ -145,6 +145,7 @@ extern LispPTR *LeastMDSPage_word;
|
||||
extern LispPTR *SecondMDSPage_word;
|
||||
extern LispPTR *SecondArrayPage_word;
|
||||
extern LispPTR *INTERRUPTSTATE_word;
|
||||
extern LispPTR *IOINTERRUPTFLAGS_word;
|
||||
extern LispPTR *SYSTEMCACHEVARS_word;
|
||||
extern LispPTR *MACHINETYPE_word;
|
||||
|
||||
@@ -168,6 +169,31 @@ extern int UnixPipeIn;
|
||||
extern int UnixPipeOut;
|
||||
extern int UnixPID;
|
||||
|
||||
/* Interrupt frame calls */
|
||||
extern LispPTR DOBUFFEREDTRANSITION_index;
|
||||
extern LispPTR INTERRUPTFRAME_index;
|
||||
extern LispPTR PERIODIC_INTERRUPTFRAME_index;
|
||||
extern LispPTR DORECLAIM_index;
|
||||
|
||||
/* BITBLT related atoms */
|
||||
extern LispPTR BITBLTBITMAP_index;
|
||||
extern LispPTR BLTSHADEBITMAP_index;
|
||||
extern LispPTR BLTCHAR_index;
|
||||
extern LispPTR TEDIT_BLTCHAR_index;
|
||||
#ifdef COLOR
|
||||
extern LispPTR SLOWBLTCHAR_index;
|
||||
extern LispPTR COLORSCREEN_index;
|
||||
#endif
|
||||
|
||||
/* BITBLT operation atoms */
|
||||
extern DLword TEXTURE_atom;
|
||||
extern DLword MERGE_atom;
|
||||
extern DLword INPUT_atom;
|
||||
extern DLword INVERT_atom;
|
||||
extern DLword ERASE_atom;
|
||||
extern DLword PAINT_atom;
|
||||
extern DLword REPLACE_atom;
|
||||
|
||||
/* Atom index for IL:\MVLIST, for the VALUES opcode */
|
||||
extern LispPTR MVLIST_index;
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user