mirror of
https://github.com/pspdev/pspsdk.git
synced 2025-10-03 08:41:34 +00:00
Add build script and update build.txt
This commit is contained in:
6
.github/workflows/compilation.yml
vendored
6
.github/workflows/compilation.yml
vendored
@@ -19,11 +19,7 @@ jobs:
|
||||
|
||||
- name: Compile PSPSDK
|
||||
run: |
|
||||
./bootstrap
|
||||
./configure
|
||||
make clean
|
||||
make -j $(getconf _NPROCESSORS_ONLN)
|
||||
make install
|
||||
./build-and-install.sh
|
||||
|
||||
- name: Get short SHA
|
||||
id: slug
|
||||
|
7
.github/workflows/docker.yml
vendored
7
.github/workflows/docker.yml
vendored
@@ -15,12 +15,6 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Login to Github registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
@@ -30,6 +24,7 @@ jobs:
|
||||
|
||||
- uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
tags: ghcr.io/${{ github.repository }}:latest
|
||||
build-args: |
|
||||
|
22
Dockerfile
22
Dockerfile
@@ -5,26 +5,8 @@ FROM $BASE_DOCKER_IMAGE
|
||||
|
||||
COPY . /src
|
||||
|
||||
RUN apk add build-base autoconf automake zlib-dev
|
||||
RUN cd /src && \
|
||||
./bootstrap && \
|
||||
./configure && \
|
||||
make -j $(getconf _NPROCESSORS_ONLN) clean && \
|
||||
make -j $(getconf _NPROCESSORS_ONLN) && \
|
||||
make -j $(getconf _NPROCESSORS_ONLN) install
|
||||
|
||||
## gcc needs to include libcglue libpthreadglue libpsputility libpsprtc libpspnet_inet libpspnet_resolver libpspsdk libpspmodinfo libpspuser libpspkernel
|
||||
## from pspsdk to be able to build executables, because they are part of the standard libraries
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libcglue.a" "$PSPDEV/psp/lib/libcglue.a" || { exit 1; }
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libpthreadglue.a" "$PSPDEV/psp/lib/libpthreadglue.a" || { exit 1; }
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libpsputility.a" "$PSPDEV/psp/lib/libpsputility.a" || { exit 1; }
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libpsprtc.a" "$PSPDEV/psp/lib/libpsprtc.a" || { exit 1; }
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libpspnet_inet.a" "$PSPDEV/psp/lib/libpspnet_inet.a" || { exit 1; }
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libpspnet_resolver.a" "$PSPDEV/psp/lib/libpspnet_resolver.a" || { exit 1; }
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libpspsdk.a" "$PSPDEV/psp/lib/libpspsdk.a" || { exit 1; }
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libpspmodinfo.a" "$PSPDEV/psp/lib/libpspmodinfo.a" || { exit 1; }
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libpspuser.a" "$PSPDEV/psp/lib/libpspuser.a" || { exit 1; }
|
||||
RUN ln -sf "$PSPDEV/psp/sdk/lib/libpspkernel.a" "$PSPDEV/psp/lib/libpspkernel.a" || { exit 1; }
|
||||
RUN apk add build-base autoconf automake zlib-dev bash git && \
|
||||
/src/build-and-install.sh
|
||||
|
||||
# Second stage
|
||||
FROM alpine:latest
|
||||
|
44
build-and-install.sh
Executable file
44
build-and-install.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
|
||||
## Fail script if an error happens
|
||||
set -e
|
||||
|
||||
## Enter the pspsdk directory.
|
||||
cd "$(dirname "$0")" || { echo "ERROR: Could not enter the pspsdk directory."; exit 1; }
|
||||
|
||||
## Make sure PSPDEV is set
|
||||
if [ -z "${PSPDEV}" ]; then
|
||||
echo "The PSPDEV environment variable has not been set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
## Build pspsdk
|
||||
./bootstrap
|
||||
./configure
|
||||
make clean
|
||||
make -j $(getconf _NPROCESSORS_ONLN)
|
||||
|
||||
## Install pspsdk
|
||||
make install
|
||||
|
||||
## gcc needs to include libcglue libpthreadglue libpsputility libpsprtc libpspnet_inet libpspnet_resolver libpspsdk libpspmodinfo libpspuser libpspkernel
|
||||
## from pspsdk to be able to build executables, because they are part of the standard libraries
|
||||
cd "$PSPDEV/psp/lib"
|
||||
ln -sf "../sdk/lib/libcglue.a" "libcglue.a" || { exit 1; }
|
||||
ln -sf "../sdk/lib/libpthreadglue.a" "libpthreadglue.a" || { exit 1; }
|
||||
ln -sf "../sdk/lib/libpsputility.a" "libpsputility.a" || { exit 1; }
|
||||
ln -sf "../sdk/lib/libpsprtc.a" "libpsprtc.a" || { exit 1; }
|
||||
ln -sf "../sdk/lib/libpspnet_inet.a" "libpspnet_inet.a" || { exit 1; }
|
||||
ln -sf "../sdk/lib/libpspnet_resolver.a" "libpspnet_resolver.a" || { exit 1; }
|
||||
ln -sf "../sdk/lib/libpspsdk.a" "libpspsdk.a" || { exit 1; }
|
||||
ln -sf "../sdk/lib/libpspmodinfo.a" "libpspmodinfo.a" || { exit 1; }
|
||||
ln -sf "../sdk/lib/libpspuser.a" "libpspuser.a" || { exit 1; }
|
||||
ln -sf "../sdk/lib/libpspkernel.a" "libpspkernel.a" || { exit 1; }
|
||||
cd -
|
||||
|
||||
## Store build information
|
||||
BUILD_FILE="${PSPDEV}/build.txt"
|
||||
if [[ -f "${BUILD_FILE}" ]]; then
|
||||
sed -i='' '/^pspsdk /d' "${BUILD_FILE}"
|
||||
fi
|
||||
git log -1 --format="pspsdk %H %cs %s" >> "${BUILD_FILE}"
|
Reference in New Issue
Block a user