-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build flow and compiling: Improving compilation by utilizing mingw/make – can't find SDL #21
Comments
The Python script is not intended for users to build the emulator, it’s just something I hacked together to run on a spare home PC as a build bot because SourceForge didn’t have infrastructure to do this and GitHub Actions’ documentation makes my eyes bleed.
The Python script invokes make via MSYS2’s bash. And this assumes that SDL2 is already installed by the user. The build system does not attempt to install any of the required dependencies. That has to be done manually before running make.
…Sent from my iPhone
On Sep 12, 2022, at 12:43 AM, RavenMacDaddy ***@***.***> wrote:
@BlackPowerade and I are having a discussion over at the Scoop Games repository.
Scoop is a Command-Line Installer – more commonly known as a package manager.
We're trying to figure out how to improve the compiling of the emulator, particularly by using mingw or make rather than python – but so far we're unable to get those methods to find SDL in the process.
We're also trying to figure out how to make regex recognize both the addition of a new compiled, and the hash of the corresponding build – but being able to do the compilation described above would supersede that.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
|
Good, that gives us a more informed starting point - cheers. |
I already have the supporting libraries installed with mingw, including SDL. It even starts compiling. It's possible to have supermodel be automatically built, I just need to figure out what the makefile wants. In the meantime, I'll see if I can get linux and MacOS builds going. |
Where exactly on your hard drive is SDL and what are you setting SDL_INCLUDE_DIR and SDL_LIB_DIR to?
…Sent from my iPhone
On Sep 12, 2022, at 3:40 PM, BlackPowerade ***@***.***> wrote:
I already have the supporting libraries installed with mingw, including SDL. It even starts compiling.
The problem I am running into is getting GCC to include SDL. No matter what I set for
SDL_INCLUDE_DIR and SDL_LIB_DIR in https://github.com/trzy/Supermodel/blob/master/Makefiles/Makefile.Win32#L52,L53
It fails to find SDL.h.
It throws this error everytime:
Yet I know gcc can find the includes, it looks in them earlier:
SDL's include folder is properly populated:
And SDL files are present under libs:
It's possible to have supermodel be automatically built, I just need to figure out what the makefile wants.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.
|
D:\msys64\mingw64\include\SDL2 |
That looks correct. What if you try stripping d: out and make sure you build somewhere on your d: drive.
Also, can make in verbose mode so we can see exactly what compilation command is being passed? It looks to me like you’re doing things correctly.
…Sent from my iPhone
On Sep 12, 2022, at 4:28 PM, BlackPowerade ***@***.***> wrote:
D:\msys64\mingw64\include\SDL2
D:\msys64\mingw64\lib
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.
|
Found the issue. For some reason |
Running into issue with unicode and minGW's lack of some kind of support. |
FWIW, I tried this a while ago and also found the GitHub VM file paths way too funky. There, but not there??? |
More news. |
I had another go at this. |
Hey @ToBul, give yourself some credit. I only know a bit about making manifests and barely see any logic in programming – that's why I wanted to put the right people in contact. :) |
Edit. |
It depends how you set the include directory. On Mac it’s SDL2/SDL.h because that’s how the framework directory bundles it. On Windows and Linux you can specify whether to include the SDL2 subfolder or not.
As for the character set errors, this is very strange. The default options should just work. I haven’t updated my version of gcc and MSYS2 for over a year, though. Is MSYS2 being used here?
…Sent from my iPhone
On Sep 13, 2022, at 8:59 AM, ToBul ***@***.***> wrote:
FWIW, I tried this a while ago and also found the GitHub VM file paths way too funky. There, but not there???
I did eventually get it to build a windows exe and upload an 'Artifact' though. I ended up making the sdl.h #includes compiler dependent so the paths would be correct.
I think it's only MSVC that has 'SDL.h', while MSYS2, Linux and Mac have 'SDL2/SDL.h'. I might be wrong.
The source would still build locally on Windows in gcc and MSVC. It also built in an Ubuntu VirtualBox with gcc. Wouldn't know about Mac.
Here's a fresh fork,
***@***.***
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.
|
Yes, MSYS2 is being used. We can get supermodel to build on windows and linux in actions. |
@BlackPowerade and I are having a discussion over at the Scoop Games repository.
Scoop is a command-line installer – more commonly known as a package manager.
We're trying to figure out how to improve the compiling process of the emulator, particularly by using
mingw
ormake
in a GitHub Actions flow rather thanpython
– but so far we're unable to get those methods to find SDL.We're also trying to figure out how to make regex recognize the addition of a new compiled build, as well as the hash of the corresponding build, at the same time.
That would make us able to create a manifest for the emulator.
The text was updated successfully, but these errors were encountered: