vectorgraphics / asymptote

2D & 3D TeX-Aware Vector Graphics Language
https://asymptote.sourceforge.io/
GNU General Public License v3.0
542 stars 90 forks source link

compilation infinite-loops if bison isn't present #343

Closed malcolmroberts closed 1 year ago

malcolmroberts commented 1 year ago

Using multiple jobs to compile (16 on my laptop), if bison isn't present, then compilation enters an infinite loop. I won't paste the entire output here, but a relevant snippet is:

rm v3dtypes.h v3dheadertypes.h
: -d -olex.yy.cc camp.l
bison -dvt -b camp camp.y && mv camp.tab.c camp.tab.cc
python3 generate_enums.py -language cxx -o v3dtypes.h -i v3dtypes.csv -name v3dtypes -xopt namespace=camp
python3 generate_enums.py -language cxx -o v3dheadertypes.h -i v3dheadertypes.csv -name v3dheadertypes -xopt namespace=camp
/bin/sh: line 1: bison: command not found
Creating stack.d
Creating newexp.d
Creating exp.d
Creating entry.d
Creating symbol.d
Creating name.d
Creating callable.d
Creating errormsg.d
Creating dec.d
Creating stm.d
Creating genv.d
Creating env.d
Creating runmath.d
Creating runstring.d
Creating runpath3d.d
Creating runpath.d
Creating runtriple.d
Creating runpair.d
Creating runsystem.d
Creating runfile.d
Creating runarray.d
Creating runhistory.d
Creating runlabel.d
Creating runpicture.d
Creating runbacktrace.d
Creating gsl.d
Creating runtime.d
Creating builtin.d
Creating types.d
Creating pipestream.d
Creating pen.d
Creating bezierpatch.d
Creating beziercurve.d
Creating drawsurface.d
Creating path3.d
Creating drawpath3.d
Creating drawfill.d
Creating knot.d
Creating flatguide.d
Creating settings.d
Creating guide.d
Creating util.d
Creating psfile.d
Creating texfile.d
Creating picture.d
Creating drawlabel.d
Creating drawpath.d
Creating path.d
Creating camperror.d
rm v3dtypes.h v3dheadertypes.h
: -d -olex.yy.cc camp.l
bison -dvt -b camp camp.y && mv camp.tab.c camp.tab.cc
python3 generate_enums.py -language cxx -o v3dtypes.h -i v3dtypes.csv -name v3dtypes -xopt namespace=camp
python3 generate_enums.py -language cxx -o v3dheadertypes.h -i v3dheadertypes.csv -name v3dheadertypes -xopt namespace=camp
/bin/sh: line 1: bison: command not found
Creating stack.d

This should probably create an error and stop the compilation. Installing bison solves this issue as well, of course.

johncbowman commented 1 year ago

Fixed in 0d49a356d0ee1d0f579cb224856f0947a3e1cdc3, thanks!