[Mesa-dev] [PATCH mesa v2 2/2] meson: bring MESA_GIT_SHA1 in line with other build systems

Dylan Baker dylan at pnwbakers.com
Thu Oct 26 17:12:22 UTC 2017


one small nit, otherwise,
Reviewed-by: Dylan Baker <dylan at pnwbakers.com>

Quoting Eric Engestrom (2017-10-26 08:40:57)
> From: Eric Engestrom <eric at engestrom.ch>
> 
> Meson's vcs_tag() uses the output of `git describe`, eg.
>   17.3-branchpoint-5-gfbf29c3cd15ae831e249+
> 
> Whereas the other build systems used a script that outputs only the sha1
> of the HEAD commit, eg.
>   fbf29c3cd1
> 
> Given that this information is used by printing it next to the version
> number, there's some redundancy here, and inconsistency between build
> systems.
> 
> Bring Meson in line by making it use the same script, with the added
> advantage of now supporting the MESA_GIT_SHA1_OVERRIDE env var.
> 
> Signed-off-by: Eric Engestrom <eric at engestrom.ch>
> ---
> v2: add patch 1/2 to avoid having to rebuild when nothing changed (Jordan Justen)
> ---
>  bin/meson.build | 21 +++++++++++++++++++++
>  meson.build     |  1 +
>  src/meson.build |  6 ++++--
>  3 files changed, 26 insertions(+), 2 deletions(-)
>  create mode 100644 bin/meson.build
> 
> diff --git a/bin/meson.build b/bin/meson.build
> new file mode 100644
> index 00000000000000000000..b8b44baf7d03e2b0658f
> --- /dev/null
> +++ b/bin/meson.build
> @@ -0,0 +1,21 @@
> +# Copyright © 2017 Eric Engestrom
> +
> +# Permission is hereby granted, free of charge, to any person obtaining a copy
> +# of this software and associated documentation files (the "Software"), to deal
> +# in the Software without restriction, including without limitation the rights
> +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> +# copies of the Software, and to permit persons to whom the Software is
> +# furnished to do so, subject to the following conditions:
> +
> +# The above copyright notice and this permission notice shall be included in
> +# all copies or substantial portions of the Software.
> +
> +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> +# SOFTWARE.
> +
> +git_sha1_gen_py = files('git_sha1_gen.py')
> diff --git a/meson.build b/meson.build
> index 5f6dabc33ec83498e335..738ebc510ace26fd7917 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -846,4 +846,5 @@ endif
>  pkg = import('pkgconfig')
>  
>  subdir('include')
> +subdir('bin')
>  subdir('src')
> diff --git a/src/meson.build b/src/meson.build
> index 9b1b0ae594d103a12ba2..363baf5ae5e63a70333b 100644
> --- a/src/meson.build
> +++ b/src/meson.build
> @@ -34,9 +34,11 @@ libglsl_util = static_library(
>    build_by_default : false,
>  )
>  
> -sha1_h = vcs_tag(
> -  input : 'git_sha1.h.in',
> +sha1_h = custom_target(
> +  'git_sha1.h',
>    output : 'git_sha1.h',
> +  command : [prog_python2, git_sha1_gen_py, '--output', '@OUTPUT@'],
> +  build_always : true,
>  )

I would leave a comment about why we're setting build always to true.

>  
>  subdir('gtest')
> -- 
> Cheers,
>   Eric
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20171026/1c76368a/attachment-0001.sig>


More information about the mesa-dev mailing list