summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2013-09-11 23:34:57 +0000
committerStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2013-09-11 23:34:57 +0000
commitdc00e6e6c91049263c2ee7429095e9a8d78ebf46 (patch)
tree5097f031f37ab65a6915736c85e310ad71feeea3
parentc2c703b832e8be2a22f6ea37183a1fd78e2805bb (diff)
downloadflashrom-dc00e6e6c91049263c2ee7429095e9a8d78ebf46.zip
flashrom-dc00e6e6c91049263c2ee7429095e9a8d78ebf46.tar.gz
DOS refinements
This allows to use the DOS library trees stored in a user-specified directory. I have mirrored the needed patches, sources and binaries (the latter are properly licensed to allow that) in the flashrom wiki, so use those URLs instead of the original sources. Corresponding to flashrom svn r1734. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
-rw-r--r--Makefile12
-rw-r--r--README20
2 files changed, 19 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index 70ef640..d1bd59c 100644
--- a/Makefile
+++ b/Makefile
@@ -39,6 +39,7 @@ CFLAGS ?= -Os -Wall -Wshadow
EXPORTDIR ?= .
AR ?= ar
RANLIB ?= ranlib
+DOSLIBS_BASE ?= ..
# The following parameter changes the default programmer that will be used if there is no -p/--programmer
# argument given when running flashrom. The predefined setting does not enable any default so that every
# user has to declare the programmer he wants to use on every run. The rationale for this to be not set
@@ -99,11 +100,12 @@ endif
ifeq ($(TARGET_OS), DOS)
EXEC_SUFFIX := .exe
-CPPFLAGS += -I../libgetopt
+CPPFLAGS += -I$(DOSLIBS_BASE)/libgetopt
# DJGPP has odd uint*_t definitions which cause lots of format string warnings.
CFLAGS += -Wno-format
# FIXME Check if we can achieve the same effect with -L../libgetopt -lgetopt
-LIBS += ../libgetopt/libgetopt.a
+LIBS += -lgetopt
+LDFLAGS += -L$(DOSLIBS_BASE)/libgetopt/
# Bus Pirate, Serprog and PonyProg are not supported under DOS (missing serial support).
ifeq ($(CONFIG_BUSPIRATE_SPI), yes)
UNSUPPORTED_FEATURES += CONFIG_BUSPIRATE_SPI=yes
@@ -611,9 +613,9 @@ PCILIBS += -lpciutils -lpci
PCILIBS += -l$(shell uname -p)
else
ifeq ($(TARGET_OS), DOS)
-# FIXME There needs to be a better way to do this
-CPPFLAGS += -I../libpci/include
-PCILIBS += ../libpci/lib/libpci.a
+CPPFLAGS += -I$(DOSLIBS_BASE)/libpci/include
+LDFLAGS += -L$(DOSLIBS_BASE)/libpci/lib/
+PCILIBS += -lpci
else
PCILIBS += -lpci
ifeq ($(TARGET_OS), OpenBSD)
diff --git a/README b/README
index 7f24cca..a096aad 100644
--- a/README
+++ b/README
@@ -105,20 +105,24 @@ To cross-compile on Linux for DOS:
djcrx-2.04pre_20090725-13ap.i386.rpm
The cross toolchain packages for your distribution may have slightly different
names (look for packages named *djgpp*).
- Download pciutils 3.1.5 and apply http://assembler.cz/flashrom/pciutils.patch
- Download and compile http://assembler.cz/flashrom/libgetopt/
+
+ You will need the following library source trees containing their compiled
+ static libraries either in the parent directory of the flashrom source or
+ specify the base folder on compile time with the DOSLIBS_BASE parameter.
+ The default as described above is equal to calling
+ 'make djgpp-dos DOSLIBS_BASE=..'
+
+ To get and build said libraries...
+ Download pciutils 3.1.5 and apply http://flashrom.org/File:Pciutils.patch.gz
Compile pciutils, see README.DJGPP for instructions.
+ Download and compile http://flashrom.org/File:Libgetopt.tar.gz
Enter the flashrom directory.
- ../libpci should contain pciutils source and binaries.
- ../libgetopt should contain getopt.a from libgetopt.
Run either (change settings where appropriate)
make CC=i586-pc-msdosdjgpp-gcc STRIP=i586-pc-msdosdjgpp-strip
or (above settings hardcoded)
make djgpp-dos
- You might have to add WARNERROR=no to the make command line.
- To run flashrom.exe, download and unpack
- http://homer.rice.edu/~sandmann/cwsdpmi/csdpmi7b.zip and make sure
- CWSDPMI.EXE is in the current directory.
+ To run flashrom.exe, download http://flashrom.org/File:Csdpmi7b.zip and
+ unpack CWSDPMI.EXE into the current directory or one in PATH.
To cross-compile on Linux for Windows:
OpenPOWER on IntegriCloud