Construyendo un proyecto de varias partes con SCons

Estoy intentando configurar SCons para build mi proyecto y estoy teniendo dificultades para descubrir exactamente cómo organizar las cosas. Consiste básicamente en las siguientes partes:

Module : un pequeño proyecto c separado que comstack una pequeña biblioteca ya configurada con SCons.

Core : Otro proyecto c ya configurado con Scons. Genera código al llamar a TheScript en algunos files internos del proyecto.

Main : Un proyecto que usa directamente files en Module y Core ; genera código invocando TheScript en un file dentro de Module y necesita include ambos files fuente dentro de Core y los files de biblioteca generados al build Core .

TheScript Un solo file de Python que vive solo en alguna parte.

Mi pregunta es ¿cómo organizo esto? Para Core y Main , necesito que ambos proyectos invoquen de alguna manera la versión más nueva de TheScript . Actualmente tengo un enlace simbólico a la secuencia de commands en cada directory de proyecto, pero esa no es una solución a largo ploop. El mismo problema aparece cuando quiero referirme a los proyectos: no quiero simplemente ingresar las routes mágicas que funcionan en mi máquina, pero sí quiero mantenerlas como proyectos independientes.

¿Cuál es una buena manera de resolver esto? He visto el software de control de versiones utilizado para algo como esto, donde los proyectos de dependencia se recogen, pero hasta ahora solo he usado bazaar para el control de versiones directas. No tengo idea de dónde comenzar con los problemas que he descrito. No necesito ejemplos específicos en el bazar: los conceptos generales y los indicadores de la documentation funcionarán muy bien.

Normalmente esto se haría con una compilation jerárquica de SCons. Creaciones jerárquicas. Pero si quieres mantener tanto Core como Main como proyectos independientes, esto no ayudará. Nunca lo intenté, pero tal vez podrías tener un Sconscript AND a SConstruct en Core y Main. SConsctruct permitiría que fuera un proyecto independiente, mientras que SConscript permitiría que se construyera todo junto, lo que permitiría una correcta comprobación de dependencies.

Puede organizar el proyecto de la siguiente manera:

 . |-- SConstruct |-- Core | |-- | |-- SConscript | `-- SConstruct |-- Main | |-- | |-- SConscript | `-- SConstruct `-- Module |-- `-- SConscript 

En cuanto a la última versión de TheScript, puede invocarla en los files SConscript sin especificar la ruta, y en el nivel raíz SConstruct, extraer la variable Unix Env ​​PATH de la siguiente manera: Propagar la ruta del entorno externo

Además, podría considerar la function Repositorio de SCons: Construir desde repositorys de código en la guía del usuario SCons. No me deja publicar más de 2 hyperlinks para la prevención de spam.

Espero que esto ayude,

Brady