Re: [PATCH] kconfig: update to Linux 5.2-rc4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 18, 2019 at 4:11 PM Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> wrote:
>
> On Mon, Jun 17, 2019 at 05:02:11PM +0900, Masahiro Yamada wrote:
> > Hi Sascha,
> >
> > On Mon, Jun 17, 2019 at 4:05 PM Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> wrote:
> > >
> > > Hi Masahiro,
> > >
> > > On Mon, Jun 10, 2019 at 05:47:04PM +0900, Masahiro Yamada wrote:
> > > > @@ -854,7 +860,7 @@ define symlink-config-h
> > > >       fi
> > > >  endef
> > > >
> > > > -include/config.h: include/config/auto.conf
> > > > +include/config.h:
> > > >       $(Q)$(symlink-config-h)
> > >
> > > I had to revert this change. Without the dependency to
> > > include/config/auto.conf include/config.h won't get updated on Kconfig
> > > changes. Is reverting this change the right thing to do or do we have to
> > > do something else?
> >
> > You are right.
> >
> > Once include/config.h is created, it will never be updated.
> >
> > Reverting this hunk would work in most cases,
> > but I think it is strange to use timestamps to determine
> > whether a symbolic link is re-linked or not.
> >
> > If include/config.h is a symlink, it will end up with comparing
> > the timestamps between $(srctree)/$(BOARD)/config.h and
> > include/config/auto.conf, which is pointless.
> >
> >
> > I do not know why 'touch -a $@' is needed
> > when $(srctree)/$(BOARD)/config.h does not exist.
> >
> > How about this?
> >
> >
> >
> > diff --git a/Makefile b/Makefile
> > index 071b927068c4..196a2a2625c8 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -827,7 +827,7 @@ endif
> >  prepare2: prepare3 outputmakefile
> >
> >  prepare1: prepare2 include/generated/version.h include/generated/utsrelease.h \
> > -                   include/config.h
> > +                   symlink-config-h
> >
> >  ifneq ($(KBUILD_MODULES),)
> >         $(Q)mkdir -p $(MODVERDIR)
> > @@ -849,16 +849,14 @@ export CPPFLAGS_barebox.lds += -C -U$(ARCH)
> >
> >  define symlink-config-h
> >         if [ -f $(srctree)/$(BOARD)/config.h ]; then            \
> > -               $(kecho) '  SYMLINK $@ -> $(BOARD)/config.h';   \
> >                 ln -fsn $(srctree)/$(BOARD)/config.h $@;        \
> >         else                                                    \
> > -               [ -h $@ ] && rm -f $@;                          \
> > -               $(kecho) '  CREATE  $@';                        \
> > -               touch -a $@;                                    \
> > +               rm -f $@;                                       \
> >         fi
> >  endef
> >
> > -include/config.h:
> > +PHONY += symlink-config-h
> > +symlink-config-h:
> >         $(Q)$(symlink-config-h)
>
> This creates a link named "symlink-config-h" pointing to the boards
> config.h.

Oops, sorry.

I forgot to change the rule like follows:

ln -fsn $(srctree)/$(BOARD)/config.h include/config.h



> If I understand correctly then the idea is to always (re-)create the
> symlink. For this adding PHONY should be enough, no? At least in my test
> it seemed to do what it should.

Right.  Adding it to PHONY is enough.
Renaming include/config.h -> symlink-config-h is optional.

(My intention was to make it look like a phony target and that's it.)


Thanks.


> Sascha
>
>
> --
> Pengutronix e.K.                           |                             |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
>
> _______________________________________________
> barebox mailing list
> barebox@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/barebox



-- 
Best Regards
Masahiro Yamada

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux