[M3commit] CVS Update: cm3

Jay Krell jkrell at elego.de
Wed Dec 31 11:52:08 CET 2008


CVSROOT:	/usr/cvs
Changes by:	jkrell at birch.	08/12/31 11:52:08

Modified files:
	cm3/m3-comm/netobj/src/: netobj-ov.tmpl 
	cm3/m3-comm/sharedobj/src/: sharedobj-ov.tmpl 
	cm3/m3-libs/libm3/src/bundleintf/: bundle-ov.tmpl 
	cm3/m3-ui/zeus/src/: m3zume-ov.tmpl 
	cm3/m3-ui/juno-2/juno-app/src/: m3makefile 

Log message:
	Partly kinda sorta fix some cross build scenarios, without
	affecting native builds.
	
	It's a larger more general problem though.
	
	- BUILD_DIR does not necessarily equal HOST or TARGET,
	because of how I structured I386_CYGWIN to be a "configuration"
	where TARGET is still NT386.
	
	- a cross build can run the shipped binary anyway,
	and probably should (I didn't have the unshipped binaries around)
	
	- There should probably be automation to ensure all the tools are build.
	ie: do-cm3-tools or do-cm3-crosstools. ie: build just the needed packages,
	for the sniffed native platform.
	
	Cross builds have other problems.
	
	I keep hitting the following annoyances:
	
	ignoring foo/bar override when foo\bar already overridden
	override paths should either be canonicalized to one slash type
	or at least when there is a duplicate, canonicalize then and only
	complain if canonicals vary
	This is due to mixing I386_NT and I386_CYGWIN.
	Similarly the problem demonstrated regarding m3unix.h in Uwaitpid.quake.
	
	Perhaps the change I made to allow forward slashes on Win32 was not good, esp. due to
	its apparent inadequacy.
	
	The "lib" directory, specifically \cm3\lib\hand.obj is target..er, configuration dependent
	the gcc hand.obj cannot be directly linked by Visual C++, for reasons to do with libgcc
	
	lib should probably have "target" or "build_dir" under it
	
	and/or hand.obj specifically should be merged into m3core.lib
	
	The mentor quake code generally fails in cross environments, probably due to slashes.
	
	host=NT386 (GNU?), target=LINUXLIBC6 m3zume is access violating
	
	I'm also highly suspicious of all this "override" stuff.
	It clearly causes too much duplication and distribution of information.
	I shouldn't have to know the directory structure of my dependencies,
	and even if I do, I should be able to share that knowledge with their many
	other dependents. The "scripts" directory also figures this sort of stuff out automatically..
	Being able to have multiple package stores is well and good.
	I'm not sure they need to ever be used in an "unshipped" form, but instead just
	use alternate roots and create new empty roots as needed. ?




More information about the M3commit mailing list