[flashrom] [PATCH] Override incompatible CONFIG_FOO for DOS

Idwer Vollering vidwer at gmail.com
Mon Jun 14 20:00:00 CEST 2010


2010/6/14 Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at 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.
>
> Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
>

Acked-by: Idwer Vollering
<vidwer+lists.flashrom at gmail.com<vidwer%2Blists.flashrom at gmail.com>>


>
> Index: flashrom-dos_override_incompatible_config_foo/Makefile
> ===================================================================
> --- flashrom-dos_override_incompatible_config_foo/Makefile      (Revision
> 1047)
> +++ flashrom-dos_override_incompatible_config_foo/Makefile
>  (Arbeitskopie)
> @@ -53,10 +53,29 @@
>  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.
> -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 \
> @@ -279,7 +298,7 @@
>  strip: $(PROGRAM)$(EXEC_SUFFIX)
>        $(STRIP) $(STRIP_ARGS) $(PROGRAM)$(EXEC_SUFFIX)
>
> -compiler:
> +compiler: featuresavailable
>        @printf "Checking for a C compiler... "
>        @$(shell ( echo "int main(int argc, char **argv)"; \
>                   echo "{ return 0; }"; ) > .test.c )
> @@ -318,6 +337,17 @@
>
>  .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
> @@ -375,6 +405,6 @@
>  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
> +.PHONY: all clean distclean compiler pciutils features export tarball dos
> featuresavailable
>
>  -include $(OBJS:.o=.d)
>
>
> --
> http://www.hailfinger.org/
>
>
> _______________________________________________
> flashrom mailing list
> flashrom at flashrom.org
> http://www.flashrom.org/mailman/listinfo/flashrom
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.flashrom.org/pipermail/flashrom/attachments/20100614/bf0baadb/attachment.html>


More information about the flashrom mailing list