mirror of
https://github.com/fachat/xa65.git
synced 2024-09-27 17:57:51 +00:00
beta 5
This commit is contained in:
parent
4efdd2a59a
commit
f1799614fc
21
xa/ChangeLog
21
xa/ChangeLog
@ -399,7 +399,8 @@ xa-2.3.14
|
|||||||
|
|
||||||
xa-2.4.0
|
xa-2.4.0
|
||||||
|
|
||||||
* Listing feature in plain text or HTML.
|
* Listing feature in plain text or HTML, along with .listbytes to control
|
||||||
|
how hex bytes get listed in the output.
|
||||||
* Add -E commandline option to not stop after 20 errors, but show all
|
* Add -E commandline option to not stop after 20 errors, but show all
|
||||||
of them.
|
of them.
|
||||||
* Introduce -X compatibility set commandline option, to distinguish
|
* Introduce -X compatibility set commandline option, to distinguish
|
||||||
@ -407,7 +408,7 @@ xa-2.4.0
|
|||||||
0x and 0 to specify hex or octal. As a result, -M is now deprecated,
|
0x and 0 to specify hex or octal. As a result, -M is now deprecated,
|
||||||
and colons in comments may become the default in a future version.
|
and colons in comments may become the default in a future version.
|
||||||
* Implement CA65 "cheap local labels", ":=" label definitions,
|
* Implement CA65 "cheap local labels", ":=" label definitions,
|
||||||
and various pseudo opcodes (.include, .import, .importzp,
|
and various pseudo-opcodes (.include, .import, .importzp,
|
||||||
.zeropage, .proc (anonymous only), .endproc, .code, .org, .reloc).
|
.zeropage, .proc (anonymous only), .endproc, .code, .org, .reloc).
|
||||||
* -U option to allow all undefined labels in relocation mode; this
|
* -U option to allow all undefined labels in relocation mode; this
|
||||||
allows exporting them to an o65 file and link at a later time (or
|
allows exporting them to an o65 file and link at a later time (or
|
||||||
@ -419,15 +420,21 @@ xa-2.4.0
|
|||||||
* Main Makefile fixes.
|
* Main Makefile fixes.
|
||||||
* Fixed parallel make in tests, incorporating a patch from Sergei
|
* Fixed parallel make in tests, incorporating a patch from Sergei
|
||||||
Trofimovich.
|
Trofimovich.
|
||||||
|
* Added a test case that failed in 2.3.14 from Tom Hargreaves.
|
||||||
* Some 2.3.x features still allowed with -XXA23, which is obviously
|
* Some 2.3.x features still allowed with -XXA23, which is obviously
|
||||||
deprecated.
|
deprecated.
|
||||||
* The quote escape character is now the \ (backslash), except if -XXA23.
|
* The quote escape character is now the \ (backslash), except if -XXA23.
|
||||||
* Recursive /* */ comments are no longer allowed, except if -XXA23.
|
* Recursive /* */ comments are no longer allowed, except if -XXA23.
|
||||||
* XA_MAJOR and XA_MINOR predefined macros, except if -XXA23.
|
* XA_MAJOR and XA_MINOR predefined macros, except if -XXA23.
|
||||||
* Testsuite expanded.
|
* Testsuite greatly expanded.
|
||||||
* Deprecated options (16-bit mvn/mvp argument, -S, -x) finally removed.
|
* The old loader/ testsuite and doc/ archive are now in attic/, which is
|
||||||
If you need this support, you must use 2.3.x.
|
the repository for old unsupported components. It may be purged in a
|
||||||
|
future version.
|
||||||
|
* -M is now deprecated (use -XMASM), just in case you forgot.
|
||||||
|
* printcbm(1) is now deprecated (use VICE petcat, it does a lot more).
|
||||||
|
* Previously deprecated options (16-bit mvn/mvp argument, -S, -x) finally
|
||||||
|
removed. If you need this support, you must use 2.3.x.
|
||||||
|
|
||||||
-- André Fachat <afachat@gmx.de> 13 October, 2023
|
-- André Fachat <afachat@gmx.de> and
|
||||||
-- Cameron Kaiser <ckaiser@floodgap.com> XXX
|
-- Cameron Kaiser <ckaiser@floodgap.com>, 17 November, 2023
|
||||||
|
|
||||||
|
@ -5,10 +5,18 @@ under most ANSI C compilers. It is distributed under the GNU Public License
|
|||||||
|
|
||||||
The current version is 2.4.0, the first new feature release literally in
|
The current version is 2.4.0, the first new feature release literally in
|
||||||
years. It builds upon the improvements in 2.3.x and its unified 6502/65816
|
years. It builds upon the improvements in 2.3.x and its unified 6502/65816
|
||||||
assembler core, removes deprecated features, and adds listing capability,
|
assembler core by adding listing capability, greater flexibility with
|
||||||
greater flexibility with relocatable objects, and greater cross-compatibility
|
relocatable objects, and better cross-compatibility with other popular
|
||||||
with other popular cross-assemblers (notably ca65) because once you use xa,
|
cross-assemblers (notably ca65) because once you use xa, you'll want to keep
|
||||||
you'll want to keep on using it. :)
|
on using it. :)
|
||||||
|
|
||||||
|
Certain long-deprecated options and non-standard syntaxes have also been
|
||||||
|
removed in this release, so it is possible some very old code may not
|
||||||
|
assemble without errors. These changes have been a long time coming and we
|
||||||
|
gave lots of warnings, so if you require these features and cannot change
|
||||||
|
your code to work without them, you must use xa 2.3.14. Fortunately, most
|
||||||
|
code should continue to work just fine and the test suite is even bigger to
|
||||||
|
catch these sorts of regressions.
|
||||||
|
|
||||||
To install on a generic Unixy thing, you should be able to just type
|
To install on a generic Unixy thing, you should be able to just type
|
||||||
|
|
||||||
@ -19,9 +27,8 @@ To install on a generic Unixy thing, you should be able to just type
|
|||||||
This will create xa along with its various support utilities. Try assembling
|
This will create xa along with its various support utilities. Try assembling
|
||||||
the cpk depacker in examples/ as a test. xa also comes with uncpk (a program
|
the cpk depacker in examples/ as a test. xa also comes with uncpk (a program
|
||||||
for generating cpk archives) and printcbm (a program for listing Commodore
|
for generating cpk archives) and printcbm (a program for listing Commodore
|
||||||
BASIC test) and file65, ldo65 and reloc65 for displaying, linking and
|
BASIC test, now deprecated as of 2.4) and file65, ldo65 and reloc65 for
|
||||||
relocating o65 files in Andre's relocatable format (see doc/fileformats.txt).
|
displaying, linking and relocating o65 files in Andre's relocatable format.
|
||||||
The loader/ directory also has goodies for managing relocatable binaries.
|
|
||||||
|
|
||||||
Don't forget the man pages in man/. Install these into your MANPATH at your
|
Don't forget the man pages in man/. Install these into your MANPATH at your
|
||||||
leisure, or read them with nroff -man (and/or groff -man).
|
leisure, or read them with nroff -man (and/or groff -man).
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
These are files that have been superseded and may be removed in the future.
|
These are files that have been superseded and may be removed in the future.
|
||||||
|
|
||||||
loader/ Rewritten as tests/loader/
|
loader/ Rewritten as tests/loader/
|
||||||
|
doc/ Replaced by man/
|
||||||
|
(for o65, see http://www.6502.org/users/andre/o65/ )
|
||||||
|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
Also look at ../doc/ for previous documentation files and the Change log.
|
Also look at ../attic/doc/ for previous documentation files.
|
||||||
|
|
||||||
Cameron Kaiser
|
Cameron Kaiser
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.TH FILE65 "1" "11 April 2006"
|
.TH FILE65 "1" "17 November 2023"
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
file65 \- print information for o65 object files
|
file65 \- print information for o65 object files
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.TH LDO65 "1" "11 April 2006"
|
.TH LDO65 "1" "17 November 2023"
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
ldo65 \- linker for o65 object files
|
ldo65 \- linker for o65 object files
|
||||||
|
@ -1,7 +1,17 @@
|
|||||||
.TH PRINTCBM "1" "11 April 2006"
|
.TH PRINTCBM "1" "DEPRECATED"
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
printcbm \- list a Commodore BASIC file
|
printcbm \- list a Commodore BASIC file (DEPRECATED)
|
||||||
|
|
||||||
|
.SH NOTICE
|
||||||
|
As of
|
||||||
|
.B xa
|
||||||
|
2.4,
|
||||||
|
.B printcbm
|
||||||
|
is deprecated and will be removed in a future version. Please consider
|
||||||
|
migrating your usage to VICE
|
||||||
|
.BR petcat(1) ,
|
||||||
|
which has many more options.
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B printcbm
|
.B printcbm
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.TH RELOC65 "1" "11 April 2006"
|
.TH RELOC65 "1" "17 November 2023"
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
reloc65 \- relocator for o65 object files
|
reloc65 \- relocator for o65 object files
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.TH UNCPK "1" "11 April 2006"
|
.TH UNCPK "1" "17 November 2023"
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
uncpk \- manage c64 cpk archives
|
uncpk \- manage c64 cpk archives
|
||||||
|
76
xa/man/xa.1
76
xa/man/xa.1
@ -1,4 +1,4 @@
|
|||||||
.TH XA "1" "24 November 2021"
|
.TH XA "1" "17 November 2023"
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
xa \- 6502/R65C02/65816 cross-assembler
|
xa \- 6502/R65C02/65816 cross-assembler
|
||||||
@ -125,7 +125,7 @@ preprocessor macros. This option is inherently deprecated and may be removed
|
|||||||
in the next 2.x or 3.x release.
|
in the next 2.x or 3.x release.
|
||||||
.TP
|
.TP
|
||||||
.B \-M
|
.B \-M
|
||||||
This option is deprecated; use
|
This option is deprecated and will be removed in a future version; use
|
||||||
.B \-XMASM
|
.B \-XMASM
|
||||||
instead. Allows colons to appear in comments for MASM compatibility. This does
|
instead. Allows colons to appear in comments for MASM compatibility. This does
|
||||||
not affect colon interpretation elsewhere, and may become the default in a
|
not affect colon interpretation elsewhere, and may become the default in a
|
||||||
@ -480,12 +480,10 @@ or zero page value, do not attempt to optimize to a zero page argument
|
|||||||
for those opcodes that support it (i.e., keep as 16 bit word)
|
for those opcodes that support it (i.e., keep as 16 bit word)
|
||||||
.TP
|
.TP
|
||||||
.B @
|
.B @
|
||||||
render as 24-bit quantity for 65816 (must specify
|
render as 24-bit quantity for 65816, even if smaller than 24 bits (must specify
|
||||||
.B \-w
|
.B \-w
|
||||||
command-line option, must not specify
|
command-line option, must not specify
|
||||||
.BR \-XCA65 ).
|
.BR \-XCA65 )
|
||||||
.B This is required to specify any
|
|
||||||
.B 24-bit quantity!
|
|
||||||
.TP
|
.TP
|
||||||
.B `
|
.B `
|
||||||
force further optimization, even if the length of the instruction cannot
|
force further optimization, even if the length of the instruction cannot
|
||||||
@ -609,7 +607,8 @@ repetitions of
|
|||||||
will be inserted into the assembled object. For example,
|
will be inserted into the assembled object. For example,
|
||||||
.B .dsb 5,$10
|
.B .dsb 5,$10
|
||||||
will insert five bytes, each being 16 decimal, into the object. The arguments
|
will insert five bytes, each being 16 decimal, into the object. The arguments
|
||||||
may be expressions. See
|
may be expressions. If only a single argument is provided, then the argument
|
||||||
|
is treated as a number of null bytes to insert. See
|
||||||
.B LINKING
|
.B LINKING
|
||||||
for how to use this pseudo-op to link multiple objects.
|
for how to use this pseudo-op to link multiple objects.
|
||||||
.TP
|
.TP
|
||||||
@ -618,8 +617,10 @@ Inlines a binary file without further interpretation specified by
|
|||||||
.B filename
|
.B filename
|
||||||
from offset
|
from offset
|
||||||
.B offset
|
.B offset
|
||||||
to length
|
(relative to the beginning of the file)
|
||||||
.BR length .
|
for
|
||||||
|
.B length
|
||||||
|
bytes.
|
||||||
This allows you to insert data such as a previously assembled object file
|
This allows you to insert data such as a previously assembled object file
|
||||||
or an image or other binary data structure, inlined directly into this
|
or an image or other binary data structure, inlined directly into this
|
||||||
file's object. If
|
file's object. If
|
||||||
@ -644,7 +645,7 @@ one level deep). Sixteen levels of scoping are permitted.
|
|||||||
.IP
|
.IP
|
||||||
.B \.block
|
.B \.block
|
||||||
is accepted as a synonym for
|
is accepted as a synonym for
|
||||||
.BR \&.) ,
|
.BR \&.( ,
|
||||||
as well as
|
as well as
|
||||||
.B \.proc
|
.B \.proc
|
||||||
(but you cannot specify an explicit scope name as in
|
(but you cannot specify an explicit scope name as in
|
||||||
@ -657,7 +658,6 @@ Closes a block.
|
|||||||
or
|
or
|
||||||
.B .endproc
|
.B .endproc
|
||||||
are accepted as synonyms.
|
are accepted as synonyms.
|
||||||
.
|
|
||||||
.TP
|
.TP
|
||||||
.B \.as \.al \.xs \.xl
|
.B \.as \.al \.xs \.xl
|
||||||
Only relevant in 65816 mode (with the
|
Only relevant in 65816 mode (with the
|
||||||
@ -715,19 +715,30 @@ Includes another file in place of the pseudo-op, as if the preprocessor had
|
|||||||
done so with an
|
done so with an
|
||||||
.B #include
|
.B #include
|
||||||
directive (see
|
directive (see
|
||||||
.BR PREPROCESSOR ).
|
.BR PREPROCESSOR ),
|
||||||
|
but at the assembler
|
||||||
|
phase after preprocessing has already occurred.
|
||||||
|
|
||||||
|
.LP
|
||||||
|
The following pseudo-op applies to listing mode.
|
||||||
|
.TP
|
||||||
|
.B \.listbytes number
|
||||||
|
In the listing output, sets the maximum number of hex bytes to be printed
|
||||||
|
in the listing for pseudo-ops like
|
||||||
|
.BR .byt ,
|
||||||
|
by default 8. The special argument
|
||||||
|
.B unlimited
|
||||||
|
sets no upper limit. If listing mode is disabled, this pseudo-op has no
|
||||||
|
observable effect.
|
||||||
|
|
||||||
.LP
|
.LP
|
||||||
The following pseudo-ops apply primarily to relocatable
|
The following pseudo-ops apply primarily to relocatable
|
||||||
.B .o65
|
.B .o65
|
||||||
objects.
|
objects.
|
||||||
A full discussion of the relocatable format is beyond the
|
A full discussion of the relocatable format is beyond the
|
||||||
scope of this manpage. Documentation
|
scope of this manpage; see
|
||||||
on the proposed v1.2 format is in
|
.B http://www.6502.org/users/andre/o65/
|
||||||
.B doc/fileformat.txt
|
for the most current specification.
|
||||||
within the
|
|
||||||
.B xa
|
|
||||||
installation directory.
|
|
||||||
.TP
|
.TP
|
||||||
.B .text .data .bss .zero
|
.B .text .data .bss .zero
|
||||||
These pseudo-ops switch between the different segments,
|
These pseudo-ops switch between the different segments,
|
||||||
@ -743,7 +754,7 @@ being uninitialized zero page space for allocation. In
|
|||||||
and
|
and
|
||||||
.BR .zero ,
|
.BR .zero ,
|
||||||
only labels are evaluated. These pseudo-ops
|
only labels are evaluated. These pseudo-ops
|
||||||
are valid in relative and absolute modes.
|
are valid in relocating and absolute modes.
|
||||||
.TP
|
.TP
|
||||||
.B .code
|
.B .code
|
||||||
For
|
For
|
||||||
@ -761,7 +772,7 @@ compatibility, this is currently mapped to
|
|||||||
Aligns the current segment to a byte boundary (2, 4 or 256) as specified by
|
Aligns the current segment to a byte boundary (2, 4 or 256) as specified by
|
||||||
.B
|
.B
|
||||||
value
|
value
|
||||||
(and places it in the header when relative mode is enabled). Other values
|
(and places it in the header when relocating mode is enabled). Other values
|
||||||
generate an error.
|
generate an error.
|
||||||
.TP
|
.TP
|
||||||
.B .fopt type, value1, value2, value3, ...
|
.B .fopt type, value1, value2, value3, ...
|
||||||
@ -941,12 +952,6 @@ satisfied, then the source code between the directive and its terminating
|
|||||||
.B #endif
|
.B #endif
|
||||||
are expunged and not assembled. Up to fifteen levels of nesting are supported.
|
are expunged and not assembled. Up to fifteen levels of nesting are supported.
|
||||||
.TP
|
.TP
|
||||||
.B #endif
|
|
||||||
Closes a conditional block.
|
|
||||||
.TP
|
|
||||||
.B #else
|
|
||||||
Implements alternate path for a conditional block.
|
|
||||||
.TP
|
|
||||||
.B #ifdef DEFINE
|
.B #ifdef DEFINE
|
||||||
True only if macro
|
True only if macro
|
||||||
.B DEFINE
|
.B DEFINE
|
||||||
@ -977,6 +982,12 @@ is defined
|
|||||||
.I and
|
.I and
|
||||||
assigned with a value.
|
assigned with a value.
|
||||||
.I This works on labels, not macros!
|
.I This works on labels, not macros!
|
||||||
|
.TP
|
||||||
|
.B #else
|
||||||
|
Implements alternate path for a conditional block.
|
||||||
|
.TP
|
||||||
|
.B #endif
|
||||||
|
Closes a conditional block.
|
||||||
.LP
|
.LP
|
||||||
Unclosed conditional blocks at the end of included files generate warnings;
|
Unclosed conditional blocks at the end of included files generate warnings;
|
||||||
unclosed conditional blocks at the end of assembly generate an error.
|
unclosed conditional blocks at the end of assembly generate an error.
|
||||||
@ -1160,17 +1171,6 @@ Indiscriminately forcing the issue can be fraught with peril, however, and
|
|||||||
is not recommended; to discourage this, the assembler will complain about its
|
is not recommended; to discourage this, the assembler will complain about its
|
||||||
use in addressing mode situations where no ambiguity exists, such as indirect
|
use in addressing mode situations where no ambiguity exists, such as indirect
|
||||||
indexed, branching and so on.
|
indexed, branching and so on.
|
||||||
.LP
|
|
||||||
Also, as a further consequence of the way optimization is managed, we repeat
|
|
||||||
that
|
|
||||||
.B all
|
|
||||||
24-bit quantities and labels that reference a 24-bit quantity in 65816 mode,
|
|
||||||
anteriorly declared or otherwise,
|
|
||||||
.B MUST
|
|
||||||
be prepended with the
|
|
||||||
.B @
|
|
||||||
prefix. Otherwise, the assembler will attempt to optimize to 16 bits, which
|
|
||||||
may be undesirable.
|
|
||||||
|
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.BR file65 (1),
|
.BR file65 (1),
|
||||||
@ -1188,7 +1188,7 @@ Original xa package (C)1989-1997 Andre Fachat. Additional changes
|
|||||||
(C)1989-2023 Andre Fachat, Jolse Maginnis, David Weinehall,
|
(C)1989-2023 Andre Fachat, Jolse Maginnis, David Weinehall,
|
||||||
Cameron Kaiser. The official maintainer is Cameron Kaiser.
|
Cameron Kaiser. The official maintainer is Cameron Kaiser.
|
||||||
|
|
||||||
.SH 30 YEARS OF XA
|
.SH OVER 30 YEARS OF XA
|
||||||
Yay us?
|
Yay us?
|
||||||
|
|
||||||
.SH WEBSITE
|
.SH WEBSITE
|
||||||
|
@ -46,6 +46,8 @@ void usage(FILE *fp)
|
|||||||
fprintf(fp,
|
fprintf(fp,
|
||||||
"Usage: %s [OPTION]... [FILE]...\n"
|
"Usage: %s [OPTION]... [FILE]...\n"
|
||||||
"List CBM BASIC programs\n"
|
"List CBM BASIC programs\n"
|
||||||
|
"This tool is deprecated as of xa 2.4 and will be removed in a future version.\n"
|
||||||
|
"Please consider migrating to VICE petcat, which has many more options.\n"
|
||||||
"\n"
|
"\n"
|
||||||
" --version output version information and exit\n"
|
" --version output version information and exit\n"
|
||||||
" --help display this help and exit\n",
|
" --help display this help and exit\n",
|
||||||
|
@ -1,13 +1,19 @@
|
|||||||
This is a directory of test suites for complex or pathological cases that
|
This is a directory of test suites for complex or pathological cases that
|
||||||
have been repaired (?) in the current version. It is primarily for internal
|
have been repaired (?) in the current version. It is primarily for internal
|
||||||
testing, but is here for your interest.
|
testing, but is here for your interest. It requires a reasonably compatible
|
||||||
|
`make` and Perl.
|
||||||
|
|
||||||
Starting with 2.3.6, you should not normally need to run these directly
|
You can run specific tests from the main source directory with
|
||||||
unless 'make test' fails. If you do, use harness:
|
|
||||||
|
make test TESTS=test,test,test,...
|
||||||
|
|
||||||
|
or, if `make test` doesn't work right on your system, you can run the Perl
|
||||||
|
harness directly:
|
||||||
|
|
||||||
./harness -cc=... -cflags=... -make=... -tests=testdir,testdir,testdir,...
|
./harness -cc=... -cflags=... -make=... -tests=testdir,testdir,testdir,...
|
||||||
|
|
||||||
If -tests is omitted, all tests are run.
|
If -tests is omitted, all tests are run.
|
||||||
|
|
||||||
Don't run the makefiles directly, if they exist; they may not work properly.
|
Don't run the makefiles directly, if they exist; they may not work properly.
|
||||||
If a Makefile is not present, then the test harness assembles "test.s" and
|
If a Makefile is not present, then the test harness assembles "test.s" and
|
||||||
compares it with "ok".
|
compares it with "ok".
|
||||||
@ -52,6 +58,7 @@ recucom/ Recursive comments test
|
|||||||
aserror/ Tests of .assert and #error syntax/function
|
aserror/ Tests of .assert and #error syntax/function
|
||||||
loader/ Old ../loader tests, moved into test suite proper
|
loader/ Old ../loader tests, moved into test suite proper
|
||||||
reset_segment/ Verifies conditions under which a segment is reset
|
reset_segment/ Verifies conditions under which a segment is reset
|
||||||
|
expando/ Test of preprocessor expansion (thanks Tom Hargreaves)
|
||||||
|
|
||||||
Cameron Kaiser, André Fachat
|
Cameron Kaiser, André Fachat
|
||||||
|
|
||||||
|
1
xa/tests/expando/ok
Normal file
1
xa/tests/expando/ok
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
23
xa/tests/expando/test.s
Normal file
23
xa/tests/expando/test.s
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
PBI=6
|
||||||
|
|
||||||
|
#define NIB(x) PBI+((x&1)>>0), \
|
||||||
|
PBI+((x&2)>>1), \
|
||||||
|
PBI+((x&4)>>2), \
|
||||||
|
PBI+((x&8)>>3)
|
||||||
|
tab0
|
||||||
|
.byt NIB(10),NIB(12),NIB(0), NIB(0)
|
||||||
|
.byt NIB(10),NIB(12),NIB(15),NIB(0)
|
||||||
|
.byt NIB(10),NIB(12),NIB(0), NIB(15)
|
||||||
|
.byt NIB(10),NIB(12),NIB(15),NIB(15)
|
||||||
|
|
||||||
|
; oh well.
|
||||||
|
tab1
|
||||||
|
.byt PBI+0,PBI+1,PBI+0,PBI+1,PBI+0,PBI+0,PBI+1,PBI+1
|
||||||
|
.byt PBI+0,PBI+0,PBI+0,PBI+0,PBI+0,PBI+0,PBI+0,PBI+0
|
||||||
|
.byt PBI+0,PBI+1,PBI+0,PBI+1,PBI+0,PBI+0,PBI+1,PBI+1
|
||||||
|
.byt PBI+1,PBI+1,PBI+1,PBI+1,PBI+0,PBI+0,PBI+0,PBI+0
|
||||||
|
.byt PBI+0,PBI+1,PBI+0,PBI+1,PBI+0,PBI+0,PBI+1,PBI+1
|
||||||
|
.byt PBI+0,PBI+0,PBI+0,PBI+0,PBI+1,PBI+1,PBI+1,PBI+1
|
||||||
|
.byt PBI+0,PBI+1,PBI+0,PBI+1,PBI+0,PBI+0,PBI+1,PBI+1
|
||||||
|
.byt PBI+1,PBI+1,PBI+1,PBI+1,PBI+1,PBI+1,PBI+1,PBI+1
|
||||||
|
|
@ -27,8 +27,6 @@ CC = $cc
|
|||||||
CFLAGS = $cflags
|
CFLAGS = $cflags
|
||||||
MAKE = $make
|
MAKE = $make
|
||||||
MAKEFLAGS = $makeflags
|
MAKEFLAGS = $makeflags
|
||||||
tests to run: $dtests
|
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Get a list of all directories. If there is a Makefile there, do it.
|
# Get a list of all directories. If there is a Makefile there, do it.
|
||||||
@ -36,9 +34,26 @@ EOF
|
|||||||
# Otherwise, do nothing (acknowledge and ignore directories we don't grok).
|
# Otherwise, do nothing (acknowledge and ignore directories we don't grok).
|
||||||
|
|
||||||
opendir(D, ".") || die("test harness failed: $!\n");
|
opendir(D, ".") || die("test harness failed: $!\n");
|
||||||
W: while($x = readdir(D)) {
|
while($x = readdir(D)) {
|
||||||
next W if ($x =~ /^\./);
|
next if ($x =~ /^\./ || $x =~ /\s/);
|
||||||
next W if (length($tests) && ($tests !~ /$x/));
|
next if (length($tests) && ($tests !~ /$x/));
|
||||||
|
next if (! -d $x);
|
||||||
|
if (-r "$x/Makefile") {
|
||||||
|
push(@mtests, $x);
|
||||||
|
} else {
|
||||||
|
push(@stests, $x);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
closedir(D);
|
||||||
|
|
||||||
|
@tests = ();
|
||||||
|
push(@tests, sort @mtests) if (scalar(@mtests));
|
||||||
|
push(@tests, sort @stests) if (scalar(@stests));
|
||||||
|
print "matching tests: ";
|
||||||
|
print join(",", @tests);
|
||||||
|
print "\n\n";
|
||||||
|
|
||||||
|
W: foreach $x (@tests) {
|
||||||
next W if (!chdir($x));
|
next W if (!chdir($x));
|
||||||
$x = substr($x . " " . ("." x 79), 0, 50);
|
$x = substr($x . " " . ("." x 79), 0, 50);
|
||||||
print STDOUT "$x > ";
|
print STDOUT "$x > ";
|
||||||
@ -69,7 +84,6 @@ W: while($x = readdir(D)) {
|
|||||||
}
|
}
|
||||||
chdir("..");
|
chdir("..");
|
||||||
}
|
}
|
||||||
closedir(D);
|
|
||||||
print STDOUT "=" x 79, "\n";
|
print STDOUT "=" x 79, "\n";
|
||||||
if ($ntests) { # ntestacy is a terrible thing
|
if ($ntests) { # ntestacy is a terrible thing
|
||||||
print STDOUT "\n## ALL SELECTED TESTS PASS ($dtests, n=$ntests) ##\n";
|
print STDOUT "\n## ALL SELECTED TESTS PASS ($dtests, n=$ntests) ##\n";
|
||||||
|
Loading…
Reference in New Issue
Block a user