>  I believe this should be fixed through the second patch of mine.

Yes, thanks

> I think you should add 'MAINTAINERCLEANFILES =' to gzip instead.

Adding to lib/Makefile.am on line 24 fixes this

Patch attached to mark functions in crc.c and crc-generate-tables.c as
static, GZIP now builds

$ time ./gzip_old -d -k large_file.gz -c > /dev/null

real    0m0.491s
user    0m0.491s
sys     0m0.000s

$ time ./gzip_new -d -k large_file.gz -c > /dev/null

real    0m0.313s
user    0m0.304s
sys     0m0.010s

On Thu, 31 Oct 2024 at 14:58, Bruno Haible <br...@clisp.org> wrote:

> Simon Josefsson wrote:
> > > the MAINTAINERCLEANFILES variable isn't set when building gzip so
> there's
> > > an error when using += with it.
> >
> > I think you should add 'MAINTAINERCLEANFILES =' to gzip instead.
>
> Yes, this is a documented Gnulib requirement:
>
> https://www.gnu.org/software/gnulib/manual/html_node/Modified-build-rules.html
>
> > > There's another issue with the way fopen/fprintf work and I can't
> > > figure out how to fix it:
> >
> > Sounds like you need to link crc-generate-table with the gnulib
> > replacement library.
>
> This would be a chicken-and-egg problem: you need libgnu.a to build
> crc-generate-table, and you need to run crc-generate-table in order to
> get the set of sources for libgnu.a.
>
> The best way to think about such situations is to consider cross-compiling:
> Which source code is meant to run on the build system and which is meant
> to run on the target system? All of libgnu.a is meant to run on the target
> system; therefore crc-generate-table must NOT link to libgnu.a.
>
> Bruno
>
>
>
>

Attachment: 0001-crc-Fix-compile-warnings.patch
Description: Binary data

Reply via email to