mirror of https://github.com/mpv-player/mpv
build: utilize built-in gnu_dirs module for installation directories
This started breaking with newer (2.0.x) waf versions, and it was noticed that a built-in waf module was providing very similar functionality. APPNAME definition was required to have `gnu_dirs`' PACKAGE variable to be defined in order to have f.ex. documentation installed to the correct directory. Currently unused options added by `gnu_dirs` were removed to clean up the output of the help command. Effective changes to behavior: - `gnu_dirs` will attempt to figure out if it needs to use lib64 instead of lib within your installation prefix. If you would like it to not do that, set `--libdir` during configuration. The way it tries to figure lib/lib64 out is if there's a `/usr/lib64` and no `/usr/lib32`. - `--incdir` is now `--includedir` as per standard `gnu_dirs` behavior.
This commit is contained in:
parent
546f038ded
commit
5e608fc4c8
33
wscript
33
wscript
|
@ -12,6 +12,8 @@ from waftools.checks.custom import *
|
|||
c_preproc.go_absolute=True # enable system folders
|
||||
c_preproc.standard_includes.append('/usr/local/include')
|
||||
|
||||
APPNAME = 'mpv'
|
||||
|
||||
"""
|
||||
Dependency identifiers (for win32 vs. Unix):
|
||||
wscript / C source meaning
|
||||
|
@ -916,18 +918,8 @@ standalone_features = [
|
|||
]
|
||||
|
||||
_INSTALL_DIRS_LIST = [
|
||||
('bindir', '${PREFIX}/bin', 'binary files'),
|
||||
('libdir', '${PREFIX}/lib', 'library files'),
|
||||
('confdir', '${PREFIX}/etc/mpv', 'configuration files'),
|
||||
|
||||
('incdir', '${PREFIX}/include', 'include files'),
|
||||
|
||||
('datadir', '${PREFIX}/share', 'data files'),
|
||||
('mandir', '${DATADIR}/man', 'man pages '),
|
||||
('docdir', '${DATADIR}/doc/mpv', 'documentation files'),
|
||||
('htmldir', '${DOCDIR}', 'html documentation files'),
|
||||
('confdir', '${SYSCONFDIR}/mpv', 'configuration files'),
|
||||
('zshdir', '${DATADIR}/zsh/site-functions', 'zsh completion functions'),
|
||||
|
||||
('confloaddir', '${CONFDIR}', 'configuration files load directory'),
|
||||
]
|
||||
|
||||
|
@ -935,16 +927,30 @@ def options(opt):
|
|||
opt.load('compiler_c')
|
||||
opt.load('waf_customizations')
|
||||
opt.load('features')
|
||||
opt.load('gnu_dirs')
|
||||
|
||||
group = opt.get_option_group("build and install options")
|
||||
#remove unused options from gnu_dirs
|
||||
opt.parser.remove_option("--sbindir")
|
||||
opt.parser.remove_option("--libexecdir")
|
||||
opt.parser.remove_option("--sharedstatedir")
|
||||
opt.parser.remove_option("--localstatedir")
|
||||
opt.parser.remove_option("--oldincludedir")
|
||||
opt.parser.remove_option("--infodir")
|
||||
opt.parser.remove_option("--localedir")
|
||||
opt.parser.remove_option("--dvidir")
|
||||
opt.parser.remove_option("--pdfdir")
|
||||
opt.parser.remove_option("--psdir")
|
||||
|
||||
group = opt.get_option_group("Installation directories")
|
||||
for ident, default, desc in _INSTALL_DIRS_LIST:
|
||||
group.add_option('--{0}'.format(ident),
|
||||
type = 'string',
|
||||
dest = ident,
|
||||
default = default,
|
||||
help = 'directory for installing {0} [{1}]' \
|
||||
.format(desc, default))
|
||||
.format(desc, default.replace('${','').replace('}','')))
|
||||
|
||||
group = opt.get_option_group("build and install options")
|
||||
group.add_option('--variant',
|
||||
default = '',
|
||||
help = 'variant name for saving configuration and build results')
|
||||
|
@ -1005,6 +1011,7 @@ def configure(ctx):
|
|||
ctx.load('detections.compiler_swift')
|
||||
ctx.load('detections.compiler')
|
||||
ctx.load('detections.devices')
|
||||
ctx.load('gnu_dirs')
|
||||
|
||||
for ident, _, _ in _INSTALL_DIRS_LIST:
|
||||
varname = ident.upper()
|
||||
|
|
|
@ -693,7 +693,7 @@ def build(ctx):
|
|||
features = 'subst',
|
||||
PREFIX = ctx.env.PREFIX,
|
||||
LIBDIR = ctx.env.LIBDIR,
|
||||
INCDIR = ctx.env.INCDIR,
|
||||
INCDIR = ctx.env.INCLUDEDIR,
|
||||
VERSION = libversion,
|
||||
PRIV_LIBS = get_deps(),
|
||||
)
|
||||
|
@ -701,7 +701,7 @@ def build(ctx):
|
|||
headers = ["client.h", "qthelper.hpp", "opengl_cb.h", "render.h",
|
||||
"render_gl.h", "stream_cb.h"]
|
||||
for f in headers:
|
||||
ctx.install_as(ctx.env.INCDIR + '/mpv/' + f, 'libmpv/' + f)
|
||||
ctx.install_as(ctx.env.INCLUDEDIR + '/mpv/' + f, 'libmpv/' + f)
|
||||
|
||||
ctx.install_as(ctx.env.LIBDIR + '/pkgconfig/mpv.pc', 'libmpv/mpv.pc')
|
||||
|
||||
|
|
Loading…
Reference in New Issue