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 <anand.ra...@intel.com> Signed-off-by: Pallavi Kadam <pallavi.ka...@intel.com> Reviewed-by: Jeff Shaw <jeffrey.b.s...@intel.com> Reviewed-by: Ranjit Menon <ranjit.me...@intel.com> --- app/meson.build | 6 +++++- buildtools/meson.build | 6 +++++- drivers/meson.build | 6 +++++- examples/meson.build | 8 ++++++-- kernel/windows/meson.build | 4 ++++ lib/librte_eal/windows/eal/meson.build | 6 ++++++ lib/meson.build | 4 ++++ 7 files changed, 35 insertions(+), 5 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 8c76a5659..7520a16e3 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. dpdk_driver_classes = ['common', diff --git a/examples/meson.build b/examples/meson.build index af81c762e..015b26f73 100644 --- a/examples/meson.build +++ b/examples/meson.build @@ -1,5 +1,5 @@ # SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2017 Intel Corporation +# Copyright(c) 2017-2019 Intel Corporation driver_libs = [] if get_option('default_library') == 'static' @@ -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..45adcd138 --- /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 diff --git a/lib/librte_eal/windows/eal/meson.build b/lib/librte_eal/windows/eal/meson.build index 6bc577e5c..e9b7138c5 100644 --- a/lib/librte_eal/windows/eal/meson.build +++ b/lib/librte_eal/windows/eal/meson.build @@ -5,6 +5,12 @@ eal_inc += include_directories('include') env_objs = [] env_headers = [] +common_sources = files( + '../../common/eal_common_errno.c', + '../../common/eal_common_launch.c', + '../../common/eal_common_lcore.c', + '../../common/eal_common_log.c' +) env_sources = files('eal.c', 'eal_debug.c', 'eal_lcore.c', diff --git a/lib/meson.build b/lib/meson.build index a7b5a9194..c3289f885 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'] # only supported 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