On 20/11/24 23:00, Daniele Nicolodi wrote:
I don't do much development on Windows, and I never used winflexbison,
thus I haven't tested how that would work to build Beancount. However,
glancing at the project README, it seems that it installs executables
named win_flex and win_bison, not flex and bison. If this is the case,
of course Meson cannot find the programs it is looking for, unless the
Meson build definition would need to be adapted to look for the
alternative names too. Someone that cares about building from source on
Windows would need to put in some work to figure things out.

After a very quick recognition, it seems that the executables name is the only thing that should affect building with winflexbison installed flex and bison. Among other projects, PostgreSQL can be build using these instead that the MSYS equivalents. There are some weird things about colliding temporary file names in win_flex, but there is only one scanner definition in Beancount, so there are no possible race conditions.

Therefore, I am positive that the only change needed to build with winflexbison is to turn these lines in meson.build

bison = find_program('bison', version: '>=3.8.0')
flex = find_program('flex', version: '>=2.6.4')

into

bison = find_program('bison', 'win_bison', version: '>=3.8.0')
flex = find_program('flex', 'win_flex', version: '>=2.6.4')

I'll appreciate if someone could test this.

Cheers,
Dan

--
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/beancount/f3d98fbf-efff-4d50-8e77-f60f00eaad16%40grinta.net.

Reply via email to