Re: git: 538a001f90bb - main - archivers/zstd: Change build system from meson to gmake

From: Po-Chuan Hsieh <sunpoet_at_freebsd.org>
Date: Sun, 04 Sep 2022 14:51:25 UTC
On Sun, Aug 28, 2022 at 6:31 PM Adam Weinberger <adamw@adamw.org> wrote:

>
>
> On Sat, Aug 27, 2022 at 4:31 AM Po-Chuan Hsieh <sunpoet@freebsd.org>
> wrote:
>
>> The branch main has been updated by sunpoet:
>>
>> URL:
>> https://cgit.FreeBSD.org/ports/commit/?id=538a001f90bbf14b5bdaa556119925699adb1849
>>
>> commit 538a001f90bbf14b5bdaa556119925699adb1849
>> Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
>> AuthorDate: 2022-08-27 10:23:30 +0000
>> Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
>> CommitDate: 2022-08-27 10:23:30 +0000
>>
>>     archivers/zstd: Change build system from meson to gmake
>>
>>     - Use BINARY_ALIAS and remove TEST_DEPENDS: md5sum from base system
>> works fine
>>     - Remove TEST option
>>     - Bump PORTREVISION for package change
>>
>>     from README.md [1]:
>>     make is the officially maintained build system of this project. All
>> other build
>>     systems are "compatible" and 3rd-party maintained, they may feature
>> small
>>     differences in advanced options. When your system allows it, prefer
>> using make
>>     to build zstd and libzstd.
>>
>>     Reference:
>> https://github.com/facebook/zstd/blob/dev/README.md#build-instructions
>> [1]
>> ---
>>
>> diff --git a/archivers/zstd/Makefile b/archivers/zstd/Makefile
>> index 49255dbd1187..ed8af4b8bddf 100644
>> --- a/archivers/zstd/Makefile
>> +++ b/archivers/zstd/Makefile
>>
>> +OPTIONS_DEFINE=        OPTIMIZED_CFLAGS
>>
>> -OPTIONS_DEFINE=        LTO LZ4 OPTIMIZED_CFLAGS TEST
>> -OPTIONS_DEFAULT=LZ4
>> -
>> -LTO_MESON_TRUE=                b_lto
>> -LZ4_LIB_DEPENDS=       liblz4.so:archivers/liblz4
>> -LZ4_MESON_ENABLED=     lz4
>> -LZ4_USES=              localbase:ldflags
>>  OPTIMIZED_CFLAGS_VARS= CFLAGS+=-O3
>> -TEST_MESON_TRUE=       bin_tests
>>
>
> Hi Po-Chuan,
>
> I did enjoy the speedup from the LTO option. Any interest in adding back
> an option for -flto? Upstream lib/README.md encourages it for programs that
> link to zstd, but it's nice to have it for the zstd binary itself too.
>
> # Adam
>
>
> --
> Adam Weinberger
> adamw@adamw.org
> https://www.adamw.org
>

Hi Adam,

Did you try adding WITH_LTO=yes in /etc/make.conf (see Mk/Features/lto.mk)?
Does it work for you?

I did not use LTO myself.
And I'm not sure which one is the correct way, an LTO option or WITH_LTO,
to add LTO support.

Regarding the LTO option here, b_lto is from meson [1], not zstd.
From my point of view, it (b_lto) should be added to either Mk/Features/
lto.mk or Mk/Uses/meson.mk.

[1] https://mesonbuild.com/Builtin-options.html

Regards,
sunpoet