Thank you.
OpenBSD, looks good. So this is the proposed-updates branch, no local changes, using gmake (GNU make port, GNU Make 4.2.1) and GCC (version 4.2.1):
Code: Select all
$ gmake all PLATFORM=linux
-e Making subdirectory ... objects/.
-e Generating dependencies for ... random.cpp
-e Generating dependencies for ... expression.cpp
-e Generating dependencies for ... assemble.cpp
-e Generating dependencies for ... asmexception.cpp
-e Generating dependencies for ... discimage.cpp
-e Generating dependencies for ... sourcefile.cpp
-e Generating dependencies for ... stringutils.cpp
-e Generating dependencies for ... lineparser.cpp
-e Generating dependencies for ... globaldata.cpp
-e Generating dependencies for ... macro.cpp
-e Generating dependencies for ... sourcecode.cpp
-e Generating dependencies for ... main.cpp
-e Generating dependencies for ... commands.cpp
-e Generating dependencies for ... objectcode.cpp
-e Generating dependencies for ... symboltable.cpp
-e Generating dependencies for ... BASIC.cpp
-e Compiling ... BASIC.cpp
-e Compiling ... symboltable.cpp
-e Compiling ... objectcode.cpp
-e Compiling ... commands.cpp
-e Compiling ... main.cpp
-e Compiling ... sourcecode.cpp
-e Compiling ... macro.cpp
-e Compiling ... globaldata.cpp
-e Compiling ... lineparser.cpp
-e Compiling ... stringutils.cpp
-e Compiling ... sourcefile.cpp
-e Compiling ... discimage.cpp
-e Compiling ... asmexception.cpp
-e Compiling ... assemble.cpp
-e Compiling ... expression.cpp
-e Compiling ... random.cpp
-e Linking ... ../beebasm
./objects/discimage.o: In function `DiscImage::DiscImage(char const*, char const*)':
discimage.cpp:(.text+0x15ce): warning: strcat() is almost always misused, please use strlcat()
discimage.cpp:(.text+0x15af): warning: strcpy() is almost always misused, please use strlcpy()
./objects/BASIC.o: In function `CopyStringLiteral()':
BASIC.cpp:(.text+0x1e6e): warning: sprintf() is often misused, please use snprintf()
-e Running ... ../beebasm
.xpos
0000
.ypos
0001
.colour
0002
... (lots omitted)
.end
.olddotaddrlo
1A00
.olddotaddrhi
1B00
.olddotaddry
1C00
Saving file 'Code'
$ ../beebasm --help
beebasm 1.09
FreeBSD 10.4
Fails as expected:
Code: Select all
% gmake -v
GNU Make 4.2.1
Built for amd64-portbld-freebsd10.4
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
webarts@devexess:~/beebasm/beebasm-proposed-updates/src % gmake all PLATFORM=linux
-e Making subdirectory ... objects/.
-e Generating dependencies for ... random.cpp
gmake[1]: g++: Command not found
...
% clang -v
FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
Target: x86_64-unknown-freebsd10.4
Thread model: posix
Selected GCC installation:
Change the Makefile.inc to use clang/clang++
to
Code: Select all
CC := clang
CXX := clang++
LD := clang++
And try again:
Code: Select all
% gmake all PLATFORM=linux
-e Making subdirectory ... objects/.
-e Generating dependencies for ... random.cpp
-e Generating dependencies for ... expression.cpp
-e Generating dependencies for ... assemble.cpp
-e Generating dependencies for ... asmexception.cpp
-e Generating dependencies for ... discimage.cpp
-e Generating dependencies for ... sourcefile.cpp
-e Generating dependencies for ... stringutils.cpp
-e Generating dependencies for ... lineparser.cpp
-e Generating dependencies for ... globaldata.cpp
-e Generating dependencies for ... macro.cpp
-e Generating dependencies for ... sourcecode.cpp
-e Generating dependencies for ... main.cpp
-e Generating dependencies for ... commands.cpp
-e Generating dependencies for ... objectcode.cpp
-e Generating dependencies for ... symboltable.cpp
-e Generating dependencies for ... BASIC.cpp
-e Compiling ... BASIC.cpp
-e Compiling ... symboltable.cpp
-e Compiling ... objectcode.cpp
-e Compiling ... commands.cpp
-e Compiling ... main.cpp
-e Compiling ... sourcecode.cpp
-e Compiling ... macro.cpp
-e Compiling ... globaldata.cpp
-e Compiling ... lineparser.cpp
-e Compiling ... stringutils.cpp
-e Compiling ... sourcefile.cpp
-e Compiling ... discimage.cpp
-e Compiling ... asmexception.cpp
-e Compiling ... assemble.cpp
-e Compiling ... expression.cpp
-e Compiling ... random.cpp
-e Linking ... ../beebasm
-e Running ... ../beebasm
.xpos
0000
.ypos
0001
.colour
0002
... (lots of output omitted)
.end
.olddotaddrlo
1A00
.olddotaddrhi
1B00
.olddotaddry
1C00
Saving file 'Code'
% ../beebasm --help
beebasm 1.09
FreeBSD 11.1 - basically the same as FreeBSD 10.4 (so not going to repeat the output) but a newer clang version:
Code: Select all
% clang --version
FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0)
Target: x86_64-unknown-freebsd11.1
Thread model: posix
InstalledDir: /usr/bin
% gmake --version
GNU Make 4.2.1
Built for amd64-portbld-freebsd11.1
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
% pkg info | grep GNU
...
gmake-4.2.1_2 GNU version of 'make' utility
...