aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Akemi <der.richter@gmx.de>2018-07-01 21:09:45 +0200
committerGravatar Jan Ekström <jeebjp@gmail.com>2018-07-12 01:48:10 +0300
commit5e608fc4c850d6210ca543d4ed7265c5eee68bc5 (patch)
tree89f9801d78fa50eac10a14f02caf64c414cc577b
parent546f038ded9427d4bc1e3ea24103f6a8c2783b68 (diff)
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.
-rw-r--r--wscript33
-rw-r--r--wscript_build.py4
2 files changed, 22 insertions, 15 deletions
diff --git a/wscript b/wscript
index c808f9b8ce..01d3c020e8 100644
--- a/wscript
+++ b/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()
diff --git a/wscript_build.py b/wscript_build.py
index 89eaa48137..8e948ba333 100644
--- a/wscript_build.py
+++ b/wscript_build.py
@@ -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')