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
that require special command line arguments to the configuration
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.
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 install
To compile syn68k on PPC Mac OS X (tested under 10.5.7), you must explicitly
request the non-native port (the default is to try to build the native
backend even on architectures where it's not supported--bad default!)
To compile syn68k on PowerPC Mac OS X (tested under 10.5.7), you must
explicitly request the non-native port (the default is to try to build
the native backend even on architectures where it's not supported--bad
default!)
./autogen.sh
./configure --disable-native

16
TODO
View File

@ -1,12 +1,15 @@
--enable-native should only be present where it's available
and perhaps should default to whatever is fastest (e.g., I
believe it's faster to run native in 32-bit mode on an x86_64
than it is to run non-native in 64-bit mode on an x86_64, although
I haven't yet timed them)
cleanup and optimize shouldn't be done via environment variables;
they should be done with AC_ARG_ENABLE and default to be turned on
on the architectures where they work (and should be made to work on
the architectures they support)
only invoke the x86 cleanup & optimize when compiling for an
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
(including Mac OS X)
@ -19,6 +22,9 @@
figure out *exactly* which options should be available
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
get rid of Makefile.common.in

View File

@ -64,15 +64,26 @@ AC_SUBST(host_cpu_class)
AC_ARG_ENABLE([native],
AC_HELP_STRING([--enable-native],
[native or nonnative (default is native)]),
[var_native=$enable_native], [var_native=yes] )
if test "$var_native" = "yes"; then
[recompile into x86 code (default enabled for x86)]),
[], [if test x$host_cpu_class = xi386; 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"
NONNATIVE=""
else
HOST_NATIVE="native/null"
NONNATIVE="#define NONNATIVE"
fi
AC_MSG_RESULT([$enable_native])
AC_SUBST(NONNATIVE)
AC_SUBST(HOST_NATIVE)