You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/sys-apps/flashrom/files/flashrom-9999_meson-fixes.p...

256 lines
6.5 KiB

--- a/meson.build
+++ b/meson.build
@@ -2,7 +2,7 @@ project('flashromutils', 'c',
version : run_command('util/getversion.sh', '-v').stdout().strip(),
license : 'GPL-2.0',
meson_version : '>=0.50.0',
- default_options : ['warning_level=2', 'c_std=c99'],
+ default_options : ['warning_level=2', 'c_std=gnu99'],
)
# libtool versioning
@@ -74,6 +74,10 @@ cargs = []
deps = []
srcs = []
+config_bitbang_spi = false
+need_libftdi = false
+need_libpci = false
+need_libusb = false
need_raw_access = false
need_serial = false
@@ -88,27 +92,25 @@ if cc.check_header('sys/utsname.h')
add_project_arguments('-DHAVE_UTSNAME=1', language : 'c')
endif
-# some programmers require libusb
-if get_option('usb')
- srcs += 'usbdev.c'
- srcs += 'usb_device.c'
- deps += dependency('libusb-1.0')
-else
+if get_option('no_libftdi_programmers')
+ message('Disabling ALL libftdi-based programmers')
+ config_ft2232_spi = false
+ config_usbblaster_spi = false
+endif
+
+if get_option('no_libusb_programmers')
+ message('Disabling ALL libusb-based programmers')
config_ch341a_spi = false
config_dediprog = false
config_digilent_spi = false
config_developerbox_spi = false
config_pickit2_spi = false
config_raiden_debug_spi = false
+ config_stlinkv3_spi = false
endif
-# some programmers require libpci
-if get_option('pciutils')
- srcs += 'pcidev.c'
- deps += dependency('libpci')
- need_raw_access = true
- cargs += '-DNEED_PCI=1'
-else
+if get_option('no_libpci_programmers')
+ message('Disabling ALL libpci-based programmers')
config_atahpt = false
config_atapromise = false
config_atavia = false
@@ -130,14 +132,17 @@ endif
# set defines for configured programmers
if config_atahpt
srcs += 'atahpt.c'
+ need_libpci = true
cargs += '-DCONFIG_ATAHPT=1'
endif
if config_atapromise
srcs += 'atapromise.c'
+ need_libpci = true
cargs += '-DCONFIG_ATAPROMISE=1'
endif
if config_atavia
srcs += 'atavia.c'
+ need_libpci = true
cargs += '-DCONFIG_ATAVIA=1'
endif
if config_buspirate_spi
@@ -147,18 +152,22 @@ if config_buspirate_spi
endif
if config_ch341a_spi
srcs += 'ch341a_spi.c'
+ need_libusb = true
cargs += '-DCONFIG_CH341A_SPI=1'
endif
if config_dediprog
srcs += 'dediprog.c'
+ need_libusb = true
cargs += '-DCONFIG_DEDIPROG=1'
endif
if config_developerbox_spi
srcs += 'developerbox_spi.c'
+ need_libusb = true
cargs += '-DCONFIG_DEVELOPERBOX_SPI=1'
endif
if config_digilent_spi
srcs += 'digilent_spi.c'
+ need_libusb = true
cargs += '-DCONFIG_DIGILENT_SPI=1'
endif
if config_jlink_spi
@@ -168,6 +177,7 @@ if config_jlink_spi
endif
if config_drkaiser
srcs += 'drkaiser.c'
+ need_libpci = true
cargs += '-DCONFIG_DRKAISER=1'
endif
if config_dummy
@@ -176,16 +186,18 @@ if config_dummy
endif
if config_ft2232_spi
srcs += 'ft2232_spi.c'
+ need_libftdi = true
cargs += '-DCONFIG_FT2232_SPI=1'
- deps += dependency('libftdi1')
cargs += '-DHAVE_FT232H=1'
endif
if config_gfxnvidia
srcs += 'gfxnvidia.c'
+ need_libpci = true
cargs += '-DCONFIG_GFXNVIDIA=1'
endif
if config_raiden_debug_spi
srcs += 'raiden_debug_spi.c'
+ need_libusb = true
cargs += '-DCONFIG_RAIDEN_DEBUG_SPI=1'
endif
if config_internal
@@ -204,6 +216,7 @@ if config_internal
srcs += 'sb600spi.c'
srcs += 'wbsio_spi.c'
endif
+ need_libpci = true
config_bitbang_spi = true
cargs += '-DCONFIG_INTERNAL=1'
if get_option('config_internal_dmi')
@@ -217,6 +230,7 @@ if config_ene_lpc
endif
if config_it8212
srcs += 'it8212.c'
+ need_libpci = true
cargs += '-DCONFIG_IT8212=1'
endif
if config_linux_mtd
@@ -237,36 +251,44 @@ if config_mstarddc_spi
endif
if config_nic3com
srcs += 'nic3com.c'
+ need_libpci = true
cargs += '-DCONFIG_NIC3COM=1'
endif
if config_nicintel
srcs += 'nicintel.c'
+ need_libpci = true
cargs += '-DCONFIG_NICINTEL=1'
endif
if config_nicintel_eeprom
srcs += 'nicintel_eeprom.c'
+ need_libpci = true
cargs += '-DCONFIG_NICINTEL_EEPROM=1'
endif
if config_nicintel_spi
srcs += 'nicintel_spi.c'
+ need_libpci = true
config_bitbang_spi = true
cargs += '-DCONFIG_NICINTEL_SPI=1'
endif
if config_nicnatsemi
srcs += 'nicnatsemi.c'
+ need_libpci = true
cargs += '-DCONFIG_NICNATSEMI=1'
endif
if config_nicrealtek
srcs += 'nicrealtek.c'
+ need_libpci = true
cargs += '-DCONFIG_NICREALTEK=1'
endif
if config_ogp_spi
config_bitbang_spi = true
srcs += 'ogp_spi.c'
+ need_libpci = true
cargs += '-DCONFIG_OGP_SPI=1'
endif
if config_pickit2_spi
srcs += 'pickit2_spi.c'
+ need_libusb = true
cargs += '-DCONFIG_PICKIT2_SPI=1'
endif
if config_pony_spi
@@ -283,10 +305,12 @@ if config_rayer_spi
endif
if config_satamv
srcs += 'satamv.c'
+ need_libpci = true
cargs += '-DCONFIG_SATAMV=1'
endif
if config_satasii
srcs += 'satasii.c'
+ need_libpci = true
cargs += '-DCONFIG_SATASII=1'
endif
if config_serprog
@@ -296,10 +320,12 @@ if config_serprog
endif
if config_usbblaster_spi
srcs += 'usbblaster_spi.c'
+ need_libftdi = true
cargs += '-DCONFIG_USBBLASTER_SPI=1'
endif
if config_stlinkv3_spi
srcs += 'stlinkv3_spi.c'
+ need_libusb = true
cargs += '-DCONFIG_STLINKV3_SPI=1'
endif
if config_lspcon_i2c_spi
@@ -322,6 +348,26 @@ if host_machine.system() == 'linux'
cargs += '-DCONFIG_I2C_SUPPORT=1'
endif
+# some programmers require libftdi
+if need_libftdi
+ deps += dependency('libftdi1')
+endif
+
+# some programmers require libpci
+if need_libpci
+ srcs += 'pcidev.c'
+ deps += dependency('libpci')
+ need_raw_access = true
+ cargs += '-DNEED_PCI=1'
+endif
+
+# some programmers require libusb
+if need_libusb
+ srcs += 'usbdev.c'
+ srcs += 'usb_device.c'
+ deps += dependency('libusb-1.0')
+endif
+
# raw memory, MSR or PCI port I/O access
if need_raw_access
srcs += 'hwaccess.c'
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,5 +1,6 @@
-option('pciutils', type : 'boolean', value : true, description : 'use pciutils')
-option('usb', type : 'boolean', value : true, description : 'use libusb1')
+option('no_libftdi_programmers', type : 'boolean', value : false, description : 'disable all programmers depending on libftdi')
+option('no_libpci_programmers', type : 'boolean', value : false, description : 'disable all programmers depending on libpci')
+option('no_libusb_programmers', type : 'boolean', value : false, description : 'disable all programmers depending on libusb')
option('print_wiki', type : 'boolean', value : true, description : 'Print Wiki')
option('config_atahpt', type : 'boolean', value : false, description : 'Highpoint (HPT) ATA/RAID controllers')