diff options
| author | spicyjpeg <thatspicyjpeg@gmail.com> | 2022-07-31 18:07:48 +0200 |
|---|---|---|
| committer | spicyjpeg <thatspicyjpeg@gmail.com> | 2022-07-31 18:07:48 +0200 |
| commit | ce33eee403c678d3e2850046955f265585af76d7 (patch) | |
| tree | c3c1e4ca7ae4c3167d8d9b6b61a6ff50a7a168cd | |
| parent | 9560a1427aec1681c5d0c2bc30190ce4b1ad8557 (diff) | |
| download | psn00bsdk-ce33eee403c678d3e2850046955f265585af76d7.tar.gz | |
Add BUNDLE_NINJA option, update changelog and submodules
| -rw-r--r-- | CHANGELOG.md | 27 | ||||
| -rw-r--r-- | CMakePresets.json | 4 | ||||
| -rw-r--r-- | cpack/setup.cmake | 29 | ||||
| m--------- | tools/mkpsxiso | 0 | ||||
| m--------- | tools/tinyxml2 | 0 |
5 files changed, 58 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f4bbfc..75f131c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,33 @@ to ensure the changelog can be parsed correctly. ------------------------------------------------------------------------------- +## 2022-07-31 + +spicyjpeg: + +- libc: Replaced default memory allocator with Nicolas Noble's PSYQo + implementation. Added `sbrk()` and `realloc()`. + +- psxspu: Rewritten the library in C, removing a few redundant non-standard + functions and improving SPU DMA reliability. Renamed `SpuWait()` to + `SpuIsTransferCompleted()` (and tweaked its prototype) for compatibility with + the official SDK. `SpuInit()` now loads a dummy block at the beginning of SPU + RAM by default. + +- psxmdec: Added experimental Huffman decoding API. Two implementations with + different performance and memory usage tradeoffs are available. + +- psxapi: Added `SwEnterCriticalSection()`, `SwExitCriticalSection()`, + `SetConf()` and various thread- and event-related BIOS API wrappers that were + previously missing. + +- Deprecated `u_short`, `u_int` and `u_long` types and replaced them with + standard library fixed-size types (`uint16_t` and `uint32_t` respectively) in + all library code. + +- Ninja is now bundled with binary releases of the SDK. A `BUNDLE_NINJA` option + was added to the main CMake script to toggle bundling when building packages. + ## 2022-06-26 spicyjpeg: diff --git a/CMakePresets.json b/CMakePresets.json index b103270..89002a3 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -24,7 +24,8 @@ "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "SKIP_EXAMPLES": "ON", - "BUNDLE_TOOLCHAIN": "ON" + "BUNDLE_TOOLCHAIN": "ON", + "BUNDLE_NINJA": "ON" } }, { @@ -36,6 +37,7 @@ "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "BUNDLE_TOOLCHAIN": "ON", + "BUNDLE_NINJA": "ON", "LIBPSN00B_GENERATOR": "Ninja", "PSN00BSDK_TARGET": "$env{GCC_TARGET}", "PSN00BSDK_GIT_TAG": "$env{GITHUB_REF_NAME}", diff --git a/cpack/setup.cmake b/cpack/setup.cmake index a65055d..45580f7 100644 --- a/cpack/setup.cmake +++ b/cpack/setup.cmake @@ -14,6 +14,10 @@ set( BUNDLE_TOOLCHAIN OFF CACHE BOOL "Include the GCC toolchain in installer packages" ) +set( + BUNDLE_NINJA OFF + CACHE BOOL "Include Ninja in installer packages" +) #set( #BUNDLE_CMAKE OFF #CACHE BOOL "Include CMake in installer packages (Windows only)" @@ -60,6 +64,22 @@ if(BUNDLE_TOOLCHAIN) endif() endif() +if(BUNDLE_NINJA) + find_program(_ninja ninja NO_CACHE REQUIRED) + execute_process( + COMMAND ${_ninja} --version + OUTPUT_VARIABLE _ninja_version + OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ERROR_IS_FATAL ANY + ) + + install( + PROGRAMS ${_ninja} + TYPE BIN + COMPONENT ninja + ) +endif() + if(BUNDLE_CMAKE) cmake_path(GET CMAKE_COMMAND PARENT_PATH _bin) cmake_path(GET _bin PARENT_PATH _cmakedir) @@ -125,7 +145,7 @@ set(CPACK_NSIS_MUI_UNIICON ${CMAKE_CURRENT_LIST_DIR}/uninsta set(CPACK_NSIS_MUI_HEADERIMAGE ${CMAKE_CURRENT_LIST_DIR}/nsis_header.bmp) set(CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP ${CMAKE_CURRENT_LIST_DIR}/nsis_banner.bmp) set(CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP ${CMAKE_CURRENT_LIST_DIR}/nsis_banner.bmp) -set(CPACK_NSIS_BRANDING_TEXT "PSn00bSDK - Meido-Tek Productions") +set(CPACK_NSIS_BRANDING_TEXT "PSn00bSDK ${PROJECT_VERSION} - Meido-Tek Productions") set(CPACK_NSIS_URL_INFO_ABOUT "${PROJECT_HOMEPAGE_URL}") set(CPACK_NSIS_MODIFY_PATH ON) set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON) @@ -179,6 +199,13 @@ if(BUNDLE_TOOLCHAIN) DESCRIPTION "Do not skip unless you already have a toolchain that targets ${PSN00BSDK_TARGET} installed." ) endif() +if(BUNDLE_NINJA) + cpack_add_component( + ninja + DISPLAY_NAME "Ninja ${_ninja_version}" + DESCRIPTION "Skip this if you have Ninja installed already. Note that Ninja will be installed in the same directory as PSn00bSDK." + ) +endif() if(BUNDLE_CMAKE) cpack_add_component( cmake diff --git a/tools/mkpsxiso b/tools/mkpsxiso -Subproject f07f5e6002beccfa95e88a841a16b8ace456c61 +Subproject 7bcb4ad2086a8004da32d0ee2289093ed8d4872 diff --git a/tools/tinyxml2 b/tools/tinyxml2 -Subproject a9773976845b19e89020c1215781e71116477ef +Subproject e45d9d16d430a3f5d3eee9fe40d5e194e1e5e63 |
