Open obskyr opened 2 years ago
The presupposition that all these categories of programmer are unsupported on Windows is based on an understanding cobbled together from (potentially outdated) documentation and code-skimming, so if someone could confirm or deny that I've got the correct list, that would be nice as well!
Background
As it stands, there are four categories of programmer that are unsupported by Flashrom on Windows. They are:
linux_mtd
andlinux_spi
atahpt
,atapromise
,atavia
,drkaiser
,gfxnvidia
,internal
,it8212
,nic3com
,nicintel
,nicintel_eeprom
,nicintel_spi
,nicnatsemi
,nicrealtek
,ogp_spi
,satamv
, andsatasii
internal
,atahpt
,atapromise
,nic3com
,nicnatsemi
,nicrealtek
,rayer_spi
, andsatamv
lspcon_i2c_spi
,mediatek_i2c_spi
, andrealtek_mst_i2c_spi
Perhaps some of these should be supported in the future! However, at the moment, they're incompatible with Windows.
The problem
In the latest stable version of Flashrom, v1.2, it sufficed to specify
-Dpciutils=false
,-Dconfig_linux_mtd=false
, and-Dconfig_linux_spi=false
. Disablingpciutils
automatically disabled PCI programmers. However, when building the latest commit (b9e8b89), it requires you to manually disable each programmer – otherwise it'll error out, either saying “one or more enabled programmer requires PCI access”, or producing a mysterious compiler or linker error. Thus, the command currently required to build at all on Windows is the unwieldy:I personally wrestled with this for days before I managed to find a combination of options that worked (creating #243 and #244, now closed, in the process). It's clear that it's not the most user-friendly build flow!
The fix
I suggest doing one of the following:
-Dconfig_no_libpci=true
, etc., or even-Dconfig_windows_programmers_only=true
).Which would you rather be implemented?
Build instructions
To build on Windows to test this, go through the following steps:
pacman -S git base-devel pactoys
.pacboy -S meson cc pkg-config libftdi libusb
.cd
into it:git clone https://github.com/flashrom/flashrom.git && cd flashrom
.Run the following command to attempt to build: