Compare commits

...

3 Commits

Author SHA1 Message Date
Piotr Fusik ca5e88950f xasm 3.2.1 release. 2022-12-08 11:49:40 +01:00
Piotr Fusik 138331193a DMD seems to no longer append ".exe". 2022-12-08 09:53:32 +01:00
Piotr Fusik 30c96357bc Allow stdout for the listing and label table. 2022-12-08 09:27:19 +01:00
6 changed files with 35 additions and 20 deletions

View File

@ -1,14 +1,17 @@
VERSION = 3.2.0 VERSION = 3.2.1
prefix = /usr/local prefix = /usr/local
bindir = $(prefix)/bin bindir = $(prefix)/bin
mandir = $(prefix)/share/man/man1 mandir = $(prefix)/share/man/man1
ifeq ($(OS),Windows_NT)
EXEEXT = .exe
endif
SEVENZIP = 7z a -mx=9 -bd -bso0 SEVENZIP = 7z a -mx=9 -bd -bso0
all: xasm xasm.html all: xasm$(EXEEXT) xasm.html
xasm: source/app.d xasm$(EXEEXT): source/app.d
dmd -of$@ -O -release $< dmd -of$@ -O -release $<
xasm.html: xasm.1.asciidoc xasm.html: xasm.1.asciidoc
@ -38,11 +41,11 @@ srcdist: MANIFEST
MANIFEST: MANIFEST:
if test -e .git; then (git ls-files | grep -vF .gitignore && echo MANIFEST) | sort | dos2unix >$@ ; fi if test -e .git; then (git ls-files | grep -vF .gitignore && echo MANIFEST) | sort | dos2unix >$@ ; fi
../xasm-$(VERSION)-windows.zip: xasm xasm.html xasm.properties signed ../xasm-$(VERSION)-windows.zip: xasm.exe xasm.html xasm.properties signed
$(RM) $@ && $(SEVENZIP) -tzip $@ xasm.exe xasm.html xasm.properties $(RM) $@ && $(SEVENZIP) -tzip $@ xasm.exe xasm.html xasm.properties
signed: xasm signed: xasm$(EXEEXT)
signtool sign -d "xasm $(VERSION)" -n "Open Source Developer, Piotr Fusik" -tr http://time.certum.pl -fd sha256 -td sha256 xasm.exe && touch $@ signtool sign -d "xasm $(VERSION)" -n "Open Source Developer, Piotr Fusik" -tr http://time.certum.pl -fd sha256 -td sha256 $< && touch $@
deb: deb:
debuild -b -us -uc debuild -b -us -uc

View File

