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

WIP: line-for-line rewrite of build system in Meson #2613

Closed
wants to merge 29 commits into from

Conversation

Ericson2314
Copy link
Member

@Ericson2314 Ericson2314 commented Jan 5, 2019

Includes https://github.com/NixOS/nix/pull/2612/files which includes dead code which was hard to produce.

Fixes #2503

CC @volth

@Ericson2314
Copy link
Member Author

@volth Awesome! I've just been trying to get Unix working as-is so far, but I intend to keep merging that into a windows branch (yours if you don't mind :) so we can get both working in parallel.

Ericson2314 and others added 27 commits January 6, 2019 14:32
The library is always used directly now
Forgot to include this when changing the AWS thing
Finally figured that out
I was confusing `AC_SUBST` with `AC_CONFIG_HEADER`: these
non-capitalized identifiers are just shell vars and should not become C
preprocessor ifdefs.

Also passed libstore its `-D` flags.
Each command piece can only have one @Identifier@ so need to smuggle in
@output@ a different way.
The symlinks needs more work, however
Will test on Darwin later
@Ericson2314
Copy link
Member Author

@volth I can now at least build all the C++

conf_data.set_quoted('SYSTEM', system, description : 'platform identifier (`cpu-os\')')

# State should be stored in /nix/var, unless the user overrides it explicitly.
if get_option('normal-var')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we determine if an option has been manually set by the user in Meson? Adding an option like this is confusing.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is confusing; I forget where I got stuck before. This is the autoconf original https://github.com/NixOS/nix/blob/master/configure.ac#L49-L50 . Nix hijack's the variable, in a way. I think the issue was you cannot force-set such a thing within meson.build, but you should still be able to compare the user-given value to ${prefix}/var like the autoconf. That prevents the user from forcing it to be ${prefix}/var, but hey that's no worse than today.

@matthewbauer
Copy link
Member

matthewbauer commented Sep 25, 2019

There are a few install rules missing still:

https://github.com/NixOS/nix/search?q=install-data-in

Thanks @tetdim for finding
@Ericson2314 Ericson2314 changed the title WIP line-for-line rewrite of build system in Meson WIP: line-for-line rewrite of build system in Meson Sep 25, 2019
@Ericson2314 Ericson2314 mentioned this pull request Oct 16, 2019
@Ericson2314
Copy link
Member Author

Closing because #3160 is further along

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.

Rewrite build system in non-autoconf
2 participants