refactor: move tinyscheme to thirdparty/ directory#357
Merged
spe-ciellt merged 4 commits intogerbv:developfrom Mar 5, 2026
Merged
refactor: move tinyscheme to thirdparty/ directory#357spe-ciellt merged 4 commits intogerbv:developfrom
spe-ciellt merged 4 commits intogerbv:developfrom
Conversation
Move vendored TinyScheme 1.35 from src/ into thirdparty/tinyscheme/ for consistency with the dxflib bundling approach introduced in gerbv#296. Files moved: src/{scheme.c,scheme.h,scheme-private.h,opdefines.h} -> thirdparty/tinyscheme/ src/{dynload.c,dynload.h,init.scm} -> thirdparty/tinyscheme/ COPYING.tinyscheme -> thirdparty/tinyscheme/COPYING CMake changes: - Add tinyscheme_bundled static library target (mirrors dxflib_bundled) - Remove tinyscheme sources from gerbv-app, link tinyscheme_bundled instead - Install init.scm via install(FILES) since it moved out of src/ Also updates locale/CMakeLists.txt (gettext source path), package.sh (Windows packaging paths), and README.md (license link). Closes gerbv#350
dynload.c included two gerbv headers that broke after moving to thirdparty/: - gerb_file.h: completely unused, removed the dead include - common.h: provides the _() gettext macro used in error messages; add src/ as a PRIVATE include directory for tinyscheme_bundled so common.h (and its transitive gettext.h/locale.h) can be found
dynload.c includes common.h which includes gettext.h which includes libintl.h. On macOS, libintl.h is provided by the Intl package and requires its include path. Move the tinyscheme block after find_package(Intl) and conditionally link Intl::Intl.
Point GERBV_SCHEMEINIT to thirdparty/tinyscheme where init.scm now lives after the tinyscheme directory move.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
src/intothirdparty/tinyscheme/for consistency with the dxflib bundling approach from fix: DXF export renders arcs as straight lines #296tinyscheme_bundledstatic library CMake target (mirrors thedxflib_bundledpattern)VERSIONfile tracking the bundled version and licenseFiles moved
src/scheme.cthirdparty/tinyscheme/scheme.csrc/scheme.hthirdparty/tinyscheme/scheme.hsrc/scheme-private.hthirdparty/tinyscheme/scheme-private.hsrc/opdefines.hthirdparty/tinyscheme/opdefines.hsrc/dynload.cthirdparty/tinyscheme/dynload.csrc/dynload.hthirdparty/tinyscheme/dynload.hsrc/init.scmthirdparty/tinyscheme/init.scmCOPYING.tinyschemethirdparty/tinyscheme/COPYINGBuild changes
tinyscheme_bundledis a STATIC library linked bygerbv-app, keeping tinyscheme sources out of the application targetthirdparty/(PUBLIC), so consumers include as<tinyscheme/scheme-private.h>— same convention as<dxflib/dl_dxf.h>init.scminstalled viainstall(FILES)instead ofPUBLIC_HEADERsince it moved out ofsrc/Other updates
locale/CMakeLists.txt— gettext source path fordynload.c.mc/windows_amd64/opt/package.sh— Windows packaging pathsREADME.md— license file linkTest plan
init.scminstalls to the correctBACKEND_DIRpathCloses #350