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
bindir = $(prefix)/bin
mandir = $(prefix)/share/man/man1
ifeq ($(OS),Windows_NT)
EXEEXT = .exe
endif
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 $<
xasm.html: xasm.1.asciidoc
@ -38,11 +41,11 @@ srcdist: MANIFEST
MANIFEST:
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
signed: xasm
signtool sign -d "xasm $(VERSION)" -n "Open Source Developer, Piotr Fusik" -tr http://time.certum.pl -fd sha256 -td sha256 xasm.exe && touch $@
signed: xasm$(EXEEXT)
signtool sign -d "xasm $(VERSION)" -n "Open Source Developer, Piotr Fusik" -tr http://time.certum.pl -fd sha256 -td sha256 $< && touch $@
deb:
debuild -b -us -uc

View File

@ -99,7 +99,7 @@ These rights, on this notice, rely.
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
-----

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

View File

@ -38,6 +38,7 @@ The listing file should exclude included files.
*-l* '[LISTING_FILE]'::
Generates a listing file.
Using '-' as 'LISTING_FILE' makes *xasm* write to standard output.
If 'LISTING_FILE' is omitted, the listing filename
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.
The second line contains the command line with 'OBJECT_FILE'
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.
*-o* 'OBJECT_FILE'::
@ -64,6 +65,7 @@ Quiet mode. Prevents *xasm* from printing its banner and compilation summary.
*-t* '[LABEL_FILE]'::
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.
[[new_unlabels]]*-u*::
@ -712,7 +714,7 @@ and pseudo commands, except for `MWA`, `MWX` and `MWY`:
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
written to standard output instead of files (by Adrian Matoga)

View File

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