When building libctl from git checkout without Guile (either via --without-guile or when Guile is not found), make fails with:
No rule to make target 'geom-ctl-io.c', needed by 'all'
Root case in utils/Makefile.am:
- Line 9:
ctlgeom-types.h in nodist_include_HEADERS – unconditional
- Line 15:
geom-ctl-io.c and ctlgeom-types.h in libctlgeom_la_SOURCES – unconditional
- Line 33:
geom-ctl-io.c and ctlgeom-types.h in BUILT_SOURCES – unconditional
- Line 41–60: Generation rules – conditional on
WITH_GUILE
When WITH_GUILE is false and the files don't exist (git checkout), there's no rule and no file.
The generated files geom-ctl-io.c and ctlgeom-types.h end up in the tarball because Automake automatically includes BUILT_SOURCES and source files from *_SOURCES in the dist. That's why the tarball has them but the git repo does not.
The real question is: should libctlgeom be buildable without Guile from a git checkout? Given that the entire library's type system is generated from geom.scm by Guile, it seems like Guile is a build-time dependency for building from git, and only tarball users can skip it (since the generated files are pre-included).
It would be good to be able to build libctlgeom using git checkout without having to install Guile as a dependency.
When building
libctlfromgit checkoutwithout Guile (either via--without-guileor when Guile is not found),makefails with:Root case in
utils/Makefile.am:ctlgeom-types.hinnodist_include_HEADERS– unconditionalgeom-ctl-io.candctlgeom-types.hinlibctlgeom_la_SOURCES– unconditionalgeom-ctl-io.candctlgeom-types.hinBUILT_SOURCES– unconditionalWITH_GUILEWhen
WITH_GUILEis false and the files don't exist (git checkout), there's no rule and no file.The generated files
geom-ctl-io.candctlgeom-types.hend up in the tarball because Automake automatically includesBUILT_SOURCESand source files from*_SOURCESin the dist. That's why the tarball has them but the git repo does not.The real question is: should
libctlgeombe buildable without Guile from a git checkout? Given that the entire library's type system is generated fromgeom.scmby Guile, it seems like Guile is a build-time dependency for building from git, and only tarball users can skip it (since the generated files are pre-included).It would be good to be able to build
libctlgeomusinggit checkoutwithout having to install Guile as a dependency.