From 380b362fa40767ea12e6c7b523f2bc33524f0c22 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sat, 17 Dec 2016 23:58:33 +0100 Subject: [PATCH 1/3] add support for $sbindir Signed-off-by: Igor Gnatenko --- data/macros.meson | 1 + mesonbuild/coredata.py | 1 + mesonbuild/mconf.py | 1 + mesonbuild/mesonmain.py | 1 + 4 files changed, 4 insertions(+) diff --git a/data/macros.meson b/data/macros.meson index 6d9fd597f..03130716c 100644 --- a/data/macros.meson +++ b/data/macros.meson @@ -12,6 +12,7 @@ --libdir=%{_libdir} \\\ --libexecdir=%{_libexecdir} \\\ --bindir=%{_bindir} \\\ + --sbindir=%{_sbindir} \\\ --includedir=%{_includedir} \\\ --datadir=%{_datadir} \\\ --mandir=%{_mandir} \\\ diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py index 1a5abcc5f..d51af0292 100644 --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py @@ -208,6 +208,7 @@ builtin_options = { 'libdir' : [ UserStringOption, 'Library directory.', default_libdir() ], 'libexecdir' : [ UserStringOption, 'Library executable directory.', default_libexecdir() ], 'bindir' : [ UserStringOption, 'Executable directory.', 'bin' ], + 'sbindir' : [ UserStringOption, 'System executable directory.', 'sbin' ], 'includedir' : [ UserStringOption, 'Header file directory.', 'include' ], 'datadir' : [ UserStringOption, 'Data file directory.', 'share' ], 'mandir' : [ UserStringOption, 'Manual page directory.', 'share/man' ], diff --git a/mesonbuild/mconf.py b/mesonbuild/mconf.py index 6061d4892..7221dfae5 100644 --- a/mesonbuild/mconf.py +++ b/mesonbuild/mconf.py @@ -169,6 +169,7 @@ class Conf: 'libdir', 'libexecdir', 'bindir', + 'sbindir', 'includedir', 'datadir', 'mandir', diff --git a/mesonbuild/mesonmain.py b/mesonbuild/mesonmain.py index 4f3149620..50ab02bda 100644 --- a/mesonbuild/mesonmain.py +++ b/mesonbuild/mesonmain.py @@ -41,6 +41,7 @@ add_builtin_argument('prefix') add_builtin_argument('libdir') add_builtin_argument('libexecdir') add_builtin_argument('bindir') +add_builtin_argument('sbindir') add_builtin_argument('includedir') add_builtin_argument('datadir') add_builtin_argument('mandir') From 2962d3a66b81695a9d7646df254e034e0f3cc956 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 18 Dec 2016 00:01:07 +0100 Subject: [PATCH 2/3] add support for $infodir Signed-off-by: Igor Gnatenko --- data/macros.meson | 1 + mesonbuild/coredata.py | 1 + mesonbuild/mconf.py | 1 + mesonbuild/mesonmain.py | 1 + 4 files changed, 4 insertions(+) diff --git a/data/macros.meson b/data/macros.meson index 03130716c..66c452cbe 100644 --- a/data/macros.meson +++ b/data/macros.meson @@ -16,6 +16,7 @@ --includedir=%{_includedir} \\\ --datadir=%{_datadir} \\\ --mandir=%{_mandir} \\\ + --infodir=%{_infodir} \\\ --localedir=%{_datadir}/locale \\\ --sysconfdir=%{_sysconfdir} \\\ --localstatedir=%{_localstatedir} \\\ diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py index d51af0292..22e5729ea 100644 --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py @@ -212,6 +212,7 @@ builtin_options = { 'includedir' : [ UserStringOption, 'Header file directory.', 'include' ], 'datadir' : [ UserStringOption, 'Data file directory.', 'share' ], 'mandir' : [ UserStringOption, 'Manual page directory.', 'share/man' ], + 'infodir' : [ UserStringOption, 'Info page directory.', 'share/info' ], 'localedir' : [ UserStringOption, 'Locale data directory.', 'share/locale' ], # sysconfdir and localstatedir are a bit special. These defaults to ${prefix}/etc and # ${prefix}/var but nobody uses that. Instead they always set it manually to /etc and /var. diff --git a/mesonbuild/mconf.py b/mesonbuild/mconf.py index 7221dfae5..e57480f47 100644 --- a/mesonbuild/mconf.py +++ b/mesonbuild/mconf.py @@ -173,6 +173,7 @@ class Conf: 'includedir', 'datadir', 'mandir', + 'infodir', 'localedir', 'sysconfdir', 'localstatedir', diff --git a/mesonbuild/mesonmain.py b/mesonbuild/mesonmain.py index 50ab02bda..23111871a 100644 --- a/mesonbuild/mesonmain.py +++ b/mesonbuild/mesonmain.py @@ -45,6 +45,7 @@ add_builtin_argument('sbindir') add_builtin_argument('includedir') add_builtin_argument('datadir') add_builtin_argument('mandir') +add_builtin_argument('infodir') add_builtin_argument('localedir') add_builtin_argument('sysconfdir') add_builtin_argument('localstatedir') From 5bf22c56788bcbfc8a0c894093275077655c4442 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 18 Dec 2016 00:08:45 +0100 Subject: [PATCH 3/3] add support for $sharedstatedir Signed-off-by: Igor Gnatenko --- data/macros.meson | 1 + mesonbuild/coredata.py | 13 +++++++------ mesonbuild/mconf.py | 1 + mesonbuild/mesonmain.py | 1 + 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/data/macros.meson b/data/macros.meson index 66c452cbe..b72bb85e9 100644 --- a/data/macros.meson +++ b/data/macros.meson @@ -20,6 +20,7 @@ --localedir=%{_datadir}/locale \\\ --sysconfdir=%{_sysconfdir} \\\ --localstatedir=%{_localstatedir} \\\ + --sharedstatedir=%{_sharedstatedir} \\\ %{_vpath_srcdir} %{_vpath_builddir} \\\ %{nil} diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py index 22e5729ea..8db82fd82 100644 --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py @@ -214,17 +214,18 @@ builtin_options = { 'mandir' : [ UserStringOption, 'Manual page directory.', 'share/man' ], 'infodir' : [ UserStringOption, 'Info page directory.', 'share/info' ], 'localedir' : [ UserStringOption, 'Locale data directory.', 'share/locale' ], - # sysconfdir and localstatedir are a bit special. These defaults to ${prefix}/etc and - # ${prefix}/var but nobody uses that. Instead they always set it manually to /etc and /var. - # This default values is thus pointless and not really used but we set it to this - # for consistency with other systems. + # sysconfdir, localstatedir and sharedstatedir are a bit special. These defaults to ${prefix}/etc, + # ${prefix}/var and ${prefix}/com but nobody uses that. Instead they always set it + # manually to /etc, /var and /var/lib. This default values is thus pointless and not really used + # but we set it to this for consistency with other systems. # - # Projects installing to sysconfdir and/or localstatedir probably want + # Projects installing to sysconfdir, localstatedir or sharedstatedir probably want # to set the following in project(): # - # default_options : ['sysconfdir=/etc', 'localstatedir=/var'] + # default_options : ['sysconfdir=/etc', 'localstatedir=/var', 'sharedstatedir=/var/lib'] 'sysconfdir' : [ UserStringOption, 'Sysconf data directory.', 'etc' ], 'localstatedir' : [ UserStringOption, 'Localstate data directory.', 'var' ], + 'sharedstatedir' : [ UserStringOption, 'Architecture-independent data directory.', 'com' ], 'werror' : [ UserBooleanOption, 'Treat warnings as errors.', False ], 'warning_level' : [ UserComboOption, 'Compiler warning level to use.', [ '1', '2', '3' ], '1'], 'layout' : [ UserComboOption, 'Build directory layout.', ['mirror', 'flat' ], 'mirror' ], diff --git a/mesonbuild/mconf.py b/mesonbuild/mconf.py index e57480f47..2db4d378f 100644 --- a/mesonbuild/mconf.py +++ b/mesonbuild/mconf.py @@ -177,6 +177,7 @@ class Conf: 'localedir', 'sysconfdir', 'localstatedir', + 'sharedstatedir', ]: parr.append([key, coredata.get_builtin_option_description(key), self.coredata.get_builtin_option(key), coredata.get_builtin_option_choices(key)]) diff --git a/mesonbuild/mesonmain.py b/mesonbuild/mesonmain.py index 23111871a..3c644a812 100644 --- a/mesonbuild/mesonmain.py +++ b/mesonbuild/mesonmain.py @@ -49,6 +49,7 @@ add_builtin_argument('infodir') add_builtin_argument('localedir') add_builtin_argument('sysconfdir') add_builtin_argument('localstatedir') +add_builtin_argument('sharedstatedir') add_builtin_argument('backend') add_builtin_argument('buildtype') add_builtin_argument('strip', action='store_true')