Hello all,

It occurs to me that in the newt world, there is one entity that is not
like the others: targets.  Everything else--pacakges, projects, compiler
definitions--all share the same structure: a .yml file and some source files
enclosed in a directory.  Targets, on the other hand, are tables stored
in a sqlite database.  I was wondering if it would be better if targets
had the same structure as everything else.

I am envisioning a directory called "targets".  Each subdirectory in the
targets directory would contain an individual target definition.  I
think this change would provide several benefits:

1. Targets could be shared and downloaded using the newt package
   manager.

2. Target definitions would be stored as yml files.  This would bestow a
   simple means of reading, modifying, and copying targets, the ability
   to add comments next to target variables, and all the other benefits
   inherent in human-readable configuration files.

3. A target's directory could contain target-specific header files.

The last point is what spurred me to write this email.  I was thinking
about the best way to allow compile-time configuration of packages.
Modifying settings at the project or package level is not precise enough
for some uses.  There are some cases where settings need to be
configured at the target level.  The newt tool allows you to specify
compiler flags for each target (via the "cflags" variable), but this
becomes unwieldy when you need to configure hundreds of settings.

Anyway, just a thought.  Feel free to chime in with your own :).

Thanks,
Chris

Reply via email to