Commit Graph
60 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Opus 5 f9bd5682db libkirk: let C++ callers include its headers directly
kirk_engine.h and amctrl.h guard their declarations, but AES.h and SHA1.h
never did, and kirk_engine.h includes them from outside its own guard. So the
AES_* and SHA1* functions got C++ linkage in any C++ file that reached them
through there, and only linked for callers that happened to wrap the whole
header in an extern "C" of their own. Nothing had called AES_* from C++
before, so it stayed hidden until something did.

Guarding the two headers instead lets every caller include them plainly, and
the wrappers scattered around the tree come out. Both are pure declarations
over kirk_common.h's typedefs with no system headers behind them, so there's
nothing in there that shouldn't be wrapped.

kirk_engine.h also uses size_t without including anything that defines it,
which only held together because its includers happened to have it already.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 11:15:15 -06:00
Henrik RydgårdandClaude Sonnet 5 bb6164e799 Move ten inline vendor libraries out of root CMakeLists.txt into ext/
gason, vma, cityhash, 7zip (ext/lzma-sdk), basis_universal, pugixml,
kirk (ext/libkirk), sfmt19937, xbrz, and xxhash were each defined with
a small add_library() block directly in the root CMakeLists.txt, even
though ext/CMakeLists.txt already exists and handles every other vendor
library (freetype, imgui, naett, discord-rpc, libchdr, zstd, miniupnp,
armips, glew, snappy, ...) via add_subdirectory(). Gave each one its
own ext/<name>/CMakeLists.txt to match that established pattern; xxhash
stays a loose file pair in ext/ (it never had its own directory) so its
add_library() lives directly in ext/CMakeLists.txt instead.

ext/libkirk/CMakeLists.txt already existed but was dead - nothing
add_subdirectory()'d it, and its source list was stale (missing
amctrl.c/.h, which the live inline definition in root had). Replaced
its contents with the current, correct list instead of leaving two
diverging definitions around.

Dropped several target_include_directories()/include_directories()
calls that came along with these (e.g. cityhash, kirk, xbrz, xxhash,
and the lzma-sdk one for 7zip): traced their actual consumers and found
each library's own sources resolve their sibling headers via the
default same-directory quote-include rule, and every external consumer
already uses the full "ext/<name>/..." path resolved through the global
root include - so these were dead weight regardless of position.

Replaced two single-value alias variables (LIB7ZIP_LIBRARY, always
"7zip"; BASISU_LIBRARIES, always "basis_universal") with their target
names directly in Common/CMakeLists.txt, rather than trying to carry
them across the new add_subdirectory boundary - plain set() variables
don't propagate back up out of a child scope without PARENT_SCOPE, so
keeping them as-was would have silently broken Common's link line.

Verified with a fully clean rebuild (removed build/ entirely), a
HEADLESS=ON UNITTEST=ON build, and a LIBRETRO=ON build.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PSNaZnHCjmryS3ziVN9gZU
2026-07-24 20:16:07 +02:00
Henrik Rydgård 5a5c7028b9 Assorted warning fixes and data initialization to please valgrind 2026-02-19 11:24:46 +01:00
Henrik Rydgård ad00c20660 Windows: Remove ARM32 configurations from project files.
These will never be supported again (and never really were, only used
for Windows Phone testing a long time ago)
2025-06-11 08:55:13 +02:00
Henrik Rydgård c29e370e29 Remove global state from kirk engine 2025-06-05 22:46:24 +02:00
Henrik Rydgård 6bc625ecde More const-ness corrections 2025-06-05 22:46:23 +02:00
Henrik Rydgård 51cb3e25fb Constify bn parameters 2025-06-05 22:46:23 +02:00
Henrik Rydgård c5321ad43a Constify the key data 2025-06-05 22:46:23 +02:00
Henrik Rydgård d5c9ed2c09 Some const propagation 2025-06-05 22:46:20 +02:00
Henrik Rydgård bc3c57ffc0 Minor formatting issue 2024-07-16 23:35:21 +02:00
Henrik Rydgård 70cb1104dc Kirk: Remove use of uninitialized stack as a random number source
This confused Valgrind and made me think we had another memory bug.

Turns out this is NOT the cause of #13781, which I still don't
understand.
2024-07-16 22:04:41 +02:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Herman Semenov 24ccd898fe Fixed zeroise SHA_CTX struct, not pointer size (maybe CWE Information Disclosure if size pointer less struct size) 2024-04-01 16:24:14 +03:00
Henrik Rydgård 688042c036 Unrelated warning fix 2023-06-04 23:02:34 +02:00
Linblow 7c18adbdc6 libkirk: Set Segher Boessenkool's original copyright notice 2022-05-03 00:08:05 +02:00
aliaspider 8bff088bb3 libkirk: fix buffer overflow. 2020-10-13 03:08:03 +01:00
Henrik Rydgård 0586338d5e Add some comments and const-correctness, and a pointer type fix, to the "semaphore" crypto stuff. 2020-08-01 23:11:48 +02:00
Davee Morgan e7ec568b02 PRX Decryption: add missing decryption keys 2020-01-11 15:25:37 +00:00
Davee Morgan 1d7bbdd006 PRX Decryption: add support for type 0/1/2/5/6 decryption 2020-01-11 15:00:07 +00:00
Henrik Rydgård efa1406d8f VS2017: Add hack to automatically select the newest installed Windows 10 SDK. VS2019 already does this by default if you specify 10.0.
Should hopefully fix the buildbot.
2019-05-19 15:23:25 +02:00
Henrik Rydgård 20d666ff55 Remove DbgNew.h forced include in ARM debug builds, doesn't work for some reason. 2019-05-10 23:18:31 +02:00
Henrik Rydgård 1f40aa4828 Add WindowsSDKDesktopARM64Support to vcxproj files 2019-05-10 22:44:12 +02:00
Henrik Rydgård c3fab33354 Revert "Remove default SDK version from project files"
Seems to have been the wrong thing to do, see:
https://developercommunity.visualstudio.com/content/problem/140294/windowstargetplatformversion-makes-it-impossible-t.html

