StephanTLavavej / mingw-distro

MinGW distro build scripts.
492 stars 55 forks source link

SDL_mixer's build system is broken #98

Open StephanTLavavej opened 7 months ago

StephanTLavavej commented 7 months ago

This should be reported to libsdl-org/SDL_mixer.

SDL_mixer 2.6.3's build system is broken (at least for my MSYS2/mingw-w64 environment). It assumes that it can include various headers, both its public SDL_mixer.h and various internal headers, without actually having set up the include paths properly. I could perhaps understand the assumption that SDL_mixer.h is already available (it would be a bad assumption; building version N should pick up N's own header, not some probably-older system-wide-installed header from version N-1). However, I'm surprised that the build system isn't handling src/src and src/src/codecs. This makes me think that my environment is somehow different from how everyone else is configuring/making, but (aside from being MSYS2/mingw-w64) it's really not exotic. Perhaps it's because I'm using a proper tripartite (out-of-tree) build, where I run ../src/configure and make from a build directory, emitting the outputs into a dest directory.

I'm working around this by passing "CFLAGS=-I$X_WORK_DIR/src/include -I$X_WORK_DIR/src/src -I$X_WORK_DIR/src/src/codecs" to make, but that shouldn't be necessary:

https://github.com/StephanTLavavej/mingw-distro/blob/133181c2b881fb40fe7adb1bf463866d89cc790a/sdl%2Blibogg%2Blibvorbis%2Bsdl_mixer%2Bvorbis-tools.sh#L53-L58

This is a regression from SDL_mixer 2.0.16, whose build system worked properly. That's a really old version so I know it doesn't narrow things down very much.