05/11/2020 12:21, Bruce Richardson: > On Thu, Nov 05, 2020 at 12:13:37PM +0100, Thomas Monjalon wrote: > > 05/11/2020 12:07, Bruce Richardson: > > > It's reasonably common for patches to have issues when built on 32-bits, > > > so > > > to prevent this, we can add a 32-bit build (if supported) to the > > > "test-meson-builds.sh" script. The tricky bit is using a valid > > > PKG_CONFIG_LIBDIR, so for now we use two common possibilities for where > > > that > > > should point to in order to get a successful build. > > > > > > Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> > > > > Thanks we really need such test. > > > > > +if echo "int main(void) { return 0; }" | cc -m32 -x c - -o /dev/null 2> > > > /dev/null ; then > > > > I think a function would be cleaner, with -m32 passed as parameter. > > > > > + if [ -d "/usr/lib/i386-linux-gnu" ] ; then > > > + # 32-bit pkgconfig on debian/ubuntu > > > + export PKG_CONFIG_LIBDIR="/usr/lib/i386-linux-gnu/pkgconfig" > > > + else > > > + # 32-bit pkgconfig on RHEL/fedora (lib vs lib64) > > > + export PKG_CONFIG_LIBDIR="/usr/lib/pkgconfig" > > > > It is /usr/lib32 on my Arch Linux. > > > > I would prefer avoiding export, > > by assigning a local variable and use it below: > > > > PKG_CONFIG_LIBDIR=libdir32 build build-32-bit ... > > > > > + fi > > > + build build-32-bit cc -Dc_args='-m32' -Dc_link_args='-m32' > > > > Or just "build-32" as directory name. > > > > > + unset PKG_CONFIG_LIBDIR > > > > No need of unset if not using export above. > > > > > +fi > > Thanks for the quick review, I'll put together a v2 based on this feedback.
One more thing, the variable DPDK_TARGET should be set accordingly so the right configuration can be loaded. By default, I believe it will be x86_64-pc-linux-gnu. We need something with "32" or i686 on x86 so we can adjust the paths to the dependencies built for 32-bit.