From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id C98009953 for ; Thu, 25 May 2017 15:04:30 +0200 (CEST) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP; 25 May 2017 06:04:29 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,391,1491289200"; d="scan'208";a="105289276" Received: from dhunt5-mobl.ger.corp.intel.com (HELO [10.237.221.44]) ([10.237.221.44]) by orsmga005.jf.intel.com with ESMTP; 25 May 2017 06:04:28 -0700 To: Shreyansh Jain References: <1495535304-159542-1-git-send-email-david.hunt@intel.com> <1495535304-159542-3-git-send-email-david.hunt@intel.com> Cc: dev@dpdk.org, thomas@monjalon.net From: "Hunt, David" Message-ID: Date: Thu, 25 May 2017 14:04:27 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v1 2/2] mk: add sensible default target with defconfig X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 May 2017 13:04:31 -0000 Hi Shreyansh, Thanks for your comments. More thoughts below. On 24/5/2017 7:10 AM, Shreyansh Jain wrote: > Hello David, > > On Tuesday 23 May 2017 03:58 PM, David Hunt wrote: >> Users can now use 'make defconfig' to generate a configuration using >> the most appropriate defaults for the current machine. >> >> >> arch taken from uname -m >> machine defaults to native >> execenv is taken from uname, Linux=linuxapp, otherwise bsdapp >> toolchain is taken from $CC -v to see which compiler to use >> >> Signed-off-by: David Hunt >> --- >> mk/rte.sdkconfig.mk | 15 ++++++++++++--- >> mk/rte.sdkroot.mk | 4 ++-- >> 2 files changed, 14 insertions(+), 5 deletions(-) >> >> diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk >> index 1f2d6bd..4f30d56 100644 >> --- a/mk/rte.sdkconfig.mk >> +++ b/mk/rte.sdkconfig.mk >> @@ -60,16 +60,25 @@ showconfigs: >> >> .PHONY: notemplate >> notemplate: >> - @printf "No template specified. " >> - @echo "Use T=template among the following list:" >> + @printf "No template specified. Use 'make defconfig' or " >> + @echo "use T=template from the following list:" >> @$(MAKE) -rR showconfigs | sed 's,^, ,' >> >> + >> +.PHONY: defconfig >> +defconfig: >> + @$(MAKE) config T=$(shell uname -m)-native-$(shell uname | \ > > The idea to have 'make defconfig' do the works looks great to me. > I am just worried about the above line - it wouldn't allow > configurations like > arm64-dpaa2-linuxapp-gcc or arm64-armv8a-linuxapp-gcc > Basically, having the MACHINE default to 'native' would not be right > in all cases. > > But, I don't have a better idea about how to detect this automatically. > Or, we might use RTE_MACHINE someway. > Might I suggest that we default to armv8a for the defconfig in this case? Would that be good enough? If you need something more specific, then use the normal make config T= Also, if you're using an unknown variant, you can always set your RTE_TARGET, as per the other changes in the patch. A possible proposal for a v2 patch could be: uname -m Output Target -------- ------------------ aarch64 arm64-armv8a-... armv7l arm-armv7a-... ppc64 ppc_64-power8-... (from wikipedia uname page, could ppc user confirm this for me?) x86_64 x86_64-native-... i686 i686-native-... Something along the lines of: .PHONY: defconfig defconfig: @$(MAKE) config T=$(shell \ uname -m | awk '{ \ if ($$0 == "aarch64") { \ print "arm64-armv8a"} \ else if ($$0 == "armv7l") { \ print "arm-armv7a"} \ else if ($$0 == "ppc64") { \ print "ppc_64-power8"} \ else { \ printf "%s-native", $$0} }')-$(shell \ uname | awk '{ \ if ($$0 == "Linux") { \ print "linuxapp"} \ else { \ print "bsdapp"} }')-$(shell \ ${CC} -v 2>&1 | \ grep " version " | cut -d ' ' -f 1) That might make a reasonable start in the absence of a reliable method of detecting Xgene/ThunderX/DPAA2 variants. Regards, Dave.