I’m trying to create a build system with clear separation between the layers of my projects. My problem is that I can’t find an easy way to include headers from a dependency library.
(Longer explanation…)
My work is laid out like this:
engine/ ______engine.scm ______engine#.scm project1/ ______ios-game1/ ______android-game1/ ______game1/ ____________game1.scm ____________game1#.scm project2/ ______ios-game2/ ______android-game2/ ______game2/ ____________game2.scm ____________game2#.scm
I want to build the engine project into libengine.a, and each of my games into their own library, i.e. libgame1.a and libgame2.a. Then to make an iOS build for game1, for example, I link in libengine.a and libgame1.a
My problem is that, because I’m using namespaces, I need to include the #.scm header files from my engine into the game. Something like…
; game1.scm (##include “engine/engine#.scm”)
However, the ##include directive only searches relative to the current file, so my build of libgame1.a fails. There doesn’t seem to be any way to specify an include path to look in.
Is there a possible solution? Or, if not, does it make sense to build one into Gambit? A gsc flag would work great for my purposes.
Thanks, Axis
Afficher les réponses par date
; game1.scm (##include “engine/engine#.scm”)
However, the ##include directive only searches relative to the current file, so my build of libgame1.a fails. There doesn’t seem to be any way to specify an include path to look in.
Perhaps (current-directory <dir>) can help you with this. It can when interpreting code, at least.
That doesn’t seem to have any effect unfortunately. gsc seems to process the ##include directives before evaluating any of the actual code.
On Sat, May 3, 2014 at 1:40 PM, Álvaro Castro-Castilla < alvaro.castro.castilla@gmail.com> wrote:
; game1.scm
(##include “engine/engine#.scm”)
However, the ##include directive only searches relative to the current file, so my build of libgame1.a fails. There doesn’t seem to be any way to specify an include path to look in.
Perhaps (current-directory <dir>) can help you with this. It can when interpreting code, at least.