Tuesday, August 03, 2021

Re: processor-dependent optimizations / libmarisa

*ping*

(sorry if this comes up too often, but I really want to get this port
imported as there are many updates on IME require it, or will require it
soon.)

On 21/07/30 04:30AM, openbsd wrote:
> On 21/07/26 02:36PM, Stuart Henderson wrote:
> > Ports must not use cpu features detected at build time in the default
> > build.
> >
> > In some special cases it might make sense to have a "native" flavour
> > that is not linked to the build by default (i.e. so packages are not
> > normally built) as long as that doesn't change the ABI.
> >
> > On amd64 you can use SSE2 which is present on all 64-bit capable CPUs,
> > anything else should either have a runtime cpuid check and fall back to
> > another implementation, or in some special cases where something else
> > is required for the software to work at all (e.g. in textproc/hyperscan)
> > then it will need something else which we'd probably want to look at
> > case-by-case.
>
> Thanks. Perhaps I should put this into faq/ports/specialtopics.html and
> send a patch?
>
> > >
> > > marisa 0.2.6 configuration:
> > > -------------------------------
> > > HOST: x86_64-unknown-openbsd6.9
> > > CXX: c++
> > > CXXFLAGS: -g -O2 -DMARISA_USE_POPCNT -mpopcnt -DMARISA_USE_SSE4 -msse4
> >
> > also this suggests the port isn't passing in CXXFLAGS from ports to the
> > build environment (port shouldn't hardcode -O2).
>
> I tried different combination of CONFIGURE_ENV / CONFIGURE_ARGS but -O2
> and -pipe are still there:
>
> HOST: x86_64-unknown-openbsd6.9
> CXX: c++
> CXXFLAGS: -O2 -pipe
> LDFLAGS:
> PREFIX: /usr/local
>
> How should I debug this?
>
> Here is my WIP port in case anyone wants to take a look at it: `make
> install` works and I can use it, but I'm not sure if I did things in the
> right way.
>
> https://raw.githubusercontent.com/ZhanYF/static/main/libmarisa-wip.tar
>
> (also attached in this email)

No comments:

Post a Comment