No longer enables native support on non-x86.

This commit is contained in:
Clifford T. Matthews 2009-06-22 10:46:03 -06:00
parent 2935fe1503
commit 20c950a654
3 changed files with 30 additions and 12 deletions

9
README
View File

@ -20,7 +20,7 @@ make it so Syn68k builds on a few more platforms than it did. There's
still a lot of cruft that can be removed and still a bunch of gotchas still a lot of cruft that can be removed and still a bunch of gotchas
that require special command line arguments to the configuration that require special command line arguments to the configuration
utility, but at least there are enough variants that can be built to utility, but at least there are enough variants that can be built to
show that both big-endian (e.g., PPC) and little-endian (e.g. i386, x86_64), show that both big-endian (e.g., PowerPC) and little-endian (e.g. i386, x86_64),
32-bit and 64-bit, native (i386-only) and non-native versions work. 32-bit and 64-bit, native (i386-only) and non-native versions work.
On i386 Fedora systems (tested on 9 and 11), this version of Syn68k On i386 Fedora systems (tested on 9 and 11), this version of Syn68k
@ -51,9 +51,10 @@ currently have to override the cleanup script, since the stock script
make make
make install make install
To compile syn68k on PPC Mac OS X (tested under 10.5.7), you must explicitly To compile syn68k on PowerPC Mac OS X (tested under 10.5.7), you must
request the non-native port (the default is to try to build the native explicitly request the non-native port (the default is to try to build
backend even on architectures where it's not supported--bad default!) the native backend even on architectures where it's not supported--bad
default!)
./autogen.sh ./autogen.sh
./configure --disable-native ./configure --disable-native

16
TODO
View File

@ -1,12 +1,15 @@
--enable-native should only be present where it's available cleanup and optimize shouldn't be done via environment variables;
and perhaps should default to whatever is fastest (e.g., I they should be done with AC_ARG_ENABLE and default to be turned on
believe it's faster to run native in 32-bit mode on an x86_64 on the architectures where they work (and should be made to work on
than it is to run non-native in 64-bit mode on an x86_64, although the architectures they support)
I haven't yet timed them)
only invoke the x86 cleanup & optimize when compiling for an only invoke the x86 cleanup & optimize when compiling for an
x86 architecture x86 architecture
can probably write cleanup scripts for other architectures,
don't think it's worth doing optimize though (which may no
longer be a good idea w/ newer compilers)
Fix i486-cleanup.pl and i486-optimize.pl for all x86 targets Fix i486-cleanup.pl and i486-optimize.pl for all x86 targets
(including Mac OS X) (including Mac OS X)
@ -19,6 +22,9 @@
figure out *exactly* which options should be available figure out *exactly* which options should be available
via configure via configure
Not sure what we should do with x86_64 machines; need to know more
about what the popular distributions do
Figure out exactly which variables Makefile.common.in sets, then Figure out exactly which variables Makefile.common.in sets, then
get rid of Makefile.common.in get rid of Makefile.common.in

View File

@ -64,15 +64,26 @@ AC_SUBST(host_cpu_class)
AC_ARG_ENABLE([native], AC_ARG_ENABLE([native],
AC_HELP_STRING([--enable-native], AC_HELP_STRING([--enable-native],
[native or nonnative (default is native)]), [recompile into x86 code (default enabled for x86)]),
[var_native=$enable_native], [var_native=yes] ) [], [if test x$host_cpu_class = xi386; then
if test "$var_native" = "yes"; then enable_native=yes
else
enable_native=no
fi])
AC_MSG_CHECKING([native support])
if test x$enable_native = xyes; then
if test x$host_cpu_class != xi386; then
AC_MSG_ERROR([Can't build native on non-x86])
fi
HOST_NATIVE="native/i386" HOST_NATIVE="native/i386"
NONNATIVE="" NONNATIVE=""
else else
HOST_NATIVE="native/null" HOST_NATIVE="native/null"
NONNATIVE="#define NONNATIVE" NONNATIVE="#define NONNATIVE"
fi fi
AC_MSG_RESULT([$enable_native])
AC_SUBST(NONNATIVE) AC_SUBST(NONNATIVE)
AC_SUBST(HOST_NATIVE) AC_SUBST(HOST_NATIVE)