documented environment variable overrides that allow 32-bit version of Executor to be built on x86_64. Also fixed a bug in parse.y

This commit is contained in:
Clifford T. Matthews 2009-11-28 16:39:00 -07:00
parent d6e93d7e5e
commit 44c8a96e32
2 changed files with 13 additions and 18 deletions

25
README
View File

@ -58,27 +58,22 @@ Fedora 10, 5 for Fedora 11 and 6 for Fedora 12):
libXrender.i?86 libXrender.i?86
libXrandr.i?86 libXrandr.i?86
you may be able to build a copy of Executor by using our old build system you should be able to build a copy of Executor by overriding CC and
and doing something like OBJC to be the 32-bit version and explicitly stating that you're
building on a 32-bit system (which is a little bit untrue, but works):
mkdir -p build/debug-linux mkdir -p build/debug-linux
cd build/debug-linux cd build/debug-linux
../../util/configure.sh '--host=i486-linux' '--build=i486-linux' '--front-end=sdl' '--host-gcc=gcc -m32' '--cflags=-fno-strict-aliasing -I/usr/X11R6/include -O0 -finline-functions -g -Wall' '--root=../..' '--host-file-format=glibc' '--sound=sdl' '--syn68k-host=i486-linux-glibc' CC='gcc -m32' OBJC='gcc -m32' ../../src/configure --build=i686-pc-linux
make make
The above works on Fedora 10, 11 and 12 x86_64. Unfortunately, you'll have The above works on Fedora 10, 11 and 12 x86_64.
to manually copy skel from ../../src, e.g.:
cp -rp ../../src/skel/volume /tmp/ExecutorVolume
export SystemFolder='/tmp/ExecutorVolume/System Folder'
./executor
Yes, the above is pretty messy. It would be great if someone could make it
so that we don't need to use the old build system to get the 32-bit version
to compile on a 64-bit machine and if someone could make the build process
detect when various 32-bit libraries aren't available, but don't hold your
breath.
Yes, the above is pretty messy. Since the x86_64 bit native version of
Executor doesn't build and is likely to anytime soon, it probably makes
sense to make it so that by default we build the ix86 version of Executor
when compiling on x86_64, and that we complain if the various 32-bit
libraries aren't available.
In the past it was possible to cross-compile a version of Executor for In the past it was possible to cross-compile a version of Executor for
Windows using mingw32. So far that port hasn't been tried since Windows using mingw32. So far that port hasn't been tried since

View File

@ -69,7 +69,7 @@ void yyerror(const char *str);
%token MACCDROM %token MACCDROM
%token RIGHT_BUTTON_MODIFIER %token RIGHT_BUTTON_MODIFIER
%token GESTALT %token GESTALT
%token VERSION %token APP_VERSION
%token PRVERSION %token PRVERSION
%type <cptr> STRINGCONSTANT %type <cptr> STRINGCONSTANT
@ -122,7 +122,7 @@ blockbegin: CRC '(' CHAR4CONSTANT ',' INTEGERCONSTANT ')' ':' HEXCONSTANT
printf("CRC('%c%c%c%c', %d) = 0x%04lx\n", (int) $3>>24, printf("CRC('%c%c%c%c', %d) = 0x%04lx\n", (int) $3>>24,
(int) $3>>16, (int) $3>>8, (int) $3, (int) $5, (long) crcval); (int) $3>>16, (int) $3>>8, (int) $3, (int) $5, (long) crcval);
} }
| VERSION '(' HEXCONSTANT ')' ':' HEXCONSTANT | APP_VERSION '(' HEXCONSTANT ')' ':' HEXCONSTANT
{ {
$$ = validblock; $$ = validblock;
validblock = (ROMlib_version_long & $3) == $6; validblock = (ROMlib_version_long & $3) == $6;
@ -370,7 +370,7 @@ struct namevaluestr {
{ "StripAddress", OPTIONSCONSTANT, ROMLIB_STRIPADDRESSHACK_BIT }, { "StripAddress", OPTIONSCONSTANT, ROMLIB_STRIPADDRESSHACK_BIT },
{ "SystemVersion", SYSTEMVERSION, 0 }, { "SystemVersion", SYSTEMVERSION, 0 },
{ "TextDisableHack", OPTIONSCONSTANT, ROMLIB_TEXT_DISABLE_BIT }, { "TextDisableHack", OPTIONSCONSTANT, ROMLIB_TEXT_DISABLE_BIT },
{ "Version", VERSION, 0 }, { "Version", APP_VERSION, 0 },
{ "Win32Token", WIN32TOKEN, 0 }, { "Win32Token", WIN32TOKEN, 0 },
{ "WindowName", WINDOWNAME, 0 }, { "WindowName", WINDOWNAME, 0 },
}; };