On 14.06.2010 17:59, Idwer Vollering wrote:
2010/6/14 Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
On 14.06.2010 17:38, Idwer Vollering wrote:
2010/6/14 Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
On 12.06.2010 22:35, Carl-Daniel Hailfinger wrote:
On 05.06.2010 00:06, Carl-Daniel Hailfinger wrote:
Override incompatible CONFIG_FOO settings for DOS. This allows you to specify CONFIG_FOO=yes for all drivers and still get only those which compile under DOS.
Silently disabling explicitly requested features is a really bad idea. This new patch instead warns the user if any impossible (i.e. not compilable on this platform) features were specified. Such a warning will look like this:
The following features are unavailable on your machine:
CONFIG_NIC3COM=yes
If a user does not explicitly request an impossible feature, such a feature will be automatically disabled, so just typing "make" will get you the common subset of default and possible features.
Fixed a few minor bugs. Should be ready for merge.
I'm not sure about that, it breaks djgpp-dos' compilation:
$ make distclean CONFIG_SERPROG=yes djgpp-dos rm -f flashrom flashrom.exe *.o *.d rm -f .features .libdeps make CC=i586-pc-msdosdjgpp-gcc STRIP=i586-pc-msdosdjgpp-strip
WARNERROR=no
OS_ARCH=DOS make[1]: Entering directory `/home/idwer/coreboot/svn/flashrom/trunk-r1047-patchwork-1509' The following features are unavailable on your machine:
CONFIG_SERPROG=yes
This is a desired effect of my patch, and we want that because serprog does not work on DOS (yet).
make[1]: *** [featuresavailable] Error 1 make[1]: Leaving directory `/home/idwer/coreboot/svn/flashrom/trunk-r1047-patchwork-1509' make: *** [djgpp-dos] Error 2
$ make distclean djgpp-dos rm -f flashrom flashrom.exe *.o *.d rm -f .features .libdeps make CC=i586-pc-msdosdjgpp-gcc STRIP=i586-pc-msdosdjgpp-strip
WARNERROR=no
OS_ARCH=DOS make[1]: Entering directory `/home/idwer/coreboot/svn/flashrom/trunk-r1047-patchwork-1509' Checking for a C compiler... found. Checking for libpci headers... found. Checking if libpci is present and sufficient... no. Checking if libz+libpci are present and sufficient...no.
And this is a bug. Can you reproduce this bug
No, I can only reproduce it when running "make distclean djgpp-dos" with http://patchwork.coreboot.org/patch/1509/ applied.
Index: Makefile
--- Makefile (revision 1047) +++ Makefile (working copy) @@ -50,13 +50,32 @@ endif ifeq ($(OS_ARCH), DOS) EXEC_SUFFIX := .exe -CPPFLAGS += -I../libgetopt -I../libpci/include +CPPFLAGS += -I../../../djgpp/libgetopt -I../../../djgpp/libpci/include # FIXME Check if we can achieve the same effect with -L../libgetopt -lgetopt LIBS += ../libgetopt/libgetopt.a
I think this is the reason why compilation fails. This LIBS statement has the wrong path for your installation.
-# Bus Pirate and Serprog are not supported under DOS. -CONFIG_BUSPIRATE_SPI = no -CONFIG_SERPROG = no +# 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 \
with a clean (no local patches) tree with latest svn HEAD?
These are the local modifications I apply/applied against HEAD:
Index: Makefile
--- Makefile (revision 1047) +++ Makefile (working copy) @@ -49,10 +49,9 @@ LDFLAGS += -L/usr/local/lib endif ifeq ($(OS_ARCH), DOS) -EXEC_SUFFIX := .exe
Hm. Is this EXEC_SUFFIX removal intentional?
-CPPFLAGS += -I../libgetopt -I../libpci/include +CPPFLAGS += -I../../../djgpp/libgetopt -I../../../djgpp/libpci/include # FIXME Check if we can achieve the same effect with -L../libgetopt -lgetopt -LIBS += ../libgetopt/libgetopt.a +LIBS += ../../../djgpp/libgetopt/libgetopt.a # Bus Pirate and Serprog are not supported under DOS. CONFIG_BUSPIRATE_SPI = no CONFIG_SERPROG = no
Regards, Carl-Daniel