Skip to content
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

Enable Linux compilable support #1

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
Open

Conversation

pemensik
Copy link

@pemensik pemensik commented May 5, 2024

Modifications to makefile to make it buildable again on Linux. Reuses SDL2 changes and enables them also on Linux distribution.

Use extensive use of pkg-config instead of old fixed paths in various places. Reworks parts of shared headers, but should keep existing Windows support unharmed. While enabling also building on Linux with GNU make. Should make it more flexible and compilable on various distributions. I have made it working on Fedora 39, but should work also on recent Ubuntu or Debian.

pemensik added 16 commits May 6, 2024 00:35
Hide array as implementation detail in shared function.
Use more variables to have more readable makefile. Also easier to
specify custom values this way.
Try to make using upstream easier.
Is failing on startup anyway, but at least compiles.
It starts, but still is not usable.
It seems unsigned long for pixels were used by mistake and later
corrected in stb_image routines. But is still used in custom code.
Declare special type for representing TexPixel to make it more obvious
size is used for pixels in texture.
Similar issue which was met on endless-sky game. Fedora may prefer
wayland and emit glewInit() failure, but otherwise it is initialized
correctly. Detect that case and pass into the application. It should
work if SDL were correctly initialized.

Glut does not seem to be needed for anything in this case.

More on: endless-sky/endless-sky#7027
It seems after changes GLee is no longer useful for anything. The same
with freeglut. It is not needed for anything. SDL2 should handle it
completely.
Few unimportant changes to formatting or debugging, without significant
functionality changes.
Add support definitions for tinyxml 2.6, but keep backward compatibility
of bundled tinyxml version bundled inside. Allows building both with
bundled and system tinyxml library.
Just hide the warning it emits.
Keep bundled version intact for use on Windows, but allow simple
switching to bundled library.

Do not compile bundled tinyxml by default. Comment out tinyxml-src reset
to empty value to restore building.
@pemensik
Copy link
Author

pemensik commented May 5, 2024

Unfortunately build support for Linux binary is not sufficient for adding this to Linux distributions. Data required to run this program were never put into original repository with clearly specified license. So distributions ensuring only free software can be shipped cannot contain this program in current state. At least not in official distribution channels. Clearly not passing Fedora licensing requirements, but otherwise works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant