From c17bb0a5e3c8732c79672c99dd1bc562f74db2ee Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Fri, 24 Sep 2010 14:58:44 +0400 Subject: [PATCH] Added autotools support which fixes annoying compilation issues on non-x86 platforms Signed-off-by: Peter Lemenkov --- ...fine-dmidecode-path-at-a-build-stage.patch | 60 - ...lashrom-0001-Sync-with-svn-ver.-1180.patch | 90 +- ...al-commit-of-autotools-related-files.patch | 1216 +++++++++++++++++ flashrom-svn_ver.diff | 11 - flashrom.spec | 32 +- 5 files changed, 1318 insertions(+), 91 deletions(-) delete mode 100644 flashrom-0001-Define-dmidecode-path-at-a-build-stage.patch rename flashrom-r1002-r1180.diff => flashrom-0001-Sync-with-svn-ver.-1180.patch (99%) create mode 100644 flashrom-0002-Initial-commit-of-autotools-related-files.patch delete mode 100644 flashrom-svn_ver.diff diff --git a/flashrom-0001-Define-dmidecode-path-at-a-build-stage.patch b/flashrom-0001-Define-dmidecode-path-at-a-build-stage.patch deleted file mode 100644 index c6bb3e5..0000000 --- a/flashrom-0001-Define-dmidecode-path-at-a-build-stage.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 6023a9545efc976e37cc3e2444cdc7c18d987f8d Mon Sep 17 00:00:00 2001 -From: Peter Lemenkov -Date: Sat, 12 Jun 2010 22:13:53 +0400 -Subject: [PATCH 1/1] Define dmidecode path at a build stage - -This helps in case then user doesn't have dmidecode in his PATH. -For example, if user elevates his privileges with sudo, then he -may not inherit some superuser's environmental variables ($PATH, -contaning additional directories - /sbin, /usr/sbin and similar). - -In case of failure to determine full path to dmidecode it just -fallbacks to the default value. - -Tested only on Linux. - -Signed-off-by: Peter Lemenkov ---- - Makefile | 5 ++++- - dmi.c | 2 +- - 2 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index e83fc0b..7919e10 100644 ---- a/Makefile -+++ b/Makefile -@@ -169,6 +169,9 @@ CONFIG_DEDIPROG ?= no - # Disable wiki printing by default. It is only useful if you have wiki access. - CONFIG_PRINT_WIKI ?= no - -+# Try to detect full path for dmidecode -+CONFIG_DMIDECODE_PATH ?= $(shell LC_ALL=C type -p dmidecode 2>/dev/null || echo "dmidecode") -+ - ifeq ($(CONFIG_INTERNAL), yes) - FEATURE_CFLAGS += -D'CONFIG_INTERNAL=1' - PROGRAMMER_OBJS += processor_enable.o chipset_enable.o board_enable.o cbtable.o dmi.o internal.o -@@ -323,7 +326,7 @@ $(PROGRAM)$(EXEC_SUFFIX): $(OBJS) - TAROPTIONS = $(shell LC_ALL=C tar --version|grep -q GNU && echo "--owner=root --group=root") - - %.o: %.c .features -- $(CC) -MMD $(CFLAGS) $(CPPFLAGS) $(FEATURE_CFLAGS) $(SVNDEF) -o $@ -c $< -+ $(CC) -MMD $(CFLAGS) $(CPPFLAGS) $(FEATURE_CFLAGS) $(SVNDEF) -DCONFIG_DMIDECODE_PATH=\"$(CONFIG_DMIDECODE_PATH)\" -o $@ -c $< - - # Make sure to add all names of generated binaries here. - # This includes all frontends and libflashrom. -diff --git a/dmi.c b/dmi.c -index f18907f..d483acb 100644 ---- a/dmi.c -+++ b/dmi.c -@@ -55,7 +55,7 @@ static const char *dmidecode_names[] = { - }; - - #define DMI_COMMAND_LEN_MAX 260 --static const char *dmidecode_command = "dmidecode"; -+static const char *dmidecode_command = CONFIG_DMIDECODE_PATH; - - static char *dmistrings[ARRAY_SIZE(dmidecode_names)]; - --- -1.7.2.3 - diff --git a/flashrom-r1002-r1180.diff b/flashrom-0001-Sync-with-svn-ver.-1180.patch similarity index 99% rename from flashrom-r1002-r1180.diff rename to flashrom-0001-Sync-with-svn-ver.-1180.patch index b74e86a..23c393c 100644 --- a/flashrom-r1002-r1180.diff +++ b/flashrom-0001-Sync-with-svn-ver.-1180.patch @@ -1,3 +1,79 @@ +From 2b6eddb61699265ce89bc93c9523dd5658513019 Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Fri, 24 Sep 2010 14:42:32 +0400 +Subject: [PATCH 1/2] Sync with svn ver. 1180 + +--- + 82802ab.c | 2 - + Makefile | 230 +++-- + README | 9 + + atahpt.c | 4 +- + bitbang_spi.c | 158 ++-- + board_enable.c | 1248 ++++++++++++++++------- + buspirate_spi.c | 129 +-- + cbtable.c | 3 + + chipdrivers.h | 23 +- + chipset_enable.c | 590 ++++------- + cli_classic.c | 90 +- + dediprog.c | 40 +- + dmi.c | 55 +- + drkaiser.c | 24 +- + dummyflasher.c | 51 +- + flash.h | 472 +-------- + flashchips.c | 2698 ++++++++++++++++++++++++++++++++++++----------- + flashchips.h | 728 +++++++------ + flashrom.8 | 255 ++++-- + flashrom.c | 479 ++++++--- + ft2232_spi.c | 191 ++-- + gfxnvidia.c | 19 +- + hwaccess.c | 105 ++- + hwaccess.h | 163 +++- + ichspi.c | 346 +++++-- + internal.c | 81 ++- + it87spi.c | 226 +++-- + jedec.c | 20 +- + layout.c | 40 +- + m29f400bt.c | 53 - + mcp6x_spi.c | 176 +++ + nic3com.c | 20 +- + nicintel_spi.c | 179 ++++ + nicnatsemi.c | 95 ++ + nicrealtek.c | 115 ++ + pcidev.c | 12 +- + physmap.c | 40 +- + pm49fl00x.c | 2 +- + print.c | 638 +++++++----- + print_wiki.c | 480 ++------- + processor_enable.c | 46 + + programmer.c | 1 - + programmer.h | 602 +++++++++++ + rayer_spi.c | 123 +++ + satasii.c | 35 +- + sb600spi.c | 223 ++++- + serial.c | 11 +- + serprog.c | 100 ++- + sharplhf00l04.c | 1 - + spi.c | 134 ++- + spi.h | 14 +- + spi25.c | 626 +++++++++-- + sst28sf040.c | 4 +- + sst49lfxxxc.c | 28 +- + sst_fwhub.c | 6 +- + stm50flw0x0x.c | 4 +- + udelay.c | 67 +- + util/z60_flashrom.rules | 55 + + w29ee011.c | 1 - + wbsio_spi.c | 28 +- + 60 files changed, 8413 insertions(+), 3985 deletions(-) + create mode 100644 mcp6x_spi.c + create mode 100644 nicintel_spi.c + create mode 100644 nicnatsemi.c + create mode 100644 nicrealtek.c + create mode 100644 processor_enable.c + create mode 100644 programmer.h + create mode 100644 rayer_spi.c + create mode 100644 util/z60_flashrom.rules + diff --git a/82802ab.c b/82802ab.c index c9d1a75..3935a7e 100644 --- a/82802ab.c @@ -12,7 +88,7 @@ index c9d1a75..3935a7e 100644 #include "chipdrivers.h" diff --git a/Makefile b/Makefile -index 6a9beb5..e83fc0b 100644 +index 51ca084..e83fc0b 100644 --- a/Makefile +++ b/Makefile @@ -48,11 +48,37 @@ ifeq ($(OS_ARCH), FreeBSD) @@ -56,7 +132,7 @@ index 6a9beb5..e83fc0b 100644 endif CHIP_OBJS = jedec.o stm50flw0x0x.o w39v040c.o w39v080fa.o w29ee011.o \ -@@ -65,7 +91,7 @@ CLI_OBJS = flashrom.o cli_classic.o cli_output.o print.o +@@ -65,13 +91,13 @@ CLI_OBJS = flashrom.o cli_classic.o cli_output.o print.o PROGRAMMER_OBJS = udelay.o programmer.o @@ -65,6 +141,13 @@ index 6a9beb5..e83fc0b 100644 # Set the flashrom version string from the highest revision number # of the checked out flashrom files. + # Note to packagers: Any tree exported with "make export" or "make tarball" + # will not require subversion. The downloadable snapshots are already exported. +-SVNVERSION := 1001 ++SVNVERSION := $(shell LC_ALL=C svnversion -cn . 2>/dev/null | sed -e "s/.*://" -e "s/\([0-9]*\).*/\1/" | grep "[0-9]" || LC_ALL=C svn info . 2>/dev/null | awk '/^Revision:/ {print $$2 }' | grep "[0-9]" || LC_ALL=C git svn info . 2>/dev/null | awk '/^Revision:/ {print $$2 }' | grep "[0-9]" || echo unknown) + + RELEASE := 0.9.2 + VERSION := $(RELEASE)-r$(SVNVERSION) @@ -85,14 +111,29 @@ CONFIG_INTERNAL ?= yes # Always enable serprog for now. Needs to be disabled on Windows. CONFIG_SERPROG ?= yes @@ -19298,3 +19381,6 @@ index ca39322..acf9cb2 100644 - return spi_chip_write_1(flash, buf); -} +#endif +-- +1.7.2.3 + diff --git a/flashrom-0002-Initial-commit-of-autotools-related-files.patch b/flashrom-0002-Initial-commit-of-autotools-related-files.patch new file mode 100644 index 0000000..6373acc --- /dev/null +++ b/flashrom-0002-Initial-commit-of-autotools-related-files.patch @@ -0,0 +1,1216 @@ +From 457ef87be837eb1dab7e62fb22f2b3fc29e2619c Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Fri, 17 Sep 2010 22:32:07 +0400 +Subject: [PATCH 2/2] Initial commit of autotools-related files + +Signed-off-by: Peter Lemenkov +--- + Makefile | 451 ---------------------------------------------------------- + Makefile.am | 166 +++++++++++++++++++++ + configure.ac | 197 +++++++++++++++++++++++++ + dmi.c | 2 +- + flash.h | 1 - + flashrom.c | 12 +- + hwaccess.h | 6 +- + ichspi.c | 4 - + internal.c | 3 +- + it87spi.c | 4 - + mcp6x_spi.c | 4 - + nic3com.c | 6 - + nicnatsemi.c | 6 - + nicrealtek.c | 6 - + print_wiki.c | 3 +- + programmer.h | 6 +- + rayer_spi.c | 5 - + sb600spi.c | 4 - + wbsio_spi.c | 4 - + 19 files changed, 383 insertions(+), 507 deletions(-) + delete mode 100644 Makefile + create mode 100644 Makefile.am + create mode 100644 configure.ac + +diff --git a/Makefile b/Makefile +deleted file mode 100644 +index e83fc0b..0000000 +--- a/Makefile ++++ /dev/null +@@ -1,451 +0,0 @@ +-# +-# This file is part of the flashrom project. +-# +-# Copyright (C) 2005 coresystems GmbH +-# Copyright (C) 2009,2010 Carl-Daniel Hailfinger +-# +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; version 2 of the License. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +-# +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +-# +- +-PROGRAM = flashrom +- +-CC ?= gcc +-STRIP ?= strip +-INSTALL = install +-DIFF = diff +-PREFIX ?= /usr/local +-MANDIR ?= $(PREFIX)/share/man +-CFLAGS ?= -Os -Wall -Wshadow +-EXPORTDIR ?= . +- +-WARNERROR ?= yes +- +-ifeq ($(WARNERROR), yes) +-CFLAGS += -Werror +-endif +- +-# FIXME We have to differentiate between host and target arch. +-OS_ARCH ?= $(shell uname) +-ifneq ($(OS_ARCH), SunOS) +-STRIP_ARGS = -s +-endif +-ifeq ($(OS_ARCH), Darwin) +-CPPFLAGS += -I/opt/local/include -I/usr/local/include +-LDFLAGS += -framework IOKit -framework DirectIO -L/opt/local/lib -L/usr/local/lib +-endif +-ifeq ($(OS_ARCH), FreeBSD) +-CPPFLAGS += -I/usr/local/include +-LDFLAGS += -L/usr/local/lib +-endif +-ifeq ($(OS_ARCH), OpenBSD) +-CPPFLAGS += -I/usr/local/include +-LDFLAGS += -L/usr/local/lib +-endif +-ifeq ($(OS_ARCH), DOS) +-EXEC_SUFFIX := .exe +-CPPFLAGS += -I../libgetopt -I../libpci/include +-# FIXME Check if we can achieve the same effect with -L../libgetopt -lgetopt +-LIBS += ../libgetopt/libgetopt.a +-# Bus Pirate and Serprog are not supported under DOS (missing serial support). +-ifeq ($(CONFIG_BUSPIRATE_SPI), yes) +-UNSUPPORTED_FEATURES += CONFIG_BUSPIRATE_SPI=yes +-else +-override CONFIG_BUSPIRATE_SPI = no +-endif +-ifeq ($(CONFIG_SERPROG), yes) +-UNSUPPORTED_FEATURES += CONFIG_SERPROG=yes +-else +-override CONFIG_SERPROG = no +-endif +-# Dediprog and FT2232 are not supported under DOS (missing USB support). +-ifeq ($(CONFIG_DEDIPROG), yes) +-UNSUPPORTED_FEATURES += CONFIG_DEDIPROG=yes +-else +-override CONFIG_DEDIPROG = no +-endif +-ifeq ($(CONFIG_FT2232_SPI), yes) +-UNSUPPORTED_FEATURES += CONFIG_FT2232_SPI=yes +-else +-override CONFIG_FT2232_SPI = no +-endif +-endif +- +-CHIP_OBJS = jedec.o stm50flw0x0x.o w39v040c.o w39v080fa.o w29ee011.o \ +- sst28sf040.o m29f400bt.o 82802ab.o pm49fl00x.o \ +- sst49lfxxxc.o sst_fwhub.o flashchips.o spi.o spi25.o +- +-LIB_OBJS = layout.o +- +-CLI_OBJS = flashrom.o cli_classic.o cli_output.o print.o +- +-PROGRAMMER_OBJS = udelay.o programmer.o +- +-all: pciutils features $(PROGRAM)$(EXEC_SUFFIX) +- +-# Set the flashrom version string from the highest revision number +-# of the checked out flashrom files. +-# Note to packagers: Any tree exported with "make export" or "make tarball" +-# will not require subversion. The downloadable snapshots are already exported. +-SVNVERSION := $(shell LC_ALL=C svnversion -cn . 2>/dev/null | sed -e "s/.*://" -e "s/\([0-9]*\).*/\1/" | grep "[0-9]" || LC_ALL=C svn info . 2>/dev/null | awk '/^Revision:/ {print $$2 }' | grep "[0-9]" || LC_ALL=C git svn info . 2>/dev/null | awk '/^Revision:/ {print $$2 }' | grep "[0-9]" || echo unknown) +- +-RELEASE := 0.9.2 +-VERSION := $(RELEASE)-r$(SVNVERSION) +-RELEASENAME ?= $(VERSION) +- +-SVNDEF := -D'FLASHROM_VERSION="$(VERSION)"' +- +-# Always enable internal/onboard support for now. +-CONFIG_INTERNAL ?= yes +- +-# Always enable serprog for now. Needs to be disabled on Windows. +-CONFIG_SERPROG ?= yes +- +-# RayeR SPIPGM hardware support +-CONFIG_RAYER_SPI ?= yes +- +-# Bitbanging SPI infrastructure, default off unless needed. +-ifeq ($(CONFIG_RAYER_SPI), yes) +-override CONFIG_BITBANG_SPI = yes +-else +-ifeq ($(CONFIG_INTERNAL), yes) +-override CONFIG_BITBANG_SPI = yes +-else +-ifeq ($(CONFIG_NICINTEL_SPI), yes) +-override CONFIG_BITBANG_SPI = yes +-else +-CONFIG_BITBANG_SPI ?= no +-endif +-endif +-endif +- +-# Always enable 3Com NICs for now. +-CONFIG_NIC3COM ?= yes +- +-# Enable NVIDIA graphics cards. Note: write and erase do not work properly. +-CONFIG_GFXNVIDIA ?= yes +- +-# Always enable SiI SATA controllers for now. +-CONFIG_SATASII ?= yes +- +-# Highpoint (HPT) ATA/RAID controller support. +-# IMPORTANT: This code is not yet working! +-CONFIG_ATAHPT ?= no +- +-# Always enable FT2232 SPI dongles for now. +-CONFIG_FT2232_SPI ?= yes +- +-# Always enable dummy tracing for now. +-CONFIG_DUMMY ?= yes +- +-# Always enable Dr. Kaiser for now. +-CONFIG_DRKAISER ?= yes +- +-# Always enable Realtek NICs for now. +-CONFIG_NICREALTEK ?= yes +- +-# Disable National Semiconductor NICs until support is complete and tested. +-CONFIG_NICNATSEMI ?= no +- +-# Always enable SPI on Intel NICs for now. +-CONFIG_NICINTEL_SPI ?= yes +- +-# Always enable Bus Pirate SPI for now. +-CONFIG_BUSPIRATE_SPI ?= yes +- +-# Disable Dediprog SF100 until support is complete and tested. +-CONFIG_DEDIPROG ?= no +- +-# Disable wiki printing by default. It is only useful if you have wiki access. +-CONFIG_PRINT_WIKI ?= no +- +-ifeq ($(CONFIG_INTERNAL), yes) +-FEATURE_CFLAGS += -D'CONFIG_INTERNAL=1' +-PROGRAMMER_OBJS += processor_enable.o chipset_enable.o board_enable.o cbtable.o dmi.o internal.o +-# FIXME: The PROGRAMMER_OBJS below should only be included on x86. +-PROGRAMMER_OBJS += it87spi.o ichspi.o sb600spi.o wbsio_spi.o mcp6x_spi.o +-NEED_PCI := yes +-endif +- +-ifeq ($(CONFIG_SERPROG), yes) +-FEATURE_CFLAGS += -D'CONFIG_SERPROG=1' +-PROGRAMMER_OBJS += serprog.o +-NEED_SERIAL := yes +-NEED_NET := yes +-endif +- +-ifeq ($(CONFIG_RAYER_SPI), yes) +-FEATURE_CFLAGS += -D'CONFIG_RAYER_SPI=1' +-PROGRAMMER_OBJS += rayer_spi.o +-# Actually, NEED_PCI is wrong. NEED_IOPORT_ACCESS would be more correct. +-NEED_PCI := yes +-endif +- +-ifeq ($(CONFIG_BITBANG_SPI), yes) +-FEATURE_CFLAGS += -D'CONFIG_BITBANG_SPI=1' +-PROGRAMMER_OBJS += bitbang_spi.o +-endif +- +-ifeq ($(CONFIG_NIC3COM), yes) +-FEATURE_CFLAGS += -D'CONFIG_NIC3COM=1' +-PROGRAMMER_OBJS += nic3com.o +-NEED_PCI := yes +-endif +- +-ifeq ($(CONFIG_GFXNVIDIA), yes) +-FEATURE_CFLAGS += -D'CONFIG_GFXNVIDIA=1' +-PROGRAMMER_OBJS += gfxnvidia.o +-NEED_PCI := yes +-endif +- +-ifeq ($(CONFIG_SATASII), yes) +-FEATURE_CFLAGS += -D'CONFIG_SATASII=1' +-PROGRAMMER_OBJS += satasii.o +-NEED_PCI := yes +-endif +- +-ifeq ($(CONFIG_ATAHPT), yes) +-FEATURE_CFLAGS += -D'CONFIG_ATAHPT=1' +-PROGRAMMER_OBJS += atahpt.o +-NEED_PCI := yes +-endif +- +-ifeq ($(CONFIG_FT2232_SPI), yes) +-FTDILIBS := $(shell pkg-config --libs libftdi 2>/dev/null || printf "%s" "-lftdi -lusb") +-# This is a totally ugly hack. +-FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'CONFIG_FT2232_SPI=1'") +-FEATURE_LIBS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "$(FTDILIBS)") +-PROGRAMMER_OBJS += ft2232_spi.o +-endif +- +-ifeq ($(CONFIG_DUMMY), yes) +-FEATURE_CFLAGS += -D'CONFIG_DUMMY=1' +-PROGRAMMER_OBJS += dummyflasher.o +-endif +- +-ifeq ($(CONFIG_DRKAISER), yes) +-FEATURE_CFLAGS += -D'CONFIG_DRKAISER=1' +-PROGRAMMER_OBJS += drkaiser.o +-NEED_PCI := yes +-endif +- +-ifeq ($(CONFIG_NICREALTEK), yes) +-FEATURE_CFLAGS += -D'CONFIG_NICREALTEK=1' +-PROGRAMMER_OBJS += nicrealtek.o +-NEED_PCI := yes +-endif +- +-ifeq ($(CONFIG_NICNATSEMI), yes) +-FEATURE_CFLAGS += -D'CONFIG_NICNATSEMI=1' +-PROGRAMMER_OBJS += nicnatsemi.o +-NEED_PCI := yes +-endif +- +-ifeq ($(CONFIG_NICINTEL_SPI), yes) +-FEATURE_CFLAGS += -D'CONFIG_NICINTEL_SPI=1' +-PROGRAMMER_OBJS += nicintel_spi.o +-NEED_PCI := yes +-endif +- +-ifeq ($(CONFIG_BUSPIRATE_SPI), yes) +-FEATURE_CFLAGS += -D'CONFIG_BUSPIRATE_SPI=1' +-PROGRAMMER_OBJS += buspirate_spi.o +-NEED_SERIAL := yes +-endif +- +-ifeq ($(CONFIG_DEDIPROG), yes) +-FEATURE_CFLAGS += -D'CONFIG_DEDIPROG=1' +-FEATURE_LIBS += -lusb +-PROGRAMMER_OBJS += dediprog.o +-endif +- +-ifeq ($(NEED_SERIAL), yes) +-LIB_OBJS += serial.o +-endif +- +-ifeq ($(NEED_NET), yes) +-ifeq ($(OS_ARCH), SunOS) +-LIBS += -lsocket +-endif +-endif +- +-ifeq ($(NEED_PCI), yes) +-CHECK_LIBPCI = yes +-FEATURE_CFLAGS += -D'NEED_PCI=1' +-PROGRAMMER_OBJS += pcidev.o physmap.o hwaccess.o +-ifeq ($(OS_ARCH), NetBSD) +-# The libpci we want is called libpciutils on NetBSD and needs NetBSD libpci. +-LIBS += -lpciutils -lpci +-# For (i386|x86_64)_iopl(2). +-LIBS += -l$(shell uname -p) +-else +-ifeq ($(OS_ARCH), DOS) +-# FIXME There needs to be a better way to do this +-LIBS += ../libpci/lib/libpci.a +-else +-LIBS += -lpci +-ifeq ($(OS_ARCH), OpenBSD) +-# For (i386|amd64)_iopl(2). +-LIBS += -l$(shell uname -m) +-endif +-endif +-endif +-endif +- +-ifeq ($(CONFIG_PRINT_WIKI), yes) +-FEATURE_CFLAGS += -D'CONFIG_PRINT_WIKI=1' +-CLI_OBJS += print_wiki.o +-endif +- +-FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "UTSNAME := yes" .features && printf "%s" "-D'HAVE_UTSNAME=1'") +- +-# We could use PULLED_IN_LIBS, but that would be ugly. +-FEATURE_LIBS += $(shell LC_ALL=C grep -q "NEEDLIBZ := yes" .libdeps && printf "%s" "-lz") +- +-OBJS = $(CHIP_OBJS) $(CLI_OBJS) $(PROGRAMMER_OBJS) $(LIB_OBJS) +- +-$(PROGRAM)$(EXEC_SUFFIX): $(OBJS) +- $(CC) $(LDFLAGS) -o $(PROGRAM)$(EXEC_SUFFIX) $(OBJS) $(FEATURE_LIBS) $(LIBS) +- +-# TAROPTIONS reduces information leakage from the packager's system. +-# If other tar programs support command line arguments for setting uid/gid of +-# stored files, they can be handled here as well. +-TAROPTIONS = $(shell LC_ALL=C tar --version|grep -q GNU && echo "--owner=root --group=root") +- +-%.o: %.c .features +- $(CC) -MMD $(CFLAGS) $(CPPFLAGS) $(FEATURE_CFLAGS) $(SVNDEF) -o $@ -c $< +- +-# Make sure to add all names of generated binaries here. +-# This includes all frontends and libflashrom. +-# We don't use EXEC_SUFFIX here because we want to clean everything. +-clean: +- rm -f $(PROGRAM) $(PROGRAM).exe *.o *.d +- +-distclean: clean +- rm -f .features .libdeps +- +-strip: $(PROGRAM)$(EXEC_SUFFIX) +- $(STRIP) $(STRIP_ARGS) $(PROGRAM)$(EXEC_SUFFIX) +- +-compiler: featuresavailable +- @printf "Checking for a C compiler... " +- @$(shell ( echo "int main(int argc, char **argv)"; \ +- echo "{ return 0; }"; ) > .test.c ) +- @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .test.c -o .test$(EXEC_SUFFIX) >/dev/null && \ +- echo "found." || ( echo "not found."; \ +- rm -f .test.c .test$(EXEC_SUFFIX); exit 1) +- @rm -f .test.c .test$(EXEC_SUFFIX) +- +-ifeq ($(CHECK_LIBPCI), yes) +-pciutils: compiler +- @printf "Checking for libpci headers... " +- @# Avoid a failing test due to libpci header symbol shadowing breakage +- @$(shell ( echo "#define index shadow_workaround_index"; \ +- echo "#include "; \ +- echo "struct pci_access *pacc;"; \ +- echo "int main(int argc, char **argv)"; \ +- echo "{ pacc = pci_alloc(); return 0; }"; ) > .test.c ) +- @$(CC) -c $(CPPFLAGS) $(CFLAGS) .test.c -o .test.o >/dev/null 2>&1 && \ +- echo "found." || ( echo "not found."; echo; \ +- echo "Please install libpci headers (package pciutils-devel)."; \ +- echo "See README for more information."; echo; \ +- rm -f .test.c .test.o; exit 1) +- @printf "Checking if libpci is present and sufficient... " +- @printf "" > .libdeps +- @$(CC) $(LDFLAGS) .test.o -o .test$(EXEC_SUFFIX) $(LIBS) >/dev/null 2>&1 && \ +- echo "yes." || ( echo "no."; \ +- printf "Checking if libz+libpci are present and sufficient..."; \ +- $(CC) $(LDFLAGS) .test.o -o .test$(EXEC_SUFFIX) $(LIBS) -lz >/dev/null 2>&1 && \ +- ( echo "yes."; echo "NEEDLIBZ := yes" > .libdeps ) || ( echo "no."; echo; \ +- echo "Please install libpci (package pciutils) and/or libz."; \ +- echo "See README for more information."; echo; \ +- rm -f .test.c .test.o .test$(EXEC_SUFFIX); exit 1) ) +- @rm -f .test.c .test.o .test$(EXEC_SUFFIX) +-else +-pciutils: compiler +- @printf "" > .libdeps +-endif +- +-.features: features +- +-# If a user does not explicitly request a non-working feature, we should +-# silently disable it. However, if a non-working (does not compile) feature +-# is explicitly requested, we should bail out with a descriptive error message. +-ifeq ($(UNSUPPORTED_FEATURES), ) +-featuresavailable: +-else +-featuresavailable: +- @echo "The following features are unavailable on your machine: $(UNSUPPORTED_FEATURES)" +- @false +-endif +- +-ifeq ($(CONFIG_FT2232_SPI), yes) +-features: compiler +- @echo "FEATURES := yes" > .features.tmp +- @printf "Checking for FTDI support... " +- @$(shell ( echo "#include "; \ +- echo "struct ftdi_context *ftdic = NULL;"; \ +- echo "int main(int argc, char **argv)"; \ +- echo "{ return ftdi_init(ftdic); }"; ) > .featuretest.c ) +- @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \ +- ( echo "found."; echo "FTDISUPPORT := yes" >> .features.tmp ) || \ +- ( echo "not found."; echo "FTDISUPPORT := no" >> .features.tmp ) +- @printf "Checking for utsname support... " +- @$(shell ( echo "#include "; \ +- echo "struct utsname osinfo;"; \ +- echo "int main(int argc, char **argv)"; \ +- echo "{ uname (&osinfo); return 0; }"; ) > .featuretest.c ) +- @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) >/dev/null 2>&1 && \ +- ( echo "found."; echo "UTSNAME := yes" >> .features.tmp ) || \ +- ( echo "not found."; echo "UTSNAME := no" >> .features.tmp ) +- @$(DIFF) -q .features.tmp .features >/dev/null 2>&1 && rm .features.tmp || mv .features.tmp .features +- @rm -f .featuretest.c .featuretest$(EXEC_SUFFIX) +-else +-features: compiler +- @echo "FEATURES := yes" > .features.tmp +- @printf "Checking for utsname support... " +- @$(shell ( echo "#include "; \ +- echo "struct utsname osinfo;"; \ +- echo "int main(int argc, char **argv)"; \ +- echo "{ uname (&osinfo); return 0; }"; ) > .featuretest.c ) +- @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) >/dev/null 2>&1 && \ +- ( echo "found."; echo "UTSNAME := yes" >> .features.tmp ) || \ +- ( echo "not found."; echo "UTSNAME := no" >> .features.tmp ) +- @$(DIFF) -q .features.tmp .features >/dev/null 2>&1 && rm .features.tmp || mv .features.tmp .features +- @rm -f .featuretest.c .featuretest$(EXEC_SUFFIX) +-endif +- +-install: $(PROGRAM)$(EXEC_SUFFIX) +- mkdir -p $(DESTDIR)$(PREFIX)/sbin +- mkdir -p $(DESTDIR)$(MANDIR)/man8 +- $(INSTALL) -m 0755 $(PROGRAM)$(EXEC_SUFFIX) $(DESTDIR)$(PREFIX)/sbin +- $(INSTALL) -m 0644 $(PROGRAM).8 $(DESTDIR)$(MANDIR)/man8 +- +-export: +- @rm -rf $(EXPORTDIR)/flashrom-$(RELEASENAME) +- @svn export -r BASE . $(EXPORTDIR)/flashrom-$(RELEASENAME) +- @sed "s/^SVNVERSION.*/SVNVERSION := $(SVNVERSION)/" Makefile >$(EXPORTDIR)/flashrom-$(RELEASENAME)/Makefile +- @LC_ALL=C svn log >$(EXPORTDIR)/flashrom-$(RELEASENAME)/ChangeLog +- @echo Exported $(EXPORTDIR)/flashrom-$(RELEASENAME)/ +- +-tarball: export +- @tar cjf $(EXPORTDIR)/flashrom-$(RELEASENAME).tar.bz2 -C $(EXPORTDIR)/ $(TAROPTIONS) flashrom-$(RELEASENAME)/ +- @rm -rf $(EXPORTDIR)/flashrom-$(RELEASENAME) +- @echo Created $(EXPORTDIR)/flashrom-$(RELEASENAME).tar.bz2 +- +-djgpp-dos: clean +- make CC=i586-pc-msdosdjgpp-gcc STRIP=i586-pc-msdosdjgpp-strip WARNERROR=no OS_ARCH=DOS +- +-.PHONY: all clean distclean compiler pciutils features export tarball dos featuresavailable +- +--include $(OBJS:.o=.d) +diff --git a/Makefile.am b/Makefile.am +new file mode 100644 +index 0000000..671287c +--- /dev/null ++++ b/Makefile.am +@@ -0,0 +1,166 @@ ++sbin_PROGRAMS = flashrom ++ ++man_MANS = flashrom.8 ++ ++DEFS += -DDMIDECODE_PATH=\"@DMIDECODE@\" ++ ++if HAVE_INTERNAL ++internal_SOURCES = \ ++ board_enable.c \ ++ cbtable.c \ ++ chipset_enable.c \ ++ dmi.c \ ++ internal.c \ ++ processor_enable.c ++if HAVE_X86_ONLY_INTERNAL ++internal_x86_only_SOURCES = \ ++ ichspi.c \ ++ it87spi.c \ ++ mcp6x_spi.c \ ++ sb600spi.c \ ++ wbsio_spi.c ++endif ++DEFS += -DCONFIG_INTERNAL=1 ++endif ++ ++if HAVE_RAYER_SPI ++rayer_spi_SOURCES = rayer_spi.c ++DEFS += -DCONFIG_RAYER_SPI=1 ++endif ++ ++if HAVE_NIC3COM ++nic3com_SOURCES = nic3com.c ++DEFS += -DCONFIG_NIC3COM=1 ++endif ++ ++if HAVE_GFXNVIDIA ++gfxnvidia_SOURCES = gfxnvidia.c ++DEFS += -DCONFIG_GFXNVIDIA=1 ++endif ++ ++if HAVE_SATASII ++satasii_SOURCES = satasii.c ++DEFS += -DCONFIG_SATASII=1 ++endif ++ ++if HAVE_ATAHPT ++atahpt_SOURCES = atahpt.c ++DEFS += -DCONFIG_ATAHPT=1 ++endif ++ ++if HAVE_FT2232_SPI ++ft_2232_spi_SOURCES = ft2232_spi.c ++DEFS += -DCONFIG_FT2232_SPI=1 ++endif ++ ++if HAVE_DUMMY ++dummy_SOURCES= dummyflasher.c ++DEFS += -DCONFIG_DUMMY=1 ++endif ++ ++if HAVE_DRKAISER ++drkaiser_SOURCES = drkaiser.c ++DEFS += -DCONFIG_DRKAISER=1 ++endif ++ ++if HAVE_NICREALTEK ++nicrealtek_SOURCES = nicrealtek.c ++DEFS += -DCONFIG_NICREALTEK=1 ++endif ++ ++if HAVE_NICNATSEMI ++nicnatsemi_SOURCES = nicnatsemi.c ++DEFS += -DCONFIG_NICNATSEMI=1 ++endif ++ ++if HAVE_NICINTEL_SPI ++nicintel_SOURCES = nicintel_spi.c ++DEFS += -DCONFIG_NICINTEL_SPI=1 ++endif ++ ++if HAVE_SERPROG ++serprog_SOURCES = serprog.c ++DEFS += -DCONFIG_SERPROG=1 ++endif ++ ++if HAVE_BUSPIRATE_SPI ++buspirate_SOURCES = buspirate_spi.c ++DEFS += -DCONFIG_BUSPIRATE_SPI=1 ++endif ++ ++if HAVE_SERIAL ++serial_SOURCES = serial.c ++endif ++ ++if HAVE_DEDIPROG ++dediprog_SOURCES = dediprog.c ++DEFS += -DCONFIG_DEDIPROG=1 ++endif ++ ++if HAVE_PRINT_WIKI ++print_wiki_SOURCES = print_wiki.c ++DEFS += -DCONFIG_PRINT_WIKI=1 ++endif ++ ++if HAVE_PCI ++pci_SOURCES = pcidev.c \ ++ physmap.c \ ++ hwaccess.c ++endif ++ ++chip_SOURCES = 82802ab.c \ ++ flashchips.c \ ++ jedec.c \ ++ m29f400bt.c \ ++ pm49fl00x.c \ ++ spi.c \ ++ spi25.c \ ++ sst_fwhub.c \ ++ sst28sf040.c \ ++ sst49lfxxxc.c \ ++ stm50flw0x0x.c \ ++ w29ee011.c \ ++ w39v040c.c \ ++ w39v080fa.c ++ ++cli_SOURCES = \ ++ flashrom.c \ ++ cli_classic.c \ ++ cli_output.c \ ++ print.c ++ ++lib_SOURCES = layout.c ++ ++if HAVE_BITBANG_SPI ++bitbang_spi_SOURCES = bitbang_spi.c ++endif ++ ++# Unknown purpose ++# sharplhf00l04.c ++ ++flashrom_SOURCES = \ ++ programmer.c \ ++ udelay.c \ ++ $(lib_SOURCES) \ ++ $(cli_SOURCES) \ ++ $(bitbang_spi_SOURCES) \ ++ $(chip_SOURCES) \ ++ $(pci_SOURCES) \ ++ $(serprog_SOURCES) \ ++ $(rayer_spi_SOURCES) \ ++ $(nic3com_SOURCES) \ ++ $(internal_SOURCES) \ ++ $(internal_x86_only_SOURCES) \ ++ $(satasii_SOURCES) \ ++ $(atahpt_SOURCES) \ ++ $(dummy_SOURCES) \ ++ $(ft_2232_spi_SOURCES) \ ++ $(gfxnvidia_SOURCES) \ ++ $(drkaiser_SOURCES) \ ++ $(nicrealtek_SOURCES) \ ++ $(nicnatsemi_SOURCES) \ ++ $(nicintel_SOURCES) \ ++ $(buspirate_SOURCES) \ ++ $(dediprog_SOURCES) \ ++ $(print_wiki_SOURCES) \ ++ $(serial_SOURCES) +diff --git a/configure.ac b/configure.ac +new file mode 100644 +index 0000000..18c1262 +--- /dev/null ++++ b/configure.ac +@@ -0,0 +1,197 @@ ++AC_INIT([flashrom], [0.9.2-r1180], [flashrom@flashrom.org], [flashrom], [http://www.flashrom.org/]) ++ ++AC_CANONICAL_TARGET ++ ++AC_CONFIG_SRCDIR([flashrom.c]) ++AC_CONFIG_HEADERS([config.h]) ++AM_INIT_AUTOMAKE([foreign dist-xz]) ++ ++AC_ARG_WITH([dummy], ++ AC_HELP_STRING([--with-dummy],[dummy flashing support.]), ++ [dummy="$withval"],[dummy="yes"]) ++ ++# Internal (mainboard) flashing ++AC_ARG_WITH([internal], ++ AC_HELP_STRING([--with-internal],[mainboard's internal flashing support.]), ++ [internal="$withval"],[internal="yes"]) ++ ++# SATA and ATA PCI adapters ++AC_ARG_WITH([satasii], ++ AC_HELP_STRING([--with-satasii],[SiI SATA controllers support.]), ++ [satasii="$withval"],[satasii="no"]) ++AC_ARG_WITH([atahpt], ++ AC_HELP_STRING([--with-atahpt],[Highpoint (HPT) ATA/RAID controller support. IMPORTANT: This code is not yet working!]), ++ [atahpt="$withval"],[atahpt="no"]) ++ ++# Network interface cards ++AC_ARG_WITH([nic3com], ++ AC_HELP_STRING([--with-nic3com],[3Com NICs support.]), ++ [nic3com="$withval"],[nic3com="yes"]) ++AC_ARG_WITH([nicintel_spi], ++ AC_HELP_STRING([--with-nicintel-spi],[SPI on Intel NICs support.]), ++ [nicintel_spi="$withval"],[nicintel_spi="yes"]) ++AC_ARG_WITH([nicnatsemi], ++ AC_HELP_STRING([--with-nicnatsemi],[National Semiconductor NICs support. Incomplete and untested.]), ++ [nicnatsemi="$withval"],[nicnatsemi="no"]) ++AC_ARG_WITH([nicrealtek], ++ AC_HELP_STRING([--with-nicrealtek],[Realtek NICs support.]), ++ [nicrealtek="$withval"],[nicrealtek="yes"]) ++ ++# Graphics cards ++AC_ARG_WITH([gfxnvidia], ++ AC_HELP_STRING([--with-gfxnvidia],[NVIDIA graphics cards support. Note: write and erase do not work properly.]), ++ [gfxnvidia="$withval"],[gfxnvidia="yes"]) ++ ++# External flashers ++AC_ARG_WITH([buspirate_spi], ++ AC_HELP_STRING([--with-buspirate-spi],[Bus Pirate SPI support.]), ++ [buspirate_spi="$withval"],[buspirate_spi="yes"]) ++AC_ARG_WITH([dediprog], ++ AC_HELP_STRING([--with-dediprog],[Dediprog SF100 support. Incomplete and untested.]), ++ [dediprog="$withval"],[dediprog="no"]) ++AC_ARG_WITH([drkaiser], ++ AC_HELP_STRING([--with-drkaiser],[Dr. Kaiser support.]), ++ [drkaiser="$withval"],[drkaiser="yes"]) ++AC_ARG_WITH([ft2232_spi], ++ AC_HELP_STRING([--with-ft2232-spi],[FT2232 SPI dongles support.]), ++ [ft2232_spi="$withval"],[ft2232_spi="yes"]) ++AC_ARG_WITH([rayer_spi], ++ AC_HELP_STRING([--with-rayer-spi],[RayeR SPIPGM hardware support.]), ++ [rayer_spi="$withval"],[rayer_spi="yes"]) ++# Needs to be disabled on Windows. ++AC_ARG_WITH([serprog], ++ AC_HELP_STRING([--with-serprog],[serprog support.]), ++ [serprog="$withval"],[serprog="yes"]) ++ ++# Specific for Flashrom Wiki ++AC_ARG_WITH([print_wiki], ++ AC_HELP_STRING([--with-print-wiki],[enable wiki export support. It is only useful if you have Flashrom wiki access.]), ++ [print_wiki="$withval"],[print_wiki="no"]) ++ ++# Check for CPU-specific features ++case $target_cpu in ++ i386|i486|i586|i686|x86_64) ++ if test "$internal" = 'yes'; then ++ enable_x86_only_internal="yes" ++ fi ++ ;; ++ *) ++ if test "$nic3com" = 'yes'; then ++ echo "NIC 3Com is not supported for this target (" $target_cpu "). No PCI port I/O access on this architecture yet" ++ nic3com="no" ++ fi ++ if test "$nicnatsemi" = 'yes'; then ++ echo "NIC NatSemi is not supported for this target (" $target_cpu "). No PCI port I/O access on this architecture yet" ++ nicnatsemi="no" ++ fi ++ if test "$nicrealtek" = 'yes'; then ++ echo "NIC Realtek is not supported for this target (" $target_cpu "). No PCI port I/O access on this architecture yet" ++ nicrealtek="no" ++ fi ++ if test "$rayer_spi" = 'yes'; then ++ echo "RayeR SPIPGM is not supported for this target (" $target_cpu "). No PCI port I/O access on this architecture yet" ++ rayer_spi="no" ++ fi ++ ;; ++esac ++ ++# Enable OS-specific fompilation flags ++# TODO ++ ++# Check whether we need seial support ++if test "$serprog" = 'yes' -o \ ++ "$buspirate_spi" = 'yes' ; then ++ serial="yes" ++fi ++ ++# Check whether we need PCI support ++if test "$internal" = 'yes' -o \ ++ "$rayer_spi" = 'yes' -o \ ++ "$bitbang_spi" = 'yes' -o \ ++ "$nic3com" = 'yes' -o \ ++ "$gfxnvidia" = 'yes' -o \ ++ "satasii" = 'yes' -o \ ++ "$atahpt" = 'yes' -o \ ++ "$drkaiser" = 'yes' -o \ ++ "$nicrealtek" = 'yes' -o \ ++ "$nicnatsemi" = 'yes' -o \ ++ "$nicintel_spi" = 'yes' ; then ++ pci="yes" ++fi ++ ++if test "$internal" = 'yes' -o \ ++ "$rayer_spi" = 'yes' -o \ ++ "$nicintel_spi" = 'yes' ; then ++ bitbang_spi="yes" ++fi ++ ++# Checks for programs. ++AC_PROG_CC ++AC_PROG_INSTALL ++AC_PROG_MAKE_SET ++ ++AC_PATH_PROG([DMIDECODE], dmidecode, [dmidecode], [$PATH$PATH_SEPARATOR/usr/sbin]) ++ ++# Checks for header files. ++AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h limits.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h strings.h sys/ioctl.h sys/socket.h sys/time.h sys/utsname.h termios.h unistd.h]) ++ ++# Checks for typedefs, structures, and compiler characteristics. ++AC_C_INLINE ++AC_TYPE_OFF_T ++AC_TYPE_SIZE_T ++AC_TYPE_SSIZE_T ++AC_TYPE_UINT16_T ++AC_TYPE_UINT32_T ++AC_TYPE_UINT64_T ++AC_TYPE_UINT8_T ++ ++# Checks for library functions. ++AC_FUNC_MALLOC ++AC_FUNC_MMAP ++AC_FUNC_REALLOC ++AC_CHECK_FUNCS([gethostbyaddr gethostbyname getpagesize gettimeofday memmove memset munmap socket strcasecmp strchr strcspn strdup strerror strncasecmp strspn strstr strtol strtoul uname]) ++ ++# Checks for pcilib ++if test "$pci" = 'yes' ; then ++ AC_CHECK_LIB([pci], [pci_alloc],,[AC_MSG_ERROR([pci library missing])]) ++fi ++ ++# check for socket (required for SunOS) ++if test "$serprog" = 'yes' ; then ++ AC_CHECK_LIB([socket], [socket]) ++fi ++ ++# Check for libusb ++if test "$dediprog" = 'yes' -o "$ft2232_spi" = 'yes' ; then ++ AC_CHECK_LIB([usb], [usb_init]) ++fi ++ ++if test "$ft2232_spi" = 'yes' ; then ++# AC_CHECK_LIB([ftdi],[main],,[AC_MSG_ERROR([ftdi library missing which is required for ft2232-spi])]) ++ AC_CHECK_LIB([ftdi],[main],,[ft2232_spi="no"]) ++fi ++ ++# For Makefile.am ++AM_CONDITIONAL(HAVE_RAYER_SPI, test "$rayer_spi" = "yes") ++AM_CONDITIONAL(HAVE_NIC3COM, test "$nic3com" = "yes") ++AM_CONDITIONAL(HAVE_DUMMY, test "$dummy" = "yes") ++AM_CONDITIONAL(HAVE_INTERNAL, test "$internal" = "yes") ++AM_CONDITIONAL(HAVE_X86_ONLY_INTERNAL, test "$enable_x86_only_internal" = "yes") ++AM_CONDITIONAL(HAVE_SATASII, test "$satasii" = "yes") ++AM_CONDITIONAL(HAVE_ATAHPT, test "$atahpt" = "yes") ++AM_CONDITIONAL(HAVE_NICINTEL_SPI, test "$nicintel_spi" = "yes") ++AM_CONDITIONAL(HAVE_NICNATSEMI, test "$nicnatsemi" = "yes") ++AM_CONDITIONAL(HAVE_NICREALTEK, test "$nicrealtek" = "yes") ++AM_CONDITIONAL(HAVE_GFXNVIDIA, test "$gfxnvidia" = "yes") ++AM_CONDITIONAL(HAVE_SERPROG, test "$serprog" = "yes") ++AM_CONDITIONAL(HAVE_BUSPIRATE_SPI, test "$buspirate_spi" = "yes") ++AM_CONDITIONAL(HAVE_SERIAL, test "$serial" = "yes") ++AM_CONDITIONAL(HAVE_PCI, test "$pci" = "yes") ++AM_CONDITIONAL(HAVE_DEDIPROG, test "$dediprog" = "yes") ++AM_CONDITIONAL(HAVE_DRKAISER, test "$drkaiser" = "yes") ++AM_CONDITIONAL(HAVE_FT2232_SPI, test "$ft2232_spi" = "yes") ++AM_CONDITIONAL(HAVE_BITBANG_SPI, test "$bitbang_spi" = "yes") ++AM_CONDITIONAL(HAVE_PRINT_WIKI, test "$print_wiki" = "yes") ++ ++AC_CONFIG_FILES([Makefile]) ++AC_OUTPUT +diff --git a/dmi.c b/dmi.c +index f18907f..09009e7 100644 +--- a/dmi.c ++++ b/dmi.c +@@ -55,7 +55,7 @@ static const char *dmidecode_names[] = { + }; + + #define DMI_COMMAND_LEN_MAX 260 +-static const char *dmidecode_command = "dmidecode"; ++static const char *dmidecode_command = DMIDECODE_PATH; + + static char *dmistrings[ARRAY_SIZE(dmidecode_names)]; + +diff --git a/flash.h b/flash.h +index 6f0d7c0..4aba5ab 100644 +--- a/flash.h ++++ b/flash.h +@@ -182,7 +182,6 @@ enum write_granularity { + }; + extern enum chipbustype buses_supported; + extern int verbose; +-extern const char * const flashrom_version; + extern char *chip_to_probe; + void map_flash_registers(struct flashchip *flash); + int read_memmapped(struct flashchip *flash, uint8_t *buf, int start, int len); +diff --git a/flashrom.c b/flashrom.c +index f722029..a2be2fc 100644 +--- a/flashrom.c ++++ b/flashrom.c +@@ -28,14 +28,16 @@ + #include + #include + #include +-#if HAVE_UTSNAME == 1 ++ ++#include "config.h" ++ ++#if HAVE_SYS_UTSNAME_H == 1 + #include + #endif + #include "flash.h" + #include "flashchips.h" + #include "programmer.h" + +-const char * const flashrom_version = FLASHROM_VERSION; + char *chip_to_probe = NULL; + int verbose = 0; + +@@ -1332,7 +1334,7 @@ void list_programmers(char *delim) + + void print_sysinfo(void) + { +-#if HAVE_UTSNAME == 1 ++#if HAVE_UNAME == 1 + struct utsname osinfo; + uname(&osinfo); + +@@ -1342,7 +1344,7 @@ void print_sysinfo(void) + msg_ginfo(" on unknown machine"); + #endif + msg_ginfo(", built with"); +-#if NEED_PCI == 1 ++#if HAVE_LIBPCI == 1 + #ifdef PCILIB_VERSION + msg_ginfo(" libpci %s,", PCILIB_VERSION); + #else +@@ -1376,7 +1378,7 @@ void print_sysinfo(void) + + void print_version(void) + { +- msg_ginfo("flashrom v%s", flashrom_version); ++ msg_ginfo("flashrom v%s", PACKAGE_VERSION); + print_sysinfo(); + } + +diff --git a/hwaccess.h b/hwaccess.h +index 2d17326..bd78539 100644 +--- a/hwaccess.h ++++ b/hwaccess.h +@@ -24,13 +24,15 @@ + #ifndef __HWACCESS_H__ + #define __HWACCESS_H__ 1 + ++#include "config.h" ++ + #if defined (__i386__) || defined (__x86_64__) + #if defined(__GLIBC__) + #include + #endif + #endif + +-#if NEED_PCI == 1 ++#if HAVE_LIBPCI == 1 + /* + * libpci headers use the variable name "index" which triggers shadowing + * warnings on systems which have the index() function in a default #include +@@ -160,7 +162,7 @@ cpu_to_be(64) + #define le_to_cpu32 cpu_to_le32 + #define le_to_cpu64 cpu_to_le64 + +-#if NEED_PCI == 1 ++#if HAVE_LIBPCI == 1 + #if defined (__i386__) || defined (__x86_64__) + + #define __FLASHROM_HAVE_OUTB__ 1 +diff --git a/ichspi.c b/ichspi.c +index bb6007e..7ac8e37 100644 +--- a/ichspi.c ++++ b/ichspi.c +@@ -33,8 +33,6 @@ + * + */ + +-#if defined(__i386__) || defined(__x86_64__) +- + #include + #include "flash.h" + #include "chipdrivers.h" +@@ -1072,5 +1070,3 @@ int via_init_spi(struct pci_dev *dev) + + return 0; + } +- +-#endif +diff --git a/internal.c b/internal.c +index 497ce6c..71965de 100644 +--- a/internal.c ++++ b/internal.c +@@ -24,8 +24,9 @@ + #include + #include "flash.h" + #include "programmer.h" ++#include "config.h" + +-#if NEED_PCI == 1 ++#if HAVE_LIBPCI == 1 + struct pci_dev *pci_dev_find_filter(struct pci_filter filter) + { + struct pci_dev *temp; +diff --git a/it87spi.c b/it87spi.c +index 9ecc414..1750cf8 100644 +--- a/it87spi.c ++++ b/it87spi.c +@@ -23,8 +23,6 @@ + * Contains the ITE IT87* SPI specific routines + */ + +-#if defined(__i386__) || defined(__x86_64__) +- + #include + #include + #include "flash.h" +@@ -371,5 +369,3 @@ int it8716f_spi_chip_write_256(struct flashchip *flash, uint8_t *buf, int start, + + return 0; + } +- +-#endif +diff --git a/mcp6x_spi.c b/mcp6x_spi.c +index 97c0a1c..a277983 100644 +--- a/mcp6x_spi.c ++++ b/mcp6x_spi.c +@@ -23,8 +23,6 @@ + * created by Michael Karcher. + */ + +-#if defined(__i386__) || defined(__x86_64__) +- + #include + #include + #include +@@ -172,5 +170,3 @@ int mcp6x_spi_init(int want_spi) + + return 0; + } +- +-#endif +diff --git a/nic3com.c b/nic3com.c +index 0eb781a..7084edf 100644 +--- a/nic3com.c ++++ b/nic3com.c +@@ -18,8 +18,6 @@ + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-#if defined(__i386__) || defined(__x86_64__) +- + #include + #include "flash.h" + #include "programmer.h" +@@ -114,7 +112,3 @@ uint8_t nic3com_chip_readb(const chipaddr addr) + OUTL((uint32_t)addr, io_base_addr + BIOS_ROM_ADDR); + return INB(io_base_addr + BIOS_ROM_DATA); + } +- +-#else +-#error PCI port I/O access is not supported on this architecture yet. +-#endif +diff --git a/nicnatsemi.c b/nicnatsemi.c +index 1683857..e3a2807 100644 +--- a/nicnatsemi.c ++++ b/nicnatsemi.c +@@ -18,8 +18,6 @@ + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-#if defined(__i386__) || defined(__x86_64__) +- + #include + #include "flash.h" + #include "programmer.h" +@@ -89,7 +87,3 @@ uint8_t nicnatsemi_chip_readb(const chipaddr addr) + */ + return INB(io_base_addr + BOOT_ROM_DATA); + } +- +-#else +-#error PCI port I/O access is not supported on this architecture yet. +-#endif +diff --git a/nicrealtek.c b/nicrealtek.c +index c32e5d6..b5bcbaf 100644 +--- a/nicrealtek.c ++++ b/nicrealtek.c +@@ -18,8 +18,6 @@ + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-#if defined(__i386__) || defined(__x86_64__) +- + #include + #include "flash.h" + #include "programmer.h" +@@ -109,7 +107,3 @@ uint8_t nicrealtek_chip_readb(const chipaddr addr) + + return val; + } +- +-#else +-#error PCI port I/O access is not supported on this architecture yet. +-#endif +diff --git a/print_wiki.c b/print_wiki.c +index 313fdea..c061116 100644 +--- a/print_wiki.c ++++ b/print_wiki.c +@@ -26,6 +26,7 @@ + #include "flash.h" + #include "flashchips.h" + #include "programmer.h" ++#include "config.h" + + static const char * const wiki_header = "= Supported devices =\n\n\ +
0.9.2-6.svn1180 +- Added autotools support + * Tue Sep 21 2010 Peter Lemenkov 0.9.2-5.svn1180 - Patch no.3 merged upstream