mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-09-03 19:25:18 +02:00
naett has been a submodule pinned at v0.3.3; upstream has had no commits since April 2024, and we want to carry local changes (next up: a libcurl-backed HTTPS path for Linux). It's ~1500 lines of MIT C, smaller than several things we already vendor, so bring it in-tree and drop the submodule. Also drop the generated single-file amalgam (naett.c) that every build system was compiling, and build src/*.c directly instead - otherwise the file you edit isn't the file that gets compiled, which is a trap for anyone patching this. example/ and testrig/ (a whole Android Studio project) are gone with it. Two changes were needed to make the sources build on their own, both noted in ext/naett/README-ppsspp.md along with the upstream commit: - naett_internal.h now includes naett.h, which the amalgam pulled in first. - naett_linux.c now includes stdio.h/stdlib.h. It calls exit/calloc/realloc/ free/fprintf without ever including either, and only got away with it because naett_core.c sat above it in the concatenation. No functional change - Linux still has HTTPS_NOT_AVAILABLE set, so it doesn't build naett at all yet. Rename naett to naett-lib
================================================================ NOTE: These are legacy instructions for building using ndk-build. We mostly only use this on CI because it's faster than gradle. There might also be some holdouts around still using eclipse. ================================================================ First, build the C++ static library: > cd android > ./ab.sh Or > ./ab.cmd as appropriate. Start Eclipse, import the android directory as an existing project You need to also load the "native" project into your eclipse workspace Build and run. If you modify the C++ code, you need to rebuild the static library, of course. To get Eclipse to understand that you have in fact changed something if you haven't also changed any Java code, just add a space character to PPSSPPActivity.java, or right click the project and choose Refresh, and then relaunch the app on the device. A real Android device is strongly recommended for testing. Don't trust the emulator.