[M3commit] CVS Update: cm3
Jay Krell
jkrell at elego.de
Mon Aug 17 05:13:38 CEST 2009
CVSROOT: /usr/cvs
Changes by: jkrell at birch. 09/08/17 05:13:38
Added files:
cm3/scripts/: sysinfo-new.sh
Log message:
rewrite sysinfo.sh with an eye toward:
always let user set CM3_TARGET
but not really OSTYPE, except for NT
probing the same for gnutar, gtar, tar, gnumake, gmake, make across
all platforms, even though that doesn't make complete sense
ie: on Linux could always just use tar and make directly, but the
extra probing should be cheap and the result seems simpler to me
The only downside is that e.g. on Linux if you have gnutar or gtar
but want to actually use tar, that won't happen.
Where FOO and CM3_FOO default to each other, use mostly common code
and common logic so that it is simpler. That is, if either FOO
or CM3_FOO is set, default the other to it, or default them both
the same; if FOO and CM3_FOO are both set, require them to be equal;
minor semantic loss here is that
1 perhaps CM3_FOO trumped FOO, or the other way around, it was
too confusing to tell
2 FOO can no longer be used to have a different meaning in the
enclosing context with CM3_FOO to trump it; that is, if $INSTALLROOT
is in fact set, it must be set to the Modula-3 value
Best practise of course is just never set the more general ones.
The particular pairs of variables are:
TARGET CM3_TARGET
M3GDB CM3_GDB
M3OSTYPE CM3_OSTYPE
CM3_INSTALL INSTALLROOT
Try to rationalize the mess I made of NT386 being three platforms.
Though the mess will later be removed.
Specifically user might set TARGET=NT386GNU|NT386MINGNU
which translate into NT386 + platform + backend,
or use might set platform + backend.
Still needs more proof reading and testing before being put into place.
Also will want to share it with regression/defs.sh.
More information about the M3commit
mailing list