@ -99,7 +99,7 @@ These rights, on this notice, rely.
Download Download
-------- --------
[xasm 3.2.0](https://github.com/pfusik/xasm/releases) for Windows, macOS, Ubuntu and Fedora. [xasm 3.2.1](https://github.com/pfusik/xasm/releases) for Windows, macOS, Ubuntu and Fedora.
Links Links
----- -----

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
xasm (3.2.1-1) UNRELEASED; urgency=low
* New release.
-- Piotr Fusik <fox@scene.pl> Thu, 8 Dec 2022 09:30:29 +0100
xasm (3.2.0-1) UNRELEASED; urgency=low xasm (3.2.0-1) UNRELEASED; urgency=low
* New release. * New release.

View File

@ -1,6 +1,6 @@
// xasm 3.2.0 by Piotr Fusik <fox@scene.pl> // xasm 3.2.1 by Piotr Fusik <fox@scene.pl>
// http://xasm.atari.org // http://xasm.atari.org
// Can be compiled with DMD v2.097.0. // Can be compiled with DMD v2.101.0.
// Poetic License: // Poetic License:
// //
@ -32,7 +32,7 @@ version (Windows) {
import core.sys.windows.windows; import core.sys.windows.windows;
} }
const string TITLE = "xasm 3.2.0"; const string TITLE = "xasm 3.2.1";
File messageStream; File messageStream;
@ -1085,6 +1085,8 @@ File openInputFile(string filename) {
} }
File openOutputFile(string filename, string msg) { File openOutputFile(string filename, string msg) {
if (filename == "-")
return stdout;
if (!getOption('q')) if (!getOption('q'))
messageStream.writeln(msg); messageStream.writeln(msg);
try { try {
@ -1184,11 +1186,8 @@ void objectByte(ubyte b) {
} else { } else {
assert(pass2); assert(pass2);
if (!optionObject) return; if (!optionObject) return;
if (!objectStream.isOpen) { if (!objectStream.isOpen)
objectStream = objectFilename == "-" objectStream = openOutputFile(objectFilename, "Writing object file...");
? stdout
: openOutputFile(objectFilename, "Writing object file...");
}
try { try {
objectStream.write(cast(char) b); objectStream.write(cast(char) b);
} catch (Exception e) { } catch (Exception e) {
@ -3007,8 +3006,10 @@ int main(string[] args) {
core.stdc.stdio.remove(toStringz(objectFilename)); core.stdc.stdio.remove(toStringz(objectFilename));
} }
} }
listingStream.close(); if (listingStream != stdout)
objectStream.close(); listingStream.close();
if (objectStream != stdout)
objectStream.close();
if (exitCode <= 1) { if (exitCode <= 1) {
if (!getOption('q')) { if (!getOption('q')) {
messageStream.writefln("%d lines of source assembled", totalLines); messageStream.writefln("%d lines of source assembled", totalLines);

View File

@ -38,6 +38,7 @@ The listing file should exclude included files.
*-l* '[LISTING_FILE]':: *-l* '[LISTING_FILE]'::
Generates a listing file. Generates a listing file.
Using '-' as 'LISTING_FILE' makes *xasm* write to standard output.
If 'LISTING_FILE' is omitted, the listing filename If 'LISTING_FILE' is omitted, the listing filename
is 'SOURCE_FILE' with the extension changed to `.lst`. is 'SOURCE_FILE' with the extension changed to `.lst`.
@ -47,7 +48,7 @@ First line of the rule lists 'OBJECT_FILE' as the target of the rule
and all source files (including the ones specified with `icl` and `ins`) as dependencies. and all source files (including the ones specified with `icl` and `ins`) as dependencies.
The second line contains the command line with 'OBJECT_FILE' The second line contains the command line with 'OBJECT_FILE'
replaced by the *make* macro `$@` and 'SOURCE_FILE' replaced by the macro `$<`. replaced by the *make* macro `$@` and 'SOURCE_FILE' replaced by the macro `$<`.
Dollars in the command line are doubled. Dollar signs in the command line are doubled.
Your *make* or shell may require further escaping. Your *make* or shell may require further escaping.
*-o* 'OBJECT_FILE':: *-o* 'OBJECT_FILE'::
@ -64,6 +65,7 @@ Quiet mode. Prevents *xasm* from printing its banner and compilation summary.
*-t* '[LABEL_FILE]':: *-t* '[LABEL_FILE]'::
Generates a label table. Generates a label table.
Using '-' as 'LABEL_FILE' makes *xasm* write to standard output.
If 'LABEL_FILE' is omitted then the table is appended at the end of the listing. If 'LABEL_FILE' is omitted then the table is appended at the end of the listing.
[[new_unlabels]]*-u*:: [[new_unlabels]]*-u*::
@ -712,7 +714,7 @@ and pseudo commands, except for `MWA`, `MWX` and `MWY`:
HISTORY HISTORY
------- -------
Version 3.x.x (20xx-xx-xx) Version 3.2.1 (2022-12-08)
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
- source can optionally be read from standard input, and object can be - source can optionally be read from standard input, and object can be
written to standard output instead of files (by Adrian Matoga) written to standard output instead of files (by Adrian Matoga)

View File

@ -1,5 +1,5 @@
Name: xasm Name: xasm
Version: 3.2.0 Version: 3.2.1
Release: 1 Release: 1
Summary: 6502 cross-assembler Summary: 6502 cross-assembler
License: Poetic License: Poetic
@ -33,6 +33,9 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/xasm.1.gz %{_mandir}/man1/xasm.1.gz
%changelog %changelog
* Thu Dec 8 2022 Piotr Fusik <fox@scene.pl>
- 3.2.1-1
* Tue Jun 22 2021 Piotr Fusik <fox@scene.pl> * Tue Jun 22 2021 Piotr Fusik <fox@scene.pl>
- 3.2.0-1 - 3.2.0-1