Transition from SDL2 to SDL2 Compat + SDL3#2345
Transition from SDL2 to SDL2 Compat + SDL3#2345sunshineinabox wants to merge 10 commits intoROCKNIX:nextfrom
Conversation
More build inheritance resolutions, for host build disable extra subsystems. resolve gzdoom build error Do not decouple KMSDRM for now Adapt patches for SDL3 Force GLES flags sdl2-compat bug Refactor GLES support handling in SDL2 package.mk Fix typo Update CFLAGS to use SYSROOT_PREFIX for SDL2 Dead code (?) resolve path Resolve build errors
|
Awesome. Definitely something in our todo list. Yes will need lots of testing |
|
@sunshineinabox some standalones don't compile |
|
I’ll take a look through these logs tonight and work through them. It’s strange I imagine it’s probably related to some device dependent conditionals since I was only building for one device. |
Use installed path for libevdev headers
This subdirectory is not added due to ENABLE_SDL2_FRONTEND being set to off this patch seems to be applying to dead code not sure why this build error is only showing up now.
09a746d to
e51e499
Compare
|
@sunshineinabox still failing |
|
Yea switching from fbdev to EGL introduced more X11 related erros so will have to update those flags then I'll stop making changes so that it can actually be tested. Currently building on my macbook so its been slow goings for builds, unfrotunately! EDIT: it should also build at e51e49901d2bb0360ddf5041488b4c2681efd95c for all targets. |
fd8b2cb to
bc3108e
Compare
|
Some things I've noticed. Seems to work fine with brief testing of emulators (Dreamcast, PSP, N64, GBA, Genesis). Built in apps are broken (I think this is due to SDL2_image, SDL2gfx libraries, but have not made a debug build to confirm, the downside of using a shim. Luckily it has already been ported to SDL3). Still need to test on a more capable device. I cannot test HDMI output so need to ensure the rebased patch works appropriately. Had a heck of a time with formatting of this patch using github codespace so now I'm using vscode locally. Using EGL in PPSSPP will require some guards that prevent defaulting to X11. They are working on transition to SDL3 so I'll wait before putting in effor there and I doubt it will yield significant changes. I think next steps will be migrating built in apps like file manager over to sdl3. |
|
|
||
| CXX ?= gcc | ||
| CCFLAGS = -W -Wall -std=c++11 `sdl2-config --cflags` | ||
| CXX ?= g++ |
There was a problem hiding this comment.
are these really necessary ?
normally gcc is able to figure out it need to use g++ when compiling .cpp files
maybe it was an issue with you not using docker ?
There was a problem hiding this comment.
Its only cosmetic, gcc silently uses G++ to compile cpp files as you said just for the sake of clairty. I was more curious about the CCFLAGS change, I assume this was a typo when I was looking through, but wanted to ensure that was the case. It seemed like it was never consumed.
There was a problem hiding this comment.
indeed CCFLAGS wasn't used nice spot
but for PR clarity, please keep changes to minium needed
if CXX ?= gcc was working, please keep as is.
it make looks like these changes are needed for SDL3/SDL2 compat migration
that goes for all the other changes in Makefile and package.mk files
There was a problem hiding this comment.
Sounds good, sorry about that!
|
some quick tests on SM8650 I don't think we need to migrate our tools to SDL3... SDL2 compat will stay there for a while |
|
I'll have to confirm file manager works on libmali without pr to confirm now that you mention it, ideally it would be easier to just keep sdl2 compat. Will report back after some testing. |
Replaces SDL2 build with SDL3 as the core library and SDL2-compat shim, allowing existing SDL2-linked apps to continue working.
Changes in this PR:
3.2.30) replaced SDL22.32.64)post_makeinstall_targetwithin the SDL2 package insteadcontrol-gen,list-guid,oga_controls,sdl2text,mako-osd): Updated include paths from build-dir lookups toSYSROOT_PREFIX, and fixedCXX/CFLAGSvariable names. (Unsure about the CFLAGS changed, but looked like a typo to me).TODOs before merge:
TODOs Future changes: