[PATCH 2/6] make: use wc -c instead of stat -c%s to get file sizes
Dirk Hörner
dirker at gmail.com
Tue Jun 5 17:15:15 EDT 2012
Hi Jean-Christophe,
On Tue, Jun 5, 2012 at 4:49 AM, Jean-Christophe PLAGNIOL-VILLARD
<plagnioj at jcrosoft.com> wrote:
>
> HI,
>
> I don't like this to continue to duplicate code
I agree. Would you rather like a function in common/Kbuild.include and
then $(call) it in appropriate places?
In any case, I guess the code unification should be done in a separate
commit, either before or after my patch.
Ciao,
Dirk
>
> Best Regards,
> J.
> On 22:40 Mon 04 Jun , Dirk Hörner wrote:
> > On OS X, stat does not know about %s. Solaris does not have stat. The
> > drawback to this wc -c solution is that wc reads all the bytes, but we
> > are
> > only dealing with small files here, so that not be much of a problem.
> >
> > Signed-off-by: Dirk Hörner <dirker at gmail.com>
> > ---
> > Makefile | 2 +-
> > common/Makefile | 2 +-
> > scripts/Makefile.lib | 2 +-
> > 3 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/Makefile b/Makefile
> > index bcaae0a..3ac8788 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -536,7 +536,7 @@ quiet_cmd_barebox_version = GEN .version
> > # Check size of a file
> > quiet_cmd_check_file_size = CHKSIZE $@
> > cmd_check_file_size = set -e; \
> > - size=`stat -c%s $@`; \
> > + size=`wc -c < $@`; \
> > max_size=`printf "%d" $2`; \
> > if [ $$size -gt $$max_size ] ; \
> > then \
> > diff --git a/common/Makefile b/common/Makefile
> > index a58aef9..9c14d7b 100644
> > --- a/common/Makefile
> > +++ b/common/Makefile
> > @@ -77,7 +77,7 @@ barebox_default_env.lzo: barebox_default_env
> >
> > include/generated/barebox_default_env.h:
> > barebox_default_env$(barebox_default_env_comp)
> > $(Q)cat $< | $(objtree)/scripts/bin2c default_environment > $@
> > - $(Q)echo "const int default_environment_uncompress_size=`stat -c%s
> > barebox_default_env`;" >> $@
> > + $(Q)echo "const int default_environment_uncompress_size=`wc -c <
> > barebox_default_env`;" >> $@
> >
> > CLEAN_FILES += include/generated/barebox_default_env.h
> > barebox_default_env
> > CLEAN_FILES += barebox_default_env.gz barebox_default_env.bz2
> > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> > index b842c48..9b02b1b 100644
> > --- a/scripts/Makefile.lib
> > +++ b/scripts/Makefile.lib
> > @@ -171,7 +171,7 @@ cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -n -f
> > -9 > $@) || \
> > size_append = printf $(shell \
> > dec_size=0; \
> > for F in $1; do
> > \
> > - fsize=$$(stat -c "%s" $$F); \
> > + fsize=$$(wc -c < $$F); \
> > dec_size=$$(expr $$dec_size + $$fsize); \
> > done;
> > \
> > printf "%08x\n" $$dec_size | \
> > --
> > 1.7.10.3
> >
> >
> > _______________________________________________
> > barebox mailing list
> > barebox at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/barebox
More information about the barebox
mailing list