[{"id":16839,"web_url":"https://patchwork.libcamera.org/comment/16839/","msgid":"<YJXV5E+Ykgg7BrWO@pendragon.ideasonboard.com>","date":"2021-05-08T00:05:56","subject":"Re: [libcamera-devel] [PATCH 1/2] meson: Replace obselete\n\tjoin_paths() with '/' operator","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Umang,\n\nThank you for the patch.\n\nOn Fri, May 07, 2021 at 11:28:40AM +0530, Umang Jain wrote:\n> Since meson v0.49.0, join_paths() is equivalent to '/' hence,\n> drop and replace it with '/' short-hand in meson files.\n> \n> This commit does not introduce any functional changes.\n> \n> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n>  Documentation/meson.build              |  3 +--\n>  include/libcamera/ipa/meson.build      |  2 +-\n>  include/libcamera/meson.build          | 10 +++++-----\n>  meson.build                            |  3 +--\n>  src/ipa/meson.build                    |  2 +-\n>  src/ipa/raspberrypi/data/meson.build   |  2 +-\n>  src/ipa/vimc/data/meson.build          |  2 +-\n>  src/libcamera/meson.build              |  2 +-\n>  src/libcamera/proxy/worker/meson.build |  4 ++--\n>  9 files changed, 14 insertions(+), 16 deletions(-)\n> \n> diff --git a/Documentation/meson.build b/Documentation/meson.build\n> index 9950465d..a82ee7c8 100644\n> --- a/Documentation/meson.build\n> +++ b/Documentation/meson.build\n> @@ -1,7 +1,6 @@\n>  # SPDX-License-Identifier: CC0-1.0\n>  \n> -doc_install_dir = join_paths(get_option('datadir'), 'doc',\n> -                             'libcamera-@0@'.format(libcamera_version))\n> +doc_install_dir = get_option('datadir') / 'doc' / 'libcamera-@0@'.format(libcamera_version)\n>  \n>  #\n>  # Doxygen\n> diff --git a/include/libcamera/ipa/meson.build b/include/libcamera/ipa/meson.build\n> index 2d72c1fc..40c4e737 100644\n> --- a/include/libcamera/ipa/meson.build\n> +++ b/include/libcamera/ipa/meson.build\n> @@ -7,7 +7,7 @@ libcamera_ipa_headers = files([\n>  ])\n>  \n>  install_headers(libcamera_ipa_headers,\n> -                subdir: join_paths(libcamera_include_dir, 'ipa'))\n> +                subdir: libcamera_include_dir / 'ipa')\n>  \n>  libcamera_generated_ipa_headers = []\n>  \n> diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build\n> index c7b8ee8e..4a5b915e 100644\n> --- a/include/libcamera/meson.build\n> +++ b/include/libcamera/meson.build\n> @@ -21,7 +21,7 @@ libcamera_public_headers = files([\n>      'transform.h',\n>  ])\n>  \n> -include_dir = join_paths(libcamera_include_dir, 'libcamera')\n> +include_dir = libcamera_include_dir / 'libcamera'\n>  \n>  subdir('internal')\n>  subdir('ipa')\n> @@ -48,7 +48,7 @@ foreach header : control_source_files\n>                                       output : header + '.h',\n>                                       command : [gen_controls, '-o', '@OUTPUT@', '@INPUT@'],\n>                                       install : true,\n> -                                     install_dir : join_paths('include', include_dir))\n> +                                     install_dir : 'include' / include_dir)\n>  endforeach\n>  \n>  libcamera_public_headers += control_headers\n> @@ -63,7 +63,7 @@ formats_h = custom_target('formats_h',\n>                            output : 'formats.h',\n>                            command : [gen_formats, '-o', '@OUTPUT@', '@INPUT@'],\n>                            install : true,\n> -                          install_dir : join_paths('include', include_dir))\n> +                          install_dir : 'include' / include_dir)\n>  libcamera_public_headers += formats_h\n>  \n>  # libcamera.h\n> @@ -72,7 +72,7 @@ libcamera_h = custom_target('gen-header',\n>                              output : 'libcamera.h',\n>                              command : [gen_header, meson.current_source_dir(), '@OUTPUT@'],\n>                              install : true,\n> -                            install_dir : join_paths('include', include_dir))\n> +                            install_dir : 'include' / include_dir)\n>  \n>  libcamera_public_headers += libcamera_h\n>  \n> @@ -86,4 +86,4 @@ libcamera_version_config.set('LIBCAMERA_VERSION_PATCH', version[2])\n>  configure_file(input : 'version.h.in',\n>                 output : 'version.h',\n>                 configuration : libcamera_version_config,\n> -               install_dir : join_paths('include', include_dir))\n> +               install_dir : 'include' / include_dir)\n> diff --git a/meson.build b/meson.build\n> index 13d88301..46eb1b46 100644\n> --- a/meson.build\n> +++ b/meson.build\n> @@ -148,8 +148,7 @@ endif\n>  # Create a symlink from the build root to the source root. This is used when\n>  # running libcamera from the build directory to locate resources in the source\n>  # directory (such as IPA configuration files).\n> -run_command('ln', '-fsT', meson.source_root(),\n> -            join_paths(meson.build_root(), 'source'))\n> +run_command('ln', '-fsT', meson.source_root(), meson.build_root() / 'source')\n>  \n>  configure_file(output : 'config.h', configuration : config_h)\n>  \n> diff --git a/src/ipa/meson.build b/src/ipa/meson.build\n> index b3f24f42..5b5684a1 100644\n> --- a/src/ipa/meson.build\n> +++ b/src/ipa/meson.build\n> @@ -28,7 +28,7 @@ ipa_names = []\n>  foreach pipeline : pipelines\n>      if ipas.contains(pipeline)\n>          subdir(pipeline)\n> -        ipa_names += join_paths(ipa_install_dir, ipa_name + '.so')\n> +        ipa_names += ipa_install_dir / ipa_name + '.so'\n>      endif\n>  endforeach\n>  \n> diff --git a/src/ipa/raspberrypi/data/meson.build b/src/ipa/raspberrypi/data/meson.build\n> index 253fb9d7..92ad3272 100644\n> --- a/src/ipa/raspberrypi/data/meson.build\n> +++ b/src/ipa/raspberrypi/data/meson.build\n> @@ -10,4 +10,4 @@ conf_files = files([\n>  ])\n>  \n>  install_data(conf_files,\n> -             install_dir : join_paths(ipa_data_dir, 'raspberrypi'))\n> +             install_dir : ipa_data_dir / 'raspberrypi')\n> diff --git a/src/ipa/vimc/data/meson.build b/src/ipa/vimc/data/meson.build\n> index 6532662c..42ec651c 100644\n> --- a/src/ipa/vimc/data/meson.build\n> +++ b/src/ipa/vimc/data/meson.build\n> @@ -5,4 +5,4 @@ conf_files = files([\n>  ])\n>  \n>  install_data(conf_files,\n> -             install_dir : join_paths(ipa_data_dir, 'vimc'))\n> +             install_dir : ipa_data_dir / 'vimc')\n> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> index e0a48aa2..99b09b3a 100644\n> --- a/src/libcamera/meson.build\n> +++ b/src/libcamera/meson.build\n> @@ -102,7 +102,7 @@ endforeach\n>  \n>  libcamera_sources += control_sources\n>  \n> -gen_version = join_paths(meson.source_root(), 'utils', 'gen-version.sh')\n> +gen_version = meson.source_root() / 'utils' / 'gen-version.sh'\n>  \n>  version_cpp = vcs_tag(command : [gen_version, meson.build_root()],\n>                        input : 'version.cpp.in',\n> diff --git a/src/libcamera/proxy/worker/meson.build b/src/libcamera/proxy/worker/meson.build\n> index 3796103e..40dada9d 100644\n> --- a/src/libcamera/proxy/worker/meson.build\n> +++ b/src/libcamera/proxy/worker/meson.build\n> @@ -1,6 +1,6 @@\n>  # SPDX-License-Identifier: CC0-1.0\n>  \n> -proxy_install_dir = join_paths(get_option('libexecdir'), 'libcamera')\n> +proxy_install_dir = get_option('libexecdir') / 'libcamera'\n>  \n>  # generate {pipeline}_ipa_proxy_worker.cpp\n>  foreach mojom : ipa_mojoms\n> @@ -25,4 +25,4 @@ foreach mojom : ipa_mojoms\n>  endforeach\n>  \n>  config_h.set('IPA_PROXY_DIR',\n> -             '\"' + join_paths(get_option('prefix'), proxy_install_dir) + '\"')\n> +             '\"' + get_option('prefix') / proxy_install_dir + '\"')","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 96C71BF831\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSat,  8 May 2021 00:06:04 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E03DA68915;\n\tSat,  8 May 2021 02:06:03 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 996EF68901\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat,  8 May 2021 02:06:02 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 21CE83D7;\n\tSat,  8 May 2021 02:06:02 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"RWm2fb0b\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1620432362;\n\tbh=m1qD0YxX74jcj0tG6/FMT4GERwH835i+7sPj37HScUk=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=RWm2fb0bqHyMO60K2CFFOc2UWJL2VJHLkqBd6y/cqiaI7FM3vTQtZZPSm3m+claI2\n\teXDDjwlLp6H+JyvlTwG8Gv8UN6bxP2KTAllRkFHK/LGWRHnuOFM5MVMOkH7R152lkM\n\tbU6pYMaSsDRh+kFvSW/yD3YQ3PAWVpGD5b2xrhLA=","Date":"Sat, 8 May 2021 03:05:56 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<YJXV5E+Ykgg7BrWO@pendragon.ideasonboard.com>","References":"<20210507055841.141700-1-umang.jain@ideasonboard.com>\n\t<20210507055841.141700-2-umang.jain@ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20210507055841.141700-2-umang.jain@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 1/2] meson: Replace obselete\n\tjoin_paths() with '/' operator","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":16840,"web_url":"https://patchwork.libcamera.org/comment/16840/","msgid":"<YJXWE8cmTeIrlxg9@pendragon.ideasonboard.com>","date":"2021-05-08T00:06:43","subject":"Re: [libcamera-devel] [PATCH 2/2] libcamera: Use\n\tget_option('includedir') instead of raw 'include'","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Umang,\n\nThank you for the patch.\n\nOn Fri, May 07, 2021 at 11:28:41AM +0530, Umang Jain wrote:\n> In most cases, file paths in meson files start with get_option().\n> To maintain a consistent theme, use meson's get_option('includedir')\n> universal option over raw 'include'. This option is defaulted to\n> 'include' string value, hence this commit does not introduce any\n> functional changes.\n> \n> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n>  include/libcamera/meson.build | 8 ++++----\n>  1 file changed, 4 insertions(+), 4 deletions(-)\n> \n> diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build\n> index 4a5b915e..086c958b 100644\n> --- a/include/libcamera/meson.build\n> +++ b/include/libcamera/meson.build\n> @@ -48,7 +48,7 @@ foreach header : control_source_files\n>                                       output : header + '.h',\n>                                       command : [gen_controls, '-o', '@OUTPUT@', '@INPUT@'],\n>                                       install : true,\n> -                                     install_dir : 'include' / include_dir)\n> +                                     install_dir : get_option('includedir') / include_dir)\n>  endforeach\n>  \n>  libcamera_public_headers += control_headers\n> @@ -63,7 +63,7 @@ formats_h = custom_target('formats_h',\n>                            output : 'formats.h',\n>                            command : [gen_formats, '-o', '@OUTPUT@', '@INPUT@'],\n>                            install : true,\n> -                          install_dir : 'include' / include_dir)\n> +                          install_dir : get_option('includedir') / include_dir)\n>  libcamera_public_headers += formats_h\n>  \n>  # libcamera.h\n> @@ -72,7 +72,7 @@ libcamera_h = custom_target('gen-header',\n>                              output : 'libcamera.h',\n>                              command : [gen_header, meson.current_source_dir(), '@OUTPUT@'],\n>                              install : true,\n> -                            install_dir : 'include' / include_dir)\n> +                            install_dir : get_option('includedir') / include_dir)\n>  \n>  libcamera_public_headers += libcamera_h\n>  \n> @@ -86,4 +86,4 @@ libcamera_version_config.set('LIBCAMERA_VERSION_PATCH', version[2])\n>  configure_file(input : 'version.h.in',\n>                 output : 'version.h',\n>                 configuration : libcamera_version_config,\n> -               install_dir : 'include' / include_dir)\n> +               install_dir : get_option('includedir') / include_dir)","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id C4A04BF831\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSat,  8 May 2021 00:06:50 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7F29968901;\n\tSat,  8 May 2021 02:06:50 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 560B968901\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat,  8 May 2021 02:06:49 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E11CA3D7;\n\tSat,  8 May 2021 02:06:48 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"fimNh0/c\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1620432409;\n\tbh=NDYtYdg4xMuFRHRP39e9Pcl5R4ZiySp5d5VQqB2xgLg=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=fimNh0/cW4VASLDK1c+3Pj35f5YMoyz302h0CWRIZJjdXly0dLJux5QTPq0YscXXg\n\tAeK1vBfOccXEqRTMGkC9L7fgZrwYH/zeUd6ew5gEg8lT4a0nTi6vtJfXTM51ncAmfe\n\tQ+ETNBIvPc5krU1AnC/60Y5PMB3Cd3BCU2CjoUBU=","Date":"Sat, 8 May 2021 03:06:43 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<YJXWE8cmTeIrlxg9@pendragon.ideasonboard.com>","References":"<20210507055841.141700-1-umang.jain@ideasonboard.com>\n\t<20210507055841.141700-3-umang.jain@ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20210507055841.141700-3-umang.jain@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 2/2] libcamera: Use\n\tget_option('includedir') instead of raw 'include'","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":16896,"web_url":"https://patchwork.libcamera.org/comment/16896/","msgid":"<0c5b7a01-839e-6121-95b4-69a5dbc02c1f@ideasonboard.com>","date":"2021-05-11T10:52:26","subject":"Re: [libcamera-devel] [PATCH 1/2] meson: Replace obselete\n\tjoin_paths() with '/' operator","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Umang,\n\nOn 07/05/2021 06:58, Umang Jain wrote:\n> Since meson v0.49.0, join_paths() is equivalent to '/' hence,\n> drop and replace it with '/' short-hand in meson files.\n> \n\nWhile the '/' operator caught me off guard when I first saw it, I do\nprefer it now, so I like this change.\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> This commit does not introduce any functional changes.\n> \n> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> ---\n>  Documentation/meson.build              |  3 +--\n>  include/libcamera/ipa/meson.build      |  2 +-\n>  include/libcamera/meson.build          | 10 +++++-----\n>  meson.build                            |  3 +--\n>  src/ipa/meson.build                    |  2 +-\n>  src/ipa/raspberrypi/data/meson.build   |  2 +-\n>  src/ipa/vimc/data/meson.build          |  2 +-\n>  src/libcamera/meson.build              |  2 +-\n>  src/libcamera/proxy/worker/meson.build |  4 ++--\n>  9 files changed, 14 insertions(+), 16 deletions(-)\n> \n> diff --git a/Documentation/meson.build b/Documentation/meson.build\n> index 9950465d..a82ee7c8 100644\n> --- a/Documentation/meson.build\n> +++ b/Documentation/meson.build\n> @@ -1,7 +1,6 @@\n>  # SPDX-License-Identifier: CC0-1.0\n>  \n> -doc_install_dir = join_paths(get_option('datadir'), 'doc',\n> -                             'libcamera-@0@'.format(libcamera_version))\n> +doc_install_dir = get_option('datadir') / 'doc' / 'libcamera-@0@'.format(libcamera_version)\n>  \n>  #\n>  # Doxygen\n> diff --git a/include/libcamera/ipa/meson.build b/include/libcamera/ipa/meson.build\n> index 2d72c1fc..40c4e737 100644\n> --- a/include/libcamera/ipa/meson.build\n> +++ b/include/libcamera/ipa/meson.build\n> @@ -7,7 +7,7 @@ libcamera_ipa_headers = files([\n>  ])\n>  \n>  install_headers(libcamera_ipa_headers,\n> -                subdir: join_paths(libcamera_include_dir, 'ipa'))\n> +                subdir: libcamera_include_dir / 'ipa')\n>  \n>  libcamera_generated_ipa_headers = []\n>  \n> diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build\n> index c7b8ee8e..4a5b915e 100644\n> --- a/include/libcamera/meson.build\n> +++ b/include/libcamera/meson.build\n> @@ -21,7 +21,7 @@ libcamera_public_headers = files([\n>      'transform.h',\n>  ])\n>  \n> -include_dir = join_paths(libcamera_include_dir, 'libcamera')\n> +include_dir = libcamera_include_dir / 'libcamera'\n>  \n>  subdir('internal')\n>  subdir('ipa')\n> @@ -48,7 +48,7 @@ foreach header : control_source_files\n>                                       output : header + '.h',\n>                                       command : [gen_controls, '-o', '@OUTPUT@', '@INPUT@'],\n>                                       install : true,\n> -                                     install_dir : join_paths('include', include_dir))\n> +                                     install_dir : 'include' / include_dir)\n>  endforeach\n>  \n>  libcamera_public_headers += control_headers\n> @@ -63,7 +63,7 @@ formats_h = custom_target('formats_h',\n>                            output : 'formats.h',\n>                            command : [gen_formats, '-o', '@OUTPUT@', '@INPUT@'],\n>                            install : true,\n> -                          install_dir : join_paths('include', include_dir))\n> +                          install_dir : 'include' / include_dir)\n>  libcamera_public_headers += formats_h\n>  \n>  # libcamera.h\n> @@ -72,7 +72,7 @@ libcamera_h = custom_target('gen-header',\n>                              output : 'libcamera.h',\n>                              command : [gen_header, meson.current_source_dir(), '@OUTPUT@'],\n>                              install : true,\n> -                            install_dir : join_paths('include', include_dir))\n> +                            install_dir : 'include' / include_dir)\n>  \n>  libcamera_public_headers += libcamera_h\n>  \n> @@ -86,4 +86,4 @@ libcamera_version_config.set('LIBCAMERA_VERSION_PATCH', version[2])\n>  configure_file(input : 'version.h.in',\n>                 output : 'version.h',\n>                 configuration : libcamera_version_config,\n> -               install_dir : join_paths('include', include_dir))\n> +               install_dir : 'include' / include_dir)\n> diff --git a/meson.build b/meson.build\n> index 13d88301..46eb1b46 100644\n> --- a/meson.build\n> +++ b/meson.build\n> @@ -148,8 +148,7 @@ endif\n>  # Create a symlink from the build root to the source root. This is used when\n>  # running libcamera from the build directory to locate resources in the source\n>  # directory (such as IPA configuration files).\n> -run_command('ln', '-fsT', meson.source_root(),\n> -            join_paths(meson.build_root(), 'source'))\n> +run_command('ln', '-fsT', meson.source_root(), meson.build_root() / 'source')\n>  \n>  configure_file(output : 'config.h', configuration : config_h)\n>  \n> diff --git a/src/ipa/meson.build b/src/ipa/meson.build\n> index b3f24f42..5b5684a1 100644\n> --- a/src/ipa/meson.build\n> +++ b/src/ipa/meson.build\n> @@ -28,7 +28,7 @@ ipa_names = []\n>  foreach pipeline : pipelines\n>      if ipas.contains(pipeline)\n>          subdir(pipeline)\n> -        ipa_names += join_paths(ipa_install_dir, ipa_name + '.so')\n> +        ipa_names += ipa_install_dir / ipa_name + '.so'\n>      endif\n>  endforeach\n>  \n> diff --git a/src/ipa/raspberrypi/data/meson.build b/src/ipa/raspberrypi/data/meson.build\n> index 253fb9d7..92ad3272 100644\n> --- a/src/ipa/raspberrypi/data/meson.build\n> +++ b/src/ipa/raspberrypi/data/meson.build\n> @@ -10,4 +10,4 @@ conf_files = files([\n>  ])\n>  \n>  install_data(conf_files,\n> -             install_dir : join_paths(ipa_data_dir, 'raspberrypi'))\n> +             install_dir : ipa_data_dir / 'raspberrypi')\n> diff --git a/src/ipa/vimc/data/meson.build b/src/ipa/vimc/data/meson.build\n> index 6532662c..42ec651c 100644\n> --- a/src/ipa/vimc/data/meson.build\n> +++ b/src/ipa/vimc/data/meson.build\n> @@ -5,4 +5,4 @@ conf_files = files([\n>  ])\n>  \n>  install_data(conf_files,\n> -             install_dir : join_paths(ipa_data_dir, 'vimc'))\n> +             install_dir : ipa_data_dir / 'vimc')\n> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> index e0a48aa2..99b09b3a 100644\n> --- a/src/libcamera/meson.build\n> +++ b/src/libcamera/meson.build\n> @@ -102,7 +102,7 @@ endforeach\n>  \n>  libcamera_sources += control_sources\n>  \n> -gen_version = join_paths(meson.source_root(), 'utils', 'gen-version.sh')\n> +gen_version = meson.source_root() / 'utils' / 'gen-version.sh'\n>  \n>  version_cpp = vcs_tag(command : [gen_version, meson.build_root()],\n>                        input : 'version.cpp.in',\n> diff --git a/src/libcamera/proxy/worker/meson.build b/src/libcamera/proxy/worker/meson.build\n> index 3796103e..40dada9d 100644\n> --- a/src/libcamera/proxy/worker/meson.build\n> +++ b/src/libcamera/proxy/worker/meson.build\n> @@ -1,6 +1,6 @@\n>  # SPDX-License-Identifier: CC0-1.0\n>  \n> -proxy_install_dir = join_paths(get_option('libexecdir'), 'libcamera')\n> +proxy_install_dir = get_option('libexecdir') / 'libcamera'\n>  \n>  # generate {pipeline}_ipa_proxy_worker.cpp\n>  foreach mojom : ipa_mojoms\n> @@ -25,4 +25,4 @@ foreach mojom : ipa_mojoms\n>  endforeach\n>  \n>  config_h.set('IPA_PROXY_DIR',\n> -             '\"' + join_paths(get_option('prefix'), proxy_install_dir) + '\"')\n> +             '\"' + get_option('prefix') / proxy_install_dir + '\"')\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 144CDBF839\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 11 May 2021 10:52:32 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8DE276890C;\n\tTue, 11 May 2021 12:52:31 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 86B3A61538\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 11 May 2021 12:52:29 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 0B87A4A2;\n\tTue, 11 May 2021 12:52:29 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"fXE5QK7i\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1620730349;\n\tbh=jR09IwZXUCtRDi1CbUCM2F0y723VEubSbIH/XSBCKBA=;\n\th=Reply-To:Subject:To:References:From:Date:In-Reply-To:From;\n\tb=fXE5QK7izkm+3zPtjPTdl61NNaC+JGAa/Vi7yEkX8LUdM5jFSwehUfBJh6gjHKaqC\n\t6b3lMuZDMoNP59zDQUdJm5jOluUVgvnVDuPquN9pIMhKIDcsozwj5vPzfs8x+VXEnD\n\tFF3CoeIUU2LN1/DZCLnZaWa9AD0yg7lut+BeE8wQ=","To":"Umang Jain <umang.jain@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20210507055841.141700-1-umang.jain@ideasonboard.com>\n\t<20210507055841.141700-2-umang.jain@ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Organization":"Ideas on Board","Message-ID":"<0c5b7a01-839e-6121-95b4-69a5dbc02c1f@ideasonboard.com>","Date":"Tue, 11 May 2021 11:52:26 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.7.1","MIME-Version":"1.0","In-Reply-To":"<20210507055841.141700-2-umang.jain@ideasonboard.com>","Content-Language":"en-GB","Subject":"Re: [libcamera-devel] [PATCH 1/2] meson: Replace obselete\n\tjoin_paths() with '/' operator","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Reply-To":"kieran.bingham@ideasonboard.com","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":16897,"web_url":"https://patchwork.libcamera.org/comment/16897/","msgid":"<05c6cb19-d74a-09a4-2bf7-aee46ce77b19@ideasonboard.com>","date":"2021-05-11T10:56:32","subject":"Re: [libcamera-devel] [PATCH 2/2] libcamera: Use\n\tget_option('includedir') instead of raw 'include'","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Umang,\n\nOn 08/05/2021 01:06, Laurent Pinchart wrote:\n> Hi Umang,\n> \n> Thank you for the patch.\n> \n> On Fri, May 07, 2021 at 11:28:41AM +0530, Umang Jain wrote:\n>> In most cases, file paths in meson files start with get_option().\n>> To maintain a consistent theme, use meson's get_option('includedir')\n>> universal option over raw 'include'. This option is defaulted to\n>> 'include' string value, hence this commit does not introduce any\n>> functional changes.\n>>\n\nAh, yes this is a beneficial change, (even if it doesn't functionally\nchange the current default output)\n\nI wonder if merging \"get_option('includedir') / include_dir)\" into a\nsingle variable as it's used 4 times in the same file makes sense, but\nthis already is fine, so I'll merge these too (assuming all tests still\npass etc).\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n>> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> \n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> \n>> ---\n>>  include/libcamera/meson.build | 8 ++++----\n>>  1 file changed, 4 insertions(+), 4 deletions(-)\n>>\n>> diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build\n>> index 4a5b915e..086c958b 100644\n>> --- a/include/libcamera/meson.build\n>> +++ b/include/libcamera/meson.build\n>> @@ -48,7 +48,7 @@ foreach header : control_source_files\n>>                                       output : header + '.h',\n>>                                       command : [gen_controls, '-o', '@OUTPUT@', '@INPUT@'],\n>>                                       install : true,\n>> -                                     install_dir : 'include' / include_dir)\n>> +                                     install_dir : get_option('includedir') / include_dir)\n>>  endforeach\n>>  \n>>  libcamera_public_headers += control_headers\n>> @@ -63,7 +63,7 @@ formats_h = custom_target('formats_h',\n>>                            output : 'formats.h',\n>>                            command : [gen_formats, '-o', '@OUTPUT@', '@INPUT@'],\n>>                            install : true,\n>> -                          install_dir : 'include' / include_dir)\n>> +                          install_dir : get_option('includedir') / include_dir)\n>>  libcamera_public_headers += formats_h\n>>  \n>>  # libcamera.h\n>> @@ -72,7 +72,7 @@ libcamera_h = custom_target('gen-header',\n>>                              output : 'libcamera.h',\n>>                              command : [gen_header, meson.current_source_dir(), '@OUTPUT@'],\n>>                              install : true,\n>> -                            install_dir : 'include' / include_dir)\n>> +                            install_dir : get_option('includedir') / include_dir)\n>>  \n>>  libcamera_public_headers += libcamera_h\n>>  \n>> @@ -86,4 +86,4 @@ libcamera_version_config.set('LIBCAMERA_VERSION_PATCH', version[2])\n>>  configure_file(input : 'version.h.in',\n>>                 output : 'version.h',\n>>                 configuration : libcamera_version_config,\n>> -               install_dir : 'include' / include_dir)\n>> +               install_dir : get_option('includedir') / include_dir)\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id C7816BF829\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 11 May 2021 10:56:38 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3C59D6891E;\n\tTue, 11 May 2021 12:56:38 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B89A361538\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 11 May 2021 12:56:36 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id D10704A2;\n\tTue, 11 May 2021 12:56:35 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"n07rN+qN\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1620730596;\n\tbh=qmiQhchJNfYQIXBHPifCiXBQhPJTmMNCbY0jNcZjVeU=;\n\th=Reply-To:Subject:To:Cc:References:From:Date:In-Reply-To:From;\n\tb=n07rN+qNrpQcrttd/JUhgfcmgkpZ2Zhnv1OpzdiXZj/6csqWIvxObavoc785p9jkS\n\tu3C8neT8Ew5fAvG1BGaysLJ6eKAzrOJxlwUpA5ybGOtyKV44kxGfxtZwAL16RmG6mq\n\tZ9Eelwobe3iYoyBJzwga7QYkyf4ziVNxYdcah7XE=","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tUmang Jain <umang.jain@ideasonboard.com>","References":"<20210507055841.141700-1-umang.jain@ideasonboard.com>\n\t<20210507055841.141700-3-umang.jain@ideasonboard.com>\n\t<YJXWE8cmTeIrlxg9@pendragon.ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Organization":"Ideas on Board","Message-ID":"<05c6cb19-d74a-09a4-2bf7-aee46ce77b19@ideasonboard.com>","Date":"Tue, 11 May 2021 11:56:32 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.7.1","MIME-Version":"1.0","In-Reply-To":"<YJXWE8cmTeIrlxg9@pendragon.ideasonboard.com>","Content-Language":"en-GB","Subject":"Re: [libcamera-devel] [PATCH 2/2] libcamera: Use\n\tget_option('includedir') instead of raw 'include'","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Reply-To":"kieran.bingham@ideasonboard.com","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]