From: Rongqing Li <rongqing.li@windriver.com>
To: "Burton, Ross" <ross.burton@intel.com>
Cc: OE-core <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] u-boot-mkimage: fix a building failure on OpenSus
Date: Wed, 29 Jul 2015 09:35:11 +0800 [thread overview]
Message-ID: <55B82DCF.4020605@windriver.com> (raw)
In-Reply-To: <CAJTo0LaXtgUCjzPS_6+5fEL6CDdLK1Cn_3wNvCM_EfWH_wDG2A@mail.gmail.com>
On 2015年07月28日 19:47, Burton, Ross wrote:
>
> On 28 July 2015 at 03:00, <rongqing.li@windriver.com
> <mailto:rongqing.li@windriver.com>> wrote:
>
> +config.mk <http://config.mk> will be included only if auto.conf is
> newer than .config
> +but in some system, the HPET is not enabled, the smallest unit of
> +time is second, and can not decise which file is newer, even if
> +the correct dependency has been created.
> +
> +The below shows unit of time:
> +
> +under SUSE Linux Enterprise Desktop 11 SP2 (i586):
> + $ls --full-time include/config/auto.conf .config
> + 2015-07-27 03:46:20.000000000 -0400 .config
> + 2015-07-27 03:46:20.000000000 -0400 include/config/auto.conf
> + $
> +
> +under Ubuntu 14.04 LTS:
> + $ ls --full-time include/config/auto.conf .config
> + 2015-07-27 13:40:14.008703027 +0800 .config
> + 2015-07-27 13:40:15.020703054 +0800 include/config/auto.conf
> + $
> +
> +The rule of including config.mk <http://config.mk> in Makefile as below
> + autoconf_is_current := $(if $(wildcard
> $(KCONFIG_CONFIG)),$(shell find . \
> + -path ./include/config/auto.conf -newer
> $(KCONFIG_CONFIG)))
> + ifneq ($(autoconf_is_current),)
> + include $(srctree)/config.mk <http://config.mk>
> + include $(srctree)/arch/$(ARCH)/Makefile
> + endif
> +
> +The compilation will be failed if config.mk <http://config.mk> is
> not included
> +so delay 1 second to create auto.conf after creating of .config
>
>
> Adding a sleep seems pretty ugly, wouldn't a neater fix be to change the
> logic so that instead of the test being "is newer" you use "is not
> older", to handle identical timestamps as being current.
>
I am not sure if your suggestion works, Since "is newer" is to fix something
as the comments in Makefile said
---------------------------------------------------------------------------
# We want to include arch/$(ARCH)/config.mk only when
include/config/auto.conf
# is up-to-date. When we switch to a different board configuration, old
CONFIG
# macros are still remaining in include/config/auto.conf. Without the
following
# gimmick, wrong config.mk would be included leading nasty warnings/errors.
ifneq ($(wildcard $(KCONFIG_CONFIG)),)
ifneq ($(wildcard include/config/auto.conf),)
autoconf_is_old := $(shell find . -path ./$(KCONFIG_CONFIG) -newer \
include/config/auto.conf)
ifeq ($(autoconf_is_old),)
include $(srctree)/config.mk
include $(srctree)/arch/$(ARCH)/Makefile
endif
endif
endif
-Roy
> Ross
--
Best Reagrds,
Roy | RongQing Li
next prev parent reply other threads:[~2015-07-29 1:35 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-28 2:00 [PATCH] u-boot-mkimage: fix a building failure on OpenSus rongqing.li
2015-07-28 11:47 ` Burton, Ross
2015-07-29 1:35 ` Rongqing Li [this message]
2015-07-30 6:26 ` Rongqing Li
2015-07-30 11:37 ` Otavio Salvador
2015-07-31 1:11 ` Rongqing Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55B82DCF.4020605@windriver.com \
--to=rongqing.li@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=ross.burton@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox