Done a major overhaul of the way target include files are installed and
how platform libraries are built. The ARCH pm variable has now been renamed PLATFORM (which is more accurate) and a different ARCH variable added, which represents the CPU family rather than the hardware platform.
This commit is contained in:
		
							parent
							
								
									809cd2ef0b
								
							
						
					
					
						commit
						5c5f711cbb
					
				
					 46 changed files with 322 additions and 170 deletions
				
			
		|  | @ -3,7 +3,7 @@ | ||||||
| 
 | 
 | ||||||
| -- Provides rules for building things with the half-built ACK itself. | -- Provides rules for building things with the half-built ACK itself. | ||||||
| 
 | 
 | ||||||
| ACKBUILDFLAGS = {"-m%ARCH%", "%OPTIMISATION%"} | ACKBUILDFLAGS = {"-m%PLATFORM%", "%OPTIMISATION%"} | ||||||
| ACKDEFINES = EMPTY | ACKDEFINES = EMPTY | ||||||
| ACKINCLUDES = EMPTY | ACKINCLUDES = EMPTY | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,79 +0,0 @@ | ||||||
| /* $Id$ */ |  | ||||||
| /*
 |  | ||||||
|  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. |  | ||||||
|  * See the copyright notice in the ACK home directory, in the file "Copyright". |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| /*
 |  | ||||||
|  * Basic system types and major/minor device constructing/busting macros. |  | ||||||
|  */ |  | ||||||
| 
 |  | ||||||
| #if     !defined(_SYS_TYPES_H) |  | ||||||
| #define _SYS_TYPES_H |  | ||||||
| 
 |  | ||||||
| #ifdef __STDC__ |  | ||||||
| #if     !defined(_SIZE_T) |  | ||||||
| #define _SIZE_T |  | ||||||
| typedef unsigned int    size_t;         /* type returned by sizeof */ |  | ||||||
| #endif  /* _SIZE_T */ |  | ||||||
| 
 |  | ||||||
| #if     !defined(_TIME_T) |  | ||||||
| #define _TIME_T |  | ||||||
| typedef unsigned long   time_t; |  | ||||||
| #endif  /* TIME_T */ |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #if !defined(_POSIX_SOURCE) |  | ||||||
| 
 |  | ||||||
| /* major part of a device */ |  | ||||||
| #define	major(x)	((int)(((unsigned)(x)>>8)&0377)) |  | ||||||
| 
 |  | ||||||
| /* minor part of a device */ |  | ||||||
| #define	minor(x)	((int)((x)&0377)) |  | ||||||
| 
 |  | ||||||
| /* make a device number */ |  | ||||||
| #define	makedev(x,y)	((dev_t)(((x)<<8) | (y))) |  | ||||||
| 
 |  | ||||||
| typedef	unsigned char	u_char; |  | ||||||
| typedef	unsigned short	u_short; |  | ||||||
| typedef	unsigned int	u_int; |  | ||||||
| typedef	unsigned long	u_long; |  | ||||||
| 
 |  | ||||||
| typedef	struct	_physadr { int r[1]; } *physadr; |  | ||||||
| typedef	long	daddr_t; |  | ||||||
| typedef	char *	caddr_t; |  | ||||||
| #if defined(__BSD4_2) |  | ||||||
| typedef	u_long ino_t; |  | ||||||
| #else |  | ||||||
| typedef	u_short ino_t; |  | ||||||
| #endif |  | ||||||
| typedef	long	swblk_t; |  | ||||||
| 
 |  | ||||||
| #include <sys/stdtypes.h> |  | ||||||
| 
 |  | ||||||
| typedef	long	label_t[14]; |  | ||||||
| typedef	short	dev_t; |  | ||||||
| typedef	long	off_t; |  | ||||||
| 
 |  | ||||||
| /* system V compatibility: */ |  | ||||||
| typedef unsigned int	uint; |  | ||||||
| typedef unsigned short	ushort; |  | ||||||
| typedef unsigned char	uchar_t; |  | ||||||
| typedef short		cnt_t; |  | ||||||
| typedef long		paddr_t; |  | ||||||
| typedef long		key_t; |  | ||||||
| 
 |  | ||||||
| #else	/* _POSIX_SOURCE */ |  | ||||||
| #if     defined(_MINIX) |  | ||||||
| typedef unsigned short  dev_t;  /* hold (major|minor) device pair */ |  | ||||||
| typedef unsigned char   gid_t;  /* group id */ |  | ||||||
| typedef unsigned short  ino_t;  /* i-node number */ |  | ||||||
| typedef unsigned short  mode_t; /* mode number within an i-node */ |  | ||||||
| typedef unsigned char   nlink_t; /* number-of-links field within an i-node */ |  | ||||||
| typedef long            off_t;  /* offsets within a file */ |  | ||||||
| typedef int             pid_t;  /* type for pids (must be signed) */ |  | ||||||
| typedef unsigned short  uid_t;  /* user id */ |  | ||||||
| #endif  /* _MINIX */ |  | ||||||
| #endif  /* _POSIX_SOURCE */ |  | ||||||
| 
 |  | ||||||
| #endif /* _SYS_TYPES_H */ |  | ||||||
|  | @ -1,10 +1,11 @@ | ||||||
| -- $Source$ | -- $Source$ | ||||||
| -- $State$ | -- $State$ | ||||||
|  | -- $Revision$ | ||||||
| 
 | 
 | ||||||
| local d = ROOTDIR.."lang/basic/lib/" | local d = ROOTDIR.."lang/basic/lib/" | ||||||
| 
 | 
 | ||||||
