[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