mirror of
https://github.com/Interlisp/maiko.git
synced 2026-03-16 06:47:22 +00:00
Compare commits
288 Commits
Fix-Unicod
...
build-201
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc390c511f | ||
|
|
fcc62953d8 | ||
|
|
33ba044dc1 | ||
|
|
387be9d2b6 | ||
|
|
5565c9db8b | ||
|
|
ad9487a89b | ||
|
|
fdef5e6dde | ||
|
|
ebd7a197f2 | ||
|
|
6a7e018a0c | ||
|
|
7a28ba5731 | ||
|
|
c4ad41fcb7 | ||
|
|
fda6153d5b | ||
|
|
419ff4a549 | ||
|
|
695f559af8 | ||
|
|
a24f10a995 | ||
|
|
6944c1289b | ||
|
|
b8873485c7 | ||
|
|
1a98f0783e | ||
|
|
77894f993c | ||
|
|
83cd45d8dc | ||
|
|
8b746780cd | ||
|
|
269e5d8235 | ||
|
|
cc6e8b6986 | ||
|
|
b7b364359b | ||
|
|
e84703c3bd | ||
|
|
5fbc3d0480 | ||
|
|
97e811e3de | ||
|
|
f6aa8f1dcd | ||
|
|
1b90398cfc | ||
|
|
b758597f96 | ||
|
|
4b603a8a31 | ||
|
|
d6a5e5298a | ||
|
|
483506234b | ||
|
|
f3592648b6 | ||
|
|
d266f4d987 | ||
|
|
05f49a3556 | ||
|
|
2a42cd8e52 | ||
|
|
dab77421a2 | ||
|
|
5143aa25b0 | ||
|
|
56b6cfaa19 | ||
|
|
3786630f33 | ||
|
|
63bfea5adf | ||
|
|
c2ee07f609 | ||
|
|
a3b064b2b7 | ||
|
|
bba1dd660f | ||
|
|
f701bb40ac | ||
|
|
9941356250 | ||
|
|
e843dfbd76 | ||
|
|
7ea30a40cc | ||
|
|
a38ae21908 | ||
|
|
f543d56260 | ||
|
|
bf8c1ae277 | ||
|
|
7e819fbb69 | ||
|
|
166d54e938 | ||
|
|
94a41d2a5b | ||
|
|
2c4ccf54c3 | ||
|
|
903a7f64fc | ||
|
|
a9dcff6fd6 | ||
|
|
049568b0f8 | ||
|
|
d4226c20f2 | ||
|
|
889adcaa35 | ||
|
|
a448bd0329 | ||
|
|
02fa9a6b23 | ||
|
|
1790919750 | ||
|
|
5a3729886e | ||
|
|
9eba057b94 | ||
|
|
4806d98270 | ||
|
|
1af3803fca | ||
|
|
6c5b8391b7 | ||
|
|
09bf2988be | ||
|
|
059d750c75 | ||
|
|
f0079b1e73 | ||
|
|
dad4a8cc79 | ||
|
|
822a03a95b | ||
|
|
b7ee0eb34f | ||
|
|
dbdd7c2dc2 | ||
|
|
6a4ed88f37 | ||
|
|
9239fb3c29 | ||
|
|
78f0d3c511 | ||
|
|
4dc9429b19 | ||
|
|
55a7a47598 | ||
|
|
34fc725758 | ||
|
|
3ee8530dc1 | ||
|
|
49a6891283 | ||
|
|
7d760f64cf | ||
|
|
68137d6251 | ||
|
|
8e34c274c0 | ||
|
|
695828a600 | ||
|
|
10f53dfb93 | ||
|
|
584a719f8d | ||
|
|
be9eb33ca0 | ||
|
|
acc4d387a1 | ||
|
|
7965bfe131 | ||
|
|
d28f05f79d | ||
|
|
ed77b2fb7b | ||
|
|
7dc889249b | ||
|
|
ee777103ad | ||
|
|
76e1503249 | ||
|
|
7377613aab | ||
|
|
5fcd1ced65 | ||
|
|
e6d981632e | ||
|
|
a2c908fc32 | ||
|
|
9df1ea251a | ||
|
|
cde0be42f0 | ||
|
|
29f2a78a2f | ||
|
|
61d6cdbcc9 | ||
|
|
ead2a6771c | ||
|
|
5a3425e426 | ||
|
|
010329f29d | ||
|
|
8a0804831e | ||
|
|
eae42d1a6d | ||
|
|
ed5e504b06 | ||
|
|
215a22ea9f | ||
|
|
5202c71a95 | ||
|
|
2b270e6697 | ||
|
|
59d3446c6a | ||
|
|
0c505f9576 | ||
|
|
51fffe5827 | ||
|
|
d35b964393 | ||
|
|
58f6f68c7e | ||
|
|
873d4927ce | ||
|
|
5c0349cc69 | ||
|
|
d509224797 | ||
|
|
f8f7b2ace9 | ||
|
|
89c01ad00a | ||
|
|
3075cc93bb | ||
|
|
4a02a1a24d | ||
|
|
813d2aa2b5 | ||
|
|
1fe71e5b84 | ||
|
|
8d804ad5cd | ||
|
|
ad045ce356 | ||
|
|
c49eb4a4ce | ||
|
|
1c5881fad4 | ||
|
|
77ad9204af | ||
|
|
89c3041339 | ||
|
|
142b5679cf | ||
|
|
0e7dc75fd9 | ||
|
|
41e7a15b1e | ||
|
|
5a7cfcbbe7 | ||
|
|
9e2b3eb882 | ||
|
|
543f7985a2 | ||
|
|
c07ad9fe8e | ||
|
|
fff53ba224 | ||
|
|
d842b284ac | ||
|
|
64b47841d8 | ||
|
|
d91de66322 | ||
|
|
e72dd332a3 | ||
|
|
f7fd547360 | ||
|
|
b94cb8809b | ||
|
|
6010df35fe | ||
|
|
601d6e9142 | ||
|
|
3d9f090e70 | ||
|
|
4bd1f4b49a | ||
|
|
681f3b2592 | ||
|
|
c3f79872f1 | ||
|
|
a15de4df10 | ||
|
|
430da79e73 | ||
|
|
259658fa2c | ||
|
|
317f081409 | ||
|
|
5fa05ac3d7 | ||
|
|
9a10f63fe6 | ||
|
|
77957d421a | ||
|
|
e81345218a | ||
|
|
b27bd2fbab | ||
|
|
b5f51d58f1 | ||
|
|
60af445afa | ||
|
|
a18f09d788 | ||
|
|
2bf7047709 | ||
|
|
90b967c8d3 | ||
|
|
b005501427 | ||
|
|
20046b265b | ||
|
|
e6a974a2a7 | ||
|
|
8ea2c76110 | ||
|
|
3e7c71c0c0 | ||
|
|
f2a3715930 | ||
|
|
f15d8eca09 | ||
|
|
008ce703e7 | ||
|
|
fa08a08648 | ||
|
|
bb0b011f90 | ||
|
|
6bccbfbcf3 | ||
|
|
e3af3b03b9 | ||
|
|
880747f2dc | ||
|
|
c7fd28a438 | ||
|
|
e1efc860c4 | ||
|
|
26fe840edf | ||
|
|
212a0fa9c6 | ||
|
|
65bbcb7d9d | ||
|
|
987cf4c7c6 | ||
|
|
c46fcce307 | ||
|
|
de5ea2110f | ||
|
|
6c241f1eaa | ||
|
|
19688bc314 | ||
|
|
c39b751f42 | ||
|
|
75c668f1cd | ||
|
|
a25368714f | ||
|
|
3cdbccd0c7 | ||
|
|
4d2bf13347 | ||
|
|
f7e40d1ed5 | ||
|
|
9bb5a4298c | ||
|
|
533c935e72 | ||
|
|
6fedd97d21 | ||
|
|
a70b18d444 | ||
|
|
c7adb3c4ba | ||
|
|
b1545e4ccc | ||
|
|
4f79f55c20 | ||
|
|
85c4ebf0ac | ||
|
|
7284e19b32 | ||
|
|
0de1b1438b | ||
|
|
740f012254 | ||
|
|
377a6f3f47 | ||
|
|
c07618f55c | ||
|
|
dbbb59b30b | ||
|
|
e957e331c4 | ||
|
|
934a86fbb5 | ||
|
|
28ea238807 | ||
|
|
81c36341ef | ||
|
|
6cad51735f | ||
|
|
c33386ef44 | ||
|
|
588e804a2f | ||
|
|
c56cbb2a91 | ||
|
|
ef31b3fe0b | ||
|
|
ea8d31f590 | ||
|
|
093fb9a3d5 | ||
|
|
b53620852a | ||
|
|
13163c6772 | ||
|
|
9e179e66f2 | ||
|
|
084d69c6e8 | ||
|
|
40e18e6da0 | ||
|
|
9ed46e6b69 | ||
|
|
934b15b63b | ||
|
|
2de44247b5 | ||
|
|
ef6a6554ac | ||
|
|
1c47bf5df0 | ||
|
|
f42671022f | ||
|
|
2122f095e8 | ||
|
|
91fe7d51f9 | ||
|
|
a5410ef93d | ||
|
|
5ce292ed32 | ||
|
|
081e2288ff | ||
|
|
c4873d0ff8 | ||
|
|
01a8948a7d | ||
|
|
36ccd9a5f5 | ||
|
|
f6da80f8b3 | ||
|
|
be4d4c771e | ||
|
|
d025ff0101 | ||
|
|
22ae23552c | ||
|
|
082bd15542 | ||
|
|
c6a74b2516 | ||
|
|
d8e063bf02 | ||
|
|
0129b50127 | ||
|
|
a64a06466c | ||
|
|
12ef73a794 | ||
|
|
ddb1c9f717 | ||
|
|
923f472a8f | ||
|
|
aa32c8347b | ||
|
|
966a0bd7e0 | ||
|
|
e317c37f03 | ||
|
|
31927cd255 | ||
|
|
747b8e468e | ||
|
|
ef7149e8e4 | ||
|
|
64c04b5e2d | ||
|
|
1043a80d1f | ||
|
|
c60b522012 | ||
|
|
f019d3ddc2 | ||
|
|
64957b508d | ||
|
|
1116ee7b60 | ||
|
|
3a55f1d132 | ||
|
|
f2ac050e8e | ||
|
|
6fe94fd655 | ||
|
|
0d7dcc24bd | ||
|
|
2a71f330b5 | ||
|
|
694d9b08c6 | ||
|
|
d1e0e006da | ||
|
|
1fc0d28167 | ||
|
|
7274e16b24 | ||
|
|
c9a0d441c4 | ||
|
|
3ae9d558b1 | ||
|
|
015972c05c | ||
|
|
b21aeecf4c | ||
|
|
78943073c3 | ||
|
|
c19b184820 | ||
|
|
ec95bb7a51 | ||
|
|
2aacca596b | ||
|
|
d482cc461c | ||
|
|
9957f5c305 | ||
|
|
f0a53302ce | ||
|
|
275c5b9c13 | ||
|
|
261069f131 |
23
.github/workflows/build.yml
vendored
23
.github/workflows/build.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-10.15, ubuntu-18.04]
|
||||
os: [macos-11, ubuntu-22.04, ubuntu-18.04]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install X11 dependencies on MacOS
|
||||
@@ -21,20 +21,23 @@ jobs:
|
||||
working-directory: bin
|
||||
run: ./makeright x
|
||||
|
||||
build-pi:
|
||||
runs-on: [self-hosted, linux, ARM]
|
||||
if: ${{ github.repository == 'Interlisp/maiko' }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Build
|
||||
working-directory: bin
|
||||
run: ./makeright x
|
||||
#
|
||||
# Commented out because the RPi is not online at this time (6 July 2021)
|
||||
#
|
||||
# build-pi:
|
||||
# runs-on: [self-hosted, linux, ARM]
|
||||
# if: ${{ github.repository == 'Interlisp/maiko' }}
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# - name: Build
|
||||
# working-directory: bin
|
||||
# run: ./makeright x
|
||||
|
||||
build-cmake:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-10.15, ubuntu-20.04, ubuntu-18.04]
|
||||
os: [macos-11, ubuntu-22.04, ubuntu-20.04, ubuntu-18.04]
|
||||
env:
|
||||
BUILD_TYPE: Release
|
||||
steps:
|
||||
|
||||
357
.github/workflows/buildReleaseInclDocker.yml
vendored
Normal file
357
.github/workflows/buildReleaseInclDocker.yml
vendored
Normal file
@@ -0,0 +1,357 @@
|
||||
#*******************************************************************************
|
||||
# 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'
|
||||
|
||||
######################################################################################
|
||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -5,8 +5,13 @@
|
||||
\#*#
|
||||
.DS_Store
|
||||
# build directories
|
||||
build/**
|
||||
*.m68k-x/**
|
||||
*.m68k/**
|
||||
*.386-x/**
|
||||
*.386/**
|
||||
*.ppc-x/**
|
||||
*.ppc/**
|
||||
*.sparc-x/**
|
||||
*.sparc/**
|
||||
*.x86_64-x/**
|
||||
|
||||
@@ -16,6 +16,19 @@ IF(CMAKE_C_COMPILER_ID MATCHES "SunPro")
|
||||
SET(CMAKE_C_FLAGS "-fno-strict-aliasing ${CMAKE_C_FLAGS}")
|
||||
ENDIF()
|
||||
|
||||
find_program(
|
||||
CLANG_TIDY_EXE
|
||||
NAMES "clang-tidy" "clang-tidy13" "clang-tidy12" "clang-tidy11" "clang-tidy10"
|
||||
DOC "Path to clang-tidy executable"
|
||||
)
|
||||
|
||||
IF (CLANG_TIDY_EXE)
|
||||
# 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=.*)
|
||||
ENDIF()
|
||||
|
||||
INCLUDE(CheckLibraryExists)
|
||||
CHECK_LIBRARY_EXISTS(m fmod "" NEED_LIB_M)
|
||||
IF(NEED_LIB_M)
|
||||
@@ -26,12 +39,6 @@ SET(MAIKO_DEFINITIONS
|
||||
"-DRELEASE=351"
|
||||
)
|
||||
|
||||
IF(UNIX)
|
||||
LIST(APPEND MAIKO_DEFINITIONS
|
||||
"-DLOGINT"
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
OPTION(MAIKO_DISPLAY_X11 "Use X11 for display." ON)
|
||||
IF(MAIKO_DISPLAY_X11)
|
||||
FIND_PACKAGE(X11 REQUIRED)
|
||||
@@ -65,19 +72,6 @@ IF(MAIKO_DISPLAY_X11)
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR
|
||||
CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64" OR
|
||||
CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" OR
|
||||
CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR
|
||||
CMAKE_SYSTEM_PROCESSOR STREQUAL "i386" OR
|
||||
CMAKE_SYSTEM_PROCESSOR STREQUAL "i686" OR
|
||||
CMAKE_SYSTEM_PROCESSOR MATCHES "arm.*" OR
|
||||
CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
|
||||
LIST(APPEND MAIKO_DEFINITIONS
|
||||
"-DBYTESWAP"
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
IF(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
|
||||
LIST(APPEND MAIKO_DEFINITIONS
|
||||
"-DOS5"
|
||||
@@ -95,10 +89,7 @@ ENDIF()
|
||||
# These don't build on Linux. Some are for SunOS and DOS. Others ... ?
|
||||
SET(BAD_SRCS
|
||||
src/atom.c
|
||||
src/cdaudio.c
|
||||
src/cdrom.c
|
||||
src/chatter.c
|
||||
src/Cldeetr.c
|
||||
src/codeconv.c
|
||||
src/codetbl.c
|
||||
src/doscomm.c
|
||||
@@ -130,15 +121,8 @@ SET(BAD_SRCS
|
||||
|
||||
SET(MAIKO_SRCS
|
||||
src/allocmds.c
|
||||
src/arith2.c
|
||||
src/arith3.c
|
||||
src/arith4.c
|
||||
src/array2.c
|
||||
src/array3.c
|
||||
src/array4.c
|
||||
src/array5.c
|
||||
src/array6.c
|
||||
src/array.c
|
||||
src/arithops.c
|
||||
src/arrayops.c
|
||||
src/asmbbt.c
|
||||
src/bbtsub.c
|
||||
src/bin.c
|
||||
@@ -232,16 +216,9 @@ SET(MAIKO_HDRS
|
||||
inc/address.h
|
||||
inc/adr68k.h
|
||||
inc/allocmdsdefs.h
|
||||
inc/arith2defs.h
|
||||
inc/arith3defs.h
|
||||
inc/arith4defs.h
|
||||
inc/arithopsdefs.h
|
||||
inc/arith.h
|
||||
inc/array2defs.h
|
||||
inc/array3defs.h
|
||||
inc/array4defs.h
|
||||
inc/array5defs.h
|
||||
inc/array6defs.h
|
||||
inc/arraydefs.h
|
||||
inc/arrayopsdefs.h
|
||||
inc/array.h
|
||||
inc/bb.h
|
||||
inc/bbtsubdefs.h
|
||||
@@ -252,7 +229,6 @@ SET(MAIKO_HDRS
|
||||
inc/bltdefs.h
|
||||
inc/byteswapdefs.h
|
||||
inc/car-cdrdefs.h
|
||||
inc/cdrom.h
|
||||
inc/cell.h
|
||||
inc/chardevdefs.h
|
||||
inc/commondefs.h
|
||||
@@ -389,6 +365,7 @@ SET(MAIKO_HDRS
|
||||
inc/unixfork.h
|
||||
inc/unwinddefs.h
|
||||
inc/uraiddefs.h
|
||||
inc/uraidextdefs.h
|
||||
inc/usrsubrdefs.h
|
||||
inc/uutilsdefs.h
|
||||
inc/vars3defs.h
|
||||
@@ -400,7 +377,7 @@ SET(MAIKO_HDRS
|
||||
)
|
||||
|
||||
ADD_CUSTOM_TARGET(gen-vdate
|
||||
COMMAND mkvdate > vdate.c
|
||||
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bin/mkvdate > vdate.c
|
||||
BYPRODUCTS vdate.c
|
||||
)
|
||||
|
||||
@@ -432,10 +409,6 @@ IF(MAIKO_DISPLAY_X11)
|
||||
TARGET_LINK_LIBRARIES(ldex ${MAIKO_LIBRARIES} ${MAIKO_DISPLAY_X11_LIBRARIES})
|
||||
ENDIF()
|
||||
|
||||
ADD_EXECUTABLE(mkvdate src/mkvdate.c)
|
||||
TARGET_COMPILE_DEFINITIONS(mkvdate PUBLIC ${MAIKO_DEFINITIONS})
|
||||
TARGET_INCLUDE_DIRECTORIES(mkvdate PUBLIC inc)
|
||||
|
||||
ADD_EXECUTABLE(setsout src/setsout.c src/byteswap.c)
|
||||
TARGET_COMPILE_DEFINITIONS(setsout PUBLIC ${MAIKO_DEFINITIONS})
|
||||
TARGET_INCLUDE_DIRECTORIES(setsout PUBLIC inc)
|
||||
|
||||
55
Dockerfile
Normal file
55
Dockerfile
Normal file
@@ -0,0 +1,55 @@
|
||||
#*******************************************************************************
|
||||
#
|
||||
# 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
|
||||
15
README.md
15
README.md
@@ -4,9 +4,9 @@ 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.
|
||||
|
||||
Newcomers should check out the [Medley Interlisp Introduction](https://github.com/Interlisp/medley/wiki/Medley-Interlisp-Introduction).
|
||||
For an overview, see [Medley Interlisp Introduction](https://github.com/Interlisp/medley/wiki/Medley-Interlisp-Introduction).
|
||||
|
||||
See [the Medley repository](https://github.org/Interlisp/medley) for
|
||||
See [the Medley repository](https://github.com/Interlisp/medley) for
|
||||
* [Issues](https://github.com/Interlisp/medley/issues) (note that maiko issues are there too)
|
||||
* [Discussions](https://github.com/Interlisp/medley/discussions) (Q&A, announcements, etc)
|
||||
* [Medley's README](https://github.com/Interlisp/medley/blob/master/README.md)
|
||||
@@ -33,18 +33,17 @@ $ 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 (new) Mac will use `darwin.arm64`.
|
||||
* If you prefer using `gcc` over `clang`, you will need to edit the makefile fragment for your configuration (`makefile-ostype.cputype-x1) 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)
|
||||
* 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).
|
||||
|
||||
### Building For MacOS
|
||||
|
||||
* Running on MacOS requires an X server, and building on a Mac requires X client libraries.
|
||||
An X-server for x86 MacOS (and X11 client libraries) can be freely obtained at https://www.xquartz.org/
|
||||
For the new arm64 MacOS 11, you'll need https://x.org which you can get via MacPorts or Brew.
|
||||
An X-server for MacOS (and X11 client libraries) can be freely obtained at https://www.xquartz.org/releases
|
||||
|
||||
### Building for Windows 10
|
||||
|
||||
Windows 10 currently requires "Docker for Desktop" or WSL2 -- basically a Linux virtual machine -- and a (Windows X-server).
|
||||
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.
|
||||
|
||||
|
||||
@@ -18,8 +18,6 @@ NOPIXRECT Used to suppress pixrect/pixwin options when they're not
|
||||
|
||||
AIX True if compiling for AIX
|
||||
sparc True if we're compiling on a SPARC machine.
|
||||
mc68020 True if we're compiling on a Motorola 680x0 machine.
|
||||
sun3 We're compiling for a Sun-3.
|
||||
|
||||
NOASM If true, suppress any attempt to include assembler
|
||||
versions of things in the emulator. In 'lispemul.c',
|
||||
@@ -54,8 +52,6 @@ PROFILE If true, the profiling control code is enabled. You must
|
||||
CHECK
|
||||
FSBCHECK If true, you see a trace of large free stack blocks when
|
||||
the stack is manipulated; was used for debugging stack code.
|
||||
FSMESSAGE If true, prints a message telling you about the hard links
|
||||
it makes (in support of version numbering), as it makes them.
|
||||
|
||||
WINDOW
|
||||
INIT Used when compiling an emulator to build a loadup. Use it
|
||||
@@ -119,13 +115,7 @@ FLTINT If true, use the floating-point exception interrupts to detect
|
||||
the condition code from each operation. For SPARCs, it's not
|
||||
clear that the interrupt trick works, because of code re-
|
||||
arrangement by the C compiler.
|
||||
BUFFER Used (apparently) only in testdisplay.c to decide if it should
|
||||
read the sysout directly, or buffer each page.
|
||||
|
||||
IFPAGE_DEFINED Used in .h files to prevent redefinition of Interface page.
|
||||
IOPAGE_DEFINED " for IO page definition.
|
||||
NOWAY Used to dike out C definitions of RPLACA and RPLACD in the
|
||||
file car-cdrmacro.h
|
||||
XWINDOW True if compiling for an X-windows emulator.
|
||||
|
||||
BIGATOMS True if this emulator will support 3-byte symbols, instead of
|
||||
@@ -134,9 +124,19 @@ BIGATOMS True if this emulator will support 3-byte symbols, instead of
|
||||
NEWBITBLT True if we want to use assembler BITBLT code, rather than
|
||||
have code created inline by macro calls.
|
||||
|
||||
USE_DLPI True if the ethernet API is via the SysV Data Link Provider
|
||||
Interface. Solaris uses DLPI.
|
||||
|
||||
USE_NIT True if the ethernet API is via the Network Interface Tap.
|
||||
SunOS uses NIT.
|
||||
|
||||
PKTFILTER True if the ethernet packets are to be filtered before being
|
||||
passed to the Lisp ethernet handler. Available on Sun systems
|
||||
for both the NIT and DLPI cases.
|
||||
|
||||
|
||||
bitbltsub.c:#ifdef GETBASE
|
||||
testdisplay.c:#ifdef NOTUSED
|
||||
uraid.c:#ifdef ETHERINT
|
||||
bitblt.c:#ifndef COLOR
|
||||
bitbltsub.c:#ifndef prropstyle
|
||||
lispmap.h:#ifdef MEDLEY
|
||||
|
||||
@@ -5,7 +5,7 @@ OEXT = .o
|
||||
#For debugging
|
||||
OPTFLAGS = -g
|
||||
FPFLAGS =
|
||||
DFLAGS = -DKBINT -DFLTINT -DNOASM -DOS4 -DI386 -DBYTESWAP -DCHECK -DLOGINT -DSUNDISPLAY
|
||||
DFLAGS = -DKBINT -DFLTINT -DNOASM -DOS4 -DI386 -DCHECK -DLOGINT -DSUNDISPLAY
|
||||
LDFLAGS = -lsuntool -lsunwindow -lpixrect -lc -lm
|
||||
INLINE = $(SRCDIR)disp386i.il
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ OEXT = .o
|
||||
OPTFLAGS = -O
|
||||
DISPOPTFLAGS = -O
|
||||
FPFLAGS =
|
||||
DFLAGS = -DKBINT -DOS4 -DI386 -DBYTESWAP -DCHECK -DLOGINT -DDISPLAYBUFFER -DSUNDISPLAY -DNEWBITBLT -DOPDISP
|
||||
DFLAGS = -DKBINT -DOS4 -DI386 -DCHECK -DLOGINT -DDISPLAYBUFFER -DSUNDISPLAY -DNEWBITBLT -DOPDISP
|
||||
LDFLAGS = -lsuntool -lsunwindow -lpixrect -lc -lm
|
||||
INLINE = $(SRCDIR)disp386i.il
|
||||
BITBLTFILE=$(OBJECTDIR)bitblt386i.o
|
||||
|
||||
@@ -5,7 +5,7 @@ OEXT = .o
|
||||
#For debugging
|
||||
OPTFLAGS = -g
|
||||
FPFLAGS =
|
||||
DFLAGS = -DKBINT -DFLTINT -DNOASM -DOS4 -DI386 -DBYTESWAP -DCHECK -DLOGINT -DSUNDISPLAY
|
||||
DFLAGS = -DKBINT -DFLTINT -DNOASM -DOS4 -DI386 -DCHECK -DLOGINT -DSUNDISPLAY
|
||||
LDFLAGS = -lsuntool -lsunwindow -lpixrect -lc -lm
|
||||
INLINE = $(SRCDIR)disp386i.il
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ OEXT = .o
|
||||
OPTFLAGS = -O -traditional
|
||||
DISPOPTFLAGS = -O -traditional
|
||||
FPFLAGS =
|
||||
DFLAGS = -DKBINT -DOS4 -DI386 -DBYTESWAP -DCHECK -DLOGINT -DDISPLAYBUFFER -DSUNDISPLAY -DNEWBITBLT -DOPDISP
|
||||
DFLAGS = -DKBINT -DOS4 -DI386 -DCHECK -DLOGINT -DDISPLAYBUFFER -DSUNDISPLAY -DNEWBITBLT -DOPDISP
|
||||
LDFLAGS = -lsuntool -lsunwindow -lpixrect -lc -lm
|
||||
INLINE = $(SRCDIR)disp386i.il
|
||||
BITBLTFILE=$(OBJECTDIR)bitblt386i.o
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
os=${LDEARCH:-`./config.guess`}
|
||||
# o/s switch block
|
||||
case "$os" in
|
||||
m68k-*) echo m68k ;;
|
||||
sparc-*) echo sparc ;;
|
||||
alpha-*) echo alpha ;;
|
||||
i*86-*-*) echo 386 ;;
|
||||
|
||||
@@ -16,15 +16,13 @@ XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
|
||||
XFLAGS = -DXWINDOW
|
||||
|
||||
# This is to make the %$#@! Apollo cc happy
|
||||
OEXT = .o
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = -DBYTESWAP -DLOGINT $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
# Options for MacOS, x86 processor, X windows
|
||||
|
||||
CC = clang -m32 $(CLANG_CFLAGS)
|
||||
OEXT=.o
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
@@ -19,9 +18,8 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g
|
||||
DEBUGFLAGS = # -DDEBUG -DOPTRACE
|
||||
DFLAGS = $(DEBUGFLAGS) \
|
||||
-DBYTESWAP -DLOGINT $(XFLAGS) \
|
||||
-DRELEASE=351 -DSTACKCHECK -DFSBCHECK -DPCTRACE
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) \
|
||||
-DRELEASE=351 # -DSTACKCHECK -DFSBCHECK -DPCTRACE
|
||||
|
||||
LDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
# Options for MacOS, x86 processor, X windows
|
||||
|
||||
CC = clang $(CLANG_CFLAGS)
|
||||
OEXT=.o
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
@@ -14,17 +13,15 @@ XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xwinman.o
|
||||
|
||||
|
||||
XFLAGS = -I/opt/local/include -DXWINDOW
|
||||
XFLAGS = -I/opt/X11/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O1 -g
|
||||
OPTFLAGS = -O2
|
||||
DEBUGFLAGS = # -DDEBUG -DOPTRACE
|
||||
DFLAGS = $(DEBUGFLAGS) \
|
||||
-DBYTESWAP -DLOGINT $(XFLAGS) \
|
||||
-DRELEASE=351
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351
|
||||
|
||||
LDFLAGS = -L/opt/local/lib -lX11 -lm
|
||||
LDELDFLAGS = -L/opt/local/lib -lX11 -lm
|
||||
LDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
|
||||
29
bin/makefile-darwin.ppc-x
Normal file
29
bin/makefile-darwin.ppc-x
Normal file
@@ -0,0 +1,29 @@
|
||||
# Options for MacOS, x86 processor, X windows
|
||||
|
||||
CC = cc $(GCC_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/X11/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g
|
||||
DEBUGFLAGS = # -DDEBUG -DOPTRACE
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) \
|
||||
-DRELEASE=351
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
|
||||
@@ -1,7 +1,6 @@
|
||||
# Options for MacOS, x86 processor, X windows
|
||||
|
||||
CC = clang -m64 $(CLANG_CFLAGS)
|
||||
OEXT=.o
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
@@ -19,9 +18,7 @@ XFLAGS = -I/opt/X11/include -DXWINDOW
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O1 -g
|
||||
DEBUGFLAGS = # -DDEBUG -DOPTRACE
|
||||
DFLAGS = $(DEBUGFLAGS) \
|
||||
-DBYTESWAP -DLOGINT $(XFLAGS) \
|
||||
-DRELEASE=351
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=201 # was 351
|
||||
|
||||
LDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
|
||||
@@ -6,19 +6,19 @@ ADMINFILES = makefile mkvdate.c
|
||||
|
||||
LPFILES = lpmain.obj lpread.obj lpsolve.obj lpwrite.obj lpdual.obj lptran.obj
|
||||
|
||||
CFLAGS = -DDOS -DBYTESWAP -DKBINT -DNOPIXRECT \
|
||||
CFLAGS = -DDOS -DKBINT -DNOPIXRECT \
|
||||
-DNOVERSION -DLPSOLVE -g
|
||||
|
||||
LDFLAGS = -g graphics.lib binmode.lib mouse.lib
|
||||
|
||||
RM = del
|
||||
|
||||
SRCFILES = conspage.c gcoflow.c shift.c dbgtool.c gcr.c gcrcell.c llstk.c gcscan.c loopsops.c storage.c allocmds.c dir.c gvar2.c lowlev1.c subr.c arith2.c lowlev2.c subr0374.c arith3.c doscomm.c hardrtn.c lsthandl.c sxhash.c arith4.c draw.c main.c testtool.c array.c dsk.c inet.c misc7.c timer.c array2.c dspif.c initdsp.c miscn.c typeof.c array3.c initkbd.c ubf1.c array4.c dspsubrs.c initsout.c mkatom.c ubf2.c array5.c eqf.c intcall.c mkcell.c ubf3.c array6.c ether.c mkvdate.c ufn.c atom.c findkey.c kbdsubrs.c mouseif.c ufs.c bbtsub.c foreign.c keyevent.c unixcomm.c bin.c fp.c binds.c asmbbt.c fvar.c mvs.c unwind.c bitblt.c gc.c uraid.c blt.c gc2.c kprint.c osmsg.c usrsubr.c byteswap.c gcarray.c perrno.c ldeboot.c ldeether.c uutils.c carcdr.c gccode.c rawcolor.c vars3.c gcfinal.c ldsout.c return.c vmemsave.c chardev.c gchtfind.c lineblt8.c rpc.c xc.c common.c gcmain3.c lisp2c.c rplcons.c z2.c xmkicon.c xbbt.c xinit.c xscroll.c xcursor.c xlspwin.c xrdopt.c xwinman.c dosmouse.c vesafns.asm vesainit.c vgainit.c kbdif.c dspsparc.il copyright launch.asm lpread.c lpsolve.c lpmain.c lpwrite.c lpdual.c lptran.c
|
||||
SRCFILES = conspage.c gcoflow.c shift.c dbgtool.c gcr.c gcrcell.c llstk.c gcscan.c loopsops.c storage.c allocmds.c dir.c gvar2.c lowlev1.c subr.c arithops.c lowlev2.c subr0374.c doscomm.c hardrtn.c lsthandl.c sxhash.c draw.c main.c testtool.c array.c dsk.c inet.c misc7.c timer.c array2.c dspif.c initdsp.c miscn.c typeof.c array3.c initkbd.c ubf1.c array4.c dspsubrs.c initsout.c mkatom.c ubf2.c array5.c eqf.c intcall.c mkcell.c ubf3.c array6.c ether.c mkvdate.c ufn.c atom.c findkey.c kbdsubrs.c mouseif.c ufs.c bbtsub.c foreign.c keyevent.c unixcomm.c bin.c fp.c binds.c asmbbt.c fvar.c mvs.c unwind.c bitblt.c gc.c uraid.c blt.c gc2.c kprint.c osmsg.c usrsubr.c byteswap.c gcarray.c perrno.c ldeboot.c ldeether.c uutils.c carcdr.c gccode.c rawcolor.c vars3.c gcfinal.c ldsout.c return.c vmemsave.c chardev.c gchtfind.c lineblt8.c rpc.c xc.c common.c gcmain3.c lisp2c.c rplcons.c z2.c xmkicon.c xbbt.c xinit.c xscroll.c xcursor.c xlspwin.c xrdopt.c xwinman.c dosmouse.c vesafns.asm vesainit.c vgainit.c kbdif.c dspsparc.il copyright launch.asm lpread.c lpsolve.c lpmain.c lpwrite.c lpdual.c lptran.c
|
||||
|
||||
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 arith2.obj lowlev2.obj subr0374.obj arith3.obj doscomm.obj hardrtn.obj lsthandl.obj sxhash.obj arith4.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)
|
||||
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 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 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
|
||||
|
||||
|
||||
|
||||
@@ -202,9 +202,9 @@ subr.obj : ../src/subr.c
|
||||
$(CC) @copts ../src/subr.c -I ../inc -c $@
|
||||
del copts
|
||||
|
||||
arith2.obj : ../src/arith2.c
|
||||
arithops.obj : ../src/arithops.c
|
||||
@ echo $(CFLAGS) > copts
|
||||
$(CC) @copts ../src/arith2.c -I ../inc -c $@
|
||||
$(CC) @copts ../src/arithops.c -I ../inc -c $@
|
||||
del copts
|
||||
|
||||
lowlev2.obj : ../src/lowlev2.c
|
||||
@@ -217,11 +217,6 @@ subr0374.obj : ../src/subr0374.c
|
||||
$(CC) @copts ../src/subr0374.c -I ../inc -c $@
|
||||
del copts
|
||||
|
||||
arith3.obj : ../src/arith3.c
|
||||
@ echo $(CFLAGS) > copts
|
||||
$(CC) @copts ../src/arith3.c -I ../inc -c $@
|
||||
del copts
|
||||
|
||||
doscomm.obj : ../src/doscomm.c
|
||||
@ echo $(CFLAGS) > copts
|
||||
$(CC) @copts ../src/doscomm.c -I ../inc -c $@
|
||||
@@ -242,11 +237,6 @@ sxhash.obj : ../src/sxhash.c
|
||||
$(CC) @copts ../src/sxhash.c -I ../inc -c $@
|
||||
del copts
|
||||
|
||||
arith4.obj : ../src/arith4.c
|
||||
@ echo $(CFLAGS) > copts
|
||||
$(CC) @copts ../src/arith4.c -I ../inc -c $@
|
||||
del copts
|
||||
|
||||
draw.obj : ../src/draw.c
|
||||
@ echo $(CFLAGS) > copts
|
||||
$(CC) @copts ../src/draw.c -I ../inc -c $@
|
||||
|
||||
@@ -15,16 +15,13 @@ XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
|
||||
XFLAGS = -I/usr/local/include -DXWINDOW
|
||||
|
||||
# This is to make the %$#@! Apollo cc happy
|
||||
OEXT = .o
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O1 -gdwarf-2
|
||||
DFLAGS = -DBYTESWAP -DLOGINT $(XFLAGS) \
|
||||
-DRELEASE=351
|
||||
OPTFLAGS = -O2 -g
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
|
||||
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
|
||||
|
||||
27
bin/makefile-freebsd.aarch64-x
Normal file
27
bin/makefile-freebsd.aarch64-x
Normal file
@@ -0,0 +1,27 @@
|
||||
# Options for FreeBSD, ARMv7 and X-Windows
|
||||
|
||||
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/local/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
|
||||
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
|
||||
27
bin/makefile-freebsd.x86_64-x
Normal file
27
bin/makefile-freebsd.x86_64-x
Normal file
@@ -0,0 +1,27 @@
|
||||
# Options for FreeBSD, Intel x86_64 and X-Windows
|
||||
|
||||
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/local/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
|
||||
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
|
||||
@@ -32,3 +32,5 @@ LDFLAGS =
|
||||
LDELDFLAGS =
|
||||
LDEETHERLDFLAGS =
|
||||
|
||||
# OSARCHDIR is the os/architecture dir, where executables all go.
|
||||
OSARCHDIR = ../$(OSARCHNAME)/
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
# Options for MacOS, x86 processor, X windows, for INIT processing
|
||||
|
||||
CC = clang -m32 $(CLANG_CFLAGS)
|
||||
OEXT=.o
|
||||
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
@@ -18,12 +17,12 @@ 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
|
||||
DFLAGS = -DBYTESWAP -DLOGINT $(XFLAGS) \
|
||||
-DRELEASE=351 -DNOVERSION -DINIT -DTRACE -DOPTRACE
|
||||
DEBUGFLAGS =
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde
|
||||
default : ../$(OSARCHNAME)/ldeinit
|
||||
28
bin/makefile-init-darwin.aarch64
Normal file
28
bin/makefile-init-darwin.aarch64
Normal file
@@ -0,0 +1,28 @@
|
||||
# Options for MacOS, aarch64 processor, X windows, for INIT processing
|
||||
|
||||
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 = -I/opt/X11/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O0 -g3
|
||||
DEBUGFLAGS = # -DDEBUG -DOPTRACE
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/ldeinit
|
||||
28
bin/makefile-init-darwin.x86_64
Normal file
28
bin/makefile-init-darwin.x86_64
Normal file
@@ -0,0 +1,28 @@
|
||||
# Options for MacOS, x86_64 processor, X windows, for INIT processing
|
||||
|
||||
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/opt/X11/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O0 -g
|
||||
DEBUGFLAGS = # -DDEBUG -DOPTRACE
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=201 -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
LDELDFLAGS = -L/opt/X11/lib -lX11 -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/ldeinit
|
||||
27
bin/makefile-init-freebsd.386
Normal file
27
bin/makefile-init-freebsd.386
Normal file
@@ -0,0 +1,27 @@
|
||||
# Options for FreeBSD, Intel 386/486 and X Windows
|
||||
|
||||
CC = clang -m32 $(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/local/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O0 for init
|
||||
OPTFLAGS = -O0 -g
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/ldeinit
|
||||
27
bin/makefile-init-freebsd.aarch64
Normal file
27
bin/makefile-init-freebsd.aarch64
Normal file
@@ -0,0 +1,27 @@
|
||||
# Options for FreeBSD, ARMv7 and X-Windows
|
||||
|
||||
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/local/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O0 for init
|
||||
OPTFLAGS = -O0 -g
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/ldeinit
|
||||
27
bin/makefile-init-freebsd.x86_64
Normal file
27
bin/makefile-init-freebsd.x86_64
Normal file
@@ -0,0 +1,27 @@
|
||||
# Options for FreeBSD, Intel x86_64 and X-Windows
|
||||
|
||||
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/local/include -DXWINDOW
|
||||
|
||||
# OPTFLAGS is normally -O0 for init
|
||||
OPTFLAGS = -O0 -g
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/local/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/ldeinit
|
||||
29
bin/makefile-init-linux.x86_64
Normal file
29
bin/makefile-init-linux.x86_64
Normal file
@@ -0,0 +1,29 @@
|
||||
# Options for Linux, x86 processor, X windows, for INIT processing
|
||||
|
||||
#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, for INIT we want unoptimized in case we need to debug it
|
||||
OPTFLAGS = -O0 -g
|
||||
DEBUGFLAGS =
|
||||
DFLAGS = $(DEBUGFLAGS) $(XFLAGS) -DRELEASE=351 -DNOVERSION -DINIT
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/ldeinit
|
||||
@@ -18,26 +18,22 @@
|
||||
|
||||
# Options for SPARC under Solaris-2 operating system, X windows.
|
||||
|
||||
CC = gcc
|
||||
CC = cc -m32 $(DEVSTUDIO_CFLAGS)
|
||||
|
||||
XFILES = $(OBJECTDIR)xlspwin.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
$(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xrdopt.o \
|
||||
XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
$(OBJECTDIR)xbbt.o \
|
||||
$(OBJECTDIR)dspif.o \
|
||||
$(OBJECTDIR)xinit.o \
|
||||
$(OBJECTDIR)xscroll.o \
|
||||
$(OBJECTDIR)xcursor.o \
|
||||
$(OBJECTDIR)xwinman.o \
|
||||
$(OBJECTDIR)dspif.o \
|
||||
$(OBJECTDIR)kbdif.o \
|
||||
$(OBJECTDIR)xinit.o
|
||||
$(OBJECTDIR)xlspwin.o \
|
||||
$(OBJECTDIR)xrdopt.o \
|
||||
$(OBJECTDIR)xwinman.o
|
||||
|
||||
XFLAGS = -DXWINDOW
|
||||
|
||||
XFLAGS = -DXWINDOW -I/usr/openwin/include
|
||||
|
||||
# This is to make the %$#@! Apollo cc happy
|
||||
OEXT = .o
|
||||
# OPTFLAGS is normally -g for MAKEINIT, as it needs debugging often.
|
||||
OPTFLAGS = -g3 -O
|
||||
OPTFLAGS = -g3 -O0
|
||||
|
||||
# Set any debugging options in DEBUGFLAGS. E.g., to enable stack
|
||||
# checking, use -DSTACKCHECK; to enable the fn-call-time stack
|
||||
@@ -45,9 +41,7 @@ OPTFLAGS = -g3 -O
|
||||
|
||||
DEBUGFLAGS = # -DSTACKCHECK -DFNSTKCHECK
|
||||
|
||||
MACHINEFLAGS = -DOS5 -DUSE_DLPI \
|
||||
-I$(OPENWINHOME)/include \
|
||||
-DLOGINT -DLOCK_X_UPDATES
|
||||
MACHINEFLAGS = -DOS5 -DUSE_DLPI
|
||||
|
||||
# The LDEINIT wants to have NOVERSION set, so we don't hang up on
|
||||
# any change-over in versions.
|
||||
@@ -59,12 +53,12 @@ DFLAGS = -DINIT \
|
||||
-DNOVERSION -DRELEASE=351
|
||||
|
||||
|
||||
LDFLAGS = -R$(OPENWINHOME)/lib -L$(OPENWINHOME)/lib -lX11 -lc -lm -lsocket -lnsl
|
||||
LDELDFLAGS = -R$(OPENWINHOME)/lib -L$(OPENWINHOME)/lib -lX11 -lc -lm -lsocket -lnsl
|
||||
LDFLAGS = -lX11 -lc -lm -lsocket -lnsl
|
||||
LDELDFLAGS = -lX11 -lc -lm -lsocket -lnsl
|
||||
LDEETHERLDFLAGS = -lc -lm -lsocket -lnsl
|
||||
|
||||
DLPIFILES = $(OBJECTDIR)dlpi.o
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether
|
||||
default : ../$(OSARCHNAME)/ldeinit
|
||||
@@ -15,15 +15,13 @@ XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
|
||||
XFLAGS = -DXWINDOW
|
||||
|
||||
# This is to make the %$#@! Apollo cc happy
|
||||
OEXT = .o
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = -DBYTESWAP -DLOGINT $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
|
||||
|
||||
27
bin/makefile-linux.aarch64-x
Normal file
27
bin/makefile-linux.aarch64-x
Normal file
@@ -0,0 +1,27 @@
|
||||
# Options for Linux, ARMv7 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=351
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
|
||||
@@ -15,15 +15,13 @@ XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
|
||||
XFLAGS = -DXWINDOW
|
||||
|
||||
# This is to make the %$#@! Apollo cc happy
|
||||
OEXT = .o
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = -DBYTESWAP -DLOGINT $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
|
||||
|
||||
@@ -16,15 +16,13 @@ XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
|
||||
XFLAGS = -DXWINDOW
|
||||
|
||||
# This is to make the %$#@! Apollo cc happy
|
||||
OEXT = .o
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = -DBYTESWAP -DLOGINT $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
|
||||
|
||||
@@ -15,15 +15,13 @@ XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
|
||||
XFLAGS = -I/usr/X11R6/include -DXWINDOW
|
||||
|
||||
# This is to make the %$#@! Apollo cc happy
|
||||
OEXT = .o
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
DFLAGS = -DBYTESWAP -DLOGINT $(XFLAGS) -DRELEASE=351
|
||||
DFLAGS = $(XFLAGS) -DRELEASE=351
|
||||
|
||||
LDFLAGS = -L/usr/X11R6/lib -lX11 -lc -lm
|
||||
LDELDFLAGS = -L/usr/X11R6/lib -lX11 -lc -lm
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default : ../$(OSARCHNAME)/lde
|
||||
default : ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldex
|
||||
|
||||
@@ -24,8 +24,6 @@ XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
|
||||
XFLAGS = -DXWINDOW
|
||||
|
||||
# This is to make the %$#@! Apollo cc happy
|
||||
OEXT = .o
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g
|
||||
|
||||
@@ -37,8 +35,7 @@ DEBUGFLAGS = # -DSTACKCHECK -DFNSTKCHECK
|
||||
|
||||
DFLAGS = $(XFLAGS) \
|
||||
$(DEBUGFLAGS) \
|
||||
-DOS5 -DBYTESWAP -DLOGINT \
|
||||
-DLOCK_X_UPDATES \
|
||||
-DOS5 \
|
||||
-DRELEASE=351
|
||||
|
||||
LDFLAGS = -L/usr/X11/lib -lX11 -lc -lm -lsocket -lnsl
|
||||
@@ -49,4 +46,4 @@ DLPIFILES = # $(OBJECTDIR)dlpi.o
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether
|
||||
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether ../$(OSARCHNAME)/ldex
|
||||
|
||||
@@ -24,8 +24,6 @@ XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
|
||||
XFLAGS = -DXWINDOW
|
||||
|
||||
# This is to make the %$#@! Apollo cc happy
|
||||
OEXT = .o
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
|
||||
@@ -38,8 +36,6 @@ DEBUGFLAGS = # -DSTACKCHECK -DFNSTKCHECK
|
||||
DFLAGS = $(XFLAGS) \
|
||||
$(DEBUGFLAGS) \
|
||||
-DOS5 -DUSE_DLPI \
|
||||
-DBYTESWAP -DLOGINT \
|
||||
-DLOCK_X_UPDATES \
|
||||
-I$(OPENWINHOME)/include \
|
||||
-DRELEASE=210
|
||||
|
||||
@@ -51,4 +47,4 @@ DLPIFILES = $(OBJECTDIR)dlpi.o
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether
|
||||
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether ../$(OSARCHNAME)/ldex
|
||||
|
||||
@@ -31,8 +31,6 @@ XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
|
||||
XFLAGS = -DXWINDOW
|
||||
|
||||
# This is to make the %$#@! Apollo cc happy
|
||||
OEXT = .o
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g3
|
||||
|
||||
@@ -42,7 +40,7 @@ OPTFLAGS = -O2 -g3
|
||||
|
||||
DEBUGFLAGS = # -DSTACKCHECK -DFNSTKCHECK
|
||||
|
||||
MACHINEFLAGS = -DOS5 -DUSE_DLPI -DLOGINT -DLOCK_X_UPDATES
|
||||
MACHINEFLAGS = -DOS5 -DUSE_DLPI
|
||||
|
||||
DFLAGS = $(XFLAGS) \
|
||||
$(DEBUGFLAGS) \
|
||||
@@ -57,4 +55,4 @@ DLPIFILES = $(OBJECTDIR)dlpi.o
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether
|
||||
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether ../$(OSARCHNAME)/ldex
|
||||
|
||||
@@ -24,8 +24,6 @@ XFILES = $(OBJECTDIR)xmkicon.o \
|
||||
|
||||
XFLAGS = -DXWINDOW
|
||||
|
||||
# This is to make the %$#@! Apollo cc happy
|
||||
OEXT = .o
|
||||
# OPTFLAGS is normally -O2.
|
||||
OPTFLAGS = -O2 -g
|
||||
|
||||
@@ -37,8 +35,7 @@ DEBUGFLAGS = # -DSTACKCHECK -DFNSTKCHECK
|
||||
|
||||
DFLAGS = $(XFLAGS) \
|
||||
$(DEBUGFLAGS) \
|
||||
-DOS5 -DBYTESWAP -DLOGINT \
|
||||
-DLOCK_X_UPDATES \
|
||||
-DOS5 \
|
||||
-DUSE_DLPI \
|
||||
-DRELEASE=351
|
||||
|
||||
@@ -50,4 +47,4 @@ DLPIFILES = $(OBJECTDIR)dlpi.o
|
||||
|
||||
OBJECTDIR = ../$(RELEASENAME)/
|
||||
|
||||
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether
|
||||
default: ../$(OSARCHNAME)/lde ../$(OSARCHNAME)/ldeether ../$(OSARCHNAME)/ldex
|
||||
|
||||
1535
bin/makefile-tail
1535
bin/makefile-tail
File diff suppressed because it is too large
Load Diff
@@ -59,7 +59,7 @@ osversion=`osversion`
|
||||
echo "making so far for ${osversion} on ${architecture}."
|
||||
case "$display" in
|
||||
init) display=single
|
||||
releasename=init.${architecture}
|
||||
releasename=init-${osversion}.${architecture}
|
||||
ldename=ldeinit
|
||||
;;
|
||||
single) releasename=${osversion}.${architecture}
|
||||
|
||||
6
bin/mkvdate
Executable file
6
bin/mkvdate
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
cat <<EOF
|
||||
#include <time.h>
|
||||
extern const time_t MDate;
|
||||
const time_t MDate = $(date +%s);
|
||||
EOF
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/bin/sh
|
||||
os=`./config.guess`
|
||||
os=${LDEARCH:-`./config.guess`}
|
||||
case "$os" in
|
||||
m68k-*-amigaos) echo amigaos ;;
|
||||
sparc-sun-sunos*) echo sunos4 ;;
|
||||
sparc-sun-solaris1*) echo sunos4 ;;
|
||||
*-*-solaris2*) echo sunos5 ;;
|
||||
|
||||
44
bin/release-one
Executable file
44
bin/release-one
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
# Make and release maiko for one os / arch
|
||||
# Hopefully to be replaced by GitHub Action
|
||||
|
||||
if [ ! -x ../../maiko/bin/machinetype ] ; then
|
||||
echo ERROR: Must be run from maiko/bin
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tag=$1
|
||||
if [ -z "$tag" ] ; then
|
||||
tag=maiko-`date +%y%m%d`
|
||||
fi
|
||||
|
||||
export PATH=.:"$PATH"
|
||||
osarch=`osversion`.`machinetype`
|
||||
|
||||
|
||||
./makeright x
|
||||
./makeright init
|
||||
|
||||
cd ../..
|
||||
mkdir -p maiko/build
|
||||
echo making $tag-$osarch.tgz
|
||||
|
||||
tar cfz maiko/build/$tag-$osarch.tgz \
|
||||
maiko/bin/osversion \
|
||||
maiko/bin/machinetype \
|
||||
maiko/bin/config.guess \
|
||||
maiko/bin/config.sub \
|
||||
maiko/$osarch/lde*
|
||||
|
||||
if ! command -v gh >/dev/null ; then
|
||||
echo
|
||||
echo The GitHub Command Line Interface, gh
|
||||
echo does not seem to be installed.
|
||||
echo Please upload maiko/build/$tag-$osarch.tgz
|
||||
echo to https://github.com/Interlisp/maiko/releases $tag
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo uploading
|
||||
cd maiko
|
||||
gh release upload --clobber $tag build/$tag-$osarch.tgz
|
||||
36
bin/start-release
Executable file
36
bin/start-release
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/bin/sh
|
||||
# This script is just a placeholder until we get GitHub
|
||||
# Actions to do releases
|
||||
|
||||
# Start Maiko release from maiko/bin
|
||||
# startrelease [tag]
|
||||
# tag defaults to maiko-YYMMDD
|
||||
|
||||
tag=$1
|
||||
if [ -z "$tag" ] ; then
|
||||
tag=maiko-`date +%y%m%d`
|
||||
fi
|
||||
|
||||
if ! command -v gh >/dev/null ; then
|
||||
echo "It seems like 'gh', the GitHub Command Line Interface is"
|
||||
echo "not installed. You can start a release using the"
|
||||
echo "web interface at"
|
||||
echo "https://github.com/Interlisp/maiko/releases/new"
|
||||
echo "Make up a tag (or use $tag)"
|
||||
echo "and run './release-one tag' (or manually upload if"
|
||||
echo "no 'gh' is installed) on every os/machine you want"
|
||||
echo "this release to work for"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Now for the only thing this script is actually doing
|
||||
|
||||
gh release create $tag -p -t $tag -n "See release notes in medley repo"
|
||||
|
||||
|
||||
echo "Now run "
|
||||
echo ./release-one $tag
|
||||
echo "in maiko/bin on every os/machine you want this release"
|
||||
echo "to work for. When done, edit the release in your"
|
||||
echo "browser and uncheck the prerelease box "
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
#define VERTICAL 0
|
||||
#define HORIZONTAL 1
|
||||
|
||||
#define PERCENT_OF_SCREEN 95
|
||||
#define SCROLL_PITCH 30
|
||||
|
||||
typedef struct _MyEvent
|
||||
@@ -77,7 +76,7 @@ typedef struct
|
||||
, White_Pixel ); \
|
||||
XLOCK; \
|
||||
XFlush( display ); \
|
||||
XUNLOCK; \
|
||||
XUNLOCK( display ); \
|
||||
(child_win)->parent = parent_win; \
|
||||
if( (child_win)->after_create ) \
|
||||
((child_win)->after_create)(parent_win,child_win);\
|
||||
@@ -96,7 +95,7 @@ typedef struct
|
||||
, (window)->width \
|
||||
, (window)->height ); \
|
||||
XFlush( display ); \
|
||||
XUNLOCK; \
|
||||
XUNLOCK( display ); \
|
||||
if( (window)->after_resize ) \
|
||||
((window)->after_resize)( window ); \
|
||||
} \
|
||||
@@ -106,7 +105,7 @@ typedef struct
|
||||
XLOCK; \
|
||||
XDefineCursor( display, (window)->win, *(mycursor) ); \
|
||||
XFlush( display ); \
|
||||
XUNLOCK; \
|
||||
XUNLOCK( display ); \
|
||||
(window)->cursor = mycursor; \
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#ifndef XKEYMAP_H
|
||||
#define XKEYMAP_H 1
|
||||
|
||||
/* $Id: XKeymap.h,v 1.2 1999/01/03 02:05:48 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved
|
||||
*/
|
||||
|
||||
@@ -252,3 +255,5 @@ int generic_X_keymap[] = {
|
||||
-1, -1, -1};
|
||||
|
||||
#endif /* XWINDOW */
|
||||
|
||||
#endif
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
/**********************************************************************/
|
||||
|
||||
/* NOTE: These MACRO should be used for the pointers in LISP SYSOUT */
|
||||
#define LLSH(datum , n) ((datum )<< n)
|
||||
#define LRSH(datum , n) ((datum) >> n)
|
||||
#define LLSH(datum, n) ((datum) << (n))
|
||||
#define LRSH(datum, n) ((datum) >> (n))
|
||||
|
||||
#define HILOC(ptr) (LRSH(((unsigned int)(ptr) & SEGMASK),16))
|
||||
#define LOLOC(ptr) ((unsigned int)(ptr) & 0x0ffff)
|
||||
|
||||
66
inc/adr68k.h
66
inc/adr68k.h
@@ -9,8 +9,6 @@
|
||||
* Hiroshi Hayata
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
/* Copyright 1989, 1990 Venue, Fuji Xerox Co., Ltd, Xerox Corp. */
|
||||
@@ -20,8 +18,6 @@
|
||||
/* */
|
||||
/************************************************************************/
|
||||
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/*
|
||||
Func name : adr68k.h
|
||||
@@ -32,8 +28,64 @@
|
||||
*/
|
||||
/**********************************************************************/
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include "lispemul.h"
|
||||
#include "lspglob.h"
|
||||
|
||||
static inline LispPTR LAddrFromNative(void *NAddr)
|
||||
{
|
||||
if ((uintptr_t)NAddr & 1) {
|
||||
printf("Misaligned pointer in LAddrFromNative %p\n", NAddr);
|
||||
}
|
||||
return ((DLword *)NAddr) - Lisp_world;
|
||||
}
|
||||
|
||||
static inline DLword *NativeAligned2FromLAddr(LispPTR LAddr)
|
||||
{
|
||||
return (Lisp_world + LAddr);
|
||||
}
|
||||
|
||||
static inline LispPTR *NativeAligned4FromLAddr(LispPTR LAddr)
|
||||
{
|
||||
if (LAddr & 1) {
|
||||
printf("Misaligned pointer in NativeAligned4FromLAddr 0x%x\n", LAddr);
|
||||
}
|
||||
return (LispPTR *)(Lisp_world + LAddr);
|
||||
}
|
||||
|
||||
static inline LispPTR *NativeAligned4FromLPage(LispPTR LPage)
|
||||
{
|
||||
return (LispPTR *)(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);
|
||||
}
|
||||
return (DLword)hoffset;
|
||||
}
|
||||
|
||||
static inline DLword *NativeAligned2FromStackOffset(DLword StackOffset)
|
||||
{
|
||||
return Stackspace + StackOffset;
|
||||
}
|
||||
|
||||
static inline LispPTR *NativeAligned4FromStackOffset(DLword StackOffset)
|
||||
{
|
||||
return (LispPTR *)(Stackspace + StackOffset);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
/* translate 68k ptr to Lisp DLword address */
|
||||
#define LADDR_from_68k(ptr68k) ((LispPTR)(((UNSIGNED)(ptr68k) - (UNSIGNED)Lisp_world) >>1))
|
||||
|
||||
@@ -48,11 +100,7 @@
|
||||
|
||||
|
||||
/* translate LispPage to 68k address */
|
||||
#define Addr68k_from_LPAGE(Lisp_page) (Addr68k_from_LADDR((Lisp_page << 8) ))
|
||||
|
||||
|
||||
|
||||
|
||||
#define Addr68k_from_LPAGE(Lisp_page) (Addr68k_from_LADDR(((Lisp_page) << 8) ))
|
||||
/* Stack Offset Macros */
|
||||
|
||||
#define StkOffset_from_68K(ptr68k)\
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#ifndef ALLOCMDSDEFS_H
|
||||
#define ALLOCMDSDEFS_H 1
|
||||
LispPTR initmdspage(register LispPTR *base, register DLword size, register LispPTR prev);
|
||||
LispPTR *alloc_mdspage(register short int type);
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
LispPTR initmdspage(LispPTR *base, DLword size, LispPTR prev);
|
||||
LispPTR *alloc_mdspage(short int type);
|
||||
#endif
|
||||
|
||||
276
inc/arith.h
276
inc/arith.h
@@ -1,10 +1,6 @@
|
||||
#ifndef ARITH_H
|
||||
#define ARITH_H 1
|
||||
/* $Id: arith.h,v 1.2 1999/01/03 02:05:52 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
|
||||
|
||||
|
||||
|
||||
|
||||
/* $Id: arith.h,v 1.2 1999/01/03 02:05:52 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
@@ -13,188 +9,118 @@
|
||||
/* */
|
||||
/************************************************************************/
|
||||
|
||||
#include "adr68k.h" // for NativeAligned4FromLAddr, LAddrFromNative
|
||||
#include "commondefs.h" // for error
|
||||
#include "lispemul.h" // for SEGMASK, ERROR_EXIT
|
||||
#include "lispmap.h" // for S_NEGATIVE, S_POSITIVE
|
||||
#include "lsptypes.h" // for TYPE_FIXP, GetTypeNumber, TYPE_FLOATP
|
||||
#include "mkcelldefs.h" // for createcell68k
|
||||
|
||||
#define MAX_SMALL 65535 /* == 0x0000FFFF */
|
||||
#define MIN_SMALL -65536 /* == 0xFFFF0000 */
|
||||
#define MAX_SMALL 65535 /* == 0x0000FFFF */
|
||||
#define MIN_SMALL (-65536) /* == 0xFFFF0000 */
|
||||
|
||||
#define MAX_FIXP 2147483647 /* == 0x7FFFFFFF */
|
||||
#define MIN_FIXP -2147483648 /* == 0x80000000 */
|
||||
#define MAX_FIXP 2147483647 /* == 0x7FFFFFFF */
|
||||
#define MIN_FIXP (-2147483648) /* == 0x80000000 */
|
||||
|
||||
#define GetSmalldata(x) (((SEGMASK & x)==S_POSITIVE) ? (0xFFFF & x) : (((SEGMASK & x)==S_NEGATIVE) ? (0xFFFF0000 | x) : error("Not smallp address")))
|
||||
|
||||
#define GetSmallp(x) ((0xFFFF0000 & x) ? (((0xFFFF0000 & x)==0xFFFF0000) ? (S_NEGATIVE | (0xFFFF & x)) : error("Not Smallp data") ) : (S_POSITIVE | (0xFFFF & x)))
|
||||
|
||||
|
||||
/* arg sour is Lisp address, arg dest is a box to store the number */
|
||||
#define GetNumber(sour, dest){ \
|
||||
switch(SEGMASK & sour){\
|
||||
case S_POSITIVE: \
|
||||
dest = 0xFFFF & sour; \
|
||||
break; \
|
||||
case S_NEGATIVE: \
|
||||
dest = 0xFFFF0000 | sour; \
|
||||
break; \
|
||||
default: \
|
||||
if(GetTypeNumber( sour ) != TYPE_FIXP){ \
|
||||
ufn(0xFF & (*PC)); \
|
||||
return; \
|
||||
} \
|
||||
dest = *((int *)Addr68k_from_LADDR(sour)); \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
|
||||
#define FIXP_VALUE(dest) *((int *)Addr68k_from_LADDR(dest))
|
||||
|
||||
#define FLOATP_VALUE(dest) *((float *)Addr68k_from_LADDR(dest))
|
||||
|
||||
#define N_GETNUMBER(sour, dest, label) \
|
||||
{ dest = sour; /* access memory once */ \
|
||||
switch(SEGMASK & dest){ \
|
||||
case S_POSITIVE: \
|
||||
dest = 0xFFFF & (dest); \
|
||||
break; \
|
||||
case S_NEGATIVE: \
|
||||
dest = 0xFFFF0000 | (dest); \
|
||||
break; \
|
||||
default: \
|
||||
if (GetTypeNumber( dest ) != TYPE_FIXP) \
|
||||
{ goto label; } \
|
||||
dest = FIXP_VALUE(dest); \
|
||||
} \
|
||||
/**
|
||||
* extract an integer value from a smallp
|
||||
*/
|
||||
static inline int GetSmalldata(LispPTR x) {
|
||||
if ((SEGMASK & (int)x) == S_POSITIVE) return (int)(x & 0xFFFF);
|
||||
if ((SEGMASK & (int)x) == S_NEGATIVE) return (int)(x | 0xFFFF0000);
|
||||
error("Not smallp address");
|
||||
return (0);
|
||||
}
|
||||
|
||||
#define N_IGETNUMBER(sour, dest, label) \
|
||||
{ dest = sour; /* access memory once */ \
|
||||
switch(SEGMASK & dest){ \
|
||||
case S_POSITIVE: \
|
||||
dest = 0xFFFF & dest; \
|
||||
break; \
|
||||
case S_NEGATIVE: \
|
||||
dest = 0xFFFF0000 | dest; \
|
||||
break; \
|
||||
default: \
|
||||
switch (GetTypeNumber( dest )) { \
|
||||
case TYPE_FIXP: \
|
||||
dest = FIXP_VALUE(dest); \
|
||||
break; \
|
||||
case TYPE_FLOATP: \
|
||||
{register float temp; \
|
||||
temp = FLOATP_VALUE(dest) ; \
|
||||
if ( (temp > ((float) 0x7fffffff)) || \
|
||||
(temp < ((float) 0x80000000)) ) \
|
||||
goto label; \
|
||||
dest = (int) temp; \
|
||||
} \
|
||||
break; \
|
||||
default: goto label; \
|
||||
} \
|
||||
break; \
|
||||
} \
|
||||
/**
|
||||
* construct a smallp from an integer value
|
||||
*/
|
||||
|
||||
static inline LispPTR GetSmallp(long x) {
|
||||
if (x >= 0) {
|
||||
if (x <= MAX_SMALL) return (LispPTR)(S_POSITIVE | x);
|
||||
} else {
|
||||
if (x >= MIN_SMALL) return (LispPTR)(S_NEGATIVE | (x & 0xFFFF));
|
||||
}
|
||||
error("Not Smallp data");
|
||||
return (S_POSITIVE | 0);
|
||||
}
|
||||
|
||||
|
||||
#define ARITH_SWITCH(arg, result) \
|
||||
switch((int) arg & 0xFFFF0000){ \
|
||||
case 0: \
|
||||
result = (S_POSITIVE | (int) arg); \
|
||||
break; \
|
||||
case 0xFFFF0000: \
|
||||
result = (S_NEGATIVE | (0xFFFF & (int) arg)); \
|
||||
break; \
|
||||
default:{register LispPTR *wordp; \
|
||||
/* arg is FIXP, call createcell */ \
|
||||
wordp = (LispPTR *) createcell68k(TYPE_FIXP); \
|
||||
*((int *)wordp) = (int) arg; \
|
||||
result = (LADDR_from_68k(wordp)); \
|
||||
break; \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
/* *******
|
||||
NEED to See if this is faster than the N_ARITH_SWITCH macro
|
||||
|
||||
if( (MIN_FIXP <= result) && (result <= MAX_FIXP) ){
|
||||
if(0 <= result){
|
||||
if(result <= MAX_SMALL)
|
||||
return(S_POSITIVE | result);
|
||||
else{
|
||||
wordp = createcell68k(TYPE_FIXP);
|
||||
*((unsigned int *)wordp) = result;
|
||||
return(LADDR_from_68k(wordp));
|
||||
}
|
||||
}else{
|
||||
if(MIN_SMALL <= result)
|
||||
return(S_NEGATIVE | (0xFFFF & result));
|
||||
else{
|
||||
wordp = createcell68k(TYPE_FIXP);
|
||||
*((unsigned int *)wordp) = result;
|
||||
return(LADDR_from_68k(wordp));
|
||||
}
|
||||
}/
|
||||
}
|
||||
****** */
|
||||
|
||||
|
||||
|
||||
#define N_ARITH_SWITCH(arg) \
|
||||
switch(arg & 0xFFFF0000){ \
|
||||
case 0: \
|
||||
return(S_POSITIVE | arg); \
|
||||
case 0xFFFF0000: \
|
||||
return(S_NEGATIVE | (0xFFFF & arg)); \
|
||||
default:{register LispPTR *fixpp; \
|
||||
/* arg is FIXP, call createcell */ \
|
||||
fixpp = (LispPTR *) createcell68k(TYPE_FIXP); \
|
||||
*((int *)fixpp) = arg; \
|
||||
return(LADDR_from_68k(fixpp)); \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
#define N_IARITH_BODY_2(a, tos, op) \
|
||||
{ \
|
||||
register int arg1,arg2; \
|
||||
\
|
||||
N_IGETNUMBER( a, arg1, do_ufn); \
|
||||
N_IGETNUMBER( tos, arg2, do_ufn); \
|
||||
\
|
||||
arg1 = arg1 op arg2; \
|
||||
\
|
||||
N_ARITH_SWITCH(arg1); \
|
||||
\
|
||||
do_ufn: ERROR_EXIT(tos); \
|
||||
/**
|
||||
* construct a smallp from an unsigned value
|
||||
*/
|
||||
static inline LispPTR GetPosSmallp(unsigned long x) {
|
||||
if (x <= MAX_SMALL) return (LispPTR)(S_POSITIVE | x);
|
||||
error("Not Smallp data");
|
||||
return (S_POSITIVE | 0);
|
||||
}
|
||||
|
||||
#define FIXP_VALUE(dest) *((int *)NativeAligned4FromLAddr(dest))
|
||||
|
||||
#define N_ARITH_BODY_1(a, n, op) \
|
||||
{ \
|
||||
register int arg1; \
|
||||
\
|
||||
N_GETNUMBER( a, arg1, do_ufn); \
|
||||
\
|
||||
arg1 = arg1 op n; \
|
||||
\
|
||||
N_ARITH_SWITCH(arg1); \
|
||||
\
|
||||
do_ufn: ERROR_EXIT(a); \
|
||||
}
|
||||
#define FLOATP_VALUE(dest) *((float *)NativeAligned4FromLAddr(dest))
|
||||
|
||||
#define N_GETNUMBER(sour, dest, label) \
|
||||
do { \
|
||||
switch (SEGMASK & (sour)) { \
|
||||
case S_POSITIVE: (dest) = (int)((sour) & 0xFFFF); break; \
|
||||
case S_NEGATIVE: (dest) = (int)((sour) | 0xFFFF0000); break; \
|
||||
default: \
|
||||
/* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
|
||||
if (GetTypeNumber(sour) != TYPE_FIXP) goto label; \
|
||||
(dest) = FIXP_VALUE(sour); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define N_ARITH_BODY_1_UNSIGNED(a, n, op) \
|
||||
{ \
|
||||
register unsigned int arg1; \
|
||||
\
|
||||
N_GETNUMBER( a, arg1, do_ufn); \
|
||||
\
|
||||
arg1 = arg1 op n; \
|
||||
\
|
||||
N_ARITH_SWITCH(arg1); \
|
||||
\
|
||||
do_ufn: ERROR_EXIT(a); \
|
||||
}
|
||||
#define N_IGETNUMBER(sour, dest, label) \
|
||||
do { \
|
||||
switch (SEGMASK & (sour)) { \
|
||||
case S_POSITIVE: (dest) = (int)((sour) & 0xFFFF); break; \
|
||||
case S_NEGATIVE: (dest) = (int)((sour) | 0xFFFF0000); break; \
|
||||
default: \
|
||||
switch (GetTypeNumber(sour)) { \
|
||||
case TYPE_FIXP: (dest) = FIXP_VALUE(sour); break; \
|
||||
case TYPE_FLOATP: { \
|
||||
float temp; \
|
||||
temp = FLOATP_VALUE(sour); \
|
||||
/* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
|
||||
if ((temp > ((float)0x7fffffff)) || (temp < ((float)0x80000000))) goto label; \
|
||||
(dest) = (int)temp; \
|
||||
} break; \
|
||||
default: goto label; /* NOLINT(bugprone-macro-parentheses) */ \
|
||||
} \
|
||||
break; \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define ARITH_SWITCH(arg, result) \
|
||||
do { \
|
||||
switch ((arg) & (int)0xFFFF0000) { \
|
||||
case 0: (result) = (S_POSITIVE | (int)(arg)); break; \
|
||||
case (int)0xFFFF0000: (result) = (S_NEGATIVE | (0xFFFF & (arg))); break; \
|
||||
default: { \
|
||||
int *fixpp; \
|
||||
/* arg is FIXP, call createcell */ \
|
||||
fixpp = (int *)createcell68k(TYPE_FIXP); \
|
||||
*((int *)fixpp) = (int)(arg); \
|
||||
(result) = (LAddrFromNative(fixpp)); \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define N_ARITH_SWITCH(arg) \
|
||||
do { \
|
||||
switch ((arg) & (int)0xFFFF0000) { \
|
||||
case 0: return (LispPTR) (S_POSITIVE | (arg)); \
|
||||
case (int)0xFFFF0000: return (LispPTR)(S_NEGATIVE | (0xFFFF & (arg))); \
|
||||
default: { \
|
||||
int *fixpp; \
|
||||
/* arg is FIXP, call createcell */ \
|
||||
fixpp = (int *)createcell68k(TYPE_FIXP); \
|
||||
*fixpp = arg; \
|
||||
return (LAddrFromNative(fixpp)); \
|
||||
} \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#endif /* ARITH_H */
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
#ifndef ARITH2DEFS_H
|
||||
#define ARITH2DEFS_H 1
|
||||
LispPTR N_OP_plus2(int tosm1, int tos);
|
||||
LispPTR N_OP_iplus2(int tosm1, int tos);
|
||||
LispPTR N_OP_difference(int tosm1, int tos);
|
||||
LispPTR N_OP_idifference(int tosm1, int tos);
|
||||
LispPTR N_OP_logxor(int tosm1, int tos);
|
||||
LispPTR N_OP_logand(int tosm1, int tos);
|
||||
LispPTR N_OP_logor(int tosm1, int tos);
|
||||
LispPTR N_OP_greaterp(int tosm1, int tos);
|
||||
LispPTR N_OP_igreaterp(int tosm1, int tos);
|
||||
LispPTR N_OP_iplusn(int tos, int n);
|
||||
LispPTR N_OP_idifferencen(int tos, int n);
|
||||
#endif
|
||||
@@ -1,6 +0,0 @@
|
||||
#ifndef ARITH3DEFS_H
|
||||
#define ARITH3DEFS_H 1
|
||||
LispPTR N_OP_makenumber(int tosm1, int tos);
|
||||
LispPTR N_OP_boxiplus(register int a, int tos);
|
||||
LispPTR N_OP_boxidiff(register int a, int tos);
|
||||
#endif
|
||||
@@ -1,8 +0,0 @@
|
||||
#ifndef ARITH4DEFS_H
|
||||
#define ARITH4DEFS_H 1
|
||||
int N_OP_times2(int tosm1, int tos);
|
||||
int N_OP_itimes2(int tosm1, int tos);
|
||||
int N_OP_quot(int tosm1, int tos);
|
||||
int N_OP_iquot(int tosm1, int tos);
|
||||
int N_OP_iremainder(int tosm1, int tos);
|
||||
#endif
|
||||
23
inc/arithopsdefs.h
Normal file
23
inc/arithopsdefs.h
Normal file
@@ -0,0 +1,23 @@
|
||||
#ifndef ARITHOPSDEFS_H
|
||||
#define ARITHOPSDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
LispPTR N_OP_plus2(LispPTR tosm1, LispPTR tos);
|
||||
LispPTR N_OP_iplus2(LispPTR tosm1, LispPTR tos);
|
||||
LispPTR N_OP_difference(LispPTR tosm1, LispPTR tos);
|
||||
LispPTR N_OP_idifference(LispPTR tosm1, LispPTR tos);
|
||||
LispPTR N_OP_logxor(LispPTR tosm1, LispPTR tos);
|
||||
LispPTR N_OP_logand(LispPTR tosm1, LispPTR tos);
|
||||
LispPTR N_OP_logor(LispPTR tosm1, LispPTR tos);
|
||||
LispPTR N_OP_greaterp(LispPTR tosm1, LispPTR tos);
|
||||
LispPTR N_OP_igreaterp(LispPTR tosm1, LispPTR tos);
|
||||
LispPTR N_OP_iplusn(LispPTR tos, int n);
|
||||
LispPTR N_OP_idifferencen(LispPTR tos, int n);
|
||||
LispPTR N_OP_makenumber(LispPTR tosm1, LispPTR tos);
|
||||
LispPTR N_OP_boxiplus(LispPTR a, LispPTR tos);
|
||||
LispPTR N_OP_boxidiff(LispPTR a, LispPTR tos);
|
||||
LispPTR N_OP_times2(LispPTR tosm1, LispPTR tos);
|
||||
LispPTR N_OP_itimes2(LispPTR tosm1, LispPTR tos);
|
||||
LispPTR N_OP_quot(LispPTR tosm1, LispPTR tos);
|
||||
LispPTR N_OP_iquot(LispPTR tosm1, LispPTR tos);
|
||||
LispPTR N_OP_iremainder(LispPTR tosm1, LispPTR tos);
|
||||
#endif
|
||||
@@ -2,9 +2,6 @@
|
||||
#define ARRAY_H 1
|
||||
/* $Id: array.h,v 1.2 1999/01/03 02:05:53 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
|
||||
|
||||
|
||||
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
/* (C) Copyright 1989-92 Venue. All Rights Reserved. */
|
||||
@@ -12,6 +9,9 @@
|
||||
/* */
|
||||
/************************************************************************/
|
||||
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
#include "version.h" /* for BIGVM */
|
||||
|
||||
#ifndef BYTESWAP
|
||||
/********************************/
|
||||
/* Normal byte-order version */
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#ifndef ARRAY2DEFS_H
|
||||
#define ARRAY2DEFS_H 1
|
||||
LispPTR N_OP_misc4(register LispPTR data, register LispPTR base, register LispPTR typenumber,
|
||||
register LispPTR inx, int alpha);
|
||||
#endif
|
||||
@@ -1,4 +0,0 @@
|
||||
#ifndef ARRAY3DEFS_H
|
||||
#define ARRAY3DEFS_H 1
|
||||
LispPTR N_OP_aref1(register LispPTR arrayarg, register LispPTR inx);
|
||||
#endif
|
||||
@@ -1,4 +0,0 @@
|
||||
#ifndef ARRAY4DEFS_H
|
||||
#define ARRAY4DEFS_H 1
|
||||
LispPTR N_OP_aset1(register LispPTR data, LispPTR arrayarg, register int inx);
|
||||
#endif
|
||||
@@ -1,4 +0,0 @@
|
||||
#ifndef ARRAY5DEFS_H
|
||||
#define ARRAY5DEFS_H 1
|
||||
LispPTR N_OP_aref2(LispPTR arrayarg, LispPTR inx0, LispPTR inx1);
|
||||
#endif
|
||||
@@ -1,4 +0,0 @@
|
||||
#ifndef ARRAY6DEFS_H
|
||||
#define ARRAY6DEFS_H 1
|
||||
LispPTR N_OP_aset2(register LispPTR data, LispPTR arrayarg, LispPTR inx0, LispPTR inx1);
|
||||
#endif
|
||||
@@ -1,4 +0,0 @@
|
||||
#ifndef ARRAYDEFS_H
|
||||
#define ARRAYDEFS_H 1
|
||||
LispPTR N_OP_misc3(LispPTR baseL, LispPTR typenumber, LispPTR inx, int alpha);
|
||||
#endif
|
||||
10
inc/arrayopsdefs.h
Normal file
10
inc/arrayopsdefs.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#ifndef ARRAYOPSDEFS_H
|
||||
#define ARRAYOPSDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
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_aref2(LispPTR arrayarg, LispPTR inx0, LispPTR inx1);
|
||||
LispPTR N_OP_aset2(LispPTR data, LispPTR arrayarg, LispPTR inx0, LispPTR inx1);
|
||||
#endif
|
||||
28
inc/bb.h
28
inc/bb.h
@@ -140,7 +140,7 @@
|
||||
#define B_src_word_in_postloop src32lbit >= dst32lbit
|
||||
|
||||
/* VARIABLES */
|
||||
#define F_num_loop ((dst32lbit + w) >> 5) - 1
|
||||
#define F_num_loop (((dst32lbit + w) >> 5) - 1)
|
||||
#define B_num_loop ((w - dst32rbit - 1) > 0) ? ((w - dst32rbit - 1) >> 5) : 0
|
||||
#define F_preloop_mask ((dst32lbit) ? (~(0xFFFFFFFF << (32 - dst32lbit))) : 0xFFFFFFFF)
|
||||
#define F_postloop_mask 0xFFFFFFFF << (31 - dst32rbit)
|
||||
@@ -389,7 +389,7 @@
|
||||
do_partial_transfer \
|
||||
dst32addr++; \
|
||||
switch (op) \
|
||||
{ register int cnt; \
|
||||
{ int cnt; \
|
||||
case op_repl_src: ForInner { DestGetsF(=) } break; \
|
||||
case op_fn_and: ForInner { DestGetsF(&=) } break; \
|
||||
case op_fn_or: ForInner { DestGetsF(|=) } break; \
|
||||
@@ -416,14 +416,14 @@
|
||||
if (aligned_loop) \
|
||||
{ \
|
||||
if (src_comp) switch (op) \
|
||||
{ register int cnt; \
|
||||
{ int cnt; \
|
||||
case op_repl_src: ForInner {*dst32addr++ = ~*src32addr++;} break; \
|
||||
case op_fn_and: ForInner {*dst32addr++ &= ~*src32addr++;} break; \
|
||||
case op_fn_or: ForInner {*dst32addr++ |= ~*src32addr++;} break; \
|
||||
case op_fn_xor: ForInner {*dst32addr++ ^= ~*src32addr++;} break; \
|
||||
} \
|
||||
else switch (op) \
|
||||
{ register int cnt; \
|
||||
{ int cnt; \
|
||||
case op_repl_src: ForInner {*dst32addr++ = *src32addr++;} break; \
|
||||
case op_fn_and: ForInner {*dst32addr++ &= *src32addr++;} break; \
|
||||
case op_fn_or: ForInner {*dst32addr++ |= *src32addr++;} break; \
|
||||
@@ -433,14 +433,14 @@
|
||||
else \
|
||||
{ \
|
||||
if (src_comp) switch (op) \
|
||||
{ register int cnt; \
|
||||
{ int cnt; \
|
||||
case op_repl_src: ForInner {GetSrcCF DestGetsF(=) } break; \
|
||||
case op_fn_and: ForInner {GetSrcCF DestGetsF(&=) } break; \
|
||||
case op_fn_or: ForInner {GetSrcCF DestGetsF(|=) } break; \
|
||||
case op_fn_xor: ForInner {GetSrcCF DestGetsF(^=) } break; \
|
||||
} \
|
||||
else switch (op) \
|
||||
{ register int cnt; \
|
||||
{ int cnt; \
|
||||
case op_repl_src: ForInner {GetSrcF DestGetsF(=) } break; \
|
||||
case op_fn_and: ForInner {GetSrcF DestGetsF(&=) } break; \
|
||||
case op_fn_or: ForInner {GetSrcF DestGetsF(|=) } break; \
|
||||
@@ -470,14 +470,14 @@
|
||||
if (aligned_loop) \
|
||||
{ \
|
||||
if (src_comp) switch (op) \
|
||||
{ register int cnt; \
|
||||
{ int cnt; \
|
||||
case op_repl_src: ForInner {*dst32addr-- = ~*src32addr--;} break; \
|
||||
case op_fn_and: ForInner {*dst32addr-- &= ~*src32addr--;} break; \
|
||||
case op_fn_or: ForInner {*dst32addr-- |= ~*src32addr--;} break; \
|
||||
case op_fn_xor: ForInner {*dst32addr-- ^= ~*src32addr--;} break; \
|
||||
} \
|
||||
else switch (op) \
|
||||
{ register int cnt; \
|
||||
{ int cnt; \
|
||||
case op_repl_src: ForInner {*dst32addr-- = *src32addr--;} break; \
|
||||
case op_fn_and: ForInner {*dst32addr-- &= *src32addr--;} break; \
|
||||
case op_fn_or: ForInner {*dst32addr-- |= *src32addr--;} break; \
|
||||
@@ -487,14 +487,14 @@
|
||||
else \
|
||||
{ \
|
||||
if (src_comp) switch (op) \
|
||||
{ register int cnt; \
|
||||
{ int cnt; \
|
||||
case op_repl_src: ForInner {GetSrcCB DestGetsB(=) } break; \
|
||||
case op_fn_and: ForInner {GetSrcCB DestGetsB(&=) } break; \
|
||||
case op_fn_or: ForInner {GetSrcCB DestGetsB(|=) } break; \
|
||||
case op_fn_xor: ForInner {GetSrcCB DestGetsB(^=) } break; \
|
||||
} \
|
||||
else switch (op) \
|
||||
{ register int cnt; \
|
||||
{ int cnt; \
|
||||
case op_repl_src: ForInner {GetSrcB DestGetsB(=) } break; \
|
||||
case op_fn_and: ForInner {GetSrcB DestGetsB(&=) } break; \
|
||||
case op_fn_or: ForInner {GetSrcB DestGetsB(|=) } break; \
|
||||
@@ -698,7 +698,7 @@
|
||||
/* However, YOU must set up the control variables that are used */
|
||||
/* as "arguments" to the bitblt code: */
|
||||
/* */
|
||||
/* register DLword *srcbase, *dstbase; */
|
||||
/* DLword *srcbase, *dstbase; */
|
||||
/* int sx, dx, w, h, srcbpl, dstbpl, backwardflg; */
|
||||
/* int src_comp, op, gray, num_gray, curr_gray_line; */
|
||||
/* */
|
||||
@@ -713,9 +713,9 @@ int abc, dst32rbit, src32rbit, fwd; \
|
||||
unsigned int *OrigSrcAddr, *OrigDstAddr; \
|
||||
int bb_fast; \
|
||||
unsigned int preloop_mask, postloop_mask, sdw_mask; \
|
||||
register unsigned int *dst32addr, *src32addr; \
|
||||
register unsigned int shS, savedS, newS; \
|
||||
register int srcRshift;
|
||||
unsigned int *dst32addr, *src32addr; \
|
||||
unsigned int shS, savedS, newS; \
|
||||
int srcRshift;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,34 +1,19 @@
|
||||
#ifndef BBTSUBDEFS_H
|
||||
#define BBTSUBDEFS_H 1
|
||||
|
||||
/***** Don't use PixRect code on 386i for now *****/
|
||||
/***** -or on any machine that doesn't support it (HP, e.g.) *****/
|
||||
|
||||
/********************************************************/
|
||||
/* */
|
||||
/* prropstyle is DEFINED when we want to use */
|
||||
/* pixrect versions of the operations in this */
|
||||
/* file, and UNDEFINED, when we want to use */
|
||||
/* Don Charnley's bitblt code to do them. */
|
||||
/* Don Charnley's bitblt code */
|
||||
/* */
|
||||
/********************************************************/
|
||||
#if defined(SUNDISPLAY) && \
|
||||
!defined(NOPIXRECT) && \
|
||||
!defined(NEWBITBLT)
|
||||
#define prropstyle 1
|
||||
#endif
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
|
||||
void bitbltsub(LispPTR *argv);
|
||||
LispPTR n_new_cursorin(DLword *baseaddr, int dx, int dy, int w, int h);
|
||||
LispPTR bitblt_bitmap(LispPTR *args);
|
||||
LispPTR bitshade_bitmap(LispPTR *args);
|
||||
#ifndef prropstyle
|
||||
void bltchar(LispPTR *args);
|
||||
void newbltchar(LispPTR *args);
|
||||
#else
|
||||
LispPTR bltchar(LispPTR *args);
|
||||
LispPTR newbltchar(LispPTR *args);
|
||||
#endif
|
||||
void ccfuncall(unsigned int atom_index, int argnum, int bytenum);
|
||||
void tedit_bltchar(LispPTR *args);
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#ifndef BINDEFS_H
|
||||
#define BINDEFS_H 1
|
||||
LispPTR N_OP_bin(register int tos);
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
LispPTR N_OP_bin(LispPTR tos);
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef BINDSDEFS_H
|
||||
#define BINDSDEFS_H 1
|
||||
LispPTR *N_OP_bind(register LispPTR *stack_pointer, register LispPTR tos, int byte1, int byte2);
|
||||
LispPTR *N_OP_unbind(register LispPTR *stack_pointer);
|
||||
LispPTR *N_OP_dunbind(register LispPTR *stack_pointer, register LispPTR tos);
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
LispPTR *N_OP_bind(LispPTR *stack_pointer, LispPTR tos, int byte1, int byte2);
|
||||
LispPTR *N_OP_unbind(LispPTR *stack_pointer);
|
||||
LispPTR *N_OP_dunbind(LispPTR *stack_pointer, LispPTR tos);
|
||||
#endif
|
||||
|
||||
30
inc/bitblt.h
30
inc/bitblt.h
@@ -10,8 +10,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
/* Copyright 1989, 1990 Venue, Fuji Xerox Co., Ltd, Xerox Corp. */
|
||||
@@ -20,8 +18,7 @@
|
||||
/* Agreement dated 18-August-1989 for support of Medley. */
|
||||
/* */
|
||||
/************************************************************************/
|
||||
|
||||
|
||||
#include "lispemul.h" /* for DLword */
|
||||
|
||||
#define REPLACE 0
|
||||
#define PAINT 2
|
||||
@@ -30,16 +27,16 @@
|
||||
#define ERROR PIX_SRC
|
||||
|
||||
#define PixOperation( SRCTYPE, OPERATION ) \
|
||||
( SRCTYPE == ERASE ? \
|
||||
(OPERATION == REPLACE ? PIX_NOT(PIX_SRC) : \
|
||||
(OPERATION == PAINT ? PIX_NOT(PIX_SRC) | PIX_DST : \
|
||||
(OPERATION == ERASE ? PIX_NOT(PIX_SRC) & PIX_DST : \
|
||||
(OPERATION == INVERT ? PIX_NOT(PIX_SRC) ^ PIX_DST : ERROR)))) : \
|
||||
( (SRCTYPE) == ERASE ? \
|
||||
((OPERATION) == REPLACE ? PIX_NOT(PIX_SRC) : \
|
||||
((OPERATION) == PAINT ? PIX_NOT(PIX_SRC) | PIX_DST : \
|
||||
((OPERATION) == ERASE ? PIX_NOT(PIX_SRC) & PIX_DST : \
|
||||
((OPERATION) == INVERT ? PIX_NOT(PIX_SRC) ^ PIX_DST : ERROR)))) : \
|
||||
/* SRCTYPE == INPUT */ \
|
||||
(OPERATION == REPLACE ? PIX_SRC : \
|
||||
(OPERATION == PAINT ? PIX_SRC | PIX_DST : \
|
||||
(OPERATION == ERASE ? PIX_SRC & PIX_DST : \
|
||||
(OPERATION == INVERT ? PIX_SRC ^ PIX_DST : ERROR)))))
|
||||
((OPERATION) == REPLACE ? PIX_SRC : \
|
||||
((OPERATION) == PAINT ? PIX_SRC | PIX_DST : \
|
||||
((OPERATION) == ERASE ? PIX_SRC & PIX_DST : \
|
||||
((OPERATION) == INVERT ? PIX_SRC ^ PIX_DST : ERROR)))))
|
||||
|
||||
|
||||
extern DLword *EmMouseX68K, *EmMouseY68K;
|
||||
@@ -57,13 +54,6 @@ extern int DisplayRasterWidth;
|
||||
#define ShowCursor { (currentdsp->mouse_visible)(IOPage68K->dlmousex, \
|
||||
IOPage68K->dlmousey); }
|
||||
|
||||
#elif defined(SUNDISPLAY) && defined(OLD_CURSOR)
|
||||
extern struct winlock DisplayLockArea;
|
||||
#define HideCursor \
|
||||
ioctl( LispWindowFd, WINLOCKSCREEN, &DisplayLockArea)
|
||||
|
||||
#define ShowCursor \
|
||||
ioctl( LispWindowFd, WINUNLOCKSCREEN, &DisplayLockArea)
|
||||
#else
|
||||
extern DLword *EmCursorX68K,*EmCursorY68K;
|
||||
#define HideCursor { taking_mouse_down();}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef BITBLTDEFS_H
|
||||
#define BITBLTDEFS_H 1
|
||||
LispPTR N_OP_pilotbitblt(LispPTR pilot_bt_tbl,int tos);
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
LispPTR N_OP_pilotbitblt(LispPTR pilot_bt_tbl, LispPTR tos);
|
||||
int cursorin(DLword addrhi, DLword addrlo, int w, int h, int backward);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#ifndef BLTDEFS_H
|
||||
#define BLTDEFS_H 1
|
||||
LispPTR N_OP_blt(LispPTR destptr, LispPTR sourceptr, register LispPTR wordcount);
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
LispPTR N_OP_blt(LispPTR destptr, LispPTR sourceptr, LispPTR wordcount);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ static inline unsigned int swapx(unsigned int word) {
|
||||
/* */
|
||||
/****************************************************************/
|
||||
static inline unsigned short byte_swap_word(unsigned short word) {
|
||||
return (((word >> 8) & 0xff) | ((word & 0xff) << 8));
|
||||
return ((word >> 8) | (unsigned short)((word & 0xff) << 8));
|
||||
}
|
||||
|
||||
void byte_swap_page(unsigned short *page, int wordcount);
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
#ifndef CAR_CDRDEFS_H
|
||||
#define CAR_CDRDEFS_H 1
|
||||
#include "cell.h"
|
||||
LispPTR car(register LispPTR datum);
|
||||
LispPTR cdr(register LispPTR datum);
|
||||
LispPTR rplaca(register LispPTR x, register LispPTR y);
|
||||
LispPTR rplacd(LispPTR x, register LispPTR y);
|
||||
LispPTR N_OP_car(register LispPTR tos);
|
||||
LispPTR N_OP_cdr(register LispPTR tos);
|
||||
LispPTR N_OP_rplaca(register LispPTR tosm1, register LispPTR tos);
|
||||
LispPTR N_OP_rplacd(register LispPTR tosm1, register LispPTR tos);
|
||||
#include "cell.h" /* for ConsCell */
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
LispPTR car(LispPTR datum);
|
||||
LispPTR cdr(LispPTR datum);
|
||||
LispPTR rplaca(LispPTR x, LispPTR y);
|
||||
LispPTR rplacd(LispPTR x, LispPTR y);
|
||||
LispPTR N_OP_car(LispPTR tos);
|
||||
LispPTR N_OP_cdr(LispPTR tos);
|
||||
LispPTR N_OP_rplaca(LispPTR tosm1, LispPTR tos);
|
||||
LispPTR N_OP_rplacd(LispPTR tosm1, LispPTR tos);
|
||||
ConsCell *find_close_prior_cell(struct conspage *page, LispPTR oldcell);
|
||||
#endif
|
||||
|
||||
144
inc/cdrom.h
144
inc/cdrom.h
@@ -1,144 +0,0 @@
|
||||
/* $Id: cdrom.h,v 1.2 1999/01/03 02:05:54 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
|
||||
|
||||
/***********************************
|
||||
|
||||
file: cdrom_audio.h
|
||||
|
||||
***********************************/
|
||||
|
||||
/* function number for CD audio functions */
|
||||
#define CD_OPEN 1
|
||||
#define CD_CLOSE 2
|
||||
#define CD_READ 3
|
||||
#define CD_DISK_INFO 4
|
||||
#define CD_TRACK_INFO 5
|
||||
#define CD_START 6
|
||||
#define CD_STOP 7
|
||||
#define CD_PLAY 8
|
||||
#define CD_Q_READ 9
|
||||
#define CD_PAUSE 10
|
||||
#define CD_RESUME 11
|
||||
#define CD_VOLUME 12
|
||||
#define CD_EJECT 13
|
||||
|
||||
/* function numbers for CD-ROM */
|
||||
#define CDROM_INIT_DRV 1
|
||||
#define CDROM_KEN_INT 2
|
||||
#define CDROM_CHOSAKU 3
|
||||
#define CDROM_MIKANA 4
|
||||
#define CDROM_MIKANAT 5
|
||||
#define CDROM_HYOKI 6
|
||||
#define CDROM_HYOKIT 7
|
||||
#define CDROM_EIJI 8
|
||||
#define CDROM_EIJIT 9
|
||||
#define CDROM_SUJI 10
|
||||
#define CDROM_SUJIT 11
|
||||
#define CDROM_ZENKANA 12
|
||||
#define CDROM_ZENKANAT 13
|
||||
#define CDROM_ZENKANJ 14
|
||||
#define CDROM_ZENKANJT 15
|
||||
#define CDROM_ZENEIJI 16
|
||||
#define CDROM_ZENEIJIIT 17
|
||||
#define CDROM_KOHKANA 18
|
||||
#define CDROM_KOHKANAT 19
|
||||
#define CDROM_KOHKANJ 20
|
||||
#define CDROM_KOHKANJT 21
|
||||
#define CDROM_KOHEIJI 22
|
||||
#define CDROM_KOHEIJIT 23
|
||||
#define CDROM_ZUHAN 24
|
||||
#define CDROM_JYOKEN 25
|
||||
#define CDROM_JYOKENT 26
|
||||
#define CDROM_MENU 27
|
||||
#define CDROM_AUDIOST 28
|
||||
#define CDROM_AUDIOED 29
|
||||
#define CDROM_AUDIOQ_GET 30
|
||||
#define CDROM_GAIJI 31
|
||||
#define CDROM_ZENGO 32
|
||||
#define CDROM_KEIZOKU 33
|
||||
#define CDROM_SYURYO 34
|
||||
|
||||
|
||||
|
||||
typedef unsigned char BYTE;
|
||||
typedef unsigned long DWORD;
|
||||
|
||||
/*
|
||||
extern DWORD CDred_lbn();
|
||||
extern void CDlbn_red();
|
||||
extern int CDopen();
|
||||
extern int CDclose();
|
||||
extern int CDread();
|
||||
extern int CDdisk_info();
|
||||
extern int CDtrack_info();
|
||||
extern int CDstart();
|
||||
extern int CDstop();
|
||||
extern int CDplay();
|
||||
extern int CDqread();
|
||||
extern int CDpause();
|
||||
extern int CDresume();
|
||||
extern int CDvolume();
|
||||
extern int CDeject();
|
||||
*/
|
||||
|
||||
#define LispStringToCString(Lisp, C, MaxLen) \
|
||||
{ \
|
||||
OneDArray *arrayp; \
|
||||
char *base, *dp; \
|
||||
short *sbase; \
|
||||
int i, length; \
|
||||
arrayp = (OneDArray *)(Addr68k_from_LADDR(Lisp)); \
|
||||
length = min(MaxLen, arrayp->totalsize); \
|
||||
switch(arrayp->typenumber) \
|
||||
{ \
|
||||
case THIN_CHAR_TYPENUMBER: \
|
||||
base = ((char *)(Addr68k_from_LADDR(arrayp->base))) \
|
||||
+ ((int)(arrayp->offset)); \
|
||||
strncpy(C, base, length); \
|
||||
C[length] = '\0'; \
|
||||
break; \
|
||||
\
|
||||
case FAT_CHAR_TYPENUMBER: \
|
||||
sbase = ((short *)(Addr68k_from_LADDR(arrayp->base))) \
|
||||
+ ((int)(arrayp->offset)); \
|
||||
for(i=0,dp=C;i<(length);i++) \
|
||||
*dp++ = (char)(*sbase++); \
|
||||
*dp = '\0'; \
|
||||
break; \
|
||||
default: \
|
||||
error("LispStringToCString can not handle\n"); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define LispStringToCString2(Lisp, C, MaxLen) \
|
||||
{ \
|
||||
OneDArray *arrayp; \
|
||||
char *base, *dp; \
|
||||
short *sbase; \
|
||||
int i, length; \
|
||||
arrayp = (OneDArray *)(Addr68k_from_LADDR(Lisp)); \
|
||||
length = min(MaxLen, arrayp->totalsize); \
|
||||
switch(arrayp->typenumber) \
|
||||
{ \
|
||||
case THIN_CHAR_TYPENUMBER: \
|
||||
base = ((char *)(Addr68k_from_LADDR(arrayp->base))) \
|
||||
+ ((int)(arrayp->offset)); \
|
||||
strncpy(C, base, length); \
|
||||
C[length] = '\0'; \
|
||||
break; \
|
||||
\
|
||||
case FAT_CHAR_TYPENUMBER: \
|
||||
sbase = ((short *)(Addr68k_from_LADDR(arrayp->base))) \
|
||||
+ ((int)(arrayp->offset)); \
|
||||
for(i=0,dp=C;i<(length);i++) { \
|
||||
*dp++ = (char)(*sbase / 256 ); \
|
||||
*dp++ = (char)(*sbase % 256 ); \
|
||||
sbase++; \
|
||||
} \
|
||||
*dp = '\0'; \
|
||||
break; \
|
||||
default: \
|
||||
error("LispStringToCString can not handle\n"); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define min(a, b) ((a <= b)?a:b)
|
||||
47
inc/cell.h
Executable file → Normal file
47
inc/cell.h
Executable file → Normal file
@@ -9,6 +9,8 @@
|
||||
/* */
|
||||
/************************************************************************/
|
||||
|
||||
#include "version.h"
|
||||
|
||||
/**********************************************************************/
|
||||
/*
|
||||
File Name : cell.h
|
||||
@@ -20,6 +22,8 @@
|
||||
|
||||
*/
|
||||
/**********************************************************************/
|
||||
#include "adr68k.h" /* for NativeAligned4FromLPage, NativeAligned4FromLAddr */
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
|
||||
/* CONS CELL (LISTP) definitions moved to lispemulater.h */
|
||||
|
||||
@@ -27,7 +31,7 @@
|
||||
/* On 68010,68000 This Macro does not effect */
|
||||
|
||||
#ifdef NEWCDRCODING
|
||||
#define CARFIELD(x) ((int)x & 0x0fffffff)
|
||||
#define CARFIELD(x) ((int)(x) & 0x0fffffff)
|
||||
|
||||
/* CDR-Codes defs */
|
||||
#define CDR_ONPAGE 8
|
||||
@@ -98,13 +102,13 @@ struct conspage {
|
||||
/* Following MACROs for Conspage */
|
||||
|
||||
/* lisp_ptr is LISP pointer, returns 68k ptr points struct conspage obj */
|
||||
#define Get_ConsPageBase(lisp_ptr) (struct conspage *)Addr68k_from_LPAGE(POINTER_PAGEBASE(lisp_ptr))
|
||||
#define Get_ConsPageBase(lisp_ptr) (struct conspage *)NativeAligned4FromLPage(POINTER_PAGEBASE(lisp_ptr))
|
||||
|
||||
#define GetNewCell_68k(conspage68k) \
|
||||
(ConsCell *)(((DLword *)(conspage68k)) + (unsigned)((conspage68k)->next_cell))
|
||||
|
||||
/* page : LISP page */
|
||||
#define GetCONSCount(page) (((struct conspage *)Addr68k_from_LPAGE(page))->count)
|
||||
#define GetCONSCount(page) (((struct conspage *)NativeAligned4FromLPage(page))->count)
|
||||
|
||||
#ifndef BYTESWAP
|
||||
/* For chaining together free cons cells on a page */
|
||||
@@ -122,7 +126,7 @@ typedef struct freec {
|
||||
|
||||
#endif /* BYTESWAP */
|
||||
|
||||
#define FREECONS(page, offset) ((freecons *)((DLword *)page + offset))
|
||||
#define FREECONS(page, offset) ((freecons *)((DLword *)(page) + (offset)))
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
@@ -373,21 +377,17 @@ struct cadr_cell {
|
||||
|
||||
#else
|
||||
/* Good for old LITATOMS and new NEW-ATOMs */
|
||||
#define GetDEFCELL68k(index) \
|
||||
(((index & SEGMASK) != 0) ? (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_DEFN_OFFSET) \
|
||||
: GetDEFCELLlitatom(index))
|
||||
#define GetDEFCELL68k(index) \
|
||||
((((index) & SEGMASK) != 0) ? GetDEFCELLnew(index) : GetDEFCELLlitatom(index))
|
||||
|
||||
#define GetVALCELL68k(index) \
|
||||
(((index & SEGMASK) != 0) ? (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_VALUE_OFFSET) \
|
||||
: GetVALCELLlitatom(index))
|
||||
#define GetVALCELL68k(index) \
|
||||
((((index) & SEGMASK) != 0) ? GetVALCELLnew(index) : GetVALCELLlitatom(index))
|
||||
|
||||
#define GetPnameCell(index) \
|
||||
(((index & SEGMASK) != 0) ? (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_PNAME_OFFSET) \
|
||||
: GetPnameCelllitatom(index))
|
||||
#define GetPnameCell(index) \
|
||||
((((index) & SEGMASK) != 0) ? GetPnameCellnew(index) : GetPnameCelllitatom(index))
|
||||
|
||||
#define GetPropCell(index) \
|
||||
(((index & SEGMASK) != 0) ? (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_PLIST_OFFSET) \
|
||||
: GetPropCelllitatom(index))
|
||||
#define GetPropCell(index) \
|
||||
((((index) & SEGMASK) != 0) ? GetPropCellnew(index) : GetPropCelllitatom(index))
|
||||
|
||||
/* Good only for old-style LITATOMS */
|
||||
#ifdef BIGVM
|
||||
@@ -403,10 +403,13 @@ struct cadr_cell {
|
||||
#endif
|
||||
|
||||
/* Good only for new-style NEW-ATOMs */
|
||||
#define GetDEFCELLnew(index) (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_DEFN_OFFSET)
|
||||
#define GetVALCELLnew(index) (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_VALUE_OFFSET)
|
||||
#define GetPnameCellnew(index) (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_PNAME_OFFSET)
|
||||
#define GetPropCellnew(index) (LispPTR *)(Addr68k_from_LADDR(index) + NEWATOM_PLIST_OFFSET)
|
||||
/* Note: the _OFFSET values are in units of DLword so need to be adjusted before doing pointer
|
||||
* arithmetic since we now have native pointers to cells not DLwords
|
||||
*/
|
||||
#define GetDEFCELLnew(index) (NativeAligned4FromLAddr(index) + (NEWATOM_DEFN_OFFSET / DLWORDSPER_CELL))
|
||||
#define GetVALCELLnew(index) (NativeAligned4FromLAddr(index) + (NEWATOM_VALUE_OFFSET / DLWORDSPER_CELL))
|
||||
#define GetPnameCellnew(index) (NativeAligned4FromLAddr(index) + (NEWATOM_PNAME_OFFSET / DLWORDSPER_CELL))
|
||||
#define GetPropCellnew(index) (NativeAligned4FromLAddr(index) + (NEWATOM_PLIST_OFFSET / DLWORDSPER_CELL))
|
||||
|
||||
#endif /* BIGATOMS */
|
||||
|
||||
@@ -414,10 +417,10 @@ struct cadr_cell {
|
||||
|
||||
#define S_N_CHECKANDCADR(sour, dest, tos) \
|
||||
{ \
|
||||
register LispPTR parm = sour; \
|
||||
LispPTR parm = sour; \
|
||||
if (GetTypeNumber(parm) != TYPE_LISTP) { \
|
||||
ERROR_EXIT(tos); \
|
||||
} else \
|
||||
dest = cadr(parm); \
|
||||
(dest) = cadr(parm); \
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#ifndef CHARDEVDEFS_H
|
||||
#define CHARDEVDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
LispPTR CHAR_openfile(LispPTR *args);
|
||||
LispPTR CHAR_closefile(LispPTR *args);
|
||||
LispPTR CHAR_ioctl(LispPTR *args);
|
||||
|
||||
@@ -3,6 +3,4 @@
|
||||
void stab(void);
|
||||
void warn(const char *s);
|
||||
int error(const char *s);
|
||||
int stackcheck(void);
|
||||
void stackoverflow(void);
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef CONSPAGEDEFS_H
|
||||
#define CONSPAGEDEFS_H 1
|
||||
#include "cell.h"
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
struct conspage *next_conspage(void);
|
||||
LispPTR N_OP_cons(register int cons_car, register int cons_cdr);
|
||||
LispPTR N_OP_cons(int cons_car, int cons_cdr);
|
||||
LispPTR cons(LispPTR cons_car, LispPTR cons_cdr);
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef DBGTOOLDEFS_H
|
||||
#define DBGTOOLDEFS_H 1
|
||||
#include "stack.h"
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
#include "stack.h" /* frameex1, fnhead, FX */
|
||||
LispPTR get_ivar_name(struct frameex1 *fx_addr68k, DLword offset, int *localivar);
|
||||
LispPTR get_pvar_name(struct frameex1 *fx_addr68k, DLword offset);
|
||||
LispPTR get_fn_fvar_name(struct fnhead *fnobj, DLword offset);
|
||||
|
||||
@@ -43,7 +43,7 @@ extern int flushing;
|
||||
#define DBPRINT(X) do {printf X ; if (flushing) fflush(stdout); } while(0)
|
||||
#define DEBUGGER(X) X
|
||||
#else
|
||||
#define DBPRINT(X) do {} while(0)
|
||||
#define DBPRINT(X) if (0) do {printf X ; } while(0)
|
||||
#define DEBUGGER(X)
|
||||
#endif
|
||||
|
||||
@@ -55,7 +55,7 @@ extern int flushing;
|
||||
#define TRACER(X) X
|
||||
#else /* TRACE */
|
||||
|
||||
#define TPRINT(X) do { } while (0)
|
||||
#define TPRINT(X) if (0) do { printf X; } while (0)
|
||||
#define TRACER(X)
|
||||
#endif /* TRACE */
|
||||
|
||||
@@ -67,7 +67,7 @@ extern int flushing;
|
||||
#define OPTPRINT(X) do { printf X; if (flushing) fflush(stdout); } while (0)
|
||||
#define OPTRACER(X) X
|
||||
#else
|
||||
#define OPTPRINT(X) do { } while (0)
|
||||
#define OPTPRINT(X) if (0) do { printf X; } while (0)
|
||||
#define OPTRACER(X)
|
||||
#endif
|
||||
|
||||
@@ -78,7 +78,7 @@ extern int flushing;
|
||||
#define FNTPRINT(X) do { printf X; if (flushing) fflush(stdout); } while (0)
|
||||
#define FNTRACER(X) X
|
||||
#else
|
||||
#define FNTPRINT(X) do { } while (0)
|
||||
#define FNTPRINT(X) if (0) do { printf X; } while (0)
|
||||
#define FNTRACER(X)
|
||||
#endif
|
||||
|
||||
@@ -89,7 +89,7 @@ extern int flushing;
|
||||
#define FNCHKPRINT(X) do { printf X ; if (flushing) fflush(stdout); } while (0)
|
||||
#define FNCHECKER(X) X
|
||||
#else
|
||||
#define FNCHKPRINT(X) do { } while (0)
|
||||
#define FNCHKPRINT(X) if (0) do { printf X; } while (0)
|
||||
#define FNCHECKER(X)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -2,16 +2,13 @@
|
||||
#define DEBUG_H 1
|
||||
/* $Id: debug.h,v 1.2 1999/01/03 02:05:56 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
|
||||
/************************************************/
|
||||
|
||||
33
inc/devif.h
33
inc/devif.h
@@ -1,7 +1,7 @@
|
||||
#ifndef DEVIF_H
|
||||
#define DEVIF_H 1
|
||||
/* $Id: devif.h,v 1.2 1999/01/03 02:05:57 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
|
||||
|
||||
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
/* (C) Copyright 1989, 1990, 1990, 1991, 1992, 1993, 1994, 1995 Venue. */
|
||||
@@ -9,10 +9,7 @@
|
||||
/* Manufactured in the United States of America. */
|
||||
/* */
|
||||
/************************************************************************/
|
||||
|
||||
#ifndef __DEVIF__
|
||||
#define __DEVIF__ 1
|
||||
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
|
||||
typedef void (*PFV)(); /* Pointer to Function returning Void */
|
||||
typedef int (*PFI)(); /* Pointer to Function returning Int */
|
||||
@@ -25,7 +22,6 @@ typedef unsigned long (*PFUL)(); /* Pointer to Function returning an unsigned lo
|
||||
#include <X11/Xlib.h>
|
||||
#endif /* XWINDOW */
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
short type; /* Type of event */
|
||||
@@ -268,14 +264,15 @@ typedef struct
|
||||
|
||||
|
||||
#ifdef XWINDOW
|
||||
#define DefineCursor(display, window, mycursor) { \
|
||||
XLOCK;\
|
||||
XDefineCursor( display, window, *(mycursor) );\
|
||||
XUNLOCK;\
|
||||
}
|
||||
#define DefineCursor(dsp, window, mycursor) \
|
||||
do { \
|
||||
XLOCK; \
|
||||
XDefineCursor((dsp)->display_id, window, *(mycursor) ); \
|
||||
XUNLOCK(dsp); \
|
||||
} while (0)
|
||||
#endif /* XWINDOW */
|
||||
|
||||
#define OUTER_SB_WIDTH(dsp) (dsp->ScrollBarWidth + 2*(dsp->InternalBorderWidth))
|
||||
#define OUTER_SB_WIDTH(dsp) ((dsp)->ScrollBarWidth + 2*((dsp)->InternalBorderWidth))
|
||||
|
||||
#ifndef min
|
||||
#define min( a, b ) (((a)<(b))?(a):(b))
|
||||
@@ -289,16 +286,8 @@ typedef struct
|
||||
#define mid(a, b, c) max( min( b, max( a, c ), min( a, max( b, c ))))
|
||||
#endif /* mid */
|
||||
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif /* FALSE */
|
||||
|
||||
#ifndef TRUE
|
||||
#define TRUE !FALSE
|
||||
#endif /* TRUE */
|
||||
|
||||
#define MINKEYEVENT 2 /* leave 2 words for read,write offsets */
|
||||
#define NUMBEROFKEYEVENTS 383
|
||||
|
||||
#endif /* __DEVIF__ */
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,5 +1,65 @@
|
||||
#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
|
||||
/*
|
||||
* 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
|
||||
* corresponding to the each directory enumeration. All of the informations
|
||||
* Lisp needs are stored in the list. This list is in the emulator's address space
|
||||
* and can be specified by "ID" which is the interface between the emulator and Lisp
|
||||
* code. In this implementation, ID is represented as an integer and is actually
|
||||
* an index of the array of the lists.
|
||||
*
|
||||
* To avoid the overhead of the FINFO and FPROP structure dynamic allocation and
|
||||
* deallocation, some number of their instances are pre-allocated when the emulator
|
||||
* starts and managed in a free list. If all of the pre-allocated instances are in
|
||||
* use, new instances are allocated. The new instances are linked to the free list
|
||||
* when it is freed.
|
||||
*
|
||||
* As described above, the linked list result of the enumeration is stored in a
|
||||
* array for the subsequent request from Lisp. Lisp code requests the emulator to
|
||||
* release the list when it enumerated all of the entries in the list or the
|
||||
* enumerating operation is aborted.
|
||||
*/
|
||||
|
||||
typedef struct fprop {
|
||||
unsigned length; /* Byte length of this file. */
|
||||
unsigned wdate; /* Written (Creation) date in Lisp sense. */
|
||||
unsigned rdate; /* Read date in Lisp sense. */
|
||||
unsigned protect; /* Protect mode of this file. */
|
||||
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];
|
||||
/*
|
||||
* Name in UNIX Format. Does not
|
||||
* include Version field.
|
||||
* All lower case.
|
||||
*/
|
||||
ino_t ino; /* I-node number of this file. */
|
||||
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.
|
||||
*/
|
||||
} FINFO;
|
||||
|
||||
typedef struct dfinfo {
|
||||
FINFO *head; /* Head of the linked FINFO structures. */
|
||||
FINFO *next; /* FINFO structure generated next time. */
|
||||
} DFINFO;
|
||||
|
||||
#ifdef DOS
|
||||
int make_old_version(char *old, char *file);
|
||||
#endif
|
||||
@@ -7,7 +67,7 @@ int make_old_version(char *old, char *file);
|
||||
void print_finfo(FINFO *fp);
|
||||
#endif
|
||||
int init_finfo(void);
|
||||
LispPTR COM_gen_files(register LispPTR *args);
|
||||
LispPTR COM_next_file(register LispPTR *args);
|
||||
LispPTR COM_finish_finfo(register LispPTR *args);
|
||||
LispPTR COM_gen_files(LispPTR *args);
|
||||
LispPTR COM_next_file(LispPTR *args);
|
||||
LispPTR COM_finish_finfo(LispPTR *args);
|
||||
#endif
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
#ifndef DISPLAY_H
|
||||
#define DISPLAY_H 1
|
||||
|
||||
/* $Id: display.h,v 1.2 1999/01/03 02:05:57 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
/* (C) Copyright 1989-94 Venue. All Rights Reserved. */
|
||||
/* Manufactured in the United States of America. */
|
||||
/* */
|
||||
/************************************************************************/
|
||||
#include "lispemul.h" /* for DLword */
|
||||
|
||||
#define BCPLDISPLAY stdout
|
||||
|
||||
|
||||
#define CURSORWIDTH 16
|
||||
#define CURSORHEIGHT 16
|
||||
|
||||
@@ -66,19 +65,12 @@ extern DLword *DISP_MAX_Address;
|
||||
extern DLword *DisplayRegion68k;
|
||||
|
||||
#define in_display_segment(baseaddr) \
|
||||
(((DisplayRegion68k <= baseaddr) && \
|
||||
(baseaddr <=DISP_MAX_Address)) ? T :NIL )
|
||||
(((DisplayRegion68k <= (baseaddr)) && \
|
||||
((baseaddr) <= DISP_MAX_Address)) ? T : NIL )
|
||||
#endif
|
||||
|
||||
#ifdef XWINDOW
|
||||
#undef DISPLAYBUFFER
|
||||
#endif /* XWINDOW */
|
||||
|
||||
void flush_display_buffer();
|
||||
void flush_display_lineregion(UNSIGNED x, DLword *ybase, UNSIGNED w, UNSIGNED h);
|
||||
void flush_display_region(int x, int y, int w, int h);
|
||||
void flush_display_ptrregion(DLword *ybase, UNSIGNED bitoffset, UNSIGNED w, UNSIGNED h);
|
||||
|
||||
#ifdef BYTESWAP
|
||||
void byte_swapped_displayregion(int x, int y, int w, int h);
|
||||
#endif
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#ifndef DLPIDEFS_H
|
||||
#define DLPIDEFS_H 1
|
||||
#include <sys/types.h> /* for u_char, u_long */
|
||||
int setup_dlpi_dev(char *device);
|
||||
void flush_dlpi(int fd);
|
||||
int dlpi_devtype(int fd);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#ifndef DRAWDEFS_H
|
||||
#define DRAWDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
int N_OP_drawline(LispPTR ptr, int curbit, int xsize, int width, int ysize, int op, int delta, int numx, int numy);
|
||||
#endif
|
||||
|
||||
@@ -1,24 +1,25 @@
|
||||
#ifndef DSKDEFS_H
|
||||
#define DSKDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
#ifdef DOS
|
||||
void separate_host(char *lfname, char *host, char *drive);
|
||||
#else
|
||||
void separate_host(char *lfname, char *host);
|
||||
#endif
|
||||
LispPTR COM_openfile(register LispPTR *args);
|
||||
LispPTR COM_closefile(register LispPTR *args);
|
||||
LispPTR DSK_getfilename(register LispPTR *args);
|
||||
LispPTR DSK_deletefile(register LispPTR *args);
|
||||
LispPTR DSK_renamefile(register LispPTR *args);
|
||||
LispPTR DSK_directorynamep(register LispPTR *args);
|
||||
LispPTR COM_getfileinfo(register LispPTR *args);
|
||||
LispPTR COM_setfileinfo(register LispPTR *args);
|
||||
LispPTR COM_readpage(register LispPTR *args);
|
||||
LispPTR COM_writepage(register LispPTR *args);
|
||||
LispPTR COM_truncatefile(register LispPTR *args);
|
||||
LispPTR COM_changedir(register LispPTR *args);
|
||||
LispPTR COM_getfreeblock(register LispPTR *args);
|
||||
LispPTR COM_openfile(LispPTR *args);
|
||||
LispPTR COM_closefile(LispPTR *args);
|
||||
LispPTR DSK_getfilename(LispPTR *args);
|
||||
LispPTR DSK_deletefile(LispPTR *args);
|
||||
LispPTR DSK_renamefile(LispPTR *args);
|
||||
LispPTR DSK_directorynamep(LispPTR *args);
|
||||
LispPTR COM_getfileinfo(LispPTR *args);
|
||||
LispPTR COM_setfileinfo(LispPTR *args);
|
||||
LispPTR COM_readpage(LispPTR *args);
|
||||
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);
|
||||
int unpack_filename(char *file, char *dir, char *name, char *ver, int checkp);
|
||||
int true_name(register char *path);
|
||||
int true_name(char *path);
|
||||
#endif
|
||||
|
||||
@@ -2,19 +2,14 @@
|
||||
#define DSPDATA_H 1
|
||||
/* $Id: dspdata.h,v 1.2 1999/01/03 02:05:58 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 */
|
||||
#include "version.h" /* for BIGVM */
|
||||
|
||||
#ifndef BYTESWAP
|
||||
/******************************************************/
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
#ifndef DSPSUBRSDEFS_H
|
||||
#define DSPSUBRSDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
void DSP_dspbout(LispPTR *args);
|
||||
void DSP_showdisplay(LispPTR *args);
|
||||
LispPTR DSP_VideoColor(LispPTR *args);
|
||||
void DSP_Cursor(LispPTR *args, int argnum);
|
||||
void DSP_SetMousePos(register LispPTR *args);
|
||||
void DSP_SetMousePos(LispPTR *args);
|
||||
LispPTR DSP_ScreenWidth(LispPTR *args);
|
||||
LispPTR DSP_ScreenHight(LispPTR *args);
|
||||
void flip_cursor(void);
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
#ifndef EQFDEFS_H
|
||||
#define EQFDEFS_H 1
|
||||
LispPTR N_OP_clequal(register int arg1, register int arg2);
|
||||
LispPTR N_OP_eqlop(register int arg1, register int arg2);
|
||||
LispPTR N_OP_equal(register int arg1, register int arg2);
|
||||
LispPTR N_OP_eqq(register int arg1, register int arg2);
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
LispPTR N_OP_clequal(LispPTR arg1, LispPTR arg2);
|
||||
LispPTR N_OP_eqlop(LispPTR arg1, LispPTR arg2);
|
||||
LispPTR N_OP_equal(LispPTR arg1, LispPTR arg2);
|
||||
LispPTR N_OP_eqq(LispPTR arg1, LispPTR arg2);
|
||||
#endif
|
||||
|
||||
@@ -2,17 +2,13 @@
|
||||
#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
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#ifndef ETHERDEFS_H
|
||||
#define ETHERDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
LispPTR ether_suspend(LispPTR args[]);
|
||||
LispPTR ether_resume(LispPTR args[]);
|
||||
LispPTR ether_ctrlr(LispPTR args[]);
|
||||
@@ -12,5 +13,5 @@ int *ether_debug(void);
|
||||
LispPTR check_ether(void);
|
||||
void init_ifpage_ether(void);
|
||||
void init_ether(void);
|
||||
LispPTR check_sum(register LispPTR *args);
|
||||
LispPTR check_sum(LispPTR *args);
|
||||
#endif
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#ifndef FINDKEYDEFS_H
|
||||
#define FINDKEYDEFS_H 1
|
||||
LispPTR N_OP_findkey(register LispPTR tos, register int byte);
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
LispPTR N_OP_findkey(LispPTR tos, int byte);
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#ifndef FOREIGNDEFS_H
|
||||
#define FOREIGNDEFS_H 1
|
||||
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
LispPTR call_c_fn(LispPTR *args);
|
||||
LispPTR smashing_c_fn(LispPTR *args);
|
||||
int Mdld_link(LispPTR *args);
|
||||
@@ -14,5 +14,4 @@ int c_malloc(LispPTR *args);
|
||||
int c_free(LispPTR *args);
|
||||
int put_c_basebyte(LispPTR *args);
|
||||
int get_c_basebyte(LispPTR *args);
|
||||
|
||||
#endif /* FOREIGNDEFS_H */
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#ifndef FPDEFS_H
|
||||
#define FPDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR */
|
||||
LispPTR N_OP_fplus2(LispPTR parg1, LispPTR parg2);
|
||||
LispPTR N_OP_fdifference(LispPTR parg1, LispPTR parg2);
|
||||
LispPTR N_OP_ftimes2(LispPTR parg1, LispPTR parg2);
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
#ifndef FVARDEFS_H
|
||||
#define FVARDEFS_H 1
|
||||
LispPTR N_OP_fvarn(register int n);
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
#include "stack.h" /* for fnhead, frameex1 */
|
||||
LispPTR N_OP_fvarn(int n);
|
||||
LispPTR N_OP_stkscan(LispPTR tos);
|
||||
LispPTR N_OP_fvar_(register LispPTR tos, register int n);
|
||||
void nnewframe(register struct frameex1 *newpfra2, register DLword *achain, register int name);
|
||||
void nfvlookup(struct frameex1 *apframe1, register DLword *achain, register struct fnhead *apfnhead1);
|
||||
LispPTR N_OP_fvar_(LispPTR tos, int n);
|
||||
void nnewframe(struct frameex1 *newpfra2, DLword *achain, int name);
|
||||
void nfvlookup(struct frameex1 *apframe1, DLword *achain, struct fnhead *apfnhead1);
|
||||
LispPTR native_newframe(int slot);
|
||||
#endif
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#ifndef GCARRAYDEFS_H
|
||||
#define GCARRAYDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
LispPTR aref1(LispPTR array, int index);
|
||||
LispPTR find_symbol(const char *char_base, DLword offset, DLword length, LispPTR hashtbl, DLword fatp, DLword lispp);
|
||||
LispPTR get_package_atom(const char *char_base, DLword charlen, const char *packname, DLword packlen, int externalp);
|
||||
|
||||
@@ -1,5 +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);
|
||||
|
||||
46
inc/gcdata.h
46
inc/gcdata.h
@@ -2,8 +2,6 @@
|
||||
#define GCDATA_H 1
|
||||
/* $Id: gc.h,v 1.3 2001/12/24 01:08:57 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
|
||||
|
||||
|
||||
|
||||
/************************************************************************/
|
||||
/* */
|
||||
/* (C) Copyright 1989-94 Venue. All Rights Reserved. */
|
||||
@@ -19,6 +17,10 @@
|
||||
|
||||
*/
|
||||
/**********************************************************************/
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
#include "version.h" /* for USHORT */
|
||||
#include "gchtfinddefs.h"
|
||||
|
||||
#define ADDREF 0 /* for gclookup routine. */
|
||||
#define DELREF 1 /* for gclookup routine. */
|
||||
#define STKREF 2 /* for gclookup routine. */
|
||||
@@ -47,7 +49,7 @@
|
||||
/* IncAllocCnt is called only when *Reclaim_cnt_word != NIL */
|
||||
|
||||
#define IncAllocCnt(n) {\
|
||||
if ((*Reclaim_cnt_word -= n) <= S_POSITIVE) {\
|
||||
if ((*Reclaim_cnt_word -= (n)) <= S_POSITIVE) { \
|
||||
/* time for GC */\
|
||||
Irq_Stk_Check = Irq_Stk_End = 0;\
|
||||
*Reclaim_cnt_word = S_POSITIVE;\
|
||||
@@ -56,35 +58,35 @@
|
||||
|
||||
/* DecAllocCnt only called when *Reclaim_cnt_word != NIL */
|
||||
|
||||
#define DecAllocCnt(n) { *Reclaim_cnt_word += n; }
|
||||
#define DecAllocCnt(n) { *Reclaim_cnt_word += (n); }
|
||||
|
||||
#define FreeLink(link) {\
|
||||
GETGC(link) = 0;\
|
||||
GETGC(link+1) = GETGC(HTcoll);\
|
||||
GETGC(HTcoll) = (link - HTcoll);\
|
||||
#define FreeLink(link) { \
|
||||
GETGC(link) = 0; \
|
||||
GETGC((link)+1) = GETGC(HTcoll); \
|
||||
GETGC(HTcoll) = ((link) - HTcoll); \
|
||||
}
|
||||
|
||||
|
||||
/* Given the contents of an HTMAIN or HTCOLL entry,
|
||||
get the link pointer (i.e., turn off the low bit) */
|
||||
#define GetLinkptr(entry) (entry & 0x0fffffffe)
|
||||
#define GetLinkptr(entry) ((entry) & 0x0fffffffe)
|
||||
|
||||
|
||||
#define DelLink(link, prev, entry) { \
|
||||
if (prev != (GCENTRY *)0) \
|
||||
if ((prev) != (GCENTRY *)0) \
|
||||
{ \
|
||||
GETGC((GCENTRY *)prev + 1) = GETGC((GCENTRY *)link + 1); \
|
||||
GETGC((GCENTRY *)(prev) + 1) = GETGC((GCENTRY *)(link) + 1); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
GETGC((GCENTRY *)entry) = GETGC((GCENTRY *)link + 1) | 1; \
|
||||
GETGC((GCENTRY *)(entry)) = GETGC((GCENTRY *)(link) + 1) | 1; \
|
||||
} \
|
||||
FreeLink((GCENTRY *)link); \
|
||||
link = (GCENTRY *)(HTcoll + GetLinkptr(GETGC((GCENTRY *)entry))); \
|
||||
if (GETGC((GCENTRY *)link + 1) == 0) \
|
||||
FreeLink((GCENTRY *)(link)); \
|
||||
(link) = (GCENTRY *)(HTcoll + GetLinkptr(GETGC((GCENTRY *)(entry)))); \
|
||||
if (GETGC((GCENTRY *)(link) + 1) == 0) \
|
||||
{ \
|
||||
GETGC((GCENTRY *)entry) = GETGC((GCENTRY *)link); \
|
||||
FreeLink((GCENTRY *)link); \
|
||||
GETGC((GCENTRY *)(entry)) = GETGC((GCENTRY *)(link)); \
|
||||
FreeLink((GCENTRY *)(link)); \
|
||||
} \
|
||||
}
|
||||
|
||||
@@ -103,18 +105,18 @@
|
||||
#define GCLOOKUPV(ptr, case, val) { \
|
||||
if (RefCntP(ptr)) { \
|
||||
if (*Reclaim_cnt_word != NIL) \
|
||||
val = htfind(ptr, case); \
|
||||
(val) = htfind((ptr), (case)); \
|
||||
else \
|
||||
val = rec_htfind(ptr, case); \
|
||||
} else val = NIL; \
|
||||
(val) = rec_htfind((ptr), (case)); \
|
||||
} else (val) = NIL; \
|
||||
}
|
||||
|
||||
#define REC_GCLOOKUP(ptr, case) { if (RefCntP(ptr)) rec_htfind(ptr, case); }
|
||||
#define REC_GCLOOKUPV(ptr, case, val) { \
|
||||
if (RefCntP(ptr)) \
|
||||
val = rec_htfind(ptr, case); \
|
||||
(val) = rec_htfind((ptr), (case)); \
|
||||
else \
|
||||
val = NIL; \
|
||||
(val) = NIL; \
|
||||
}
|
||||
|
||||
#define FRPLPTR(old , new) { \
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#ifndef GCFINALDEFS_H
|
||||
#define GCFINALDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
void printarrayblock(LispPTR base);
|
||||
int integerlength(unsigned int n);
|
||||
LispPTR findptrsbuffer(LispPTR ptr);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#ifndef GCHTFINDDEFS_H
|
||||
#define GCHTFINDDEFS_H 1
|
||||
#include "lispemul.h" /* for LispPTR, DLword */
|
||||
void enter_big_reference_count(LispPTR ptr);
|
||||
void modify_big_reference_count(LispPTR *entry, DLword casep, LispPTR ptr);
|
||||
LispPTR htfind(LispPTR ptr, int casep);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user