Skip to content

Changes and fixes to support compilation in an MXE build environment#2044

Draft
OpenSauce04 wants to merge 5 commits intoazahar-emu:masterfrom
OpenSauce04:mxe-initial
Draft

Changes and fixes to support compilation in an MXE build environment#2044
OpenSauce04 wants to merge 5 commits intoazahar-emu:masterfrom
OpenSauce04:mxe-initial

Conversation

@OpenSauce04
Copy link
Copy Markdown
Member

@OpenSauce04 OpenSauce04 commented Apr 15, 2026


Recently, I have begun experimenting with a project named MXE, which is an environment that makes cross-compiling from Linux to Windows via MinGW relatively straight-forward and, notably, gives us complete control over our build environment.

Due to several issues we've encountered over time while using MSYS2, most notably its bleeding-edge rolling-release nature, we are currently investigating MXE as a potential alternative environment for our non-MSVC CI/CD jobs and binary distribution, replacing MSYS2.

Currently, compiling through MXE presents some issues which need to be resolved before we can seriously evaluate its use in production. Several of these issues have already been addressed in the initial commits of this PR, and the issues which are known of and still currently present and are listed below:

  • OpenAL causes compilation to fail, currently making -DENABLE_OPENAL=OFF necessary.
  • The Vulkan renderer causes compilation to fail, currently making -DENABLE_VULKAN=OFF necesssary.
  • LTO causes the linking process to fail, currently making -DENABLE_LTO=OFF necessary.
  • We currently have no solution for cross-platform DLL resolution implemented. As a result, the build process currently copies all cross-compiled DLLs from a hard-coded path, which is obviously not ideal and results in wasted space.

Other todos:

  • Make dllwalker produce errors when things go wrong

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request rebase size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant