premake / premake-core

Premake
https://premake.github.io/
BSD 3-Clause "New" or "Revised" License
3.17k stars 617 forks source link

Problems with llvm-mingw #2226

Open ghost opened 1 month ago

ghost commented 1 month ago

I'm trying to build this project:

https://github.com/SpartanJ/eepp

As SHELL=cmd is too buggy, I decided to use Git Bash.

It failed with this error:

==== Building eepp-maps-static (release_x86_64) ====
Linking freetype-static
C:/Work/llvm-mingw-20240619-ucrt-x86_64/bin/llvm-ar.exe: error: ../../obj/windows/x86_64/re: No such file or directory
mingw32-make[1]: *** [freetype-static.make:452: ../../libs/windows/x86_64/thirdparty/freetype.lib] Error 1
mingw32-make: *** [Makefile:372: freetype-static] Error 2
mingw32-make: *** Waiting for unfinished jobs....
mingw32-make: Leaving directory 'C:/Work/eepp/make/windows'

Again, this is extremely hard to debug, as there is no --verbose switch or something like that. It seems the problematic code is LINKCMD = $(AR) -rcs "$@" $(OBJECTS) in the generated freetype_static.make.

ghost commented 1 month ago

The command I used:

premake5 --windows-mingw-build gmake2
mingw32-make config=release_x86_64 -C make/windows

p/s: My experience with premake5 is awful. It's requiring POSIX to work. A POSIX Shell, and it seems a POSIX GNU make, too. It works beautifully on MSYS2 but is extremely buggy on Windows with SHELL=cmd or mingw32-make.