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

Using a non-custom build system for lite #48

Closed
Cogitri opened this issue May 9, 2020 · 4 comments
Closed

Using a non-custom build system for lite #48

Cogitri opened this issue May 9, 2020 · 4 comments

Comments

@Cogitri
Copy link

Cogitri commented May 9, 2020

Hello,

this has already been mentioned in #45 (comment), but I think a non-custom build system like meson would greatly benefit lite, making it easier to build on more platforms. I could look into doing that while I package it for Alpine Linux.

@1bardesign
Copy link

Seems a little counter to the minimalist approach of the project to pull in a multi-megabyte non-standard build dependency vs the current ~1kb total build scripts, which ran out of the box on linux here?

There are likely things that could be done for portability of the build scripts before pulling in more 3rd party code; for example maybe using cc instead of gcc if the project doesn't use any non-portable C code, to support clang-only build environments.

If the shell script approach was to be abandoned a boring old makefile or the lua-based genie seems more in-line with the philosophy?

@Cogitri
Copy link
Author

Cogitri commented May 15, 2020

Seems a little counter to the minimalist approach of the project to pull in a multi-megabyte non-standard build dependency

At least in the linux world I'd argue meson is pretty standard these days - even core packages like glib are built with it

Even so, I'd argue that since meson is only required during buildtime its size doesn't matter that much and meson doesn't have any dependencies other than standard python3.

which ran out of the box on linux here?

Then you probably have a setup that's pretty similiar to the dev's machine. Unfortunately it's pretty hard to get a custom build script right, so that it works on setups that aren't as standard.

If the shell script approach was to be abandoned a boring old makefile or the lua-based genie seems more in-line with the philosophy?

A makefile would likely work fine too, but I don't see how genie would be more standard than meson

@1bardesign
Copy link

Unfortunately it's pretty hard to get a custom build script right, so that it works on setups that aren't as standard.

I agree with the sentiment in genera, but for a Linux build the current requirements for lite are gcc (or properly configured ccache), and sdl2 dev files that gcc and the linker can find. The standard math library is also required at link time, afaik it's part of gcc.

This is hardly a difficult dev environment to ensure 😅 I can see using cc rather than specifically gcc helping, if the cli flags used are largely portable (I think they are?), but I don't see much harm in requiring gcc for building.

I don't see how genie would be more standard than meson

I didn't say more standard, I said more in line with the project's philosophy of minimalism 😉

@rxi
Copy link
Owner

rxi commented May 17, 2020

I'm in general agreement with @1bardesign 's points.

In summary: changing the build system to something more complex would solve a problem that doesn't exist, and cause several that do.

@rxi rxi closed this as completed May 17, 2020
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

No branches or pull requests

3 participants