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.
290 lines
7.8 KiB
290 lines
7.8 KiB
--- a/meson.build
|
|
+++ b/meson.build
|
|
@@ -2,7 +2,7 @@
|
|
version : run_command('util/getversion.sh', '-v').stdout().strip(),
|
|
license : 'GPL-2.0',
|
|
meson_version : '>=0.47.0',
|
|
- default_options : ['warning_level=2', 'c_std=c99'],
|
|
+ default_options : ['warning_level=2', 'c_std=gnu99'],
|
|
)
|
|
|
|
# libtool versioning
|
|
@@ -44,6 +44,7 @@
|
|
config_gfxnvidia = get_option('config_gfxnvidia')
|
|
config_internal = get_option('config_internal')
|
|
config_it8212 = get_option('config_it8212')
|
|
+config_jlink_spi = get_option('config_jlink_spi')
|
|
config_linux_mtd = get_option('config_linux_mtd')
|
|
config_linux_spi = get_option('config_linux_spi')
|
|
config_mstarddc_spi = get_option('config_mstarddc_spi')
|
|
@@ -67,6 +68,10 @@
|
|
deps = []
|
|
srcs = []
|
|
|
|
+config_bitbang_spi = false
|
|
+need_libftdi = false
|
|
+need_libpci = false
|
|
+need_libusb = false
|
|
need_raw_access = false
|
|
need_serial = false
|
|
|
|
@@ -81,24 +86,24 @@
|
|
add_project_arguments('-DHAVE_UTSNAME=1', language : 'c')
|
|
endif
|
|
|
|
-# some programmers require libusb
|
|
-if get_option('usb')
|
|
- srcs += 'usbdev.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_digilent_spi = false
|
|
config_pickit2_spi = false
|
|
+ config_stlinkv3_spi = false
|
|
endif
|
|
|
|
-# some programmers require libpci
|
|
-if get_option('pciutils')
|
|
- srcs += 'pcidev.c'
|
|
- deps += dependency('libpci')
|
|
- 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
|
|
@@ -121,14 +126,20 @@
|
|
# set defines for configured programmers
|
|
if config_atahpt
|
|
srcs += 'atahpt.c'
|
|
+ need_libpci = true
|
|
+ need_raw_access = true
|
|
cargs += '-DCONFIG_ATAHPT=1'
|
|
endif
|
|
if config_atapromise
|
|
srcs += 'atapromise.c'
|
|
+ need_libpci = true
|
|
+ need_raw_access = true
|
|
cargs += '-DCONFIG_ATAPROMISE=1'
|
|
endif
|
|
if config_atavia
|
|
srcs += 'atavia.c'
|
|
+ need_libpci = true
|
|
+ need_raw_access = true
|
|
cargs += '-DCONFIG_ATAVIA=1'
|
|
endif
|
|
if config_buspirate_spi
|
|
@@ -138,22 +149,28 @@
|
|
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_drkaiser
|
|
srcs += 'drkaiser.c'
|
|
+ need_libpci = true
|
|
+ need_raw_access = true
|
|
cargs += '-DCONFIG_DRKAISER=1'
|
|
endif
|
|
if config_dummy
|
|
@@ -162,12 +179,14 @@
|
|
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
|
|
+ need_raw_access = true
|
|
cargs += '-DCONFIG_GFXNVIDIA=1'
|
|
endif
|
|
if config_internal
|
|
@@ -186,6 +205,8 @@
|
|
srcs += 'sb600spi.c'
|
|
srcs += 'wbsio_spi.c'
|
|
endif
|
|
+ need_libpci = true
|
|
+ need_raw_access = true
|
|
config_bitbang_spi = true
|
|
cargs += '-DCONFIG_INTERNAL=1'
|
|
if get_option('config_internal_dmi')
|
|
@@ -195,6 +216,8 @@
|
|
endif
|
|
if config_it8212
|
|
srcs += 'it8212.c'
|
|
+ need_libpci = true
|
|
+ need_raw_access = true
|
|
cargs += '-DCONFIG_IT8212=1'
|
|
endif
|
|
if config_linux_mtd
|
|
@@ -211,36 +234,51 @@
|
|
endif
|
|
if config_nic3com
|
|
srcs += 'nic3com.c'
|
|
+ need_libpci = true
|
|
+ need_raw_access = true
|
|
cargs += '-DCONFIG_NIC3COM=1'
|
|
endif
|
|
if config_nicintel
|
|
srcs += 'nicintel.c'
|
|
+ need_libpci = true
|
|
+ need_raw_access = true
|
|
cargs += '-DCONFIG_NICINTEL=1'
|
|
endif
|
|
if config_nicintel_eeprom
|
|
srcs += 'nicintel_eeprom.c'
|
|
+ need_libpci = true
|
|
+ need_raw_access = true
|
|
cargs += '-DCONFIG_NICINTEL_EEPROM=1'
|
|
endif
|
|
if config_nicintel_spi
|
|
srcs += 'nicintel_spi.c'
|
|
+ need_libpci = true
|
|
+ need_raw_access = true
|
|
config_bitbang_spi = true
|
|
cargs += '-DCONFIG_NICINTEL_SPI=1'
|
|
endif
|
|
if config_nicnatsemi
|
|
srcs += 'nicnatsemi.c'
|
|
+ need_libpci = true
|
|
+ need_raw_access = true
|
|
cargs += '-DCONFIG_NICNATSEMI=1'
|
|
endif
|
|
if config_nicrealtek
|
|
srcs += 'nicrealtek.c'
|
|
+ need_libpci = true
|
|
+ need_raw_access = true
|
|
cargs += '-DCONFIG_NICREALTEK=1'
|
|
endif
|
|
if config_ogp_spi
|
|
config_bitbang_spi = true
|
|
srcs += 'ogp_spi.c'
|
|
+ need_libpci = true
|
|
+ need_raw_access = 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
|
|
@@ -252,15 +290,20 @@
|
|
if config_rayer_spi
|
|
srcs += 'rayer_spi.c'
|
|
config_bitbang_spi = true
|
|
+ need_libpci = true
|
|
need_raw_access = true
|
|
cargs += '-DCONFIG_RAYER_SPI=1'
|
|
endif
|
|
if config_satamv
|
|
srcs += 'satamv.c'
|
|
+ need_libpci = true
|
|
+ need_raw_access = true
|
|
cargs += '-DCONFIG_SATAMV=1'
|
|
endif
|
|
if config_satasii
|
|
srcs += 'satasii.c'
|
|
+ need_libpci = true
|
|
+ need_raw_access = true
|
|
cargs += '-DCONFIG_SATASII=1'
|
|
endif
|
|
if config_serprog
|
|
@@ -270,12 +313,19 @@
|
|
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_jlink_spi
|
|
+ srcs += 'jlink_spi.c'
|
|
+ cargs += '-DCONFIG_JLINK_SPI=1'
|
|
+ deps += dependency('libjaylink')
|
|
+endif
|
|
|
|
# bitbanging SPI infrastructure
|
|
if config_bitbang_spi
|
|
@@ -296,6 +346,25 @@
|
|
srcs += 'serial.c'
|
|
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')
|
|
+ cargs += '-DNEED_PCI=1'
|
|
+endif
|
|
+
|
|
+# some programmers require libusb
|
|
+if need_libusb
|
|
+ srcs += 'usbdev.c'
|
|
+ deps += dependency('libusb-1.0')
|
|
+endif
|
|
+
|
|
+
|
|
prefix = get_option('prefix')
|
|
sbindir = join_paths(prefix, get_option('sbindir'))
|
|
libdir = join_paths(prefix, get_option('libdir'))
|
|
--- 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('config_atahpt', type : 'boolean', value : false, description : 'Highpoint (HPT) ATA/RAID controllers')
|
|
option('config_atapromise', type : 'boolean', value : false, description : 'Promise ATA controller')
|
|
@@ -16,6 +17,7 @@
|
|
option('config_internal', type : 'boolean', value : true, description : 'internal/onboard')
|
|
option('config_internal_dmi', type : 'boolean', value : true, description : 'Use internal DMI parser')
|
|
option('config_it8212', type : 'boolean', value : true, description : 'ITE IT8212F PATA')
|
|
+option('config_jlink_spi', type : 'boolean', value : false, description : 'SEGGER J-Link and compatible')
|
|
option('config_linux_mtd', type : 'boolean', value : true, description : 'Linux MTD interfaces')
|
|
option('config_linux_spi', type : 'boolean', value : true, description : 'Linux spidev interfaces')
|
|
option('config_mstarddc_spi', type : 'boolean', value : false, description : 'MSTAR DDC support')
|