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
|
@ -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…
Reference in a new issue