The recovery_toolkit/recovery_ui merge broke ninja generation for the whole tree (everything runs at analysis time, even for modules nothing builds). Fixes, in the order the errors surfaced: - BoardConfigSoong.mk: export TW_THEME=landscape_hdpi via the twrpVarsPlugin soong config namespace (RPi 4/5 are 1080p HDMI); libguitwrp's theme selection hard-exits analysis when unset - soong/copy.go: re-anchor runtime.Caller path derivation — the 'bootable' anchor never matches at vendor/pawlet/recovery_ui and the slice paniced; recovery dir is now derived relative to this file - scrypt sources.bp + libpixelflinger: hoist arch.arm.neon.* contents into plain arm blocks — the neon variant was removed in android-16 Soong (NEON is mandatory on armv7-a+) - recovery_ui/Android.bp: port twrp_defaults verbatim from android_vendor_twrp (android-14.1, build/soong) — it never lived in bootable/recovery; pure soong_config machinery, contributes no flags until twrpGlobalVars vars are set - gui/Android.bp: drop libaosprecovery from libguitwrp's shared_libs — the module doesn't exist (TWRP's forked install/*.cpp was never ported) and an undefined dep is analysis-fatal; compile is unaffected (static lib), the gap moves to link time and is documented - recovery_ui/Android.bp: librecovery_ui_pawlet_twrp shared -> static (librecovery_ui_ext absorbs TARGET_RECOVERY_UI_LIB via whole_static_libs) and libpixelflinger_twrp moved to static_libs - scrypt Android.bp + libminuitwrp_defaults.go: rewrite leftover bootable/recovery/* self-referential paths to the new vendor/pawlet locations Requires the libminadbd_headers visibility patch in the patches repo. m nothing now completes for pawlet_rpi4-bp4a-userdebug.
86 lines
2.0 KiB
Plaintext
86 lines
2.0 KiB
Plaintext
cc_defaults {
|
|
name: "libpixelflingertwrp_defaults",
|
|
|
|
cflags: [
|
|
"-fstrict-aliasing",
|
|
"-fomit-frame-pointer",
|
|
"-Wall",
|
|
"-Werror",
|
|
"-Wno-unused-function",
|
|
],
|
|
export_include_dirs: ["include"],
|
|
header_libs: ["libbase_headers"],
|
|
shared_libs: [
|
|
"libcutils",
|
|
"liblog",
|
|
"libutils",
|
|
],
|
|
|
|
arch: {
|
|
// android-16 Soong removed the arm.neon variant (NEON is mandatory
|
|
// on armv7-a+), so these apply to arm unconditionally.
|
|
arm: {
|
|
cflags: ["-D__ARM_HAVE_NEON"],
|
|
},
|
|
},
|
|
}
|
|
|
|
cc_library_static {
|
|
name: "libpixelflingertwrp-arm",
|
|
defaults: ["libpixelflingertwrp_defaults"],
|
|
|
|
srcs: [
|
|
"fixed.cpp",
|
|
"picker.cpp",
|
|
"pixelflinger.cpp",
|
|
"trap.cpp",
|
|
"scanline.cpp",
|
|
],
|
|
|
|
arch: {
|
|
arm: {
|
|
instruction_set: "arm",
|
|
},
|
|
},
|
|
}
|
|
|
|
cc_library_static {
|
|
name: "libpixelflinger_twrp",
|
|
defaults: ["libpixelflingertwrp_defaults"],
|
|
|
|
srcs: [
|
|
"codeflinger/ARMAssemblerInterface.cpp",
|
|
"codeflinger/ARMAssemblerProxy.cpp",
|
|
"codeflinger/CodeCache.cpp",
|
|
"codeflinger/GGLAssembler.cpp",
|
|
"codeflinger/load_store.cpp",
|
|
"codeflinger/blending.cpp",
|
|
"codeflinger/texturing.cpp",
|
|
"format.cpp",
|
|
"clear.cpp",
|
|
"raster.cpp",
|
|
"buffer.cpp",
|
|
],
|
|
whole_static_libs: ["libpixelflingertwrp-arm"],
|
|
|
|
arch: {
|
|
arm: {
|
|
srcs: [
|
|
"codeflinger/ARMAssembler.cpp",
|
|
"codeflinger/disassem.c",
|
|
"col32cb16blend.S",
|
|
"col32cb16blend_neon.S",
|
|
"t32cb16blend.S",
|
|
],
|
|
},
|
|
arm64: {
|
|
srcs: [
|
|
"codeflinger/Arm64Assembler.cpp",
|
|
"codeflinger/Arm64Disassembler.cpp",
|
|
"arch-arm64/col32cb16blend.S",
|
|
"arch-arm64/t32cb16blend.S",
|
|
],
|
|
},
|
|
},
|
|
}
|