AcademySoftwareFoundation / AcademySoftwareFoundation/OpenShadingLanguage

Pre-generate Bison parser files in Repo

Open
#1,878 1 comment 0 reactions 0 assignees View on GitHub
good first issue help wanted oslc
Dominant language
C++
Stars
2.3k
Forks
414
Avg merge
3d 1h
Merged PRs (30d)
10

Description

### Problem

OSL builds currently generate the Bison parser code during their builds.
It would be really great if someone could pre-generate these files and include them in the repo for the build system to use.

This would allow reducing the dependency count in OSL on Windows/Mac to not require bison on each machine, and would make builds ever so slightly more efficient for each builder.

This would require adjusting:

- `src/liboslexec/CMakeLists.txt`, `src/liboslquery/CMakeLists.txt` and `src/liboslcomp/CMakeLists.txt` to allow using the pre-generated files.
- `INSTALL.md` and the various platform `doc/build_install/windows/Readme.md` files that mention requiring bison, to making it optional.
- `doc/build_install/windows/build_osl.py` to make bison an optional build component.

Contributor guide

Open the contributing guide

Research direction

Inspect src/liboslexec/CMakeLists.txt, src/liboslquery/CMakeLists.txt, and src/liboslcomp/CMakeLists.txt to understand the current Bison generation path and where pre-generated files would be used. Then review INSTALL.md, the platform doc/build_install/windows/Readme.md files, and doc/build_install/windows/build_osl.py. Done means the repository includes usable generated parser files, builds no longer require Bison by default, and the documentation describes Bison as optional.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system, documentation
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.