meson: refuse when prefix is not a child of rootprefix

This is most likely to happen when setting one but not the other.

Note that we already warn when rootprefixdir != rootprefix_default,
at the very end.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2021-02-24 18:02:36 +01:00 committed by Yu Watanabe
parent b66789a9b5
commit d895e10a24

View File

@ -115,6 +115,11 @@ prefixdir = get_option('prefix')
if not prefixdir.startswith('/')
error('Prefix is not absolute: "@0@"'.format(prefixdir))
endif
if prefixdir != rootprefixdir and not prefixdir.startswith(rootprefixdir.strip('/') + '/')
error('Prefix is not below root prefix (now rootprefix=@0@ prefix=@1@)'.format(
rootprefixdir, prefixdir))
endif
bindir = join_paths(prefixdir, get_option('bindir'))
libdir = join_paths(prefixdir, get_option('libdir'))
sysconfdir = join_paths(prefixdir, get_option('sysconfdir'))