[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] RFC: build-sys: drop dtc submodule
From: |
marcandre . lureau |
Subject: |
[PATCH] RFC: build-sys: drop dtc submodule |
Date: |
Wed, 25 Aug 2021 16:43:09 +0400 |
From: Marc-André Lureau <marcandre.lureau@redhat.com>
DTC is widely available, we could consider to stop bundling it.
curl -s 'https://repology.org/api/v1/project/dtc' | \
jq -r 'group_by(.repo) | .[] | "\(.[0].repo): \(map(.version))"' | \
egrep -i
'ubuntu_18|debian_old|rhel|centos|bsd|suse_leap_15_2|sles|homebrew|pkgsrc'
centos_8: ["1.6.0","1.6.0"]
debian_oldstable: ["1.4.7"]
freebsd: ["1.6.0"]
homebrew: ["1.6.1"]
openbsd: ["1.6.0"]
opensuse_leap_15_2: ["1.5.1","1.5.1"]
pkgsrc_current: ["1.4.7"]
ubuntu_18_04: ["1.4.5"]
MinGW package on Fedora pending review.
(https://bugzilla.redhat.com/show_bug.cgi?id=1997511)
Debian is lacking the MinGW package.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
configure | 22 +-------------------
meson.build | 53 ++++++++---------------------------------------
.gitmodules | 3 ---
dtc | 1 -
meson_options.txt | 3 ---
5 files changed, 10 insertions(+), 72 deletions(-)
delete mode 160000 dtc
diff --git a/configure b/configure
index 9a79a004d7..04050c0426 100755
--- a/configure
+++ b/configure
@@ -296,7 +296,6 @@ curl="auto"
iconv="auto"
curses="auto"
docs="auto"
-fdt="auto"
netmap="no"
sdl="auto"
sdl_image="auto"
@@ -1212,14 +1211,6 @@ for opt do
;;
--enable-curl) curl="enabled"
;;
- --disable-fdt) fdt="disabled"
- ;;
- --enable-fdt) fdt="enabled"
- ;;
- --enable-fdt=git) fdt="internal"
- ;;
- --enable-fdt=system) fdt="system"
- ;;
--disable-linux-aio) linux_aio="no"
;;
--enable-linux-aio) linux_aio="yes"
@@ -1890,7 +1881,6 @@ disabled with --disable-FEATURE, default is enabled if
available
brlapi BrlAPI (Braile)
curl curl connectivity
membarrier membarrier system call (for Linux 4.14+ or Windows)
- fdt fdt device tree
kvm KVM acceleration support
hax HAX acceleration support
hvf Hypervisor.framework acceleration support
@@ -3439,16 +3429,6 @@ if compile_prog "" "" ; then
iovec=yes
fi
-##########################################
-# fdt probe
-
-case "$fdt" in
- auto | enabled | internal)
- # Simpler to always update submodule, even if not needed.
- git_submodules="${git_submodules} dtc"
- ;;
-esac
-
##########################################
# opengl probe (for sdl2, gtk)
@@ -5199,7 +5179,7 @@ if test "$skip_meson" = no; then
-Dlibusb=$libusb -Dsmartcard=$smartcard -Dusb_redir=$usb_redir
-Dvte=$vte \
-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg
-Dvnc_png=$vnc_png \
-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f
-Dvirtiofsd=$virtiofsd \
- -Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt -Dbrlapi=$brlapi \
+ -Dcapstone=$capstone -Dslirp=$slirp -Dbrlapi=$brlapi \
-Dcurl=$curl -Dglusterfs=$glusterfs -Dbzip2=$bzip2
-Dlibiscsi=$libiscsi \
-Dlibnfs=$libnfs -Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\
-Drbd=$rbd -Dlzo=$lzo -Dsnappy=$snappy -Dlzfse=$lzfse
-Dlibxml2=$libxml2 \
diff --git a/meson.build b/meson.build
index b3e7ec0e92..1b30dd7bdc 100644
--- a/meson.build
+++ b/meson.build
@@ -1897,50 +1897,15 @@ if get_option('cfi') and slirp_opt == 'system'
endif
fdt = not_found
-fdt_opt = get_option('fdt')
-if have_system
- if fdt_opt in ['enabled', 'auto', 'system']
- have_internal = fs.exists(meson.current_source_dir() /
'dtc/libfdt/Makefile.libfdt')
- fdt = cc.find_library('fdt', kwargs: static_kwargs,
- required: fdt_opt == 'system' or
- fdt_opt == 'enabled' and not have_internal)
- if fdt.found() and cc.links('''
- #include <libfdt.h>
- #include <libfdt_env.h>
- int main(void) { fdt_check_full(NULL, 0); return 0; }''',
- dependencies: fdt)
- fdt_opt = 'system'
- elif have_internal
- fdt_opt = 'internal'
- else
- fdt_opt = 'disabled'
+if fdt_required.length() > 0
+ fdt = cc.find_library('fdt', kwargs: static_kwargs)
+ if not fdt.found() or not cc.links('''
+#include <libfdt.h>
+#include <libfdt_env.h>
+int main(void) { fdt_first_subnode(NULL, 0); return 0; }''',
+ dependencies: fdt)
+ error('fdt >= 1.4.2 required by targets ' + ', '.join(fdt_required))
endif
- endif
- if fdt_opt == 'internal'
- fdt_files = files(
- 'dtc/libfdt/fdt.c',
- 'dtc/libfdt/fdt_ro.c',
- 'dtc/libfdt/fdt_wip.c',
- 'dtc/libfdt/fdt_sw.c',
- 'dtc/libfdt/fdt_rw.c',
- 'dtc/libfdt/fdt_strerror.c',
- 'dtc/libfdt/fdt_empty_tree.c',
- 'dtc/libfdt/fdt_addresses.c',
- 'dtc/libfdt/fdt_overlay.c',
- 'dtc/libfdt/fdt_check.c',
- )
-
- fdt_inc = include_directories('dtc/libfdt')
- libfdt = static_library('fdt',
- build_by_default: false,
- sources: fdt_files,
- include_directories: fdt_inc)
- fdt = declare_dependency(link_with: libfdt,
- include_directories: fdt_inc)
- endif
-endif
-if not fdt.found() and fdt_required.length() > 0
- error('fdt not available but required by targets ' + ', '.join(fdt_required))
endif
config_host_data.set('CONFIG_CAPSTONE', capstone.found())
@@ -3069,7 +3034,7 @@ summary_info += {'Linux io_uring support':
linux_io_uring.found()}
summary_info += {'ATTR/XATTR support': libattr.found()}
summary_info += {'RDMA support': config_host.has_key('CONFIG_RDMA')}
summary_info += {'PVRDMA support': config_host.has_key('CONFIG_PVRDMA')}
-summary_info += {'fdt support': fdt_opt == 'disabled' ? false : fdt_opt}
+summary_info += {'fdt support': fdt.found()}
summary_info += {'libcap-ng support': libcap_ng.found()}
summary_info += {'bpf support': libbpf.found()}
# TODO: add back protocol and server version
diff --git a/.gitmodules b/.gitmodules
index 08b1b48a09..582303698b 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -16,9 +16,6 @@
[submodule "roms/sgabios"]
path = roms/sgabios
url = https://gitlab.com/qemu-project/sgabios.git
-[submodule "dtc"]
- path = dtc
- url = https://gitlab.com/qemu-project/dtc.git
[submodule "roms/u-boot"]
path = roms/u-boot
url = https://gitlab.com/qemu-project/u-boot.git
diff --git a/dtc b/dtc
deleted file mode 160000
index 85e5d83984..0000000000
--- a/dtc
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 85e5d839847af54efab170f2b1331b2a6421e647
diff --git a/meson_options.txt b/meson_options.txt
index a9a9b8f4c6..8ba5433356 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -152,6 +152,3 @@ option('capstone', type: 'combo', value: 'auto',
option('slirp', type: 'combo', value: 'auto',
choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
description: 'Whether and how to find the slirp library')
-option('fdt', type: 'combo', value: 'auto',
- choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],
- description: 'Whether and how to find the libfdt library')
--
2.33.0.rc2
- [PATCH] RFC: build-sys: drop dtc submodule,
marcandre . lureau <=
- Re: [PATCH] RFC: build-sys: drop dtc submodule, Mark Cave-Ayland, 2021/08/25
- Re: [PATCH] RFC: build-sys: drop dtc submodule, Philippe Mathieu-Daudé, 2021/08/25
- Re: [PATCH] RFC: build-sys: drop dtc submodule, Peter Maydell, 2021/08/25
- Re: [PATCH] RFC: build-sys: drop dtc submodule, Marc-André Lureau, 2021/08/25
- Re: [PATCH] RFC: build-sys: drop dtc submodule, Peter Maydell, 2021/08/25
- Re: [PATCH] RFC: build-sys: drop dtc submodule, Marc-André Lureau, 2021/08/25
- Re: [PATCH] RFC: build-sys: drop dtc submodule, David Gibson, 2021/08/25
- Re: [PATCH] RFC: build-sys: drop dtc submodule, Marc-André Lureau, 2021/08/26
- Re: [PATCH] RFC: build-sys: drop dtc submodule, Philippe Mathieu-Daudé, 2021/08/26
- Re: [PATCH] RFC: build-sys: drop dtc submodule, David Gibson, 2021/08/26