diff --git a/CMakeLists.txt b/CMakeLists.txt index ddccb298a..1a878e68e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -304,6 +304,16 @@ if(${KANGAROO_OS} STREQUAL "linux") set(LIB_LIST -lX11 -lvdpau + ${BUILD_DIR}/lib/libjpeg.a + ${BUILD_DIR}/lib/libpng.a + -lstdc++ + ) +endif() +if(${KANGAROO_OS} STREQUAL "pi") + set(LIB_LIST + ${BUILD_DIR}/lib/libjpeg.a + ${BUILD_DIR}/lib/libpng.a + -lstdc++ ) endif() if(${KANGAROO_OS} STREQUAL "macos") @@ -322,6 +332,8 @@ if(${KANGAROO_OS} STREQUAL "macos") -Wl,-weak_framework,QuartzCore -Wl,-weak_framework,CoreHaptics -liconv + -lc++ + ${OSXCROSS_TARGET_DIR}/darwin/libclang_rt.osx.a ) endif() if(${KANGAROO_OS} STREQUAL "windows") @@ -347,10 +359,14 @@ if(${KANGAROO_OS} STREQUAL "windows") -lbcrypt -lssp -lcrypt32 + ${BUILD_DIR}/lib/libjpeg.a + ${BUILD_DIR}/lib/libpng.a + -lstdc++ ) endif() set(LIB_LIST ${LIB_LIST} + ${BUILD_DIR}/lib/libarchive.a ${BUILD_DIR}/lib/libavcodec.a ${BUILD_DIR}/lib/libavdevice.a ${BUILD_DIR}/lib/libavfilter.a @@ -367,9 +383,9 @@ set(LIB_LIST # ${BUILD_DIR}/lib/libhwy.a # ${BUILD_DIR}/lib/libjxl_dec.a ${BUILD_DIR}/lib/liblzma.a - ${BUILD_DIR}/lib/libogg.a ${BUILD_DIR}/lib/libopus.a ${BUILD_DIR}/lib/libopusfile.a + ${BUILD_DIR}/lib/libogg.a ${BUILD_DIR}/lib/libpostproc.a ${BUILD_DIR}/lib/libSDL2.a ${BUILD_DIR}/lib/libSDL2_image.a @@ -386,19 +402,17 @@ set(LIB_LIST ${BUILD_DIR}/lib/libxmp.a ${BUILD_DIR}/lib/libz.a ${BUILD_DIR}/lib/libzstd.a - ${BUILD_DIR}/lib/libarchive.a ${BUILD_DIR}/lib/libcrypto.a ${BUILD_DIR}/lib/libssl.a - ${BUILD_DIR}/lib/libjpeg.a - ${BUILD_DIR}/lib/libpng.a ) target_link_libraries(${CMAKE_PROJECT_NAME} - -Wl,--start-group +# -Wl,--start-group ${LIB_LIST} - -Wl,--end-group + ${LIB_LIST} + ${LIB_LIST} +# -Wl,--end-group -pthread -lm - -lstdc++ ) diff --git a/assets/Manual.lyx b/assets/Manual.lyx index c727f631f..724861283 100644 --- a/assets/Manual.lyx +++ b/assets/Manual.lyx @@ -1852,6 +1852,10 @@ LuaRS232 - RS232 serial port access Their usage is beyond the scope of this document. \end_layout +\begin_layout Section +Video, Audio, and Container Formats +\end_layout + \begin_layout Section API \end_layout @@ -1926,6 +1930,15 @@ Controller controllerGetAxis \end_layout +\begin_layout LyX-Code +v = controllerGetAxis(c, a) +\end_layout + +\begin_layout Standard +Returns the value of the specified axis (a) on controller (c). + Returned values are from -32768 to 32767. +\end_layout + \begin_layout Subsubsection controllerGetButton \end_layout diff --git a/build-all.sh b/build-all.sh index 5ee8047ef..206760467 100755 --- a/build-all.sh +++ b/build-all.sh @@ -1,4 +1,4 @@ -#!/bin/bash -xe +#!/bin/bash -x # # Singe 2 @@ -55,7 +55,7 @@ function buildAll() { sudo chroot ${SYSROOT} apt-get -y install libasound-dev libxi-dev libvdpau-dev fi -if [[ 0 == 1 ]]; then +if [[ 1 == 1 ]]; then pushd thirdparty/bzip2 clearAndEnterBuild cmake ${COMMON} \ @@ -132,10 +132,12 @@ if [[ 0 == 1 ]]; then make cp -f ../include/SDL_image.h "${G_TARGET}/include/SDL2/." cp -f libSDL2_image.a "${G_TARGET}/lib/." - cp -f external/jpeg/libjpeg.a "${G_TARGET}/lib/." - cp -f external/libpng/libpng.a "${G_TARGET}/lib/." cp -f external/libwebp/libwebp.a "${G_TARGET}/lib/." cp -f external/libwebp/libwebpdemux.a "${G_TARGET}/lib/." + if [[ "${OS}" != "macos" ]]; then + cp -f external/jpeg/libjpeg.a "${G_TARGET}/lib/." + cp -f external/libpng/libpng.a "${G_TARGET}/lib/." + fi popd pushd thirdparty/SDL2_mixer @@ -218,6 +220,13 @@ if [[ 0 == 1 ]]; then OPT1="linux-arm4" fi fi + if [[ "${OS}" == "macos" ]]; then + if [[ "${ARCH}" == "aarch64" ]]; then + OPT1="darwin64-arm64" + else + OPT1="darwin64-x86_64" + fi + fi ../Configure ${OPT1} \ --prefix="${G_TARGET}" \ --libdir=lib \ @@ -368,7 +377,6 @@ if [[ 0 == 1 ]]; then # === json.lua === createEmbeddedBinary thirdparty/json.lua/json.lua ${G_GENERATED}/json_lua.h JSON_LUA_H -fi # === Singe Framework === createEmbeddedBinary assets/Framework.singe ${G_GENERATED}/Framework_singe.h FRAMEWORK_SINGE_H @@ -382,6 +390,7 @@ fi # === Singe Manual === lyx -batch -f all -E pdf ${G_GENERATED}/Manual.pdf assets/Manual.lyx createEmbeddedBinary ${G_GENERATED}/Manual.pdf ${G_GENERATED}/Manual_pdf.h MANUAL_H +fi pushd ${G_TARGET} clearAndEnterBuild @@ -524,6 +533,12 @@ function outputLicense() { } +# -e = stop script on errors +# -u = stop script on undefined variable +# -o pipefail = stop pipeline if any step fails +set -e + + mkdir -p ${G_BUILDDIR} @@ -539,12 +554,12 @@ sudo apt-get install -y \ libvdpau-dev \ upx-ucl -buildAll linux x86_64 2>&1 | tee ${G_BUILDDIR}/linux-x86_64.log -buildAll windows x86_64 2>&1 | tee ${G_BUILDDIR}/windows-x86_64.log -buildAll pi aarch64 2>&1 | tee ${G_BUILDDIR}/pi-aarch64.log +buildAll linux x86_64 2>&1 | tee ${G_BUILDDIR}/linux-x86_64.log +buildAll windows x86_64 2>&1 | tee ${G_BUILDDIR}/windows-x86_64.log +buildAll pi aarch64 2>&1 | tee ${G_BUILDDIR}/pi-aarch64.log +buildAll macos aarch64 2>&1 | tee ${G_BUILDDIR}/macos-aarch64.log #buildAll linux x86 -#buildAll macos aarch64 #buildAll macos x86 #***TODO*** Needs older SDL2 #buildAll macos x86_64 #***TODO*** Needs older SDL2 #buildAll windows x86