From: Marc-André Lureau <marcandre.lur...@redhat.com> Remove the manual build.
Moving projects to subprojects/ is required when using meson subproject(): https://mesonbuild.com/Subprojects.html#why-must-all-subprojects-be-inside-a-single-directory Tested-by: Joelle van Dyne <j...@getutm.app> Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- configure | 2 +- meson.build | 63 +++-------------------------------- .gitmodules | 4 +-- slirp => subprojects/libslirp | 0 4 files changed, 7 insertions(+), 62 deletions(-) rename slirp => subprojects/libslirp (100%) diff --git a/configure b/configure index 90c0807347..b59ec8bd39 100755 --- a/configure +++ b/configure @@ -5279,7 +5279,7 @@ fi case "$slirp" in auto | enabled | internal) # Simpler to always update submodule, even if not needed. - git_submodules="${git_submodules} slirp" + git_submodules="${git_submodules} subprojects/libslirp" ;; esac diff --git a/meson.build b/meson.build index 20d7035e44..3bf0686985 100644 --- a/meson.build +++ b/meson.build @@ -1513,7 +1513,7 @@ slirp_opt = 'disabled' if have_system slirp_opt = get_option('slirp') if slirp_opt in ['enabled', 'auto', 'system'] - have_internal = fs.exists(meson.current_source_dir() / 'slirp/meson.build') + have_internal = fs.exists(meson.current_source_dir() / 'subprojects/libslirp/meson.build') slirp = dependency('slirp', kwargs: static_kwargs, method: 'pkg-config', required: slirp_opt == 'system' or @@ -1527,64 +1527,9 @@ if have_system endif endif if slirp_opt == 'internal' - slirp_deps = [] - if targetos == 'windows' - slirp_deps = cc.find_library('iphlpapi') - endif - slirp_conf = configuration_data() - slirp_conf.set('SLIRP_MAJOR_VERSION', meson.project_version().split('.')[0]) - slirp_conf.set('SLIRP_MINOR_VERSION', meson.project_version().split('.')[1]) - slirp_conf.set('SLIRP_MICRO_VERSION', meson.project_version().split('.')[2]) - slirp_conf.set_quoted('SLIRP_VERSION_STRING', meson.project_version()) - slirp_cargs = ['-DG_LOG_DOMAIN="Slirp"'] - slirp_files = [ - 'slirp/src/arp_table.c', - 'slirp/src/bootp.c', - 'slirp/src/cksum.c', - 'slirp/src/dhcpv6.c', - 'slirp/src/dnssearch.c', - 'slirp/src/if.c', - 'slirp/src/ip6_icmp.c', - 'slirp/src/ip6_input.c', - 'slirp/src/ip6_output.c', - 'slirp/src/ip_icmp.c', - 'slirp/src/ip_input.c', - 'slirp/src/ip_output.c', - 'slirp/src/mbuf.c', - 'slirp/src/misc.c', - 'slirp/src/ncsi.c', - 'slirp/src/ndp_table.c', - 'slirp/src/sbuf.c', - 'slirp/src/slirp.c', - 'slirp/src/socket.c', - 'slirp/src/state.c', - 'slirp/src/stream.c', - 'slirp/src/tcp_input.c', - 'slirp/src/tcp_output.c', - 'slirp/src/tcp_subr.c', - 'slirp/src/tcp_timer.c', - 'slirp/src/tftp.c', - 'slirp/src/udp.c', - 'slirp/src/udp6.c', - 'slirp/src/util.c', - 'slirp/src/version.c', - 'slirp/src/vmstate.c', - ] - - configure_file( - input : 'slirp/src/libslirp-version.h.in', - output : 'libslirp-version.h', - configuration: slirp_conf) - - slirp_inc = include_directories('slirp', 'slirp/src') - libslirp = static_library('slirp', - build_by_default: false, - sources: slirp_files, - c_args: slirp_cargs, - include_directories: slirp_inc) - slirp = declare_dependency(link_with: libslirp, - dependencies: slirp_deps, - include_directories: slirp_inc) + libslirp = subproject('libslirp', + default_options: ['default_library=static']) + slirp = libslirp.get_variable('libslirp_dep') endif endif diff --git a/.gitmodules b/.gitmodules index 08b1b48a09..447bb3a4df 100644 --- a/.gitmodules +++ b/.gitmodules @@ -49,8 +49,8 @@ [submodule "roms/edk2"] path = roms/edk2 url = https://gitlab.com/qemu-project/edk2.git -[submodule "slirp"] - path = slirp +[submodule "subprojects/libslirp"] + path = subprojects/libslirp url = https://gitlab.com/qemu-project/libslirp.git [submodule "roms/opensbi"] path = roms/opensbi diff --git a/slirp b/subprojects/libslirp similarity index 100% rename from slirp rename to subprojects/libslirp -- 2.29.0