| lang_basic_runtime = acklibrary { | lang_basic_runtime = acklibrary { | ||||||
| 	ACKINCLUDES = {PARENT, "%ROOTDIR%h", "%ROOTDIR%include/_tail_cc"}, | 	ACKINCLUDES = {PARENT, "%ROOTDIR%h"}, | ||||||
| 	 | 	 | ||||||
| 	ackfile (d.."fif.e"), | 	ackfile (d.."fif.e"), | ||||||
| 	ackfile (d.."fef.e"), | 	ackfile (d.."fef.e"), | ||||||
|  | @ -40,5 +41,5 @@ lang_basic_runtime = acklibrary { | ||||||
| 	ackfile (d.."trap.c"), | 	ackfile (d.."trap.c"), | ||||||
| 	ackfile (d.."write.c"), | 	ackfile (d.."write.c"), | ||||||
| 	 | 	 | ||||||
| 	install = pm.install("%BINDIR%%PLATIND%/%ARCH%/tail_bc") | 	install = pm.install("%BINDIR%%PLATIND%/%PLATFORM%/tail_bc") | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -6,12 +6,12 @@ local d = ROOTDIR.."lang/cem/libcc.ansi/" | ||||||
| local crt = ackfile { | local crt = ackfile { | ||||||
| 	ACKINCLUDES = {PARENT, "%ROOTDIR%h"}, | 	ACKINCLUDES = {PARENT, "%ROOTDIR%h"}, | ||||||
| 	file (d.."head_ac.e"), | 	file (d.."head_ac.e"), | ||||||
| 	install = pm.install("%BINDIR%%PLATIND%/%ARCH%/head_ac") | 	install = pm.install("%BINDIR%%PLATIND%/%PLATFORM%/head_ac") | ||||||
| } | } | ||||||
| 	 | 	 | ||||||
| local libc = acklibrary { | local libc = acklibrary { | ||||||
| 	ACKBUILDFLAGS = {PARENT, "-ansi"}, | 	ACKBUILDFLAGS = {PARENT, "-ansi"}, | ||||||
| 	ACKINCLUDES = {PARENT, "%ROOTDIR%h", d.."headers", "%ROOTDIR%include/_tail_cc"}, | 	ACKINCLUDES = {PARENT, "%ROOTDIR%h", d.."headers"}, | ||||||
| 	outputs = {"%U%/tail_ac.a"}, | 	outputs = {"%U%/tail_ac.a"}, | ||||||
| 	 | 	 | ||||||
| 	-- assert | 	-- assert | ||||||
|  | @ -260,32 +260,32 @@ local libc = acklibrary { | ||||||
| 	ackfile (d.."time/misc.c"), | 	ackfile (d.."time/misc.c"), | ||||||
| 
 | 
 | ||||||
| 	install = { | 	install = { | ||||||
| 		pm.install("%BINDIR%%PLATIND%/%ARCH%/tail_ac") | 		pm.install("%BINDIR%%PLATIND%/%PLATFORM%/tail_ac") | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| local headers = group { | local headers = group { | ||||||
| 	install = { | 	install = { | ||||||
| 		pm.install(d.."headers/assert.h", "%BINDIR%include/assert.h"), | 		pm.install(d.."headers/assert.h", "%BINDIR%include/ansi/assert.h"), | ||||||
| 		pm.install(d.."headers/ctype.h", "%BINDIR%include/ctype.h"), | 		pm.install(d.."headers/ctype.h", "%BINDIR%include/ansi/ctype.h"), | ||||||
| 		pm.install(d.."headers/dirent.h", "%BINDIR%include/dirent.h"), | 		pm.install(d.."headers/dirent.h", "%BINDIR%include/ansi/dirent.h"), | ||||||
| 		pm.install(d.."headers/errno.h", "%BINDIR%include/errno.h"), | 		pm.install(d.."headers/errno.h", "%BINDIR%include/ansi/errno.h"), | ||||||
| 		pm.install(d.."headers/float.h", "%BINDIR%include/float.h"), | 		pm.install(d.."headers/float.h", "%BINDIR%include/ansi/float.h"), | ||||||
| 		pm.install(d.."headers/grp.h", "%BINDIR%include/grp.h"), | 		pm.install(d.."headers/grp.h", "%BINDIR%include/ansi/grp.h"), | ||||||
| 		pm.install(d.."headers/limits.h", "%BINDIR%include/limits.h"), | 		pm.install(d.."headers/limits.h", "%BINDIR%include/ansi/limits.h"), | ||||||
| 		pm.install(d.."headers/locale.h", "%BINDIR%include/locale.h"), | 		pm.install(d.."headers/locale.h", "%BINDIR%include/ansi/locale.h"), | ||||||
| 		pm.install(d.."headers/math.h", "%BINDIR%include/math.h"), | 		pm.install(d.."headers/math.h", "%BINDIR%include/ansi/math.h"), | ||||||
| 		pm.install(d.."headers/mathconst.h", "%BINDIR%include/mathconst.h"), | 		pm.install(d.."headers/mathconst.h", "%BINDIR%include/ansi/mathconst.h"), | ||||||
| 		pm.install(d.."headers/setjmp.h", "%BINDIR%include/setjmp.h"), | 		pm.install(d.."headers/setjmp.h", "%BINDIR%include/ansi/setjmp.h"), | ||||||
| 		pm.install(d.."headers/signal.h", "%BINDIR%include/signal.h"), | 		pm.install(d.."headers/signal.h", "%BINDIR%include/ansi/signal.h"), | ||||||
| 		pm.install(d.."headers/stdarg.h", "%BINDIR%include/stdarg.h"), | 		pm.install(d.."headers/stdarg.h", "%BINDIR%include/ansi/stdarg.h"), | ||||||
| 		pm.install(d.."headers/stddef.h", "%BINDIR%include/stddef.h"), | 		pm.install(d.."headers/stddef.h", "%BINDIR%include/ansi/stddef.h"), | ||||||
| 		pm.install(d.."headers/stdio.h", "%BINDIR%include/stdio.h"), | 		pm.install(d.."headers/stdio.h", "%BINDIR%include/ansi/stdio.h"), | ||||||
| 		pm.install(d.."headers/stdlib.h", "%BINDIR%include/stdlib.h"), | 		pm.install(d.."headers/stdlib.h", "%BINDIR%include/ansi/stdlib.h"), | ||||||
| 		pm.install(d.."headers/string.h", "%BINDIR%include/string.h"), | 		pm.install(d.."headers/string.h", "%BINDIR%include/ansi/string.h"), | ||||||
| 		pm.install(d.."headers/time.h", "%BINDIR%include/time.h"), | 		pm.install(d.."headers/time.h", "%BINDIR%include/ansi/time.h"), | ||||||
| 		pm.install(d.."headers/sys/dirent.h", "%BINDIR%include/sys/dirent.h"), | 		pm.install(d.."headers/sys/dirent.h", "%BINDIR%include/ansi/sys/dirent.h"), | ||||||
| 		pm.install(d.."headers/sys/errno.h", "%BINDIR%include/sys/errno.h"), | 		pm.install(d.."headers/sys/errno.h", "%BINDIR%include/ansi/sys/errno.h"), | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -3,9 +3,12 @@ | ||||||
| 
 | 
 | ||||||
| local d = ROOTDIR.."lang/cem/libcc/gen/" | local d = ROOTDIR.."lang/cem/libcc/gen/" | ||||||
| 
 | 
 | ||||||
| lang_cem_gen_runtime = acklibrary { | local head = acklibrary { | ||||||
| 	ACKINCLUDES = {PARENT, "%ROOTDIR%h", "%ROOTDIR%include/_tail_cc"}, | 	ackfile (d.."head_cc.e"), | ||||||
|  | 	install = pm.install("%BINDIR%%PLATIND%/%PLATFORM%/head_cc") | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
|  | local tail = acklibrary { | ||||||
| 	ackfile (d.."abs.c"), | 	ackfile (d.."abs.c"), | ||||||
| 	ackfile (d.."atof.c"), | 	ackfile (d.."atof.c"), | ||||||
| 	ackfile (d.."strtod.c"), | 	ackfile (d.."strtod.c"), | ||||||
|  | @ -80,5 +83,12 @@ lang_cem_gen_runtime = acklibrary { | ||||||
| 	ackfile (d.."modf.e"), | 	ackfile (d.."modf.e"), | ||||||
| 	ackfile (d.."setjmp.e"), | 	ackfile (d.."setjmp.e"), | ||||||
| 
 | 
 | ||||||
| 	install = pm.install("%BINDIR%%PLATIND%/%ARCH%/tail_cc.2g") | 	install = pm.install("%BINDIR%%PLATIND%/%PLATFORM%/tail_cc.2g") | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | lang_cem_gen_runtime = group { | ||||||
|  | 	ACKINCLUDES = {PARENT, "%ROOTDIR%h"}, | ||||||
|  | 	 | ||||||
|  | 	head, | ||||||
|  | 	tail | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -77,7 +77,7 @@ struct tchars { | ||||||
| #else | #else | ||||||
| #define HUPCL	     0000001    /* unused ??? */ | #define HUPCL	     0000001    /* unused ??? */ | ||||||
| #endif | #endif | ||||||
| /*#define COOKED     0000000	/* neither CBREAK nor RAW */ | /*#define COOKED     0000000 */	/* neither CBREAK nor RAW */ | ||||||
| 
 | 
 | ||||||
| #ifdef __BDS4_2 | #ifdef __BDS4_2 | ||||||
| #define TIOCGETP (('t'<<8) | 8 | (6 << 16) | 0x40000000) | #define TIOCGETP (('t'<<8) | 8 | (6 << 16) | 0x40000000) | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
| local d = ROOTDIR.."lang/cem/libcc/math/" | local d = ROOTDIR.."lang/cem/libcc/math/" | ||||||
| 
 | 
 | ||||||
| lang_cem_math_runtime = acklibrary { | lang_cem_math_runtime = acklibrary { | ||||||
| 	ACKINCLUDES = {PARENT, "%ROOTDIR%h", "%ROOTDIR%include/_tail_cc"}, | 	ACKINCLUDES = {PARENT, "%ROOTDIR%h"}, | ||||||
| 	 | 	 | ||||||
| 	ackfile (d.."asin.c"), | 	ackfile (d.."asin.c"), | ||||||
| 	ackfile (d.."atan2.c"), | 	ackfile (d.."atan2.c"), | ||||||
|  | @ -27,5 +27,5 @@ lang_cem_math_runtime = acklibrary { | ||||||
| 	ackfile (d.."exp.c"), | 	ackfile (d.."exp.c"), | ||||||
| 	ackfile (d.."floor.c"), | 	ackfile (d.."floor.c"), | ||||||
| 
 | 
 | ||||||
| 	install = pm.install("%BINDIR%%PLATIND%/%ARCH%/tail_m") | 	install = pm.install("%BINDIR%%PLATIND%/%PLATFORM%/tail_m") | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -4,8 +4,7 @@ | ||||||
| local d = ROOTDIR.."lang/cem/libcc/mon/" | local d = ROOTDIR.."lang/cem/libcc/mon/" | ||||||
| 
 | 
 | ||||||
| lang_cem_mon_runtime = acklibrary { | lang_cem_mon_runtime = acklibrary { | ||||||
| 	ACKINCLUDES = {PARENT, "%ROOTDIR%h", "%ROOTDIR%include/_tail_cc", | 	ACKINCLUDES = {PARENT, "%ROOTDIR%h", "%ROOTDIR%include/_tail_mon"}, | ||||||
| 		"%ROOTDIR%include/_tail_mon"}, |  | ||||||
| 	 | 	 | ||||||
| 	ackfile (d.."exit.c"), | 	ackfile (d.."exit.c"), | ||||||
| 	ackfile (d.."gtty.c"), | 	ackfile (d.."gtty.c"), | ||||||
|  | @ -98,5 +97,5 @@ lang_cem_mon_runtime = acklibrary { | ||||||
| 	ackfile (d.."_wait.e"), | 	ackfile (d.."_wait.e"), | ||||||
| 	ackfile (d.."_write.e"), | 	ackfile (d.."_write.e"), | ||||||
| 
 | 
 | ||||||
| 	install = pm.install("%BINDIR%%PLATIND%/%ARCH%/tail_mon") | 	install = pm.install("%BINDIR%%PLATIND%/%PLATFORM%/tail_mon") | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -8,7 +8,31 @@ include (d.."math/pmfile") | ||||||
| include (d.."mon/pmfile") | include (d.."mon/pmfile") | ||||||
| include (d.."stdio/pmfile") | include (d.."stdio/pmfile") | ||||||
| 
 | 
 | ||||||
|  | local headers = group { | ||||||
|  | 	install = { | ||||||
|  | 		pm.install(d.."headers/assert.h", "%BINDIR%include/knr/assert.h"), | ||||||
|  | 		pm.install(d.."headers/ctype.h", "%BINDIR%include/knr/ctype.h"), | ||||||
|  | 		pm.install(d.."headers/errno.h", "%BINDIR%include/knr/errno.h"), | ||||||
|  | 		pm.install(d.."headers/fcntl.h", "%BINDIR%include/knr/fcntl.h"), | ||||||
|  | 		pm.install(d.."headers/grp.h", "%BINDIR%include/knr/grp.h"), | ||||||
|  | 		pm.install(d.."headers/math.h", "%BINDIR%include/knr/math.h"), | ||||||
|  | 		pm.install(d.."headers/pwd.h", "%BINDIR%include/knr/pwd.h"), | ||||||
|  | 		pm.install(d.."headers/setjmp.h", "%BINDIR%include/knr/setjmp.h"), | ||||||
|  | 		pm.install(d.."headers/sgtty.h", "%BINDIR%include/knr/sgtty.h"), | ||||||
|  | 		pm.install(d.."headers/signal.h", "%BINDIR%include/knr/signal.h"), | ||||||
|  | 		pm.install(d.."headers/stdio.h", "%BINDIR%include/knr/stdio.h"), | ||||||
|  | 		pm.install(d.."headers/time.h", "%BINDIR%include/knr/time.h"), | ||||||
|  | 		pm.install(d.."headers/varargs.h", "%BINDIR%include/knr/varargs.h"), | ||||||
|  | 		pm.install(d.."headers/sys/dir.h", "%BINDIR%include/knr/sys/dir.h"), | ||||||
|  | 		pm.install(d.."headers/sys/errno.h", "%BINDIR%include/knr/sys/errno.h"), | ||||||
|  | 		pm.install(d.."headers/sys/stat.h", "%BINDIR%include/knr/sys/stat.h"), | ||||||
|  | 		pm.install(d.."headers/sys/stdtypes.h", "%BINDIR%include/knr/sys/stdtypes.h"), | ||||||
|  | 		pm.install(d.."headers/sys/types.h", "%BINDIR%include/knr/sys/types.h"), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
| lang_cem_runtime = group { | lang_cem_runtime = group { | ||||||
|  | 	headers, | ||||||
| 	lang_cem_gen_runtime, | 	lang_cem_gen_runtime, | ||||||
| 	lang_cem_math_runtime, | 	lang_cem_math_runtime, | ||||||
| 	lang_cem_mon_runtime, | 	lang_cem_mon_runtime, | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
| local d = ROOTDIR.."lang/cem/libcc/stdio/" | local d = ROOTDIR.."lang/cem/libcc/stdio/" | ||||||
| 
 | 
 | ||||||
| lang_cem_stdio_runtime = acklibrary { | lang_cem_stdio_runtime = acklibrary { | ||||||
| 	ACKINCLUDES = {PARENT, "%ROOTDIR%h", "%ROOTDIR%include/_tail_cc"}, | 	ACKINCLUDES = {PARENT, "%ROOTDIR%h"}, | ||||||
| 	 | 	 | ||||||
| 	ackfile (d.."vsprintf.c"), | 	ackfile (d.."vsprintf.c"), | ||||||
| 	ackfile (d.."vfprintf.c"), | 	ackfile (d.."vfprintf.c"), | ||||||
|  | @ -54,5 +54,5 @@ lang_cem_stdio_runtime = acklibrary { | ||||||
| 	ackfile (d.."timezone.c"), | 	ackfile (d.."timezone.c"), | ||||||
| 	ackfile (d.."ungetc.c"), | 	ackfile (d.."ungetc.c"), | ||||||
| 
 | 
 | ||||||
| 	install = pm.install("%BINDIR%%PLATIND%/%ARCH%/tail_cc.1s") | 	install = pm.install("%BINDIR%%PLATIND%/%PLATFORM%/tail_cc.1s") | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -3,9 +3,43 @@ | ||||||
| 
 | 
 | ||||||
| local d = ROOTDIR.."lang/m2/libm2/" | local d = ROOTDIR.."lang/m2/libm2/" | ||||||
| 
 | 
 | ||||||
| lang_m2_runtime = acklibrary { | local headers = group { | ||||||
| 	ACKINCLUDES = {PARENT, "%ROOTDIR%h", "%ROOTDIR%include/_tail_cc"}, | 	install = { | ||||||
|  | 		pm.install(d.."Arguments.def", "%BINDIR%include/m2/Arguments.def"), | ||||||
|  | 		pm.install(d.."ArraySort.def", "%BINDIR%include/m2/ArraySort.def"), | ||||||
|  | 		pm.install(d.."ASCII.def", "%BINDIR%include/m2/ASCII.def"), | ||||||
|  | 		pm.install(d.."Conversion.def", "%BINDIR%include/m2/Conversion.def"), | ||||||
|  | 		pm.install(d.."CSP.def", "%BINDIR%include/m2/CSP.def"), | ||||||
|  | 		pm.install(d.."EM.def", "%BINDIR%include/m2/EM.def"), | ||||||
|  | 		pm.install(d.."Epilogue.def", "%BINDIR%include/m2/Epilogue.def"), | ||||||
|  | 		pm.install(d.."InOut.def", "%BINDIR%include/m2/InOut.def"), | ||||||
|  | 		pm.install(d.."MathLib0.def", "%BINDIR%include/m2/MathLib0.def"), | ||||||
|  | 		pm.install(d.."Mathlib.def", "%BINDIR%include/m2/Mathlib.def"), | ||||||
|  | 		pm.install(d.."PascalIO.def", "%BINDIR%include/m2/PascalIO.def"), | ||||||
|  | 		pm.install(d.."Processes.def", "%BINDIR%include/m2/Processes.def"), | ||||||
|  | 		pm.install(d.."random.def", "%BINDIR%include/m2/random.def"), | ||||||
|  | 		pm.install(d.."RealConver.def", "%BINDIR%include/m2/RealConver.def"), | ||||||
|  | 		pm.install(d.."RealInOut.def", "%BINDIR%include/m2/RealInOut.def"), | ||||||
|  | 		pm.install(d.."Semaphores.def", "%BINDIR%include/m2/Semaphores.def"), | ||||||
|  | 		pm.install(d.."Storage.def", "%BINDIR%include/m2/Storage.def"), | ||||||
|  | 		pm.install(d.."Streams.def", "%BINDIR%include/m2/Streams.def"), | ||||||
|  | 		pm.install(d.."Strings.def", "%BINDIR%include/m2/Strings.def"), | ||||||
|  | 		pm.install(d.."StripUnix.def", "%BINDIR%include/m2/StripUnix.def"), | ||||||
|  | 		pm.install(d.."Termcap.def", "%BINDIR%include/m2/Termcap.def"), | ||||||
|  | 		pm.install(d.."Terminal.def", "%BINDIR%include/m2/Terminal.def"), | ||||||
|  | 		pm.install(d.."Traps.def", "%BINDIR%include/m2/Traps.def"), | ||||||
|  | 		pm.install(d.."Unix.def", "%BINDIR%include/m2/Unix.def"), | ||||||
|  | 		pm.install(d.."XXTermcap.def", "%BINDIR%include/m2/XXTermcap.def"), | ||||||
|  | 	} | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
|  | local head = ackfile { | ||||||
|  | 	file (d.."head_m2.e"), | ||||||
|  | 	 | ||||||
|  | 	install = pm.install("%BINDIR%%PLATIND%/%PLATFORM%/head_m2") | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | local tail = acklibrary { | ||||||
| 	ackfile (d.."Termcap.mod"), | 	ackfile (d.."Termcap.mod"), | ||||||
| 	ackfile (d.."CSP.mod"), | 	ackfile (d.."CSP.mod"), | ||||||
| 	ackfile (d.."PascalIO.mod"), | 	ackfile (d.."PascalIO.mod"), | ||||||
|  | @ -53,5 +87,13 @@ lang_m2_runtime = acklibrary { | ||||||
| 	ackfile (d.."rckil.c"), | 	ackfile (d.."rckil.c"), | ||||||
| 	ackfile (d.."EM.e"), | 	ackfile (d.."EM.e"), | ||||||
| 	 | 	 | ||||||
| 	install = pm.install("%BINDIR%%PLATIND%/%ARCH%/tail_m2") | 	install = pm.install("%BINDIR%%PLATIND%/%PLATFORM%/tail_m2") | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | lang_m2_runtime = acklibrary { | ||||||
|  | 	ACKINCLUDES = {PARENT, "%ROOTDIR%h"}, | ||||||
|  | 	 | ||||||
|  | 	headers, | ||||||
|  | 	head, | ||||||
|  | 	tail | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -3,8 +3,8 @@ | ||||||
| 
 | 
 | ||||||
| local d = ROOTDIR.."lang/occam/lib/" | local d = ROOTDIR.."lang/occam/lib/" | ||||||
| 
 | 
 | ||||||
| lang_occam_runtime = acklibrary { | lang_occam_lib_runtime = acklibrary { | ||||||
| 	ACKINCLUDES = {PARENT, "%ROOTDIR%h", "%ROOTDIR%include/_tail_cc"}, | 	ACKINCLUDES = {PARENT, "%ROOTDIR%h"}, | ||||||
| 	 | 	 | ||||||
| 	ackfile (d.."builtin.c"), | 	ackfile (d.."builtin.c"), | ||||||
| 	ackfile (d.."chan_strct.c"), | 	ackfile (d.."chan_strct.c"), | ||||||
|  | @ -17,5 +17,5 @@ lang_occam_runtime = acklibrary { | ||||||
| 	ackfile (d.."par_misc.e"), | 	ackfile (d.."par_misc.e"), | ||||||
| 	ackfile (d.."parco.c"), | 	ackfile (d.."parco.c"), | ||||||
| 	 | 	 | ||||||
| 	install = pm.install("%BINDIR%%PLATIND%/%ARCH%/tail_ocm") | 	install = pm.install("%BINDIR%%PLATIND%/%PLATFORM%/tail_ocm") | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -5,3 +5,16 @@ local d = ROOTDIR.."lang/occam/" | ||||||
| 
 | 
 | ||||||
| include (d.."comp/pmfile") | include (d.."comp/pmfile") | ||||||
| include (d.."lib/pmfile") | include (d.."lib/pmfile") | ||||||
|  | 
 | ||||||
|  | local headers = group { | ||||||
|  | 	install = { | ||||||
|  | 		pm.install(d.."headers/dec.ocm", "%BINDIR%include/occam/dec.ocm"), | ||||||
|  | 		pm.install(d.."headers/printd.ocm", "%BINDIR%include/occam/printd.ocm"), | ||||||
|  | 		pm.install(d.."headers/prints.ocm", "%BINDIR%include/occam/prints.ocm"), | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | lang_occam_runtime = group { | ||||||
|  | 	headers, | ||||||
|  | 	lang_occam_lib_runtime | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -3,9 +3,13 @@ | ||||||
| 
 | 
 | ||||||
| local d = ROOTDIR.."lang/pc/libpc/" | local d = ROOTDIR.."lang/pc/libpc/" | ||||||
| 
 | 
 | ||||||
| lang_pc_runtime = acklibrary { | head = ackfile { | ||||||
| 	ACKINCLUDES = {PARENT, "%ROOTDIR%h", "%ROOTDIR%include/_tail_cc"}, | 	file (d.."head_pc.e"), | ||||||
| 	 | 	 | ||||||
|  | 	install = pm.install("%BINDIR%%PLATIND%/%PLATFORM%/head_pc") | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | tail = acklibrary { | ||||||
| 	ackfile (d.."abi.c"), | 	ackfile (d.."abi.c"), | ||||||
| 	ackfile (d.."abl.c"), | 	ackfile (d.."abl.c"), | ||||||
| 	ackfile (d.."abr.c"), | 	ackfile (d.."abr.c"), | ||||||
|  | @ -79,5 +83,13 @@ lang_pc_runtime = acklibrary { | ||||||
| 	ackfile (d.."rcka.c"), | 	ackfile (d.."rcka.c"), | ||||||
| 	ackfile (d.."trp.e"), | 	ackfile (d.."trp.e"), | ||||||
| 	 | 	 | ||||||
| 	install = pm.install("%BINDIR%%PLATIND%/%ARCH%/tail_pc") | 	install = pm.install("%BINDIR%%PLATIND%/%PLATFORM%/tail_pc") | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | lang_pc_runtime = group { | ||||||
|  | 	ACKINCLUDES = {PARENT, "%ROOTDIR%h"}, | ||||||
|  | 	 | ||||||
|  | 	head, | ||||||
|  | 	tail | ||||||
|  | } | ||||||
|  | 	 | ||||||
|  |  | ||||||
							
								
								
									
										19
									
								
								lib/descr/fe
									
										
									
									
									
								
							
							
						
						
									
										19
									
								
								lib/descr/fe
									
										
									
									
									
								
							|  | @ -4,8 +4,10 @@ | ||||||
| # Don't generate line updating code by default (i.e.: -L flag provided to cem). | # Don't generate line updating code by default (i.e.: -L flag provided to cem). | ||||||
| # To put it on again: use -NL | # To put it on again: use -NL | ||||||
| var LFLAG=-L | var LFLAG=-L | ||||||
| var C_INCLUDES=-I{EM}/include/_tail_cc | var MODULA2_INCLUDES=-I{EM}/include/m2 | ||||||
| var ANSI_C_INCLUDES=-I{EM}/include/tail_ac | var OCCAM_INCLUDES=-I{EM}/include/occam | ||||||
|  | var C_INCLUDES=-I{EM}/include/knr | ||||||
|  | var ANSI_C_INCLUDES=-I{EM}/include/ansi | ||||||
| 
 | 
 | ||||||
| callname ack | callname ack | ||||||
| name cpp | name cpp | ||||||
|  | @ -19,14 +21,15 @@ name cpp | ||||||
| 	mapflag -C CPP_F={CPP_F?} -C | 	mapflag -C CPP_F={CPP_F?} -C | ||||||
| 	mapflag -wo CPP_F={CPP_F?} -o | 	mapflag -wo CPP_F={CPP_F?} -o | ||||||
| 	mapflag -ansi ANSI_C=.ansi | 	mapflag -ansi ANSI_C=.ansi | ||||||
| 	args {CPP_F?} ({SUFFIX?}:.ocm=-I{EM}/include/occam) \ | 	args {CPP_F?} \ | ||||||
| 		-D__{NAME} \ | 		({SUFFIX?}:.ocm={OCCAM_INCLUDES}) \ | ||||||
|  | 		-D__{ARCH} -D__{PLATFORM} \ | ||||||
| 		-D__ACK \ | 		-D__ACK \ | ||||||
| 		{SYSINCLUDES?} \ | 		{SYSINCLUDES?} \ | ||||||
| 		({ANSI_C?}:.ansi={ANSI_C_INCLUDES}) \ | 		({ANSI_C?}:.ansi={ANSI_C_INCLUDES}) \ | ||||||
| 		{C_INCLUDES} \ | 		{C_INCLUDES} \ | ||||||
| 		{INCLUDES?} \ | 		{INCLUDES?} \ | ||||||
| 		({ANSI_C?.xx}:.xx=-D{NAME} \ | 		({ANSI_C?.xx}:.xx=-D{ARCH} \ | ||||||
| 		-DEM_WSIZE={w} -DEM_PSIZE={p} \ | 		-DEM_WSIZE={w} -DEM_PSIZE={p} \ | ||||||
| 		-DEM_SSIZE={s} -DEM_LSIZE={l} -DEM_FSIZE={f} -DEM_DSIZE={d}) \ | 		-DEM_SSIZE={s} -DEM_LSIZE={l} -DEM_FSIZE={f} -DEM_DSIZE={d}) \ | ||||||
| 		-D_EM_WSIZE={w} -D_EM_PSIZE={p} \ | 		-D_EM_WSIZE={w} -D_EM_PSIZE={p} \ | ||||||
|  | @ -75,13 +78,13 @@ name cem | ||||||
| 	need .c | 	need .c | ||||||
| 	args \ | 	args \ | ||||||
| 		{CPP_F?} \ | 		{CPP_F?} \ | ||||||
| 		-D__{NAME} \ | 		-D__{ARCH} -D__{PLATFORM} \ | ||||||
| 		-D__ACK \ | 		-D__ACK \ | ||||||
| 		{SYSINCLUDES?} \ | 		{SYSINCLUDES?} \ | ||||||
| 		({ANSI_C?}:.ansi={ANSI_C_INCLUDES}) \ | 		({ANSI_C?}:.ansi={ANSI_C_INCLUDES}) \ | ||||||
| 		{C_INCLUDES} \ | 		{C_INCLUDES} \ | ||||||
| 		{INCLUDES?} \ | 		{INCLUDES?} \ | ||||||
| 		({ANSI_C?.xx}:.xx=-D{NAME} \ | 		({ANSI_C?.xx}:.xx=-D{ARCH} \ | ||||||
| 		-DEM_WSIZE={w} -DEM_PSIZE={p} \ | 		-DEM_WSIZE={w} -DEM_PSIZE={p} \ | ||||||
| 		-DEM_SSIZE={s} -DEM_LSIZE={l} -DEM_FSIZE={f} -DEM_DSIZE={d}) \ | 		-DEM_SSIZE={s} -DEM_LSIZE={l} -DEM_FSIZE={f} -DEM_DSIZE={d}) \ | ||||||
| 		-D_EM_WSIZE={w} -D_EM_PSIZE={p} \ | 		-D_EM_WSIZE={w} -D_EM_PSIZE={p} \ | ||||||
|  | @ -133,7 +136,7 @@ name m2 | ||||||
| 	mapflag -V* M2_F={M2_F?} -V* | 	mapflag -V* M2_F={M2_F?} -V* | ||||||
| 	mapflag --* M2_F={M2_F?} -* | 	mapflag --* M2_F={M2_F?} -* | ||||||
| 	args \ | 	args \ | ||||||
| 		{M2_INCL?} -I{EM}/lib/m2 {M2SYSLIB?} \ | 		{M2_INCL?} {MODULA2_INCLUDES} {M2SYSLIB?} \ | ||||||
| 		-Vw{w}.{w}i{w}.{w}p{p}.{w}l{l}.{w}f{f}.{w}d{d}.{w} \ | 		-Vw{w}.{w}i{w}.{w}p{p}.{w}l{l}.{w}f{f}.{w}d{d}.{w} \ | ||||||
| 		{M2_ALIGN?} {M2_F?} < > | 		{M2_ALIGN?} {M2_F?} < > | ||||||
| 	prep cond | 	prep cond | ||||||
|  |  | ||||||
							
								
								
									
										71
									
								
								mach/i86/libem/pmfile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								mach/i86/libem/pmfile
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,71 @@ | ||||||
|  | -- $Source$ | ||||||
|  | -- $State$ | ||||||
|  | -- $Revision$ | ||||||
|  | 
 | ||||||
|  | local d = ROOTDIR.."mach/i86/libem/" | ||||||
|  | 
 | ||||||
|  | libem_i86 = acklibrary { | ||||||
|  | 	outputs = {"%U%/libem-%PLATFORM%.a"}, | ||||||
|  | 
 | ||||||
|  | 	ackfile (d.."adi.s"), | ||||||
|  | 	ackfile (d.."and.s"), | ||||||
|  | 	ackfile (d.."cii.s"), | ||||||
|  | 	ackfile (d.."cms.s"), | ||||||
|  | 	ackfile (d.."cmi4.s"), | ||||||
|  | 	ackfile (d.."cmu4.s"), | ||||||
|  | 	ackfile (d.."com.s"), | ||||||
|  | 	ackfile (d.."csa2.s"), | ||||||
|  | 	ackfile (d.."csb2.s"), | ||||||
|  | 	ackfile (d.."csa4.s"), | ||||||
|  | 	ackfile (d.."csb4.s"), | ||||||
|  | 	ackfile (d.."cuu.s"), | ||||||
|  | 	ackfile (d.."dup.s"), | ||||||
|  | 	ackfile (d.."dvi.s"), | ||||||
|  | 	ackfile (d.."dvi4.s"), | ||||||
|  | 	ackfile (d.."dvu.s"), | ||||||
|  | 	ackfile (d.."dvu4.s"), | ||||||
|  | 	ackfile (d.."exg.s"), | ||||||
|  | 	ackfile (d.."fp8087.s"), | ||||||
|  | 	ackfile (d.."gto.s"), | ||||||
|  | 	ackfile (d.."iaar.s"), | ||||||
|  | 	ackfile (d.."ilar.s"), | ||||||
|  | 	ackfile (d.."inn.s"), | ||||||
|  | 	ackfile (d.."ior.s"), | ||||||
|  | 	ackfile (d.."isar.s"), | ||||||
|  | 	ackfile (d.."lar2.s"), | ||||||
|  | 	ackfile (d.."loi.s"), | ||||||
|  | 	ackfile (d.."mli.s"), | ||||||
|  | 	ackfile (d.."mli4.s"), | ||||||
|  | 	ackfile (d.."mon.s"), | ||||||
|  | 	ackfile (d.."ngi.s"), | ||||||
|  | 	ackfile (d.."nop.s"), | ||||||
|  | 	ackfile (d.."rck.s"), | ||||||
|  | 	ackfile (d.."rmi.s"), | ||||||
|  | 	ackfile (d.."rmi4.s"), | ||||||
|  | 	ackfile (d.."rmu.s"), | ||||||
|  | 	ackfile (d.."rmu4.s"), | ||||||
|  | 	ackfile (d.."rol.s"), | ||||||
|  | 	ackfile (d.."ror.s"), | ||||||
|  | 	ackfile (d.."sar2.s"), | ||||||
|  | 	ackfile (d.."sbi.s"), | ||||||
|  | 	ackfile (d.."set.s"), | ||||||
|  | 	ackfile (d.."sli.s"), | ||||||
|  | 	ackfile (d.."sri.s"), | ||||||
|  | 	ackfile (d.."sti.s"), | ||||||
|  | 	ackfile (d.."strhp.s"), | ||||||
|  | 	ackfile (d.."xor.s"), | ||||||
|  | 	ackfile (d.."error.s"), | ||||||
|  | 	ackfile (d.."unknown.s"), | ||||||
|  | 	ackfile (d.."fat.s"), | ||||||
|  | 	ackfile (d.."trp.s"), | ||||||
|  | 	ackfile (d.."print.s"), | ||||||
|  | 	ackfile (d.."ret6.s"), | ||||||
|  | 	ackfile (d.."ret8.s"), | ||||||
|  | 	ackfile (d.."lfr6.s"), | ||||||
|  | 	ackfile (d.."lfr8.s"), | ||||||
|  | 	ackfile (d.."retarea.s"), | ||||||
|  | 	ackfile (d.."blm.s"), | ||||||
|  | 	ackfile (d.."return.s"), | ||||||
|  | 
 | ||||||
|  | 	install = pm.install("%BINDIR%lib/%PLATFORM%/libem.a"), | ||||||
|  | } | ||||||
							
								
								
									
										16
									
								
								mach/i86/libend/pmfile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								mach/i86/libend/pmfile
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | ||||||
|  | -- $Source$ | ||||||
|  | -- $State$ | ||||||
|  | -- $Revision$ | ||||||
|  | 
 | ||||||
|  | local d = ROOTDIR.."mach/i86/libend/" | ||||||
|  | 
 | ||||||
|  | libend_i86 = acklibrary { | ||||||
|  | 	outputs = {"%U%/libend-%PLATFORM%.a"}, | ||||||
|  | 
 | ||||||
|  | 	ackfile (d.."edata.s"), | ||||||
|  | 	ackfile (d.."em_end.s"), | ||||||
|  | 	ackfile (d.."end.s"), | ||||||
|  | 	ackfile (d.."etext.s"), | ||||||
|  | 
 | ||||||
|  | 	install = pm.install("%BINDIR%lib/%PLATFORM%/libend.a"), | ||||||
|  | } | ||||||
|  | @ -3,21 +3,19 @@ | ||||||
| 
 | 
 | ||||||
| local d = ROOTDIR.."mach/i86/" | local d = ROOTDIR.."mach/i86/" | ||||||
| 
 | 
 | ||||||
| mach_i86 = group { | include (d.."libem/pmfile") | ||||||
| 	ARCH = "i86", | include (d.."libend/pmfile") | ||||||
| 
 | 
 | ||||||
|  | mach_i86 = group { | ||||||
| 	proto_as, | 	proto_as, | ||||||
| 	proto_ncg { ARCHDIR = "i86" }, | 	proto_ncg { ARCHDIR = "i86" }, | ||||||
| 	ego_descr, | 	ego_descr, | ||||||
| 	 |  | ||||||
| 	install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr") |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| -- Revision history | support_i86 = group { | ||||||
| -- $Log$ | 	OPTIMISATION = "-O", | ||||||
| -- Revision 1.2  2006-07-22 00:52:01  dtrg | 
 | ||||||
| -- Added support for the ego global optimisation suite. | 	libem_i86, | ||||||
| -- | 	libend_i86, | ||||||
| -- Revision 1.1  2006/07/20 23:18:18  dtrg | } | ||||||
| -- First version in CVS. | 
 | ||||||
| -- |  | ||||||
|  |  | ||||||
|  | @ -17,9 +17,10 @@ local parser = yacc { | ||||||
| 
 | 
 | ||||||
| local cfile_with_tables = cfile { | local cfile_with_tables = cfile { | ||||||
| 	class = "cfile_with_tables", | 	class = "cfile_with_tables", | ||||||
|  | 	CINCLUDES = {PARENT, "%ROOTDIR%mach/%ARCH%/as"}, | ||||||
|  | 	 | ||||||
| 	dynamicheaders = { | 	dynamicheaders = { | ||||||
| 		parser, | 		parser, | ||||||
| 		file (ROOTDIR.."mach/%ARCH%/as/") |  | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -39,13 +40,20 @@ proto_as = cprogram { | ||||||
| 	 | 	 | ||||||
| 	lib_object, | 	lib_object, | ||||||
| 	 | 	 | ||||||
| 	outputs = {"%U%/%ARCH%-as"}, | 	outputs = {"%U%/%PLATFORM%-as"}, | ||||||
| 	install = pm.install(BINDIR.."%PLATDEP%/%ARCH%/as") | 	install = pm.install(BINDIR.."%PLATDEP%/%PLATFORM%/as") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| -- Revision history | -- Revision history | ||||||
| -- $Log$ | -- $Log$ | ||||||
| -- Revision 1.3  2006-10-15 00:28:12  dtrg | -- Revision 1.4  2007-02-20 00:45:19  dtrg | ||||||
|  | -- Done a major overhaul of the way target include files are installed and | ||||||
|  | -- how platform libraries are built. The ARCH pm variable has now been | ||||||
|  | -- renamed PLATFORM (which is more accurate) and a different ARCH | ||||||
|  | -- variable added, which represents the CPU family rather than the | ||||||
|  | -- hardware platform. | ||||||
|  | -- | ||||||
|  | -- Revision 1.3  2006/10/15 00:28:12  dtrg | ||||||
| -- Updated to the version 0.1 of Prime Mover (which involves some syntax changes). | -- Updated to the version 0.1 of Prime Mover (which involves some syntax changes). | ||||||
| -- | -- | ||||||
| -- Revision 1.2  2006/07/30 23:41:16  dtrg | -- Revision 1.2  2006/07/30 23:41:16  dtrg | ||||||
|  |  | ||||||
|  | @ -4,15 +4,15 @@ | ||||||
| local d = ROOTDIR.."mach/proto/cg/" | local d = ROOTDIR.."mach/proto/cg/" | ||||||
| 
 | 
 | ||||||
| local make_tables = cgg { | local make_tables = cgg { | ||||||
| 	CGGINCLUDEDIR = (ROOTDIR.."mach/%ARCH%/cg/"), | 	CGGINCLUDEDIR = (ROOTDIR.."mach/%PLATFORM%/cg/"), | ||||||
| 	file (ROOTDIR.."mach/%ARCH%/cg/table") | 	file (ROOTDIR.."mach/%PLATFORM%/cg/table") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| local cfile_with_tables = cfile { | local cfile_with_tables = cfile { | ||||||
| 	class = "cfile_with_tables", | 	class = "cfile_with_tables", | ||||||
| 	dynamicheaders = { | 	dynamicheaders = { | ||||||
| 		make_tables, | 		make_tables, | ||||||
| 		file (ROOTDIR.."mach/%ARCH%/cg/"), | 		file (ROOTDIR.."mach/%PLATFORM%/cg/"), | ||||||
| 		file (ROOTDIR.."mach/") | 		file (ROOTDIR.."mach/") | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | @ -39,7 +39,7 @@ proto_cg = cprogram { | ||||||
| 	cfile { | 	cfile { | ||||||
| 		ith { make_tables, i = 1 }, | 		ith { make_tables, i = 1 }, | ||||||
| 		dynamicheaders = { | 		dynamicheaders = { | ||||||
| 			file (ROOTDIR.."mach/%ARCH%/cg/"), | 			file (ROOTDIR.."mach/%PLATFORM%/cg/"), | ||||||
| 			file (d) | 			file (d) | ||||||
| 		} | 		} | ||||||
| 	}, | 	}, | ||||||
|  | @ -47,13 +47,20 @@ proto_cg = cprogram { | ||||||
| 	lib_em_data, | 	lib_em_data, | ||||||
| 	lib_flt_arith, | 	lib_flt_arith, | ||||||
| 	 | 	 | ||||||
| 	outputs = {"%U%/%ARCH%-cg"}, | 	outputs = {"%U%/%PLATFORM%-cg"}, | ||||||
| 	install = pm.install("%BINDIR%%PLATDEP%/%ARCH%/cg") | 	install = pm.install("%BINDIR%%PLATDEP%/%PLATFORM%/cg") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| -- Revision history | -- Revision history | ||||||
| -- $Log$ | -- $Log$ | ||||||
| -- Revision 1.2  2006-10-15 00:28:12  dtrg | -- Revision 1.3  2007-02-20 00:45:19  dtrg | ||||||
|  | -- Done a major overhaul of the way target include files are installed and | ||||||
|  | -- how platform libraries are built. The ARCH pm variable has now been | ||||||
|  | -- renamed PLATFORM (which is more accurate) and a different ARCH | ||||||
|  | -- variable added, which represents the CPU family rather than the | ||||||
|  | -- hardware platform. | ||||||
|  | -- | ||||||
|  | -- Revision 1.2  2006/10/15 00:28:12  dtrg | ||||||
| -- Updated to the version 0.1 of Prime Mover (which involves some syntax changes). | -- Updated to the version 0.1 of Prime Mover (which involves some syntax changes). | ||||||
| -- | -- | ||||||
| -- Revision 1.1  2006/07/20 23:18:19  dtrg | -- Revision 1.1  2006/07/20 23:18:19  dtrg | ||||||
|  |  | ||||||
|  | @ -20,7 +20,7 @@ proto_ncg = cprogram { | ||||||
| 	 | 	 | ||||||
| 	CINCLUDES = { | 	CINCLUDES = { | ||||||
| 		PARENT, | 		PARENT, | ||||||
| 		"mach/%ARCH%/ncg", | 		"mach/%PLATFORM%/ncg", | ||||||
| 		"mach/%ARCHDIR%/ncg", | 		"mach/%ARCHDIR%/ncg", | ||||||
| 		"mach" | 		"mach" | ||||||
| 	}, | 	}, | ||||||
|  | @ -50,6 +50,6 @@ proto_ncg = cprogram { | ||||||
| 	lib_em_data, | 	lib_em_data, | ||||||
| 	lib_flt_arith, | 	lib_flt_arith, | ||||||
| 	 | 	 | ||||||
| 	outputs = {"%U%/%ARCH%-ncg"}, | 	outputs = {"%U%/%PLATFORM%-ncg"}, | ||||||
| 	install = pm.install("%BINDIR%%PLATDEP%/%ARCH%/ncg") | 	install = pm.install("%BINDIR%%PLATDEP%/%PLATFORM%/ncg") | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -4,7 +4,7 @@ | ||||||
| local d = ROOTDIR.."mach/proto/top/" | local d = ROOTDIR.."mach/proto/top/" | ||||||
| 
 | 
 | ||||||
| local make_tables = topgen { | local make_tables = topgen { | ||||||
| 	file (ROOTDIR.."mach/%ARCH%/top/table") | 	file (ROOTDIR.."mach/%PLATFORM%/top/table") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| local cfile_with_tables = cfile { | local cfile_with_tables = cfile { | ||||||
|  | @ -17,7 +17,7 @@ local cfile_with_tables = cfile { | ||||||
| proto_top = cprogram { | proto_top = cprogram { | ||||||
| 	CINCLUDES = { | 	CINCLUDES = { | ||||||
| 		PARENT, | 		PARENT, | ||||||
| 		"mach/%ARCH%/ncg", | 		"mach/%PLATFORM%/ncg", | ||||||
| 		"mach", | 		"mach", | ||||||
| 		d | 		d | ||||||
| 	}, | 	}, | ||||||
|  | @ -27,13 +27,20 @@ proto_top = cprogram { | ||||||
| 	 | 	 | ||||||
| 	lib_string, | 	lib_string, | ||||||
| 	 | 	 | ||||||
| 	outputs = {"%U%/%ARCH%-top"}, | 	outputs = {"%U%/%PLATFORM%-top"}, | ||||||
| 	install = pm.install("%BINDIR%%PLATDEP%/%ARCH%/top") | 	install = pm.install("%BINDIR%%PLATDEP%/%PLATFORM%/top") | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| -- Revision history | -- Revision history | ||||||
| -- $Log$ | -- $Log$ | ||||||
| -- Revision 1.2  2006-10-15 00:28:12  dtrg | -- Revision 1.3  2007-02-20 00:45:19  dtrg | ||||||
|  | -- Done a major overhaul of the way target include files are installed and | ||||||
|  | -- how platform libraries are built. The ARCH pm variable has now been | ||||||
|  | -- renamed PLATFORM (which is more accurate) and a different ARCH | ||||||
|  | -- variable added, which represents the CPU family rather than the | ||||||
|  | -- hardware platform. | ||||||
|  | -- | ||||||
|  | -- Revision 1.2  2006/10/15 00:28:12  dtrg | ||||||
| -- Updated to the version 0.1 of Prime Mover (which involves some syntax changes). | -- Updated to the version 0.1 of Prime Mover (which involves some syntax changes). | ||||||
| -- | -- | ||||||
| -- Revision 1.1  2006/07/22 12:31:19  dtrg | -- Revision 1.1  2006/07/22 12:31:19  dtrg | ||||||
|  |  | ||||||
							
								
								
									
										30
									
								
								pmfile
									
										
									
									
									
								
							
							
						
						
									
										30
									
								
								pmfile
									
										
									
									
									
								
							|  | @ -7,6 +7,7 @@ include "first/yacc.pm" | ||||||
| include "first/llgen.pm" | include "first/llgen.pm" | ||||||
| include "config.pm" | include "config.pm" | ||||||
| include "first/ack.pm" | include "first/ack.pm" | ||||||
|  | include "first/ack-custom.pm" | ||||||
| 
 | 
 | ||||||
| CINCLUDES = { | CINCLUDES = { | ||||||
| 	ROOTDIR.."h", | 	ROOTDIR.."h", | ||||||
|  | @ -18,6 +19,8 @@ CINCLUDES = { | ||||||
| 
 | 
 | ||||||
| include "util/data/pmfile" | include "util/data/pmfile" | ||||||
| 
 | 
 | ||||||
|  | include "util/LLgen/pmfile-ack" | ||||||
|  | 
 | ||||||
| include "modules/src/alloc/pmfile" | include "modules/src/alloc/pmfile" | ||||||
| include "modules/src/assert/pmfile" | include "modules/src/assert/pmfile" | ||||||
| include "modules/src/system/pmfile" | include "modules/src/system/pmfile" | ||||||
|  | @ -55,14 +58,15 @@ include "lang/occam/pmfile" | ||||||
| include "lang/basic/pmfile" | include "lang/basic/pmfile" | ||||||
| 
 | 
 | ||||||
| include "mach/proto/pmfile" | include "mach/proto/pmfile" | ||||||
|  | 
 | ||||||
|  | include "mach/i386/pmfile" | ||||||
|  | --[[ | ||||||
| include "mach/6500/pmfile" | include "mach/6500/pmfile" | ||||||
| include "mach/6800/pmfile" | include "mach/6800/pmfile" | ||||||
| include "mach/6805/pmfile" | include "mach/6805/pmfile" | ||||||
| include "mach/6809/pmfile" | include "mach/6809/pmfile" | ||||||
| include "mach/arm/pmfile" | include "mach/arm/pmfile" | ||||||
| include "mach/i386/pmfile" |  | ||||||
| include "mach/i80/pmfile" | include "mach/i80/pmfile" | ||||||
| include "mach/i86/pmfile" |  | ||||||
| include "mach/m68020/pmfile" | include "mach/m68020/pmfile" | ||||||
| include "mach/m68k2/pmfile" | include "mach/m68k2/pmfile" | ||||||
| include "mach/m68k4/pmfile" | include "mach/m68k4/pmfile" | ||||||
|  | @ -72,6 +76,7 @@ include "mach/s2650/pmfile" | ||||||
| include "mach/vax4/pmfile" | include "mach/vax4/pmfile" | ||||||
| include "mach/z80/pmfile" | include "mach/z80/pmfile" | ||||||
| include "mach/z8000/pmfile" | include "mach/z8000/pmfile" | ||||||
|  | --]] | ||||||
| 
 | 
 | ||||||
| -- This is the list of language runtimes that is built for each architecture. | -- This is the list of language runtimes that is built for each architecture. | ||||||
| 
 | 
 | ||||||
|  | @ -84,7 +89,16 @@ lang_runtimes = group { | ||||||
| 	lang_basic_runtime, | 	lang_basic_runtime, | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | -- Include the platform descriptions. | ||||||
|  | 
 | ||||||
|  | include "mach/i86/pmfile"              -- generic i86 | ||||||
|  | include "plat/pc86/pmfile"             -- PC standalone | ||||||
|  | 
 | ||||||
| default = group { | default = group { | ||||||
|  | 	-- Lots of things use LLgen, so we need to build it first. | ||||||
|  | 	 | ||||||
|  | 	tool_LLgen, | ||||||
|  | 	 | ||||||
| 	-- Some of the dependency management across modules isn't entirely | 	-- Some of the dependency management across modules isn't entirely | ||||||
| 	-- complete, for simplicity; as a result, the order here is important. | 	-- complete, for simplicity; as a result, the order here is important. | ||||||
| 	-- In particular, referencing a library does not cause the library to | 	-- In particular, referencing a library does not cause the library to | ||||||
|  | @ -134,6 +148,10 @@ default = group { | ||||||
| 	lang_occam_compiler, | 	lang_occam_compiler, | ||||||
| 	lang_basic_compiler, | 	lang_basic_compiler, | ||||||
| 
 | 
 | ||||||
|  | 	-- Build the code generators and the architecture-independent | ||||||
|  | 	-- libraries. | ||||||
|  | 	 | ||||||
|  | --[[ | ||||||
| 	mach_6500, | 	mach_6500, | ||||||
| 	lang_runtimes { ARCH="6500", OPTIMISATION="-O" }, | 	lang_runtimes { ARCH="6500", OPTIMISATION="-O" }, | ||||||
| 
 | 
 | ||||||
|  | @ -144,9 +162,6 @@ default = group { | ||||||
| 	mach_i386,     lang_runtimes { ARCH="i386", OPTIMISATION="-O" }, | 	mach_i386,     lang_runtimes { ARCH="i386", OPTIMISATION="-O" }, | ||||||
| 	mach_i80,      lang_runtimes { ARCH="i80", OPTIMISATION="-O" }, | 	mach_i80,      lang_runtimes { ARCH="i80", OPTIMISATION="-O" }, | ||||||
| 
 | 
 | ||||||
| 	mach_i86,      support_i86, |  | ||||||
| 	lang_runtimes { ARCH="i86", OPTIMISATION="-O" }, |  | ||||||
| 
 |  | ||||||
| 	mach_m68020,   lang_runtimes { ARCH="m68020", OPTIMISATION="-O" }, | 	mach_m68020,   lang_runtimes { ARCH="m68020", OPTIMISATION="-O" }, | ||||||
| --	mach_m68k2,    lang_runtimes { ARCH="m68k2", OPTIMISATION="-O" }, | --	mach_m68k2,    lang_runtimes { ARCH="m68k2", OPTIMISATION="-O" }, | ||||||
| --	mach_m68k4,    lang_runtimes { ARCH="m68k4", OPTIMISATION="-O" }, | --	mach_m68k4,    lang_runtimes { ARCH="m68k4", OPTIMISATION="-O" }, | ||||||
|  | @ -156,6 +171,11 @@ default = group { | ||||||
| --	mach_vax4,     lang_runtimes { ARCH="vax4", OPTIMISATION="-O" }, | --	mach_vax4,     lang_runtimes { ARCH="vax4", OPTIMISATION="-O" }, | ||||||
| 	mach_z80,      lang_runtimes { ARCH="z80", OPTIMISATION="-O" }, | 	mach_z80,      lang_runtimes { ARCH="z80", OPTIMISATION="-O" }, | ||||||
| 	mach_z8000,    lang_runtimes { ARCH="z8000", OPTIMISATION="-O" }, | 	mach_z8000,    lang_runtimes { ARCH="z8000", OPTIMISATION="-O" }, | ||||||
|  | --]] | ||||||
|  | 
 | ||||||
|  | 	-- Build the platform-specific libraries. | ||||||
|  | 	 | ||||||
|  | 	platform_pc86 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| -- Ensure that the work directories exist. | -- Ensure that the work directories exist. | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue