Subj : Ticket #9 - Compilation issues on weird platforms..
To : All
From : Sampsa Laine
Date : Sat Oct 29 2016 10:35 pm
Hi Guys,
Not sure if you guys still read this echo but I'm running MBSE 1.0.6 and I
can across a few some minor inconveniences in the compilation process, mainly
that
if it doesn't recognise the CPU it naturally doesn't know to call it and what
the signal names on that platform are.
So I would say the problems fall under two show-stopping categories:
II. Unnecessary(?) #error's if the CPU is "not one of the above"
In a number of places, the code does a #ifdef to determne the CPU type and
whilst I'm impressed by the number of platform supported IBM S/390 and/or
z/Series aren't represented (not that I'm surprised, I'm probably the only
person in the world running MBSE on any kind of zLinux.
Anyway instead of #error'ing out of the whole compile, I changed the bits
which are CPU sensitive to instead throw a #warn "Unknown CPU, assuming IBM
S/390" [of course this should probablysay some differnet].
So from lib/strutil.c:399:2: error: #error "Unknown CPU" I do:
File: lib/strutil.c, starting at line 398>
398: #else
399: #warning "Unknown CPU - defaulting to IBM S/390"
400: return (char *)"IBM S/390";
401: #endif
402: }
(I just used the signal name array for x86, not ideal but I really didn't
have the time to look up the exact Debian/s390x versions - this shouldn't be
too strenuous)
Conclusion
----------
On the plus side, I've been running MBSE 1.0.6 on Debian/s390x for months at
a time without a problem, so nothing too vital seems to be broken.
I would however suggest that you look into those void*<->int casts because
that could break on other platforms as well..
--- SBBSecho 2.27-Win32
* Origin: B4BBS = London = b4bbs.sampsa.com 2:250/7 (2:250/7)