From: xueming <xuemingx.zhang@intel.com>
To: dev@dpdk.org, thomas@monjalon.net
Cc: zhaoyan.chen@intel.com, lihongx.ma@intel.com,
xueming <xuemingx.zhang@intel.com>
Subject: [dpdk-dev] [PATCH V1] add meson build 32-bits on x86_64
Date: Wed, 22 Apr 2020 09:48:54 +0000 [thread overview]
Message-ID: <20200422094854.7884-1-xuemingx.zhang@intel.com> (raw)
Add user interaction features. The default build is 64-bits.
if you want to build 32-bits on x86_64, need to pass parameters of i686.
Merge -vv and -v into the method
Signed-off-by: xueming <xuemingx.zhang@intel.com>
---
devtools/test-meson-builds.sh | 64 +++++++++++++++++++++++++++++++----
1 file changed, 58 insertions(+), 6 deletions(-)
diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index e8df01759..215fc00e1 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -14,6 +14,27 @@ set -o | grep -q pipefail && set -o pipefail && PIPEFAIL=1
srcdir=$(dirname $(readlink -f $0))/..
. $srcdir/devtools/load-devel-config
+i686=false
+print_usage ()
+{
+ echo "Usage: ./$(basename $0) [-h] [OPTIONS]..."
+
+ echo '''
+ The script default build is 64-bits.
+
+ if you want to build 32-bits on x86_64, need to pass parameters of i686.
+
+ OPTIONS:
+
+ i686 build 32-bits on x86_64
+ eg: ./devtools/test-meson-build.sh i686
+
+ -vv meson build show more detail
+
+ -v meson build show details
+ '''
+}
+
MESON=${MESON:-meson}
use_shared="--default-library=shared"
builds_dir=${DPDK_BUILD_TEST_DIR:-.}
@@ -37,6 +58,36 @@ else
CCACHE=
fi
+shift $(($OPTIND - 1))
+
+if [ "$#" -ge 1 ]; then
+ for i in $@; do
+ case "$i" in
+ "i686")
+ i686=true
+ ;;
+ "x86_64")
+ echo "Use x86_64"
+ ;;
+ "-vv")
+ TEST_MESON_BUILD_VERY_VERBOSE=1
+ ;;
+ "-v")
+ TEST_MESON_BUILD_VERBOSE=1
+ ;;
+ "-h")
+ print_usage
+ exit 1
+ ;;
+ *)
+ echo "Invalid mode: $1"
+ print_usage
+ exit 1
+ ;;
+ esac
+ done
+fi
+
default_path=$PATH
default_pkgpath=$PKG_CONFIG_PATH
default_cppflags=$CPPFLAGS
@@ -51,7 +102,13 @@ load_env () # <target compiler>
export CPPFLAGS=$default_cppflags
export CFLAGS=$default_cflags
export LDFLAGS=$default_ldflags
- unset DPDK_MESON_OPTIONS
+ if [ "$i686" = "true" ]; then
+ CFLAGS='-m32'
+ export DPDK_MESON_OPTIONS="c_args=-m32 c_link_args=-m32"
+ export PKG_CONFIG_LIBDIR=$default_pkgpath
+ else
+ unset DPDK_MESON_OPTIONS
+ fi
command -v $targetcc >/dev/null 2>&1 || return 1
DPDK_TARGET=$($targetcc -v 2>&1 | sed -n 's,^Target: ,,p')
. $srcdir/devtools/load-devel-config
@@ -156,11 +213,6 @@ build () # <directory> <target compiler> <meson options>
fi
}
-if [ "$1" = "-vv" ] ; then
- TEST_MESON_BUILD_VERY_VERBOSE=1
-elif [ "$1" = "-v" ] ; then
- TEST_MESON_BUILD_VERBOSE=1
-fi
# we can't use plain verbose when we don't have pipefail option so up-level
if [ -z "$PIPEFAIL" -a -n "$TEST_MESON_BUILD_VERBOSE" ] ; then
echo "# Missing pipefail shell option, changing VERBOSE to VERY_VERBOSE"
--
2.17.1
next reply other threads:[~2020-04-22 1:52 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-22 9:48 xueming [this message]
2020-04-22 11:12 ` Bruce Richardson
2020-04-23 8:23 ` Zhang, XuemingX
2020-11-06 17:59 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200422094854.7884-1-xuemingx.zhang@intel.com \
--to=xuemingx.zhang@intel.com \
--cc=dev@dpdk.org \
--cc=lihongx.ma@intel.com \
--cc=thomas@monjalon.net \
--cc=zhaoyan.chen@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).