Bison runs M4. It adds BISON_PKGDATADIR to the search path for M4 and launches M4 to run on m4sugar/m4sugar.m4. m4sugar includes m4sugar/foreach.m4 which is found on M4s search path. Somewhere along the line we include c.m4 which includes b4_pkgdatadir/[c-like.m4], but M4 doesn't know the b4_pkgdatadir variable and so fails to include.
I've seen this building krb5-1.16.1 in a cross environment where bison-3.1 is installed and ran from a staging area with the environment variables M4 and BISON_PKGDATADIR set. I was previously using bison-2.5.1 which didn't have this issue. Attached is a patch I wrote that tells M4 to define b4_pkgdatadir which fixes this issue. It uses asprintf so you may want to extend it to free the string. Barry Davis -- *StorMagic Ltd registered in England and Wales at Unit 4 Eastgate Office Centre, Bristol, BS5 6XX with company registration number: 05706971. This email may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply email and delete all copies of this message.* *We only use your personal data as defined in our Data Protection Policy. You can view our Data Protection Policy here <https://stormagic.com/data-protection-policy/>.* *You can update your email preferences or exercise your rights under the GDPR Regulation by clicking here <https://stormagic.com/data-protection-policy/update-data-preferences/>.*
bison-3.1-m4_define.patch
Description: Binary data