From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v2] devtools: add test script for meson builds Date: Mon, 28 May 2018 12:26:24 +0200 Message-ID: <1832507.I1aXYWBlau@xps> References: <20180424123255.204330-1-bruce.richardson@intel.com> <11072939.itZiRipOQY@xps> <20180528093317.GB15204@bricha3-MOBL.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org To: Bruce Richardson Return-path: Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id BA693B62 for ; Mon, 28 May 2018 12:26:26 +0200 (CEST) In-Reply-To: <20180528093317.GB15204@bricha3-MOBL.ger.corp.intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 28/05/2018 11:33, Bruce Richardson: > On Sat, May 26, 2018 at 11:32:53AM +0200, Thomas Monjalon wrote: > > 25/05/2018 17:18, Bruce Richardson: > > > On Fri, May 25, 2018 at 04:51:58PM +0200, Thomas Monjalon wrote: > > > > +cd $(dirname $(readlink -m $0))/.. > > > > + > > > I don't think we should force the builds to be always put into the base > > > directory. Instead of using cd, I think we should instead capture the base > > > directory path and pass that to meson. > > > > OK to not force the directory. > > You want to build in the current directory? > > If yes, we can just remove this "cd" and no need to pass a base directory > > to meson. > > We would need to pass the base to meson, because otherwise meson assumes > the top-level meson.build file is in the current directory, i.e. calling > "meson build-dir" is the same as "meson . build-dir". If we want to allow > using this script from other places on filesystem, we need to either "cd" > to the base dir as you do now, or else explicitly pass in the basedir. The > latter I think is a better option as it would allow building from any > location on the filesystem. I agree. I don't understand the meson syntax: meson [ options ] [ source directory ] [ build directory ] If there is only one argument, it is the build directory? I could send a v5 to add the source directory in the meson command. It would be: srcdir=$(dirname $(readlink -m $0))/.. $MESON $options $srcdir $builddir > > > > +load_config () > > > > +{ > > > > + reset_env > > > > + . $(dirname $(readlink -e $0))/load-devel-config > > > > + MESON=${MESON:-meson} > > > > +} > > > Why does this need to be done each time? > > > > Because the config could be different for each build (see above). > > > How would it be different, it's the same command called with the same > environment each time? No, the idea is to adapt the environment to the build target. As an example, the dependencies can be different for 32-bit and 64-bit.