SuperTuxKart 1.5 upstream source (from official release tarball)
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
const child_process = require("child_process");
|
||||
const fs = require("fs");
|
||||
|
||||
const file = fs.readFileSync(process.argv[2], "utf8");
|
||||
console.log(
|
||||
file.replace(
|
||||
/ \(supertuxkart \+ (0x[0-9a-f]{1,16})\)/g,
|
||||
(existing, offset) =>
|
||||
existing +
|
||||
" => " +
|
||||
child_process
|
||||
.execFileSync("aarch64-none-elf-addr2line", [
|
||||
"-e",
|
||||
"./bin/supertuxkart",
|
||||
"-f",
|
||||
"-p",
|
||||
"-C",
|
||||
"-a",
|
||||
offset,
|
||||
])
|
||||
.toString("utf8")
|
||||
.trim()
|
||||
)
|
||||
);
|
||||
Executable
+48
@@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
|
||||
OLD_PWD="$(pwd)"
|
||||
|
||||
SWITCH_DIR=$(realpath "$(dirname "$0")")
|
||||
STK_DIR=$(dirname "${SWITCH_DIR}")
|
||||
|
||||
echo "Compiling STK"
|
||||
|
||||
if [[ ! -d "${STK_DIR}/cmake_build" ]]; then
|
||||
mkdir "${STK_DIR}/cmake_build"
|
||||
fi
|
||||
cd "${STK_DIR}/cmake_build"
|
||||
|
||||
"${DEVKITPRO}/portlibs/switch/bin/aarch64-none-elf-cmake" -G"Unix Makefiles" \
|
||||
-DCMAKE_INSTALL_PREFIX=/ -DNO_SHADERC=on \
|
||||
../
|
||||
|
||||
make -j$(nproc) || exit 1
|
||||
make install DESTDIR=./install || exit 1
|
||||
|
||||
# Build nro (executable for switch)
|
||||
"${SWITCH_DIR}/package.sh"
|
||||
|
||||
echo "Building package"
|
||||
|
||||
rm -rf sdcard
|
||||
mkdir sdcard
|
||||
# Move data over
|
||||
mv install/share/supertuxkart/data sdcard/stk-data
|
||||
# Add executable
|
||||
mkdir sdcard/switch
|
||||
mv bin/stk.nro sdcard/switch/stk.nro
|
||||
|
||||
echo "Compressing"
|
||||
|
||||
# Zip up actual release:
|
||||
cd sdcard
|
||||
ZIP_PATH="${STK_DIR}/cmake_build/bin/SuperTuxKart-${PROJECT_VERSION}-switch.zip"
|
||||
if [[ -f "${ZIP_PATH}" ]]; then
|
||||
rm "${ZIP_PATH}"
|
||||
fi
|
||||
zip -r "${ZIP_PATH}" .
|
||||
|
||||
# Recover old pwd
|
||||
cd $OLD_PWD
|
||||
|
||||
echo "Done. Package available at ${ZIP_PATH}"
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
nacptool --create "SuperTuxKart" "Many People" "${PROJECT_VERSION}" control.nacp
|
||||
elf2nro bin/supertuxkart.elf bin/stk.nro --nacp=control.nacp --icon=../switch/supertuxkart_256.jpg
|
||||
@@ -0,0 +1,25 @@
|
||||
cmake_minimum_required(VERSION 3.2)
|
||||
|
||||
set(CMAKE_SYSTEM_NAME Generic)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR "aarch64")
|
||||
set(CMAKE_CROSSCOMPILING 1)
|
||||
|
||||
set(DEVKITPRO /opt/devkitpro)
|
||||
|
||||
set(TOOL_PREFIX ${DEVKITPRO}/devkitA64/bin/aarch64-none-elf-)
|
||||
|
||||
set(CMAKE_ASM_COMPILER ${TOOL_PREFIX}gcc CACHE PATH "")
|
||||
set(CMAKE_C_COMPILER ${TOOL_PREFIX}gcc CACHE PATH "")
|
||||
set(CMAKE_CXX_COMPILER ${TOOL_PREFIX}g++ CACHE PATH "")
|
||||
set(CMAKE_LINKER ${TOOL_PREFIX}g++ CACHE PATH "")
|
||||
set(CMAKE_AR ${TOOL_PREFIX}ar CACHE PATH "")
|
||||
set(CMAKE_STRIP ${TOOL_PREFIX}strip CACHE PATH "")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
|
||||
SET(BUILD_SHARED_LIBS OFF CACHE INTERNAL "Shared libs not available" )
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
export DEVKITPRO=/opt/devkitpro
|
||||
export PORTLIBS_ROOT=${DEVKITPRO}/portlibs
|
||||
export PATH=${DEVKITPRO}/tools/bin:${DEVKITPRO}/devkitA64/bin:$PATH
|
||||
export TOOL_PREFIX=aarch64-none-elf-
|
||||
export AR=${TOOL_PREFIX}gcc-ar
|
||||
export RANLIB=${TOOL_PREFIX}gcc-ranlib
|
||||
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
SCRIPTDIR="${BASH_SOURCE%/*}"
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "No platform specified." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PLATFORM="$1"
|
||||
source ${SCRIPTDIR}/${PLATFORM}vars.sh
|
||||
echo "${PORTLIBS_PREFIX}"
|
||||
@@ -0,0 +1,38 @@
|
||||
include(/opt/devkitpro/devkita64.cmake)
|
||||
|
||||
set (DKA_SWITCH_C_FLAGS "-D__SWITCH__ -march=armv8-a+crc+crypto -mtune=cortex-a57 -mtp=soft -ftls-model=local-exec -ffunction-sections -fdata-sections")
|
||||
set(CMAKE_C_FLAGS "${DKA_SWITCH_C_FLAGS}" CACHE STRING "")
|
||||
set(CMAKE_CXX_FLAGS "${DKA_SWITCH_C_FLAGS}" CACHE STRING "")
|
||||
set(CMAKE_ASM_FLAGS "${DKA_SWITCH_C_FLAGS}" CACHE STRING "")
|
||||
|
||||
set(CMAKE_EXE_LINKER_FLAGS_INIT "-specs=${DEVKITPRO}/libnx/switch.specs")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH
|
||||
${DEVKITPRO}/devkitA64
|
||||
${DEVKITPRO}/tools
|
||||
${DEVKITPRO}/portlibs/switch
|
||||
${DEVKITPRO}/libnx
|
||||
)
|
||||
|
||||
# Set pkg-config for the same
|
||||
find_program(PKG_CONFIG_EXECUTABLE NAMES aarch64-none-elf-pkg-config HINTS "${DEVKITPRO}/portlibs/switch/bin")
|
||||
if (NOT PKG_CONFIG_EXECUTABLE)
|
||||
message(WARNING "Could not find aarch64-none-elf-pkg-config: try installing switch-pkg-config")
|
||||
endif()
|
||||
|
||||
set(NSWITCH TRUE)
|
||||
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
set(NX_ROOT ${DEVKITPRO}/libnx)
|
||||
|
||||
set(NX_STANDARD_LIBRARIES "${NX_ROOT}/lib/libnx.a")
|
||||
set(CMAKE_C_STANDARD_LIBRARIES "${NX_STANDARD_LIBRARIES}" CACHE STRING "")
|
||||
set(CMAKE_CXX_STANDARD_LIBRARIES "${NX_STANDARD_LIBRARIES}" CACHE STRING "")
|
||||
set(CMAKE_ASM_STANDARD_LIBRARIES "${NX_STANDARD_LIBRARIES}" CACHE STRING "")
|
||||
|
||||
#for some reason cmake (3.14.3) doesn't appreciate having \" here
|
||||
set(NX_STANDARD_INCLUDE_DIRECTORIES "${NX_ROOT}/include")
|
||||
set(CMAKE_C_STANDARD_INCLUDE_DIRECTORIES "${NX_STANDARD_INCLUDE_DIRECTORIES}" CACHE STRING "")
|
||||
set(CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES "${NX_STANDARD_INCLUDE_DIRECTORIES}" CACHE STRING "")
|
||||
set(CMAKE_ASM_STANDARD_INCLUDE_DIRECTORIES "${NX_STANDARD_INCLUDE_DIRECTORIES}" CACHE STRING "")
|
||||
@@ -0,0 +1,11 @@
|
||||
. "${BASH_SOURCE%/*}"/devkita64.sh
|
||||
|
||||
export PORTLIBS_PREFIX=${DEVKITPRO}/portlibs/switch
|
||||
export PATH=$PORTLIBS_PREFIX/bin:$PATH
|
||||
|
||||
export ARCH="-march=armv8-a+crc+crypto -mtune=cortex-a57 -mtp=soft -fPIC -ftls-model=local-exec"
|
||||
export CFLAGS="${ARCH} -O2 -ffunction-sections -fdata-sections"
|
||||
export CXXFLAGS="${CFLAGS}"
|
||||
export CPPFLAGS="-D__SWITCH__ -I ${PORTLIBS_PREFIX}/include -isystem ${DEVKITPRO}/libnx/include"
|
||||
export LDFLAGS="${ARCH} -L${PORTLIBS_PREFIX}/lib -L${DEVKITPRO}/libnx/lib"
|
||||
export LIBS="-lnx"
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
Reference in New Issue
Block a user