From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 2DC5A5A for ; Tue, 26 Mar 2019 07:02:42 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Mar 2019 23:02:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,271,1549958400"; d="scan'208";a="125884634" Received: from anandraw-devbx.amr.corp.intel.com ([10.19.242.57]) by orsmga007.jf.intel.com with ESMTP; 25 Mar 2019 23:02:40 -0700 From: Anand Rawat To: dev@dpdk.org Cc: anand.rawat@intel.com, pallavi.kadam@intel.com, ranjit.menon@intel.com, jeffrey.b.shaw@intel.com, bruce.richardson@intel.com, thomas@monjalon.net Date: Mon, 25 Mar 2019 23:02:38 -0700 Message-Id: <20190326060238.9884-9-anand.rawat@intel.com> X-Mailer: git-send-email 2.17.1.windows.2 In-Reply-To: <20190326060238.9884-1-anand.rawat@intel.com> References: <20190306041634.12976-1-anand.rawat@intel.com> <20190326060238.9884-1-anand.rawat@intel.com> Subject: [dpdk-dev] [PATCH v5 8/8] build: meson changes to build on windows 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: Tue, 26 Mar 2019 06:02:43 -0000 Added meson workarounds to build helloworld on windows. Windows currently only supports kvargs and eal libraries. This change restricts the build flow to supported libraries only. Signed-off-by: Anand Rawat Signed-off-by: Pallavi Kadam Reviewed-by: Jeff Shaw Reviewed-by: Ranjit Menon --- app/meson.build | 6 +++++- buildtools/meson.build | 6 +++++- drivers/meson.build | 6 +++++- examples/meson.build | 6 +++++- kernel/windows/meson.build | 4 ++++ lib/librte_eal/common/meson.build | 14 +++++++++----- lib/meson.build | 4 ++++ 7 files changed, 37 insertions(+), 9 deletions(-) create mode 100644 kernel/windows/meson.build diff --git a/app/meson.build b/app/meson.build index aa353f657..e949624b7 100644 --- a/app/meson.build +++ b/app/meson.build @@ -1,5 +1,9 @@ # SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2017 Intel Corporation +# Copyright(c) 2017-2019 Intel Corporation + +if host_machine.system() == 'windows' + subdir_done() +endif apps = [ 'pdump', diff --git a/buildtools/meson.build b/buildtools/meson.build index cdd38ed24..0209bec8f 100644 --- a/buildtools/meson.build +++ b/buildtools/meson.build @@ -1,5 +1,9 @@ # SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2017 Intel Corporation +# Copyright(c) 2017-2019 Intel Corporation + +if host_machine.system() == 'windows' + subdir_done() +endif subdir('pmdinfogen') diff --git a/drivers/meson.build b/drivers/meson.build index 69d0556d3..33d1503f3 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -1,5 +1,9 @@ # SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2017 Intel Corporation +# Copyright(c) 2017-2019 Intel Corporation + +if host_machine.system() == 'windows' + subdir_done() +endif # Defines the order in which the drivers are buit. driver_classes = ['common', diff --git a/examples/meson.build b/examples/meson.build index af81c762e..bc1430fa8 100644 --- a/examples/meson.build +++ b/examples/meson.build @@ -35,7 +35,11 @@ foreach example: examples ext_deps = [execinfo] includes = [include_directories(example)] - deps = ['eal', 'mempool', 'net', 'mbuf', 'ethdev', 'cmdline'] + if host_machine.system() != 'windows' + deps = ['eal', 'mempool', 'net', 'mbuf', 'ethdev', 'cmdline'] + else + deps = ['eal'] # only supported lib on windows currently + endif subdir(example) if build diff --git a/kernel/windows/meson.build b/kernel/windows/meson.build new file mode 100644 index 000000000..c4a2a656a --- /dev/null +++ b/kernel/windows/meson.build @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2019 Intel Corporation + +# stub file for supporting windows logic in future release \ No newline at end of file diff --git a/lib/librte_eal/common/meson.build b/lib/librte_eal/common/meson.build index 5ecae0b1f..e9021c00c 100644 --- a/lib/librte_eal/common/meson.build +++ b/lib/librte_eal/common/meson.build @@ -1,23 +1,26 @@ # SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2017 Intel Corporation +# Copyright(c) 2017-2019 Intel Corporation eal_inc += include_directories('.', 'include', join_paths('include/arch', arch_subdir)) common_objs = [] +common_sources = files( + 'eal_common_errno.c', + 'eal_common_launch.c', + 'eal_common_lcore.c', + 'eal_common_log.c' + ) +if host_machine.system() != 'windows' common_sources = files( 'eal_common_bus.c', 'eal_common_cpuflags.c', 'eal_common_class.c', 'eal_common_devargs.c', 'eal_common_dev.c', - 'eal_common_errno.c', 'eal_common_fbarray.c', 'eal_common_hexdump.c', 'eal_common_hypervisor.c', - 'eal_common_launch.c', - 'eal_common_lcore.c', - 'eal_common_log.c', 'eal_common_memalloc.c', 'eal_common_memory.c', 'eal_common_memzone.c', @@ -38,6 +41,7 @@ common_sources = files( 'rte_reciprocal.c', 'rte_service.c' ) +endif # get architecture specific sources and objs eal_common_arch_sources = [] diff --git a/lib/meson.build b/lib/meson.build index 1fe1b4677..8d7711090 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -30,6 +30,10 @@ libraries = [ # flow_classify lib depends on pkt framework table lib 'flow_classify', 'bpf', 'telemetry'] +if host_machine.system() == 'windows' + libraries = ['kvargs','eal'] # override libraries for windows +endif + default_cflags = machine_args if cc.has_argument('-Wno-format-truncation') default_cflags += '-Wno-format-truncation' -- 2.17.1.windows.2 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id D1E51A05D3 for ; Tue, 26 Mar 2019 07:03:56 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5A39D4CBD; Tue, 26 Mar 2019 07:03:06 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 2DC5A5A for ; Tue, 26 Mar 2019 07:02:42 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Mar 2019 23:02:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,271,1549958400"; d="scan'208";a="125884634" Received: from anandraw-devbx.amr.corp.intel.com ([10.19.242.57]) by orsmga007.jf.intel.com with ESMTP; 25 Mar 2019 23:02:40 -0700 From: Anand Rawat To: dev@dpdk.org Cc: anand.rawat@intel.com, pallavi.kadam@intel.com, ranjit.menon@intel.com, jeffrey.b.shaw@intel.com, bruce.richardson@intel.com, thomas@monjalon.net Date: Mon, 25 Mar 2019 23:02:38 -0700 Message-Id: <20190326060238.9884-9-anand.rawat@intel.com> X-Mailer: git-send-email 2.17.1.windows.2 In-Reply-To: <20190326060238.9884-1-anand.rawat@intel.com> References: <20190306041634.12976-1-anand.rawat@intel.com> <20190326060238.9884-1-anand.rawat@intel.com> Subject: [dpdk-dev] [PATCH v5 8/8] build: meson changes to build on windows 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Content-Type: text/plain; charset="UTF-8" Message-ID: <20190326060238.wV0DXrjZC5-h2W03Uol_WOcDcB067zq_7fnLdIIiQ0U@z> Added meson workarounds to build helloworld on windows. Windows currently only supports kvargs and eal libraries. This change restricts the build flow to supported libraries only. Signed-off-by: Anand Rawat Signed-off-by: Pallavi Kadam Reviewed-by: Jeff Shaw Reviewed-by: Ranjit Menon --- app/meson.build | 6 +++++- buildtools/meson.build | 6 +++++- drivers/meson.build | 6 +++++- examples/meson.build | 6 +++++- kernel/windows/meson.build | 4 ++++ lib/librte_eal/common/meson.build | 14 +++++++++----- lib/meson.build | 4 ++++ 7 files changed, 37 insertions(+), 9 deletions(-) create mode 100644 kernel/windows/meson.build diff --git a/app/meson.build b/app/meson.build index aa353f657..e949624b7 100644 --- a/app/meson.build +++ b/app/meson.build @@ -1,5 +1,9 @@ # SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2017 Intel Corporation +# Copyright(c) 2017-2019 Intel Corporation + +if host_machine.system() == 'windows' + subdir_done() +endif apps = [ 'pdump', diff --git a/buildtools/meson.build b/buildtools/meson.build index cdd38ed24..0209bec8f 100644 --- a/buildtools/meson.build +++ b/buildtools/meson.build @@ -1,5 +1,9 @@ # SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2017 Intel Corporation +# Copyright(c) 2017-2019 Intel Corporation + +if host_machine.system() == 'windows' + subdir_done() +endif subdir('pmdinfogen') diff --git a/drivers/meson.build b/drivers/meson.build index 69d0556d3..33d1503f3 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -1,5 +1,9 @@ # SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2017 Intel Corporation +# Copyright(c) 2017-2019 Intel Corporation + +if host_machine.system() == 'windows' + subdir_done() +endif # Defines the order in which the drivers are buit. driver_classes = ['common', diff --git a/examples/meson.build b/examples/meson.build index af81c762e..bc1430fa8 100644 --- a/examples/meson.build +++ b/examples/meson.build @@ -35,7 +35,11 @@ foreach example: examples ext_deps = [execinfo] includes = [include_directories(example)] - deps = ['eal', 'mempool', 'net', 'mbuf', 'ethdev', 'cmdline'] + if host_machine.system() != 'windows' + deps = ['eal', 'mempool', 'net', 'mbuf', 'ethdev', 'cmdline'] + else + deps = ['eal'] # only supported lib on windows currently + endif subdir(example) if build diff --git a/kernel/windows/meson.build b/kernel/windows/meson.build new file mode 100644 index 000000000..c4a2a656a --- /dev/null +++ b/kernel/windows/meson.build @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2019 Intel Corporation + +# stub file for supporting windows logic in future release \ No newline at end of file diff --git a/lib/librte_eal/common/meson.build b/lib/librte_eal/common/meson.build index 5ecae0b1f..e9021c00c 100644 --- a/lib/librte_eal/common/meson.build +++ b/lib/librte_eal/common/meson.build @@ -1,23 +1,26 @@ # SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2017 Intel Corporation +# Copyright(c) 2017-2019 Intel Corporation eal_inc += include_directories('.', 'include', join_paths('include/arch', arch_subdir)) common_objs = [] +common_sources = files( + 'eal_common_errno.c', + 'eal_common_launch.c', + 'eal_common_lcore.c', + 'eal_common_log.c' + ) +if host_machine.system() != 'windows' common_sources = files( 'eal_common_bus.c', 'eal_common_cpuflags.c', 'eal_common_class.c', 'eal_common_devargs.c', 'eal_common_dev.c', - 'eal_common_errno.c', 'eal_common_fbarray.c', 'eal_common_hexdump.c', 'eal_common_hypervisor.c', - 'eal_common_launch.c', - 'eal_common_lcore.c', - 'eal_common_log.c', 'eal_common_memalloc.c', 'eal_common_memory.c', 'eal_common_memzone.c', @@ -38,6 +41,7 @@ common_sources = files( 'rte_reciprocal.c', 'rte_service.c' ) +endif # get architecture specific sources and objs eal_common_arch_sources = [] diff --git a/lib/meson.build b/lib/meson.build index 1fe1b4677..8d7711090 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -30,6 +30,10 @@ libraries = [ # flow_classify lib depends on pkt framework table lib 'flow_classify', 'bpf', 'telemetry'] +if host_machine.system() == 'windows' + libraries = ['kvargs','eal'] # override libraries for windows +endif + default_cflags = machine_args if cc.has_argument('-Wno-format-truncation') default_cflags += '-Wno-format-truncation' -- 2.17.1.windows.2