compiles with KCONFIG_NOTIMESTAMP=1 fail

David Turgeon david.turgeon at gmail.com
Sat Apr 26 16:47:47 UTC 2008


Yup, this is probably a better way to do it.

2008/4/25 Denys Vlasenko <vda.linux at googlemail.com>:
>
> On Friday 25 April 2008 14:00, David Turgeon wrote:
>  > With Busybox 1.9.2 if you add option to disable timestamp in .config file
>  >  via the following change.
>  >  retrieving revision 1.2
>  >  diff -u -r1.2 Makefile
>  >  --- Makefile    15 Apr 2008 23:25:12 -0000      1.2
>  >  +++ Makefile    25 Apr 2008 11:36:58 -0000
>  >  @@ -4,6 +4,8 @@
>  >   EXTRAVERSION =
>  >   NAME = Unnamed
>  >
>  >  +export KCONFIG_NOTIMESTAMP=1
>  >  +
>  >   # *DOCUMENTATION*
>  >   # To see a list of typical targets execute "make help"
>  >   # More info can be located in ./README
>  >
>  >  $make will trigger this error
>  >
>  >  CC      editors/vi.o
>  >  editors/vi.c: In function `colon':
>  >  editors/vi.c:1084: error: parse error before "AUTOCONF_TIMESTAMP"
>  >  make[3]: *** [editors/vi.o] Error 1
>  >  make[2]: *** [editors] Error 2
>  >  make[2]: Leaving directory
>  >
>  >  Patch:
>  >  Disable timestamp as per above & add
>  >  @@ -130,6 +132,9 @@
>  >   _all: modules
>  >   endif
>  >
>  >  +ifdef KCONFIG_NOTIMESTAMP
>  >  +    CFLAGS += -DAUTOCONF_TIMESTAMP=""
>  >  +endif
>  >   srctree                := $(if $(KBUILD_SRC),$(KBUILD_SRC),$(CURDIR))
>  >   TOPDIR         := $(srctree)
>  >   # FIXME - TOPDIR is obsolete, use srctree/objtree
>  >
>  >  Using make 3.81, autoconf 2.61-4, gcc 3.3 and 4.1 both fail
>
>  I propose doing this instead in scripts/kconfig/confdata.c:
>
>                 if (use_timestamp) {
>                         size_t ret = \
>                                 strftime(buf, sizeof(buf), "#define AUTOCONF_TIMESTAMP "
>                                         "\"%Y-%m-%d %H:%M:%S %Z\"\n", localtime(&now));
>                         /* if user has Factory timezone or some other odd install, the
>                          * %Z above will overflow the string leaving us with undefined
>                          * results ... so let's try again without the timezone.
>                          */
>                         if (ret == 0)
>                                 strftime(buf, sizeof(buf), "#define AUTOCONF_TIMESTAMP "
>                                         "\"%Y-%m-%d %H:%M:%S\"\n", localtime(&now));
>                 } else { /* bbox */
>  =====>                  strcpy(buf, "#define AUTOCONF_TIMESTAMP \"\"\n");
>                 }
>
>  because touching Makefile is the least pleasant way :(
>  --
>  vda
>



-- 
Dave



More information about the busybox mailing list