mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-28 15:33:42 +02:00
meson: sync programmer dependencies from Makefile
The Makefile recently gained finer-grained programmer dependency lists allowing it to track which enabled programmers assume various things about the system, like availability of libraries or the CPU architecture. This change implements the same changes in the Meson configuration file. This fixes a number of programmers to correctly build on non-x86 systems, because they were previously misclassified as dependent on x86 architectural features but actually only used PCI. BUG=none TEST=meson build succeeds on both x86 and ARM Signed-off-by: Peter Marheine <pmarheine@chromium.org> Change-Id: Iae93111fd48865f3fe8dd0eb637349b9a0c4affc Reviewed-on: https://review.coreboot.org/c/flashrom/+/61287 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org> Reviewed-by: Thomas Heijligen <src@posteo.de>
This commit is contained in:
parent
36f87376a3
commit
748943d774
109
meson.build
109
meson.build
@ -105,8 +105,48 @@ cargs = []
|
|||||||
deps = []
|
deps = []
|
||||||
srcs = []
|
srcs = []
|
||||||
|
|
||||||
need_raw_access = false
|
host_is_x86 = ['x86', 'x86_64'].contains(host_machine.cpu_family())
|
||||||
need_serial = false
|
|
||||||
|
need_serial = [
|
||||||
|
config_buspirate_spi, config_pony_spi, config_serprog,
|
||||||
|
].contains(true)
|
||||||
|
need_bitbang_spi = [
|
||||||
|
config_internal, config_nicintel_spi, config_ogp_spi,
|
||||||
|
config_pony_spi, config_rayer_spi,
|
||||||
|
].contains(true)
|
||||||
|
need_raw_mem_access = [
|
||||||
|
config_atapromise, config_drkaiser, config_gfxnvidia, config_internal,
|
||||||
|
config_it8212, config_nicintel, config_nicintel_eeprom, config_nicintel_spi,
|
||||||
|
config_ogp_spi, config_satamv, config_satasii,
|
||||||
|
].contains(true)
|
||||||
|
# Internal programmer uses x86 features if the system is x86
|
||||||
|
need_x86_msr = config_internal and host_is_x86
|
||||||
|
need_x86_port_io = [
|
||||||
|
config_atahpt, config_atapromise, config_internal and host_is_x86,
|
||||||
|
config_nic3com, config_nicnatsemi, config_nicrealtek, config_rayer_spi,
|
||||||
|
config_satamv,
|
||||||
|
].contains(true)
|
||||||
|
need_libpci = [
|
||||||
|
config_atahpt, config_atapromise, config_atavia,
|
||||||
|
config_drkaiser, config_gfxnvidia, config_internal, config_it8212,
|
||||||
|
config_nic3com, config_nicintel, config_nicintel_eeprom, config_nicintel_spi,
|
||||||
|
config_nicnatsemi, config_nicrealtek, config_ogp_spi, config_satamv,
|
||||||
|
config_satasii,
|
||||||
|
].contains(true)
|
||||||
|
need_libusb1 = [
|
||||||
|
config_ch341a_spi, config_dediprog, config_developerbox_spi,
|
||||||
|
config_digilent_spi, config_pickit2_spi, config_raiden_debug_spi,
|
||||||
|
config_stlinkv3_spi,
|
||||||
|
].contains(true)
|
||||||
|
need_libftdi1 = [
|
||||||
|
config_ft2232_spi, config_usbblaster_spi,
|
||||||
|
].contains(true)
|
||||||
|
need_libjaylink = config_jlink_spi
|
||||||
|
|
||||||
|
if (need_x86_port_io or need_x86_msr) and not host_is_x86
|
||||||
|
error('one or more enabled programmer only supports x86 and target is not')
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
# check for required symbols
|
# check for required symbols
|
||||||
if cc.has_function('clock_gettime')
|
if cc.has_function('clock_gettime')
|
||||||
@ -124,38 +164,25 @@ if get_option('usb')
|
|||||||
srcs += 'usbdev.c'
|
srcs += 'usbdev.c'
|
||||||
srcs += 'usb_device.c'
|
srcs += 'usb_device.c'
|
||||||
deps += dependency('libusb-1.0')
|
deps += dependency('libusb-1.0')
|
||||||
else
|
elif need_libusb1
|
||||||
config_ch341a_spi = false
|
error('usb is disabled but one or more enabled programmer requires USB access')
|
||||||
config_dediprog = false
|
|
||||||
config_digilent_spi = false
|
|
||||||
config_developerbox_spi = false
|
|
||||||
config_pickit2_spi = false
|
|
||||||
config_raiden_debug_spi = false
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# some programmers require libpci
|
# some programmers require libpci
|
||||||
if get_option('pciutils')
|
if get_option('pciutils')
|
||||||
srcs += 'pcidev.c'
|
srcs += 'pcidev.c'
|
||||||
deps += dependency('libpci')
|
deps += dependency('libpci')
|
||||||
need_raw_access = true
|
|
||||||
cargs += '-DNEED_PCI=1'
|
cargs += '-DNEED_PCI=1'
|
||||||
else
|
elif need_libpci
|
||||||
config_atahpt = false
|
error('pciutils is disabled but one or more enabled programmer requires PCI access')
|
||||||
config_atapromise = false
|
endif
|
||||||
config_atavia = false
|
|
||||||
config_drkaiser = false
|
if need_libftdi1
|
||||||
config_gfxnvidia = false
|
deps += dependency('libftdi1')
|
||||||
config_internal = false
|
endif
|
||||||
config_it8212 = false
|
|
||||||
config_nic3com = false
|
if need_libjaylink
|
||||||
config_nicintel_eeprom = false
|
deps += dependency('libjaylink')
|
||||||
config_nicintel = false
|
|
||||||
config_nicintel_spi = false
|
|
||||||
config_nicnatsemi = false
|
|
||||||
config_nicrealtek = false
|
|
||||||
config_ogp_spi = false
|
|
||||||
config_satamv = false
|
|
||||||
config_satasii = false
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# set defines for configured programmers
|
# set defines for configured programmers
|
||||||
@ -174,7 +201,6 @@ endif
|
|||||||
if config_buspirate_spi
|
if config_buspirate_spi
|
||||||
srcs += 'buspirate_spi.c'
|
srcs += 'buspirate_spi.c'
|
||||||
cargs += '-DCONFIG_BUSPIRATE_SPI=1'
|
cargs += '-DCONFIG_BUSPIRATE_SPI=1'
|
||||||
need_serial = true
|
|
||||||
endif
|
endif
|
||||||
if config_ch341a_spi
|
if config_ch341a_spi
|
||||||
srcs += 'ch341a_spi.c'
|
srcs += 'ch341a_spi.c'
|
||||||
@ -195,7 +221,6 @@ endif
|
|||||||
if config_jlink_spi
|
if config_jlink_spi
|
||||||
srcs += 'jlink_spi.c'
|
srcs += 'jlink_spi.c'
|
||||||
cargs += '-DCONFIG_JLINK_SPI=1'
|
cargs += '-DCONFIG_JLINK_SPI=1'
|
||||||
deps += dependency('libjaylink')
|
|
||||||
endif
|
endif
|
||||||
if config_drkaiser
|
if config_drkaiser
|
||||||
srcs += 'drkaiser.c'
|
srcs += 'drkaiser.c'
|
||||||
@ -208,7 +233,6 @@ endif
|
|||||||
if config_ft2232_spi
|
if config_ft2232_spi
|
||||||
srcs += 'ft2232_spi.c'
|
srcs += 'ft2232_spi.c'
|
||||||
cargs += '-DCONFIG_FT2232_SPI=1'
|
cargs += '-DCONFIG_FT2232_SPI=1'
|
||||||
deps += dependency('libftdi1')
|
|
||||||
cargs += '-DHAVE_FT232H=1'
|
cargs += '-DHAVE_FT232H=1'
|
||||||
endif
|
endif
|
||||||
if config_gfxnvidia
|
if config_gfxnvidia
|
||||||
@ -225,7 +249,7 @@ if config_internal
|
|||||||
srcs += 'chipset_enable.c'
|
srcs += 'chipset_enable.c'
|
||||||
srcs += 'internal.c'
|
srcs += 'internal.c'
|
||||||
srcs += 'processor_enable.c'
|
srcs += 'processor_enable.c'
|
||||||
if target_machine.cpu_family() == 'x86' or target_machine.cpu_family() == 'x86_64'
|
if host_is_x86
|
||||||
srcs += 'amd_imc.c'
|
srcs += 'amd_imc.c'
|
||||||
srcs += 'dmi.c'
|
srcs += 'dmi.c'
|
||||||
srcs += 'ichspi.c'
|
srcs += 'ichspi.c'
|
||||||
@ -235,7 +259,6 @@ if config_internal
|
|||||||
srcs += 'sb600spi.c'
|
srcs += 'sb600spi.c'
|
||||||
srcs += 'wbsio_spi.c'
|
srcs += 'wbsio_spi.c'
|
||||||
endif
|
endif
|
||||||
config_bitbang_spi = true
|
|
||||||
cargs += '-DCONFIG_INTERNAL=1'
|
cargs += '-DCONFIG_INTERNAL=1'
|
||||||
if get_option('config_internal_dmi')
|
if get_option('config_internal_dmi')
|
||||||
# Use internal DMI/SMBIOS decoder by default instead of relying on dmidecode.
|
# Use internal DMI/SMBIOS decoder by default instead of relying on dmidecode.
|
||||||
@ -272,7 +295,6 @@ if config_nicintel_eeprom
|
|||||||
endif
|
endif
|
||||||
if config_nicintel_spi
|
if config_nicintel_spi
|
||||||
srcs += 'nicintel_spi.c'
|
srcs += 'nicintel_spi.c'
|
||||||
config_bitbang_spi = true
|
|
||||||
cargs += '-DCONFIG_NICINTEL_SPI=1'
|
cargs += '-DCONFIG_NICINTEL_SPI=1'
|
||||||
endif
|
endif
|
||||||
if config_nicnatsemi
|
if config_nicnatsemi
|
||||||
@ -284,7 +306,6 @@ if config_nicrealtek
|
|||||||
cargs += '-DCONFIG_NICREALTEK=1'
|
cargs += '-DCONFIG_NICREALTEK=1'
|
||||||
endif
|
endif
|
||||||
if config_ogp_spi
|
if config_ogp_spi
|
||||||
config_bitbang_spi = true
|
|
||||||
srcs += 'ogp_spi.c'
|
srcs += 'ogp_spi.c'
|
||||||
cargs += '-DCONFIG_OGP_SPI=1'
|
cargs += '-DCONFIG_OGP_SPI=1'
|
||||||
endif
|
endif
|
||||||
@ -294,14 +315,10 @@ if config_pickit2_spi
|
|||||||
endif
|
endif
|
||||||
if config_pony_spi
|
if config_pony_spi
|
||||||
srcs += 'pony_spi.c'
|
srcs += 'pony_spi.c'
|
||||||
need_serial = true
|
|
||||||
config_bitbang_spi = true
|
|
||||||
cargs += '-DCONFIG_PONY_SPI=1'
|
cargs += '-DCONFIG_PONY_SPI=1'
|
||||||
endif
|
endif
|
||||||
if config_rayer_spi
|
if config_rayer_spi
|
||||||
srcs += 'rayer_spi.c'
|
srcs += 'rayer_spi.c'
|
||||||
config_bitbang_spi = true
|
|
||||||
need_raw_access = true
|
|
||||||
cargs += '-DCONFIG_RAYER_SPI=1'
|
cargs += '-DCONFIG_RAYER_SPI=1'
|
||||||
endif
|
endif
|
||||||
if config_satamv
|
if config_satamv
|
||||||
@ -315,7 +332,6 @@ endif
|
|||||||
if config_serprog
|
if config_serprog
|
||||||
srcs += 'serprog.c'
|
srcs += 'serprog.c'
|
||||||
cargs += '-DCONFIG_SERPROG=1'
|
cargs += '-DCONFIG_SERPROG=1'
|
||||||
need_serial = true
|
|
||||||
endif
|
endif
|
||||||
if config_usbblaster_spi
|
if config_usbblaster_spi
|
||||||
srcs += 'usbblaster_spi.c'
|
srcs += 'usbblaster_spi.c'
|
||||||
@ -335,7 +351,7 @@ if config_realtek_mst_i2c_spi
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# bitbanging SPI infrastructure
|
# bitbanging SPI infrastructure
|
||||||
if config_bitbang_spi
|
if need_bitbang_spi
|
||||||
srcs += 'bitbang_spi.c'
|
srcs += 'bitbang_spi.c'
|
||||||
cargs += '-DCONFIG_BITBANG_SPI=1'
|
cargs += '-DCONFIG_BITBANG_SPI=1'
|
||||||
endif
|
endif
|
||||||
@ -344,14 +360,19 @@ if host_machine.system() == 'linux'
|
|||||||
srcs += 'i2c_helper_linux.c'
|
srcs += 'i2c_helper_linux.c'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# raw memory, MSR or PCI port I/O access
|
if need_raw_mem_access
|
||||||
if need_raw_access
|
|
||||||
srcs += 'hwaccess_x86_io.c'
|
|
||||||
srcs += 'hwaccess_x86_msr.c'
|
|
||||||
srcs += 'hwaccess_physmap.c'
|
srcs += 'hwaccess_physmap.c'
|
||||||
|
endif
|
||||||
|
|
||||||
|
if need_x86_port_io
|
||||||
|
srcs += 'hwaccess_x86_io.c'
|
||||||
cargs += '-D__FLASHROM_HAVE_OUTB__=1'
|
cargs += '-D__FLASHROM_HAVE_OUTB__=1'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if need_x86_msr
|
||||||
|
srcs += 'hwaccess_x86_msr.c'
|
||||||
|
endif
|
||||||
|
|
||||||
# raw serial IO
|
# raw serial IO
|
||||||
if need_serial
|
if need_serial
|
||||||
srcs += 'serial.c'
|
srcs += 'serial.c'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user