-
Notifications
You must be signed in to change notification settings - Fork 152
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
build: initial support for meson build system #902
Conversation
meson.build
Outdated
qjsc_exe = executable( | ||
'qjsc', | ||
qjsc_srcs, | ||
qjs_libc_srcs, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will cause all of these sources to be re-compiled for the executable, but then it seems like you link them back in via the qjs_dep
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
qjs_libc_srcs == []
if -Dlibc=true
, since it's already compiled in the main qjs_lib
.
this variable is here to explicitly add quickjs-libc
to required targets. is it better to use qjs_libc_lib = static_library(...)
and then add link_whole: qjs_libc_lib
to qjs_lib
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
applied the qjs_libc_lib
thing.
I saw your comments on the wrap proposal, and thought I might take a peak at what you where working on. |
Prior art: #761 |
24aba70
to
42cb912
Compare
I'm the author of mesonbuild/wrapdb#1865 . Then initial motivation is that we do not want to add |
Personally I'm still on the fence about adding Meson support here. If wrapdb is there then users already have a good way forward. |
I'm mildly negative on the changes to the Makefile. A meson build file, okay, but only if I don't have to look at it or think about it too much. For testing it, I'd add a CI job. |
From Meson's perspective we would prefer if meson.build files could live upstream, even with a lower level of support that $main_build_system. WrapDB can still reference projects with upstream meson.build files to make |
LGTM from a meson is correct point of view |
@bnoordhuis whats your appetite towards this? I'm somewhere around -0.5 |
Regarding changes to the |
@chqrlie Please let's keep this about meson. |
I'm okay with merging it provided it's close-to-zero effort to maintain. I don't care for it myself but there's no denying meson is pretty popular nowadays. Having said that, since wrapdb exists, is there a compelling reason to have the build file in this repo? |
Having them upstream means that your users can use git snapshots and git submodules as subprojects, that’s not possible with meson files hosted in wrapdb |
That's a good reason. @saghul, up to you. |
Alright, let's give it a try. I'll give it a deeper look this week. What this PR is missing is a few CI jobs, to make sure this thing works at all :-) |
sure, i will add it |
should I add this to a separate workflow or just |
Same file, new jobs. |
3c67859
to
d5deb43
Compare
clang sanitized builds fail with: |
In quickjs-libc? Any way to get more output from the meson runners? They seem to output to a file. |
Sticking to the default limit seems best/most appropriate. |
@mochaaP can you please apply the fix above? |
sure. |
0bd07a5
to
f68504b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thanks for the perseverance!
@bnoordhuis do you want to take another look?
uhh, and now Win32 builds fails? |
What the... I'll take a look tonight :-/ |
This fixes the Windows build: #954 |
@mochaaP Can you please rebase? |
Aside from the rebase the same stack size flags need to be passed on to the linker. |
all checks passed. 🥳 |
ci: fix actionlint warnings
…suppress clang sanitize warnings Co-authored-by: Saúl Ibarra Corretgé <s@saghul.net>
Align with 857c42b.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work! I'll merge and cut the release later tonight!
args: -Dlibc=true | ||
- name: mimalloc | ||
args: -Dcli_mimalloc=auto | ||
- name: jscheck |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oooh i think i accidently forgot some leftovers from testing. cleaning it.
Squashed and merged in #957 |
Initial support for meson build system.
I plan to maintain this port continuously alongside cmake.
suppoted features
removed per request on build: initial support for meson build system #902 (comment)make BUILD_BACKEND=meson
xrefs
mesonbuild/wrapdb#1865
#761
tested