Though due to the bug described there, there's no perfect solution, just
some ugly ones (which I might try later). Anyway, I guess most people
will move on to VS 2019 anyway..

This reverts commit 056494522e.
2019-05-09 23:58:23 +02:00
driver1998 763b85d723 Update Visual Studio project files for Windows ARM32/ARM64 2019-05-04 22:45:15 +08:00
LunaMoo 056494522e Remove default SDK version from project files 2019-04-27 23:01:41 +02:00
LunaMoo 280f7fec39 Fix VS2019 builds and remove _xp dependency
(drops Win XP support, allows latest SDK etc.)
2019-04-25 23:56:55 +02:00
Henrik Rydgård 703fdc5561 MSVC project files: Fix silly search/replace error from #11883 2019-03-24 11:17:47 +01:00
Henrik Rydgård 4d5af330a7 Windows: Change FP model to Precise. See #11384 2019-03-14 10:59:35 +01:00
xebra 070e29d921 Disable "Edit & Continue" with VS debug mode. 2018-12-07 13:01:16 +09:00
Henrik Rydgård 6f173b9134 Harmonize some VS project settings. 2018-08-14 22:41:39 +02:00
LunaMoo 4a2677e0c6 Revert unintentional change from: https://github.com/hrydgard/ppsspp/commit/429bf5d8b31092fb7211b94517e590cbd51e1cdb 2017-03-23 11:54:54 +01:00
LunaMoo 429bf5d8b3 Use $(DefaultPlatformToolset)_xp for easier VS builds with different toolsets. 2017-03-13 21:40:08 +01:00
Henrik Rydgard 2a449f78bb More vulkan fixing 2016-03-20 19:25:30 +01:00
Henrik Rydgard 35b6c7341b Fix a bunch of memory leaks, after enabling file+line-number memory leak tracking for the MS Debug CRT.
Few of these were serious, most were on-exit, but good to have a cleaner memory report after running.
2016-02-10 15:36:10 +01:00
Henrik Rydgård ca0a6dc7f9 Remove native audio mixer (Unused in PPSSPP) and stb_vorbis 2015-09-19 10:43:58 +02:00
Henrik Rydgard 3232e46c36 Make debug build nearly warning free in MSVC 2015 2015-09-17 22:02:15 +02:00
Henrik Rydgard fdea85138c Update project files, fix minor issues for VS 2015 2015-09-06 19:32:15 +02:00
Henrik Rydgard 4ebdf49fb6 Update ffmpeg to master, also switching to static linking of MSVCRT. Don't forget to update your submodules! 2015-01-24 13:30:37 +01:00
Unknown W. Brackets 2c204e8028 Update project to MSVC 2013 tools.
Retaining XP support, using SDK 7.1a (v120_xp.)  Disables SSE2 flag on x64
since it's implied and causes compile warnings.
2014-02-08 13:41:28 -08:00
daniel229 9a91f1ecfd Turn off optimazation in vs2013 2013-10-23 20:01:03 +08:00
shenweip 03197c376c Fix some double semicolon. 2013-09-15 23:17:22 +08:00
Henrik Rydgard 55aa3d13c7 Win32: Switch to a UNICODE build. This took quite a bit of fixing. 2013-08-26 19:00:16 +02:00
Henrik Rydgard 2afbc94734 Turn off RTTI, simulate it where needed. 2013-06-09 13:02:16 +02:00
Henrik Rydgard a3dd3b53c3 Implement a couple basic Psmf functions, unify some project settings, update native. 2013-06-05 21:24:14 +02:00
Henrik Rydgard b3f3305068 vcproj update: enable multithread build 2013-06-02 23:45:44 +02:00
Henrik Rydgard 660d5700e7 Unify some VS project settings 2013-04-27 19:34:41 +02:00
tpu 28e61dcda7 DLC bug fix 2013-04-26 12:05:21 +08:00
tpu 641b78ab67 add DLC support 2013-04-20 13:51:40 +08:00
tpu 602623e007 Merge branch 'master' of https://github.com/hrydgard/ppsspp.git
Conflicts:
	Core/Core.vcxproj.filters
	Core/HLE/sceFont.cpp
	Core/HLE/sceGe.cpp
	Core/HLE/sceIo.cpp
	Core/HLE/sceKernelMutex.cpp
2013-03-16 10:49:59 +08:00
Henrik Rydgård d73fcebc3f Quickfix for a symbol collision. Should really share the AES code. 2013-02-25 21:10:15 +01:00