mirror of
https://github.com/Oibaf66/uae-wii.git
synced 2024-11-14 06:45:07 +01:00
1545 lines
41 KiB
Plaintext
1545 lines
41 KiB
Plaintext
|
dnl Process this file with autoconf to produce a configure script.
|
||
|
dnl Written 1996, 1997, 1998 Bernd Schmidt
|
||
|
dnl
|
||
|
dnl Updated, re-written and generally mauled 2003 Richard Drummond
|
||
|
|
||
|
AC_PREREQ(2.55)
|
||
|
AC_INIT(E-UAE, 0.8.29-WIP4, ,e-uae)
|
||
|
AC_CONFIG_SRCDIR([bootstrap.sh])
|
||
|
AM_CONFIG_HEADER([src/sysconfig.h])
|
||
|
AC_CANONICAL_TARGET
|
||
|
AM_INIT_AUTOMAKE(1.7 dist-bzip2 foreign)
|
||
|
|
||
|
dnl
|
||
|
dnl Checks for programs.
|
||
|
dnl
|
||
|
|
||
|
AC_PROG_CC
|
||
|
AC_PROG_CPP
|
||
|
AC_PROG_CXX
|
||
|
AS_PROG_OBJC
|
||
|
AM_PROG_AS
|
||
|
AC_PROG_MAKE_SET
|
||
|
AC_PROG_RANLIB
|
||
|
AC_CHECK_TOOL(AR, ar)
|
||
|
AC_PROG_INSTALL
|
||
|
AC_PATH_PROG(MAKEDEPPRG, makedepend, not-found)
|
||
|
AC_PATH_PROG(FILEPRG, file, not-found)
|
||
|
AC_PATH_PROG(WRCPRG, wrc, not-found)
|
||
|
AC_PATH_PROG(RCLPRG, rcl, not-found)
|
||
|
|
||
|
AC_AIX
|
||
|
AC_ISC_POSIX
|
||
|
|
||
|
NR_WARNINGS=0
|
||
|
NR_ERRORS=0
|
||
|
|
||
|
ADDITIONAL_CFLAGS=
|
||
|
OPTIMIZE_CFLAGS=
|
||
|
WARNING_CFLAGS=
|
||
|
DEBUG_CFLAGS=
|
||
|
NO_SCHED_CFLAGS=
|
||
|
|
||
|
dnl
|
||
|
dnl Checks for libraries.
|
||
|
dnl
|
||
|
dnl Replace main' with a function in -lMedia_s: (Ian!)
|
||
|
dnl AC_CHECK_LIB(Media_s, main, HAVE_MEDIA_LIB=yes, HAVE_MEDIA_LIB=no)
|
||
|
dnl Replace main' with a function in -lNeXT_s:
|
||
|
dnl AC_CHECK_LIB(NeXT_s, main, HAVE_NEXT_LIB=yes, HAVE_NEXT_LIB=no)
|
||
|
dnl AC_CHECK_LIB(moto, cos, HAVE_MOTO_LIB=yes, HAVE_MOTO_LIB=no)
|
||
|
dnl AC_CHECK_LIB(amiga, OpenLibrary, HAVE_AMIGA_LIB=yes, HAVE_AMIGA_LIB=n)
|
||
|
dnl AC_CHECK_LIB(vga, vga_setmode, HAVE_SVGA_LIB=yes, HAVE_SVGA_LIB=no)
|
||
|
|
||
|
AC_CHECK_LIB(ossaudio,_oss_ioctl, HAVE_LIBOSSAUDIO=yes, HAVE_LIBOSSAUDIO=no)
|
||
|
|
||
|
dnl Prefer Gtk2.x over Gtk1.x if both are available
|
||
|
AM_PATH_GTK_2_0(2.0.0,HAVE_GTK=yes,HAVE_GTK=no)
|
||
|
if [[ "x$HAVE_GTK" = "xno" ]]; then
|
||
|
AM_PATH_GTK(1.0.0,HAVE_GTK=yes,HAVE_GTK=no)
|
||
|
fi
|
||
|
|
||
|
dnl
|
||
|
dnl Checks for header files.
|
||
|
dnl
|
||
|
AC_HEADER_DIRENT
|
||
|
AC_HEADER_STDC
|
||
|
|
||
|
AC_CHECK_HEADERS([fcntl.h sys/ioctl.h sys/time.h utime.h])
|
||
|
AC_CHECK_HEADERS([values.h ncurses.h curses.h sys/termios.h])
|
||
|
AC_CHECK_HEADERS([sys/stat.h sys/ipc.h sys/shm.h sys/mman.h])
|
||
|
AC_CHECK_HEADERS([sys/filio.h])
|
||
|
|
||
|
AC_CHECK_HEADERS([libraries/cybergraphics.h cybergraphx/cybergraphics.h])
|
||
|
|
||
|
AC_CHECK_HEADERS([devices/ahi.h])
|
||
|
AC_CHECK_HEADERS([sys/soundcard.h machine/soundcard.h sun/audioio.h sys/audioio.h])
|
||
|
|
||
|
AC_CHECK_HEADERS([machine/joystick.h])
|
||
|
AC_CHECK_HEADER([amigainput/amigainput.h], HAVE_AMIGAINPUT=yes, HAVE_AMIGAINPUT=no)
|
||
|
|
||
|
AC_CHECK_HEADERS([byteswap.h])
|
||
|
|
||
|
dnl
|
||
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||
|
dnl
|
||
|
AC_HEADER_STDBOOL
|
||
|
AC_C_CONST
|
||
|
AC_C_INLINE
|
||
|
AC_TYPE_MODE_T
|
||
|
AC_TYPE_OFF_T
|
||
|
AC_TYPE_SIZE_T
|
||
|
AC_STRUCT_ST_BLOCKS
|
||
|
AC_HEADER_TIME
|
||
|
AC_STRUCT_TM
|
||
|
AC_C_VOLATILE
|
||
|
AC_C_BIGENDIAN
|
||
|
|
||
|
AC_CHECK_SIZEOF(char, 1)
|
||
|
AC_CHECK_SIZEOF(short, 2)
|
||
|
AC_CHECK_SIZEOF(int, 4)
|
||
|
AC_CHECK_SIZEOF(long, 4)
|
||
|
AC_CHECK_SIZEOF(long long, 8)
|
||
|
AC_CHECK_SIZEOF(__int64, 8)
|
||
|
AC_CHECK_SIZEOF(void *)
|
||
|
|
||
|
TYPE_SOCKLEN_T
|
||
|
|
||
|
dnl
|
||
|
dnl Checks for library functions.
|
||
|
dnl
|
||
|
AC_PROG_GCC_TRADITIONAL
|
||
|
AC_FUNC_MEMCMP
|
||
|
AC_TYPE_SIGNAL
|
||
|
AC_FUNC_UTIME_NULL
|
||
|
AC_CHECK_FUNCS(getcwd getopt strdup gettimeofday sigaction mkdir rmdir)
|
||
|
AC_CHECK_FUNCS(select strerror strstr isnan isinf setitimer alarm sync)
|
||
|
AC_CHECK_FUNCS(tcgetattr cfmakeraw readdir_r vprintf vsprintf vfprintf)
|
||
|
AC_CHECK_FUNCS(strcasecmp stricmp strcmpi)
|
||
|
AC_CHECK_FUNCS(nanosleep usleep sleep)
|
||
|
|
||
|
dnl AC_CHECK_FUNCS(statvfs statfs)
|
||
|
dnl AC_VAR_TIMEZONE_EXTERNALS - broken on *BSD
|
||
|
AC_CHECK_FUNCS(localtime_r timegm gmtime_r)
|
||
|
AC_SYS_LARGEFILE
|
||
|
|
||
|
AC_MSG_CHECKING(for bswap_16)
|
||
|
AC_TRY_LINK([
|
||
|
#if HAVE_BYTESWAP_H
|
||
|
# include <byteswap.h>
|
||
|
#endif
|
||
|
],[
|
||
|
bswap_16 (0x12);
|
||
|
],[
|
||
|
AC_DEFINE(HAVE_BSWAP_16, 1, [Define to 1 if you have the 'bswap_16' function.])
|
||
|
AC_MSG_RESULT(yes)
|
||
|
],[
|
||
|
AC_MSG_RESULT(no)
|
||
|
])
|
||
|
AC_MSG_CHECKING(for bswap_32)
|
||
|
AC_TRY_LINK([
|
||
|
#if HAVE_BYTESWAP_H
|
||
|
# include <byteswap.h>
|
||
|
#endif
|
||
|
],[
|
||
|
bswap_32 (0x1234);
|
||
|
],[
|
||
|
AC_DEFINE(HAVE_BSWAP_32, 1, [Define to 1 if you have the 'bswap_32' function.])
|
||
|
AC_MSG_RESULT(yes)
|
||
|
],[
|
||
|
AC_MSG_RESULT(no)
|
||
|
])
|
||
|
|
||
|
dnl
|
||
|
dnl Checks for fsuage
|
||
|
dnl
|
||
|
AC_CHECK_HEADERS(sys/param.h sys/vfs.h sys/fs_types.h)
|
||
|
AC_CHECK_HEADERS(sys/mount.h, [], [],
|
||
|
[#ifdef HAVE_SYS_PARAM_H
|
||
|
# include <sys/param.h>
|
||
|
#endif
|
||
|
])
|
||
|
jm_FILE_SYSTEM_USAGE([gl_cv_fs_space=yes], [gl_cv_fs_space=no])
|
||
|
if test $gl_cv_fs_space = yes; then
|
||
|
AC_LIBOBJ(fsusage)
|
||
|
gl_PREREQ_FSUSAGE_EXTRA
|
||
|
fi
|
||
|
|
||
|
AC_CACHE_SAVE
|
||
|
|
||
|
dnl
|
||
|
dnl Check for libz
|
||
|
dnl
|
||
|
CHECK_ZLIB
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Check for pthreads
|
||
|
dnl
|
||
|
ACX_PTHREAD(HAVE_PTHREAD=yes,HAVE_PTHREAD=no)
|
||
|
|
||
|
dnl Solaris, for example, needs additional libs to use POSIX semaphores.
|
||
|
if [[ "x$HAVE_PTHREAD" = "xyes" ]]; then
|
||
|
SAVE_CFLAGS="$CFLAGS"
|
||
|
SAVE_LIBS="$LIBS"
|
||
|
CFLAGS="$PTHREAD_CFLAGS $CFLAGS"
|
||
|
LIBS="$PTHREAD_LIBS"
|
||
|
AC_SEARCH_LIBS(sem_init, rt posix4,,,"$SAVE_LIBS")
|
||
|
PTHREAD_LIBS="$LIBS"
|
||
|
CFLAGS="$SAVE_CFLAGS"
|
||
|
LIBS="$SAVE_LIBS"
|
||
|
fi
|
||
|
|
||
|
dnl
|
||
|
dnl Check for dlopen
|
||
|
dnl
|
||
|
SAVE_LIBS="$LIBS"
|
||
|
LIBS="$LIBS -ldl"
|
||
|
AC_CHECK_LIB(dl, dlopen, [
|
||
|
AC_DEFINE(HAVE_DLOPEN, 1, "Define to 1 if you have 'dlopen' function)
|
||
|
], [
|
||
|
LIBS="$SAVE_LIBS"
|
||
|
]
|
||
|
)
|
||
|
|
||
|
dnl
|
||
|
dnl Check availability of OSS
|
||
|
dnl
|
||
|
HAVE_USS_SOUND=no
|
||
|
if [[ "x$ac_cv_header_sys_soundcard_h" = "xyes" -o "x$ac_cv_header_machine_soundcard_h" = "xyes" ]]; then
|
||
|
if [[ "x$HAVE_LIBOSSAUDIO" = "xyes" ]]; then
|
||
|
SAVE_LIBS="$LIBS"
|
||
|
LIBS="$LIBS -lossaudio"
|
||
|
fi
|
||
|
dnl Avoid surprises
|
||
|
AC_MSG_CHECKING(whether sys/soundcard.h or machine/soundcard.h works)
|
||
|
AC_TRY_LINK([
|
||
|
#include "confdefs.h"
|
||
|
#ifdef HAVE_SYS_SOUNDCARD_H
|
||
|
#include <sys/soundcard.h>
|
||
|
#else
|
||
|
#include <machine/soundcard.h>
|
||
|
#endif
|
||
|
#include <sys/ioctl.h>
|
||
|
],
|
||
|
[int soundfd; ioctl (soundfd, SNDCTL_DSP_GETFMTS, 0);],
|
||
|
AC_MSG_RESULT(yes)
|
||
|
HAVE_USS_SOUND=yes,
|
||
|
AC_MSG_RESULT(no))
|
||
|
if [[ "x$HAVE_LIBOSSAUDIO" = "xyes" ]]; then
|
||
|
LIBS="$SAVE_LIBS"
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Find out which platform to build for
|
||
|
dnl
|
||
|
AC_MSG_CHECKING([host OS support])
|
||
|
|
||
|
dnl default is generic Unix-like OS
|
||
|
HOST_OS=generic
|
||
|
OSDEP=od-generic
|
||
|
|
||
|
case $host_os in
|
||
|
linux*)
|
||
|
HOST_OS=linux
|
||
|
OSDEP=od-linux
|
||
|
;;
|
||
|
darwin*)
|
||
|
HOST_OS=darwin
|
||
|
OSDEP=od-macosx
|
||
|
;;
|
||
|
beos)
|
||
|
HOST_OS=beos
|
||
|
OSDEP=od-beos
|
||
|
;;
|
||
|
amigaos)
|
||
|
HOST_OS=amiga
|
||
|
OSDEP=od-amiga
|
||
|
;;
|
||
|
morphos)
|
||
|
HOST_OS=morphos
|
||
|
OSDEP=od-amiga
|
||
|
;;
|
||
|
aros)
|
||
|
HOST_OS=aros
|
||
|
OSDEP=od-amiga
|
||
|
;;
|
||
|
mingw32*)
|
||
|
HOST_OS=win32
|
||
|
OSDEP=od-win32
|
||
|
esac
|
||
|
|
||
|
AC_MSG_RESULT([$HOST_OS])
|
||
|
|
||
|
dnl
|
||
|
dnl Find out what CPU arch to build for
|
||
|
dnl
|
||
|
AC_MSG_CHECKING([host cpu support])
|
||
|
|
||
|
dnl default is to use no CPU-specific features
|
||
|
HOST_CPU=generic
|
||
|
MDFPP_H=fpp-unknown.h
|
||
|
|
||
|
case $host_cpu in
|
||
|
i[[3-6]]86)
|
||
|
HOST_CPU=i386
|
||
|
MDFPP_H=fpp-ieee.h
|
||
|
;;
|
||
|
amd64 | x86_64)
|
||
|
HOST_CPU=amd64
|
||
|
MDFPP_H=fpp-ieee.h
|
||
|
;;
|
||
|
powerpc)
|
||
|
HOST_CPU=ppc
|
||
|
MDFPP_H=fpp-ieee.h
|
||
|
;;
|
||
|
m68k)
|
||
|
HOST_CPU=68k
|
||
|
MDFPP_H=fpp-ieee.h
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
AC_MSG_RESULT([$HOST_CPU])
|
||
|
MACHDEP="md-$HOST_CPU"
|
||
|
|
||
|
dnl
|
||
|
dnl MULTIPLICATION_PROFITABLE?
|
||
|
dnl
|
||
|
dnl We always set this for now. It's only used in the audio emulation,
|
||
|
dnl where the option is to do multiplication or table look-up. On just
|
||
|
dnl about any CPU it's worthwhile running E-UAE on, multiplication will be
|
||
|
dnl better.
|
||
|
|
||
|
AC_DEFINE(MULTIPLICATION_PROFITABLE, 1, [Define to 1 if your CPU profitably supports multiplication.])
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Find out what compiler we have
|
||
|
dnl
|
||
|
HAVE_GCC27=no
|
||
|
HAVE_GCC30=no
|
||
|
HAVE_GLIBC2=no
|
||
|
|
||
|
AC_MSG_CHECKING([for GCC 2.7 or higher])
|
||
|
AC_EGREP_CPP(yes,
|
||
|
[#if (__GNUC__ - 1 > 0 && __GNUC_MINOR__ - 1 > 5) || __GNUC__ - 1 > 1
|
||
|
yes
|
||
|
#endif
|
||
|
], [AC_MSG_RESULT(yes); HAVE_GCC27=yes], AC_MSG_RESULT(no))
|
||
|
|
||
|
if [[ "x$HAVE_GCC27" = "xyes" ]]; then
|
||
|
AC_MSG_CHECKING([for GCC 3.0 or higher])
|
||
|
AC_EGREP_CPP(yes,
|
||
|
[#if __GNUC__ - 1 > 1
|
||
|
yes
|
||
|
#endif
|
||
|
], [AC_MSG_RESULT(yes); HAVE_GCC30=yes], AC_MSG_RESULT(no))
|
||
|
fi
|
||
|
|
||
|
if test $ac_cv_prog_gcc = yes; then
|
||
|
if test $HAVE_GCC27 != yes; then
|
||
|
AC_MSG_WARN([Version 2.7 or better of GCC is recommended])
|
||
|
NR_WARNINGS=`expr $NR_WARNINGS + 1`
|
||
|
fi
|
||
|
else
|
||
|
if test $uae_cv_prog_cc_watcom != yes; then
|
||
|
AC_MSG_WARN([UAE may not compile and run correctly with your compiler])
|
||
|
NR_WARNINGS=`expr $NR_WARNINGS + 1`
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
if test $ac_cv_prog_gcc = yes; then
|
||
|
if [[ "$HOST_CPU" = i386 -o "$HOST_CPU" = ppc -o "$HOST_CPU" = amd64 ]]; then
|
||
|
MACHDEP="$MACHDEP-gcc"
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
dnl
|
||
|
dnl Now we know the compiler, check some compiler options
|
||
|
dnl
|
||
|
if [[ "x$HAVEGCC27" = "xyes" -a "$HOST_CPU" = "i386" ]]; then
|
||
|
SAVECFLAGS=$CFLAGS
|
||
|
CFLAGS="$CFLAGS -mno-schedule-prologue"
|
||
|
AC_TRY_COMPILE(,int main(){return 0;}, OPTIMIZE_CFLAGS="$OPTIMIZE_CFLAGS -mno-schedule-prologue")
|
||
|
CFLAGS=$SAVECFLAGS
|
||
|
fi
|
||
|
if [[ "x$HAVEGCC27" = "xyes" -a "$HOST_CPU" = "i386" ]]; then
|
||
|
SAVECFLAGS=$CFLAGS
|
||
|
CFLAGS="$CFLAGS -mpreferred-stack-boundary=2"
|
||
|
AC_TRY_COMPILE(,int main(){return 0;}, OPTIMIZE_CFLAGS="$OPTIMIZE_CFLAGS -mpreferred-stack-boundary=2")
|
||
|
CFLAGS=$SAVECFLAGS
|
||
|
fi
|
||
|
dnl If GCC supports exceptions, we don't want them.
|
||
|
dnl
|
||
|
if [[ "x$HAVEGCC27" = "xyes" -a "$HOST_CPU" = "i386" ]]; then
|
||
|
SAVECFLAGS=$CFLAGS
|
||
|
CFLAGS="$CFLAGS -fno-exceptions"
|
||
|
AC_TRY_COMPILE(,int main(){return 0;}, OPTIMIZE_CFLAGS="$OPTIMIZE_CFLAGS -fno-exceptions")
|
||
|
CFLAGS=$SAVECFLAGS
|
||
|
fi
|
||
|
|
||
|
dnl on OS X, we don't want position-independent code, so
|
||
|
dnl include the option -mdynamic-no-pic.
|
||
|
dnl
|
||
|
if [[ "$HOST_OS" = "darwin" ]]; then
|
||
|
OPTIMIZE_CFLAGS="$OPTIMIZE_CFLAGS -mdynamic-no-pic"
|
||
|
fi
|
||
|
|
||
|
if [[ "x$ac_cv_header_features_h" = "xyes" ]]; then
|
||
|
AC_MSG_CHECKING(for glibc-2.0 or higher)
|
||
|
AC_EGREP_CPP(yes,
|
||
|
[#include <features.h>
|
||
|
#if __GLIBC__ - 1 >= 1
|
||
|
yes
|
||
|
#endif
|
||
|
], [AC_MSG_RESULT(yes); HAVE_GLIBC2=yes], AC_MSG_RESULT(no))
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Generic default targets
|
||
|
dnl
|
||
|
TARGET=x11
|
||
|
TARGETDEP=t-unix.h
|
||
|
if [[ "$HAVE_PTHREAD" = "yes" ]]; then
|
||
|
THREADDEP=td-posix
|
||
|
THREADNAME=posix
|
||
|
else
|
||
|
THREADDEP=td-none
|
||
|
THREADNAME=none
|
||
|
fi
|
||
|
if [[ "x$no_x" != "xyes" ]]; then
|
||
|
GFX_DEP=gfx-x11
|
||
|
GFX_NAME=x11
|
||
|
else
|
||
|
GFX_DEP=
|
||
|
GXF_NAME=
|
||
|
fi
|
||
|
GUI_DEP=gui-none
|
||
|
GUI_NAME=none
|
||
|
GUI_LIBS=
|
||
|
SND_DEP=sd-none
|
||
|
SND_NAME=none
|
||
|
JOY_DEP=jd-none
|
||
|
JOY_NAME=none
|
||
|
|
||
|
DO_PROFILING=no
|
||
|
if [[ "$HOST_CPU" = "i386" ]]; then
|
||
|
WANT_JIT=yes
|
||
|
else
|
||
|
WANT_JIT=no
|
||
|
fi
|
||
|
NATMEM=no
|
||
|
NOFLAGS=no
|
||
|
WANT_DGA=no
|
||
|
WANT_VIDMODE=no
|
||
|
WANT_THREADS=dunno
|
||
|
NEED_THREAD_SUPPORT=no
|
||
|
WANT_AUTOCONFIG=dunno
|
||
|
WANT_SCSIEMU=no
|
||
|
WANT_AGA=yes
|
||
|
WANT_CD32=dunno
|
||
|
WANT_CDTV=dunno
|
||
|
WANT_BSDSOCK=dunno
|
||
|
WANT_UI=dunno
|
||
|
WANT_AUDIO=dunno
|
||
|
WANT_COMPATIBLE=yes
|
||
|
WANT_CYCLEEXACT=yes
|
||
|
WANT_CAPS=no
|
||
|
WANT_FDI=yes
|
||
|
WANT_ENFORCER=dunno
|
||
|
|
||
|
MATHLIB=-lm
|
||
|
|
||
|
dnl
|
||
|
dnl Override defaults for specfic targets
|
||
|
dnl
|
||
|
if [[ "$HOST_OS" = "linux" ]]; then
|
||
|
JOY_DEP=jd-linuxold
|
||
|
JOY_NAME="linux"
|
||
|
if [[ "$HOST_CPU" = "i386" ]]; then
|
||
|
NATMEM="0x50000000"
|
||
|
fi
|
||
|
else if [[ "$OSDEP" = "od-beos" ]]; then
|
||
|
TARGET=beos
|
||
|
TARGETDEP=t-beos.h
|
||
|
THREADDEP=td-beos
|
||
|
THREADNAME="native BeOS"
|
||
|
GFX_DEP=gfx-beos
|
||
|
GFX_NAME="native BeOS"
|
||
|
GFX_LIBS="-lgame"
|
||
|
GUI_DEP="gui-beos"
|
||
|
GUI_NAME="native BeOS"
|
||
|
GUI_LIBS="-lbe -ltracker"
|
||
|
JOY_DEP=jd-beos
|
||
|
JOY_NAME="native BeOS"
|
||
|
JOY_LIBS="-ldevice"
|
||
|
SND_DEP=sd-beos
|
||
|
SND_NAME="native BeOS"
|
||
|
SND_LIBS="-lmedia"
|
||
|
WANT_BSDSOCK=no
|
||
|
MATHLIB=""
|
||
|
UAE_RSRCFILE="$OSDEP/uae.rsrc"
|
||
|
else if [[ "$OSDEP" = "od-amiga" ]]; then
|
||
|
TARGET=amiga
|
||
|
TARGETDEP=t-amiga.h
|
||
|
THREADDEP=td-amigaos
|
||
|
THREADNAME="native AmigaOS"
|
||
|
GFX_DEP=gfx-amigaos
|
||
|
GFX_NAME="native AmigaOS"
|
||
|
GUI_DEP=gui-muirexx
|
||
|
GUI_NAME="MUIRexx"
|
||
|
SND_DEP=sd-amigaos
|
||
|
SND_NAME="native AmigaOS/AHI"
|
||
|
if [[ "x$HAVE_AMIGAINPUT" = "xyes" ]]; then
|
||
|
JOY_DEP=jd-amigainput
|
||
|
JOY_NAME="AmigaInput"
|
||
|
else
|
||
|
JOY_DEP=jd-amigaos
|
||
|
JOY_NAME="Amiga lowlevel.library"
|
||
|
fi
|
||
|
WANT_BSDSOCK=no
|
||
|
else if [[ "$OSDEP" = "od-win32" ]]; then
|
||
|
TARGET=win32
|
||
|
TARGETDEP=t-win32.h
|
||
|
WANT_BSDSOCK=no
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
dnl
|
||
|
dnl Win32 build has its own writelog.c
|
||
|
dnl
|
||
|
if [[ "$OSDEP" != "od-win32" ]]; then
|
||
|
EXTRAOBJS=writelog.o
|
||
|
fi
|
||
|
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Options
|
||
|
dnl
|
||
|
|
||
|
AC_ARG_ENABLE(profiling, AS_HELP_STRING([--enable-profiling], [Build a profiling (SLOW!) version]), [DO_PROFILING=$enableval],[])
|
||
|
AC_ARG_ENABLE(aga, AS_HELP_STRING([--enable-aga], [Enable AGA chipset emulation (default yes)]), [WANT_AGA=$enableval],[])
|
||
|
AC_ARG_ENABLE(cdtv, AS_HELP_STRING([--enable-cdtv], [Enable CDTV emulation (default no)]), [WANT_CDTV=$enableval],[])
|
||
|
AC_ARG_ENABLE(cd32, AS_HELP_STRING([--enable-cd32], [Enable CD32 emulation (default no)]), [WANT_CD32=$enableval],[])
|
||
|
AC_ARG_ENABLE(cycle-exact-cpu, AS_HELP_STRING([--enable-cycle-exact-cpu], [Enable cycle-exact CPU emulation (default yes)]), [WANT_CYCLEEXACT=$enableval],[])
|
||
|
AC_ARG_ENABLE(compatible-cpu, AS_HELP_STRING([--enable-compatible-cpu], [Enable compatible CPU emulation (default yes)]), [WANT_COMPATIBLE=$enableval],[])
|
||
|
AC_ARG_ENABLE(jit, AS_HELP_STRING([--enable-jit], [Enable JIT compiler (currently x86 only)]), [WANT_JIT=$enableval],[])
|
||
|
AC_ARG_ENABLE(natmem, AS_HELP_STRING([--enable-natmem], [Enable JIT direct memory support (default auto)]), [NATMEM=$enableval],[])
|
||
|
AC_ARG_ENABLE(noflags, AS_HELP_STRING([--enable-noflags], [Enable noflags support in JIT (default no)]), [NOFLAGS=$enableval],[])
|
||
|
AC_ARG_ENABLE(threads, AS_HELP_STRING([--enable-threads], [Enable thread support (default auto)]), [WANT_THREADS=$enableval],[])
|
||
|
AC_ARG_ENABLE(autoconfig, AS_HELP_STRING([--enable-autoconfig], [Enable emulaton of autoconfig devices (default auto)]), [WANT_AUTOCONFIG=$enableval],[])
|
||
|
AC_ARG_ENABLE(scsi-device, AS_HELP_STRING([--enable-scsi-device], [Enable emulaton of SCSI devices (default no)]), [WANT_SCSIEMU=$enableval],[])
|
||
|
AC_ARG_ENABLE(bsdsock, AS_HELP_STRING([--enable-bsdsock], [Enable bsdsocket.library emulation]), [WANT_BSDSOCK=$enableval],[])
|
||
|
AC_ARG_ENABLE(debugger, AS_HELP_STRING([--disable-debugger], [Disable internal debugger/monitor (default no)]), [WANT_DEBUGGER=$enableval],[])
|
||
|
AC_ARG_ENABLE(state-saving, AS_HELP_STRING([--disable-state-saving], [Disable support for saving state snapshots (default no)]), [WANT_STATESAVING=$enableval],[])
|
||
|
AC_ARG_ENABLE(enforcer, AS_HELP_STRING([--enable-enforcer], [Enable ersatz Enforcer support (default auto)]), [WANT_ENFORCER=$enableval],[])
|
||
|
AC_ARG_ENABLE(action-replay, AS_HELP_STRING([--enable-action-replay], [Enable Action Replay cartridge emulation (default yes)]), [WANT_ACTION_REPLAY=$enableval],[])
|
||
|
AC_ARG_ENABLE(dga, AS_HELP_STRING([--enable-dga], [X11 version: Use the DGA extension]), [WANT_DGA=$enableval],[])
|
||
|
AC_ARG_ENABLE(vidmode, AS_HELP_STRING([--enable-vidmode], [X11 version: Use the XF86VidMode extension]), [WANT_VIDMODE=$enableval],[])
|
||
|
AC_ARG_ENABLE(ui, AS_HELP_STRING([--enable-ui], [Use a user interface if possible (default on)]), [WANT_UI=$enableval],[])
|
||
|
AC_ARG_ENABLE(audio, AS_HELP_STRING([--enable-audio], [Enable audio output (default auto)]), [WANT_AUDIO=$enableval],[])
|
||
|
AC_ARG_ENABLE(fdi, AS_HELP_STRING([--enable-fdi], [Enable FDI support (default yes)]), [WANT_FDI=$enableval],[])
|
||
|
|
||
|
AC_ARG_WITH(sdl,
|
||
|
AS_HELP_STRING([--with-sdl], [Use SDL library for low-level functions]),
|
||
|
[WANT_SDL=$withval], [])
|
||
|
AC_ARG_WITH(sdl-sound,
|
||
|
AS_HELP_STRING([--with-sdl-sound], [Use SDL library for sound]),
|
||
|
[WANT_SDLSND=$withval], [])
|
||
|
AC_ARG_WITH(sdl-gfx,
|
||
|
AS_HELP_STRING([--with-sdl-gfx], [Use SDL library for graphics]),
|
||
|
[WANT_SDLGFX=$withval], [])
|
||
|
AC_ARG_WITH(sdl-gl,
|
||
|
AS_HELP_STRING([--with-sdl-gl], [Allow GL for 2D acceleration with SDL graphics]),
|
||
|
[WANT_SDLGL=$withval], [])
|
||
|
|
||
|
AC_ARG_WITH(curses,
|
||
|
AS_HELP_STRING([--with-curses], [Use ncurses library for graphics]),
|
||
|
[WANT_NCURSES=$withval], [])
|
||
|
|
||
|
AC_ARG_WITH(cocoa-gui,
|
||
|
AS_HELP_STRING([--with-cocoa-gui], [Use Cocoa for GUI on OS X]),
|
||
|
[WANT_COCOA_UI=$withval], [])
|
||
|
|
||
|
AC_ARG_WITH(libscg-prefix,
|
||
|
AS_HELP_STRING([--with-libscg-prefix], [Absolute path to where libscg is installed (optional)]),
|
||
|
[LIBSCG_PREFIX=$withval], [])
|
||
|
AC_ARG_WITH(libscg-includedir,
|
||
|
AS_HELP_STRING([--with-libscg-includedir], [Absolute path to libscg headers are installed (default LIBSCG_PREFIX/include)]),
|
||
|
[LIBSCG_INCLUDEDIR=$withval], [])
|
||
|
AC_ARG_WITH(libscg-libdir,
|
||
|
AS_HELP_STRING([--with-libscg-libdir], [Absolute path to libscg libs are installed (default LIBSCG_PREFIX/lib)]),
|
||
|
[LIBSCG_LIBDIR=$withval], [])
|
||
|
|
||
|
AC_ARG_WITH(alsa,
|
||
|
AS_HELP_STRING([--with-alsa], [Use ALSA library for sound]),
|
||
|
[WANT_ALSA=$withval],[])
|
||
|
|
||
|
dnl
|
||
|
dnl Some simple plausibility tests...
|
||
|
dnl
|
||
|
AC_MSG_CHECKING([configuration options])
|
||
|
|
||
|
if [[ "x$WANT_SDLGL" = "xyes" ]]; then
|
||
|
WANT_SDLGFX=yes
|
||
|
fi
|
||
|
|
||
|
if [[ "x$WANT_SDLSND" = "xyes" -o "x$WANT_SDLGFX" = "xyes" ]]; then
|
||
|
WANT_SDL=yes
|
||
|
fi
|
||
|
if [[ "x$WANT_SDL" = "xno" ]]; then
|
||
|
WANT_SDLGFX=no
|
||
|
WANT_SDLSND=no
|
||
|
WANT_SDLGL=no
|
||
|
fi
|
||
|
|
||
|
if [[ "x$WANT_DGA" = "xyes" -a "x$WANT_SDLGFX" = "xyes" ]]; then
|
||
|
AC_MSG_WARN([DGA support cannot be enabled for non-X11 targets!])
|
||
|
NR_ERRORS=`expr $NR_ERRORS + 1`
|
||
|
WANT_DGA=no
|
||
|
fi
|
||
|
|
||
|
if [[ "x$WANT_DGA" = "xyes" -a "x$no_x" = "xyes" ]]; then
|
||
|
AC_MSG_WARN([Ignoring --enable-dga, since X was disabled or not found])
|
||
|
NR_ERRORS=`expr $NR_ERRORS + 1`
|
||
|
WANT_DGA=no
|
||
|
fi
|
||
|
|
||
|
if [[ "x$WANT_DGA" = "xno" -a "x$WANT_VIDMODE" = "xyes" ]]; then
|
||
|
AC_MSG_WARN([The XF86VidMode extension can only be used in DGA mode. Disabling it])
|
||
|
NR_ERRORS=`expr $NR_ERRORS + 1`
|
||
|
WANT_VIDMODE=no
|
||
|
fi
|
||
|
|
||
|
AC_MSG_RESULT(ok)
|
||
|
|
||
|
|
||
|
dnl Check for X
|
||
|
AC_PATH_XTRA
|
||
|
|
||
|
dnl Check for ncurses
|
||
|
AC_CHECK_LIB(ncurses, waddch, HAVE_NCURSES_LIB=yes, HAVE_NCURSES_LIB=no)
|
||
|
|
||
|
dnl Check for SDL
|
||
|
if [[ "x$WANT_SDL" != "xno" ]]; then
|
||
|
|
||
|
if [[ "$HOST_OS" = "darwin" ]]; then
|
||
|
|
||
|
dnl Assume this is MacOS X and try to use SDL framework
|
||
|
|
||
|
SDL_CFLAGS="-I/Library/Frameworks/SDL.framework/Headers -D_REENTRANT"
|
||
|
SDL_LIBS="-framework Cocoa -framework SDL -lobjc"
|
||
|
|
||
|
AC_MSG_CHECKING(for SDL framework)
|
||
|
|
||
|
SAVE_CPPFLAGS=$CPPFLAGS
|
||
|
SAVE_LIBS=$LIBS
|
||
|
CPPFLAGS="$CPPFLAGS $SDL_CFLAGS"
|
||
|
LIBS="$LIBS $SDL_LIBS"
|
||
|
|
||
|
AC_TRY_LINK(
|
||
|
[
|
||
|
#include "confdefs.h"
|
||
|
#include <SDL.h>
|
||
|
#undef main
|
||
|
],
|
||
|
[
|
||
|
SDL_Init(SDL_INIT_VIDEO);
|
||
|
],
|
||
|
AC_MSG_RESULT(yes)
|
||
|
HAVE_SDL=yes
|
||
|
WANT_COCOA_UI=yes,
|
||
|
AC_MSG_RESULT(no)
|
||
|
HAVE_SDL=no)
|
||
|
|
||
|
CPPFLAGS="$SAVE_CPPFLAGS"
|
||
|
LIBS="$SAVE_LIBS"
|
||
|
else
|
||
|
AM_PATH_SDL(1.2.0,HAVE_SDL=yes,HAVE_SDL=no)
|
||
|
fi
|
||
|
|
||
|
if [[ "x$WANT_SDL" = "xyes" -a "x$HAVE_SDL" = "xno" ]]; then
|
||
|
AC_MSG_WARN([SDL support wanted, but libSDL could not be found])
|
||
|
WANT_SDL=no
|
||
|
NR_ERRORS=`expr $NR_ERRORS + 1`
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
|
||
|
if test $ac_cv_prog_gcc = yes; then
|
||
|
WARNING_CFLAGS="$WARNING_CFLAGS -Wall -Wno-unused -Wno-format -W -Wmissing-prototypes -Wstrict-prototypes"
|
||
|
OPTIMIZE_CFLAGS="$OPTIMIZE_CFLAGS -fomit-frame-pointer"
|
||
|
fi
|
||
|
|
||
|
if [[ "x$DO_PROFILING" = "xyes" ]]; then
|
||
|
if [[ "x$HAVE_GCC27" = "xyes" ]]; then
|
||
|
OPTIMIZE_CFLAGS=""
|
||
|
DEBUG_CFLAGS="-g -fno-inline -fno-omit-frame-pointer -pg -DUSE_PROFILING"
|
||
|
LDFLAGS="-pg"
|
||
|
else
|
||
|
DO_PROFILING=no
|
||
|
AC_MSG_WARN([Don't know how to set up profiling for your compiler])
|
||
|
NR_ERRORS=`expr $NR_ERRORS + 1`
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
UAE_CFLAGS="$OPTIMIZE_CFLAGS $DEBUG_CFLAGS $WARNING_CFLAGS"
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Check CPU emulation options
|
||
|
dnl
|
||
|
|
||
|
dnl Now configure the CPU emulation proper
|
||
|
ASMOBJS=
|
||
|
UAE_DEFINES="$UAE_DEFINES -DFPUEMU -DCPUEMU_0"
|
||
|
CPUOBJS="cpuemu_0.o"
|
||
|
|
||
|
if [[ "x$WANT_COMPATIBLE" != "xno" ]]; then
|
||
|
UAE_DEFINES="$UAE_DEFINES -DCPUEMU_5"
|
||
|
CPUOBJS="$CPUOBJS cpuemu_5.o"
|
||
|
fi
|
||
|
|
||
|
if [[ "x$WANT_CYCLEEXACT" != "xno" ]]; then
|
||
|
UAE_DEFINES="$UAE_DEFINES -DCPUEMU_6"
|
||
|
CPUOBJS="$CPUOBJS cpuemu_6.o"
|
||
|
fi
|
||
|
|
||
|
|
||
|
if [[ "x$HAVE_GCC27" = "xyes" -a "$HOST_CPU" = "i386" -a "x$DO_PROFILING" = "xno" ]]; then
|
||
|
dnl strength-reduce is turned off not because of paranoia, but because it
|
||
|
dnl actually makes the code worse in some cases on the i386 (generates too
|
||
|
dnl many registers, which all end up on the stack).
|
||
|
UAE_CFLAGS="$UAE_CFLAGS -fno-strength-reduce -DREGPARAM=\"__attribute__((regparm(3)))\""
|
||
|
UAE_DEFINES="$UAE_DEFINES -DUNALIGNED_PROFITABLE"
|
||
|
else if [[ "x$HAVE_GCC27" = "xyes" -a "$HOST_CPU" = "68k" ]]; then
|
||
|
UAE_CFLAGS="$UAE_CFLAGS -DREGPARAM=\"__attribute__((regparm(4)))\""
|
||
|
UAE_DEFINES="$UAE_DEFINES -DUNALIGNED_PROFITABLE -DM68K_FLAG_OPT=1 -DSTATIC_INLINE=\"static inline\""
|
||
|
else
|
||
|
UAE_CFLAGS="$UAE_CFLAGS -DREGPARAM="
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Check whether to build with optimized CCR flags handling
|
||
|
dnl
|
||
|
if [[ "x$HAVE_GCC27" = "xyes" ]]; then
|
||
|
if [[ "$HOST_CPU" = "i386" -o "$HOST_CPU" = "ppc" -o "$HOST_CPU" = "68k" ]]; then
|
||
|
GENCPUOPTS="--optimized-flags"
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Check whether to build JIT
|
||
|
dnl
|
||
|
AC_MSG_CHECKING([whether to build JIT compiler])
|
||
|
JITOBJS=""
|
||
|
if [[ "x$WANT_JIT" != "xno" -a "$HOST_CPU" = "i386" ]]; then
|
||
|
UAE_DEFINES="$UAE_DEFINES -DJIT"
|
||
|
if [[ "x$NATMEM" = "xyes" ]]; then
|
||
|
NATMEM="0x50000000"
|
||
|
fi
|
||
|
if [[ "x$NATMEM" != "xno" ]]; then
|
||
|
UAE_DEFINES="$UAE_DEFINES -DNATMEM_OFFSET=$NATMEM"
|
||
|
fi
|
||
|
JITOBJS="compstbl.o compemu.o compemu_support.o compemu_fpp.o"
|
||
|
if [[ "x$NOFLAGS" != "xno" ]]; then
|
||
|
JITOBJS="$JITOBJS cpustbl_nf.o"
|
||
|
JITOBJS="$JITOBJS cpuemu_nf_0.o"
|
||
|
if [[ "x$WANT_COMPATIBLE" != "xno" ]]; then
|
||
|
JITOBJS="$JITOBJS cpuemu_nf_5.o"
|
||
|
fi
|
||
|
if [[ "x$WANT_CYCLEEXACT" != "xno" ]]; then
|
||
|
JITOBJS="$JITOBJS cpuemu_nf_6.o"
|
||
|
fi
|
||
|
fi
|
||
|
AC_MSG_RESULT(yes)
|
||
|
|
||
|
AC_MSG_CHECKING([whether assembler supports --execstack option])
|
||
|
SAVE_CFLAGS="$CFLAGS"
|
||
|
CFLAGS="-Wa,--execstack $CFLAGS"
|
||
|
AC_TRY_COMPILE(, int main (void) {return 0;},
|
||
|
[AC_MSG_RESULT(yes)
|
||
|
UAE_CFLAGS="-Wa,--execstack $UAE_CFLAGS"],
|
||
|
AC_MSG_RESULT(no)
|
||
|
)
|
||
|
CFLAGS="$SAVE_CFLAGS"
|
||
|
else
|
||
|
AC_MSG_RESULT(no)
|
||
|
fi
|
||
|
|
||
|
AC_CACHE_SAVE
|
||
|
|
||
|
dnl
|
||
|
dnl Check which graphics target to build
|
||
|
dnl
|
||
|
AC_MSG_CHECKING([for graphics target to build])
|
||
|
|
||
|
dnl Check whether we wanted to use ncurses
|
||
|
dnl
|
||
|
dnl First check if we need to uses ncurses because no
|
||
|
dnl other gfx support is available
|
||
|
if [[ "x$WANT_NCURSES" != "xno" -a "x$WANT_SDL" = "xno" -a "x$GFX_DEP" = "x" ]]; then
|
||
|
WANT_NCURSES=yes
|
||
|
fi
|
||
|
|
||
|
if [[ "x$WANT_NCURSES" = "xyes" ]]; then
|
||
|
if [[ "x$HAVE_NCURSES_LIB" = "xyes" ]]; then
|
||
|
GFX_LIBS="-lncurses"
|
||
|
GFX_CFLAGS=
|
||
|
GFX_CPPFLAGS=
|
||
|
GFX_DEP=gfx-curses
|
||
|
GFX_NAME=ncurses
|
||
|
else
|
||
|
AC_MSG_WARN([ncurses support wanted, but libncurses could not be found])
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl Check whether we actually wanted to use SDL or whether
|
||
|
dnl we need to use SDL because we couldn't find any other
|
||
|
dnl graphics support
|
||
|
dnl
|
||
|
if [[ "x$WANT_SDL" = "xyes" -o "x$GFX_DEP" = "x" ]]; then
|
||
|
if [[ "x$HAVE_SDL" = "xyes" -a "x$WANT_SDLGFX" != "xno" ]]; then
|
||
|
WANT_SDL=yes
|
||
|
if [[ "x$WANT_SDLGFX" = "xyes" -o "x$GFX_DEP" = "x" ]]; then
|
||
|
GFX_DEP=gfx-sdl
|
||
|
GFX_NAME=SDL
|
||
|
GFX_LIBS=""
|
||
|
GFX_CFLAGS=""
|
||
|
GFX_CPPFLAGS=""
|
||
|
if [[ "x$WANT_SDLGL" = "xyes" ]]; then
|
||
|
GFX_CFLAGS="-DUSE_GL"
|
||
|
if [[ "x$OSDEP" = "xod-macosx" ]]; then
|
||
|
GFX_LIBS="-framework OpenGL"
|
||
|
else
|
||
|
GFX_LIBS="-lGL -lGLU"
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl If we got here and we still haven't found a graphics target
|
||
|
dnl then bail out.
|
||
|
dnl
|
||
|
if [[ "x$GFX_DEP" = "x" ]]; then
|
||
|
AC_MSG_RESULT(none)
|
||
|
AC_MSG_ERROR([Could not find a useable graphics target])
|
||
|
fi
|
||
|
|
||
|
AC_MSG_RESULT("$GFX_NAME")
|
||
|
|
||
|
dnl
|
||
|
dnl If we're using X, find out what extensions are wanted/available
|
||
|
dnl
|
||
|
if [[ "$GFX_DEP" = "gfx-x11" ]]; then
|
||
|
dnl If the user wants DGA, see if we have it.
|
||
|
dnl This must come after we checked for X11.
|
||
|
|
||
|
if [[ "x$WANT_DGA" = "xyes" ]]; then
|
||
|
TMP_SAVE_LIBS=$LIBS
|
||
|
LIBS="$X_LIBS $LIBS"
|
||
|
AC_CHECK_LIB(Xxf86dga, XF86DGAQueryExtension, HAVE_DGA=yes, HAVE_DGA=no, [ $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS ])
|
||
|
echo $LIBS
|
||
|
LIBS=$TMP_SAVE_LIBS
|
||
|
if [[ "x$HAVE_DGA" = "xno" ]]; then
|
||
|
AC_MSG_WARN([Could not find DGA extension, ignoring --enable-dga])
|
||
|
NR_ERRORS=`expr $NR_ERRORS + 1`
|
||
|
WANT_DGA=no
|
||
|
else
|
||
|
X_CFLAGS="$X_CFLAGS -DUSE_DGA_EXTENSION"
|
||
|
X_EXTRA_LIBS="$X_EXTRA_LIBS -lXxf86dga"
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
if [[ "x$WANT_VIDMODE" = "xyes" ]]; then
|
||
|
TMP_SAVE_LIBS=$LIBS
|
||
|
LIBS="$X_LIBS $LIBS"
|
||
|
AC_CHECK_LIB(Xxf86vm, XF86VidModeQueryExtension, HAVE_VIDMODE=yes, HAVE_VIDMODE=no, [ $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS ])
|
||
|
LIBS=$TMP_SAVE_LIBS
|
||
|
if [[ "x$HAVE_VIDMODE" = "xno" ]]; then
|
||
|
AC_MSG_WARN([Could not find VidMode extension, ignoring --enable-vidmode])
|
||
|
NR_ERRORS=`expr $NR_ERRORS + 1`
|
||
|
WANT_VIDMODE=no
|
||
|
else
|
||
|
X_CFLAGS="$X_CFLAGS -DUSE_VIDMODE_EXTENSION"
|
||
|
X_EXTRA_LIBS="$X_EXTRA_LIBS -lXxf86vm"
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
dnl Check if we can compile with XKB/XKBfile support
|
||
|
|
||
|
AC_MSG_CHECKING(whether to compile XKB extension support)
|
||
|
TMP_SAVE_LIBS=$LIBS
|
||
|
TMP_SAVE_CFLAGS=$CFLAGS
|
||
|
LIBS="$X_LIBS $LIBS -lxkbfile"
|
||
|
CFLAGS="$CFLAGS $X_CFLAGS"
|
||
|
AC_TRY_LINK([
|
||
|
#include "confdefs.h"
|
||
|
#include <stdio.h>
|
||
|
#ifdef HAVE_SYS_TYPES_H
|
||
|
# include <sys/types.h>
|
||
|
#endif
|
||
|
#include <X11/Xlib.h>
|
||
|
#include <X11/XKBlib.h>
|
||
|
#include <X11/extensions/XKBrules.h>],[
|
||
|
int major, minor;
|
||
|
XkbRF_RulesPtr rules;
|
||
|
XkbLibraryVersion (&major, &minor);
|
||
|
rules = XkbRF_Load ("dummy", "", True, True);
|
||
|
],
|
||
|
AC_MSG_RESULT(yes)
|
||
|
X_CFLAGS="$X_CFLAGS -DUSE_XKB"
|
||
|
X_EXTRA_LIBS="$X_EXTRA_LIBS -lxkbfile"
|
||
|
xkb_rules_dir_found="no"
|
||
|
for xkb_rules_dir in /usr/share/X11/xkb/rules /usr/lib/X11/xkb/rules /usr/X11R6/lib/X11/xkb/rules
|
||
|
do
|
||
|
if test -d $xkb_rules_dir ; then
|
||
|
X_CFLAGS="$X_CFLAGS -DXKB_PATH=\\\"$xkb_rules_dir/\\\""
|
||
|
xkb_rules_dir_found="yes"
|
||
|
break
|
||
|
fi
|
||
|
done
|
||
|
if test "x$xkb_rules_dir_found" = "xno" ; then
|
||
|
AC_MSG_ERROR([[Could not find xkb path.]])
|
||
|
fi,
|
||
|
AC_MSG_RESULT(no)
|
||
|
)
|
||
|
LIBS=$TMP_SAVE_LIBS
|
||
|
CFLAGS=$TMP_SAVE_CFLAGS
|
||
|
|
||
|
dnl See if we can at least compile SHM support
|
||
|
|
||
|
if [[ "x$no_x" != "xyes" -a "x$ac_cv_header_sys_ipc_h" = "xyes" -a "x$ac_cv_header_sys_shm_h" = "xyes" ]]; then
|
||
|
AC_MSG_CHECKING(whether the X11 MIT-SHM extension can be compiled in)
|
||
|
TMP_SAVE_CFLAGS=$CFLAGS
|
||
|
TMP_SAVE_LIBS=$LIBS
|
||
|
CFLAGS="$CFLAGS $X_CFLAGS"
|
||
|
LIBS="$X_LIBS $LIBS $X_PRE_LIBS -lX11 -lXext $X_EXTRA_LIBS"
|
||
|
AC_TRY_LINK([
|
||
|
#include "confdefs.h"
|
||
|
#ifdef HAVE_SYS_TYPES_H
|
||
|
#include <sys/types.h>
|
||
|
#endif
|
||
|
#include <X11/Xlib.h>
|
||
|
#include <X11/Xutil.h>
|
||
|
#include <X11/keysym.h>
|
||
|
#include <X11/cursorfont.h>
|
||
|
#include <sys/ipc.h>
|
||
|
#include <sys/shm.h>
|
||
|
#include <X11/extensions/XShm.h>],[
|
||
|
static XShmSegmentInfo shminfo;
|
||
|
static Display *display;
|
||
|
XShmAttach(display, &shminfo);
|
||
|
XSync(display,0);
|
||
|
shmctl(shminfo.shmid, IPC_RMID, 0);
|
||
|
],
|
||
|
SHM_SUPPORT_LINKS=1
|
||
|
AC_MSG_RESULT(yes),
|
||
|
SHM_SUPPORT_LINKS=0
|
||
|
AC_MSG_RESULT(no))
|
||
|
fi
|
||
|
CFLAGS=$TMP_SAVE_CFLAGS
|
||
|
LIBS=$TMP_SAVE_LIBS
|
||
|
|
||
|
GFX_CFLAGS="$X_CFLAGS"
|
||
|
GFX_CPPFLAGS="-DSHM_SUPPORT_LINKS=$SHM_SUPPORT_LINKS"
|
||
|
GFX_LIBS="$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS"
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl
|
||
|
dnl Check which sound target to use
|
||
|
AC_MSG_CHECKING([for sound target to build])
|
||
|
|
||
|
if [[ "x$WANT_AUDIO" != "xno" ]]; then
|
||
|
if [[ "x$SND_NAME" = "xnone" ]]; then
|
||
|
if [[ "x$ac_cv_header_sys_audioio_h" = "xyes" -o "x$ac_cv_header_sun_audioio_h" = "xyes" ]]; then
|
||
|
SND_DEP=sd-solaris
|
||
|
SND_NAME=Solaris/NetBSD
|
||
|
USE_SOUND=yes
|
||
|
else if [[ "x$WANT_ALSA" = "xyes" ]]; then
|
||
|
SND_DEP=sd-alsa
|
||
|
SND_LIBS="-lasound"
|
||
|
SND_NAME=ALSA
|
||
|
USE_SOUND=yes
|
||
|
else if [[ "x$HAVE_USS_SOUND" = "xyes" ]]; then
|
||
|
SND_DEP=sd-uss
|
||
|
if [[ "x$HAVE_LIBOSSAUDIO" = "xyes" ]]; then
|
||
|
SND_LIBS="-lossaudio"
|
||
|
fi
|
||
|
SND_NAME=OSS
|
||
|
USE_SOUND=yes
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
dnl
|
||
|
dnl Did we actually want to use SDL for sound, or should we
|
||
|
dnl use it 'cos there's nothing else?
|
||
|
dnl
|
||
|
if [[ "x$WANT_SDLSND" = "xyes" -o "x$SND_DEP" = "x" ]]; then
|
||
|
if [[ "x$HAVE_SDL" = "xyes" -a "x$WANT_SDLSND" != "xno" ]]; then
|
||
|
SND_DEP=sd-sdl
|
||
|
SND_LIBS=
|
||
|
SND_NAME=SDL
|
||
|
NEED_THREAD_SUPPORT=yes
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
AC_MSG_RESULT("$SND_NAME")
|
||
|
else
|
||
|
AC_MSG_RESULT("sound support disabled")
|
||
|
SND_DEP=sd-none
|
||
|
SND_LIBS=
|
||
|
SND_NAME=none
|
||
|
fi
|
||
|
|
||
|
dnl
|
||
|
dnl Did we want a GUI?
|
||
|
dnl
|
||
|
AC_MSG_CHECKING([which UI target to build])
|
||
|
if [[ "x$WANT_UI" = "xno" ]]; then
|
||
|
GUI_DEP=gui-none
|
||
|
GUI_LIBS=
|
||
|
GUI_NAME=none
|
||
|
else
|
||
|
dnl Hack for building Cocoa gui on OS X
|
||
|
dnl We really should reall check for the presence of objc and Cocoa first
|
||
|
if [[ "$HOST_OS" = "darwin" ]]; then
|
||
|
if [[ "x$WANT_COCOA_UI" != "xno" -o "x$HAVE_GTK" = "xno" ]]; then
|
||
|
GUI_DEP=gui-cocoa
|
||
|
GUI_CFLAGS="$CFLAGS -DNO_MAIN_IN_MAIN_C"
|
||
|
GUI_LIBS="-framework Cocoa"
|
||
|
GUI_NAME="Cocoa"
|
||
|
fi
|
||
|
fi
|
||
|
if [[ "$GUI_DEP" = "gui-none" ]]; then
|
||
|
if [[ "x$HAVE_GTK" = "xno" ]]; then
|
||
|
AC_MSG_WARN([UI wanted, but no UI useable target found])
|
||
|
NR_ERRORS=`expr $NR_ERRORS + 1`
|
||
|
WANT_UI=no
|
||
|
else
|
||
|
GUI_DEP=gui-gtk
|
||
|
GUI_LIBS="$GTK_LIBS"
|
||
|
GUI_NAME="GTK+"
|
||
|
GUI_CFLAGS="$CFLAGS"
|
||
|
NEED_THREAD_SUPPORT=yes
|
||
|
if [[ "x$WANT_THREADS" = "xno" ]]; then
|
||
|
AC_MSG_ERROR([Thread support disabled, but GTK+ UI requires threads])
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
fi
|
||
|
AC_MSG_RESULT("$GUI_NAME")
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Do we want AGA emulation
|
||
|
dnl
|
||
|
AC_MSG_CHECKING([whether to build AGA emulation])
|
||
|
if [[ "x$WANT_AGA" != "xno" ]]; then
|
||
|
UAE_DEFINES="$UAE_DEFINES -DAGA"
|
||
|
AC_MSG_RESULT(yes)
|
||
|
else
|
||
|
AC_MSG_RESULT(no)
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Do we want Autoconfig?
|
||
|
dnl
|
||
|
AC_MSG_CHECKING([whether to build support for Autconfig devices])
|
||
|
if [[ "x$WANT_AUTOCONFIG" != "xno" ]]; then
|
||
|
UAE_DEFINES="$UAE_DEFINES -DAUTOCONFIG"
|
||
|
|
||
|
dnl Configure hard disk emulation
|
||
|
UAE_DEFINES="$UAE_DEFINES -DFILESYS"
|
||
|
NEED_THREAD_SUPPORT=yes
|
||
|
FILESYSOBJS="filesys.o fsdb.o fsusage.o hardfile.o"
|
||
|
if [[ "x$HOST_OS" != "xwin32" ]]; then
|
||
|
FILESYSOBJS="$FILESYSOBJS filesys_unix.o fsdb_unix.o hardfile_unix.o"
|
||
|
else
|
||
|
FILESYSOBJS="$FILESYSOBJS"
|
||
|
fi
|
||
|
dnl Filesys support currently requires threads, because hardfile
|
||
|
dnl support requires threads and we can't currently separate the
|
||
|
dnl two.
|
||
|
dnl
|
||
|
dnl However, we don't currently build the threaded filesys implementation
|
||
|
dnl because it performs poorly.
|
||
|
dnl
|
||
|
dnl UAE_DEFINES="$UAE_DEFINES -DUAE_FILESYS_THREADS"
|
||
|
|
||
|
AC_MSG_RESULT(yes)
|
||
|
else
|
||
|
AC_MSG_RESULT(no)
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Do we want SCSI emulation?
|
||
|
dnl This needs tidying up. ;-)
|
||
|
dnl
|
||
|
AC_MSG_CHECKING([whether to build SCSI emulation])
|
||
|
if [[ "x$WANT_SCSIEMU" = "xyes" ]]; then
|
||
|
if [[ "x$WANT_AUTOCONFIG" = "xno" ]]; then
|
||
|
AC_MSG_RESULT(no)
|
||
|
AC_MSG_WARN([Autoconfig support not enabled, so SCSI emulation cannot be enabled])
|
||
|
NR_WARNINGS=`expr $NR_WARNINGS + 1`
|
||
|
WANT_SCSIEMU=no
|
||
|
else
|
||
|
if [[ "$OSDEP" = "od-amiga" ]]; then
|
||
|
AC_MSG_RESULT(yes)
|
||
|
SCSIOBJS="scsiemul.o blkdev.o"
|
||
|
UAE_DEFINES="$UAE_DEFINES -DSCSIEMU"
|
||
|
NEED_THREAD_SUPPORT=yes
|
||
|
else
|
||
|
SCGLIBS="-lscg -lschily"
|
||
|
if [[ "$HOST_OS" = "darwin" ]]; then
|
||
|
SCGLIBS="$SCGLIBS -framework IOKit -framework CoreFoundation"
|
||
|
fi
|
||
|
AC_MSG_RESULT(yes)
|
||
|
AC_MSG_CHECKING([for libscg and libschily])
|
||
|
OLDLIBS="$LIBS"
|
||
|
OLDCPPFLAGS="$CPPFLAGS"
|
||
|
if [[ "x$LIBSCG_PREFIX" != "x" ]]; then
|
||
|
LIBSCG_CPPFLAGS="-I$LIBSCG_PREFIX/include"
|
||
|
LIBSCG_LIBS="-L$LIBSCG_PREFIX/lib"
|
||
|
fi
|
||
|
if [[ "x$LIBSCG_INCLUDEDIR" != "x" ]]; then
|
||
|
LIBSCG_CPPFLAGS="-I$LIBSCG_INCLUDEDIR"
|
||
|
fi
|
||
|
if [[ "x$LIBSCG_LIBDIR" != "x" ]]; then
|
||
|
LIBSCG_LIBS="-L$LIBSCG_LIBDIR $SCGLIBS"
|
||
|
else
|
||
|
LIBSCG_LIBS="$SCGLIBS"
|
||
|
fi
|
||
|
LIBS="$LIBS $LIBSCG_LIBS"
|
||
|
CPPFLAGS="$CPPFLAGS $LIBSCG_CPPFLAGS"
|
||
|
AC_TRY_LINK([
|
||
|
typedef int BOOL;
|
||
|
#include "scg/scgcmd.h"
|
||
|
#include "scg/scsitransp.h"
|
||
|
#include "scg/scsireg.h"],
|
||
|
[{SCSI *scgp = scg_open (0, 0, 0, 0, 0);}],
|
||
|
[
|
||
|
AC_MSG_RESULT(yes)
|
||
|
SCSIOBJS="scsiemul.o blkdev.o blkdev-libscg.o"
|
||
|
UAE_DEFINES="$UAE_DEFINES -DSCSIEMU"
|
||
|
UAE_CPPFLAGS="$UAE_CPPFLAGS $LIBSCG_CPPFLAGS"
|
||
|
UAE_LIBS="$UAE_LIBS $LIBSCG_LIBS"
|
||
|
NEED_THREAD_SUPPORT=yes
|
||
|
],
|
||
|
[
|
||
|
AC_MSG_RESULT(no)
|
||
|
AC_MSG_CHECKING([for libscg and libschily in UAE source tree])
|
||
|
LIBSCG_CPPFLAGS="$OLDCPPFLAGS -I$srcdir/src/include"
|
||
|
LIBSCG_LIBS="-L$srcdir/src $OLDLIBS $SCGLIBS"
|
||
|
CPPFLAGS="$LIBSCG_CPPFLAGS"
|
||
|
LIBS="$LIBSCG_LIBS"
|
||
|
AC_TRY_LINK([
|
||
|
typedef int BOOL;
|
||
|
#include "scg/scgcmd.h"
|
||
|
#include "scg/scsitransp.h"
|
||
|
#include "scg/scsireg.h"],
|
||
|
[{SCSI *scgp = scg_open (0, 0, 0, 0, 0);}],
|
||
|
[
|
||
|
AC_MSG_RESULT(yes)
|
||
|
SCSIOBJS="scsiemul.o blkdev.o blkdev-libscg.o"
|
||
|
UAE_DEFINES="$UAE_DEFINES -DSCSIEMU"
|
||
|
NEED_THREAD_SUPPORT=yes
|
||
|
if [[ "$srcdir" != "." ]]; then
|
||
|
AC_CONFIG_LINKS(src/libscg.a:src/libscg.a)
|
||
|
AC_CONFIG_LINKS(src/libschily.a:src/libschily.a)
|
||
|
UAE_LIBS="$UAE_LIBS $LIBSCG_LIBS"
|
||
|
else
|
||
|
UAE_LIBS="$UAE_LIBS -L. $SCGLIBS"
|
||
|
fi
|
||
|
],
|
||
|
[
|
||
|
AC_MSG_RESULT(no)
|
||
|
|
||
|
AC_MSG_CHECKING([for Linux cdrom support via ioctl])
|
||
|
LIBS="$OLDLIBS"
|
||
|
CPPFLAGS="$OLDCPPFLAGS"
|
||
|
AC_TRY_LINK([
|
||
|
#include <linux/cdrom.h>],
|
||
|
[{struct cdrom_generic_command cmd; ioctl (0, CDROM_SEND_PACKET, &cmd);}],
|
||
|
[
|
||
|
AC_MSG_RESULT(yes)
|
||
|
SCSIOBJS="scsiemul.o blkdev.o"
|
||
|
UAE_DEFINES="$UAE_DEFINES -DSCSIEMU -DSCSIEMU_LINUX_IOCTL"
|
||
|
NEED_THREAD_SUPPORT=yes
|
||
|
],
|
||
|
[
|
||
|
|
||
|
AC_MSG_RESULT(no)
|
||
|
NR_WARNINGS=`expr $NR_WARNINGS + 1`
|
||
|
echo "Please refer to the UAE SCSI device section in docs/README for installation instructions."
|
||
|
WANT_SCSIEMU=no
|
||
|
])
|
||
|
])
|
||
|
LIBS="$OLDLIBS"
|
||
|
CPPFLAGS="$OLDCPPFLAGS"
|
||
|
])
|
||
|
fi
|
||
|
fi
|
||
|
else
|
||
|
AC_MSG_RESULT(no)
|
||
|
fi
|
||
|
if [[ "x$WANT_SCSIEMU" != "xyes" ]]; then
|
||
|
SCSIOBJS="scsi-none.o"
|
||
|
AC_MSG_RESULT(no)
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Do we want CDTV emulation ?
|
||
|
dnl
|
||
|
if [[ "x$WANT_CDTV" != "xyes" -a "x$WANT_SCSIEMU" != "xyes" ]]; then
|
||
|
WANT_CDTV=no
|
||
|
fi
|
||
|
AC_MSG_CHECKING([whether to build CDTV emulation])
|
||
|
if [[ "x$WANT_CDTV" != "xno" ]]; then
|
||
|
AC_MSG_RESULT(yes)
|
||
|
if [[ "x$WANT_SCSIEMU" != "xyes" ]]; then
|
||
|
AC_MSG_WARN([SCSI support is not enabled or cannot be built. Disabling CDTV emulation])
|
||
|
NR_WARNINGS=`expr $NR_WARNINGS + 1`
|
||
|
WANT_CDTV=no
|
||
|
else
|
||
|
UAE_DEFINES="$UAE_DEFINES -DCDTV"
|
||
|
CDOBJS="cdrom.o"
|
||
|
fi
|
||
|
else
|
||
|
AC_MSG_RESULT(no)
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Do we want CD32 emulation ?
|
||
|
dnl
|
||
|
if [[ "x$WANT_CD32" != "xyes" ]]; then
|
||
|
if [[ "x$WANT_SCSIEMU" != "xyes" -o "x$WANT_AGA" = "xno" ]]; then
|
||
|
WANT_CD32=no
|
||
|
fi
|
||
|
fi
|
||
|
AC_MSG_CHECKING([whether to build CD32 emulation])
|
||
|
if [[ "x$WANT_CD32" != "xno" ]]; then
|
||
|
AC_MSG_RESULT(yes)
|
||
|
if [[ "x$WANT_SCSIEMU" != "xyes" ]]; then
|
||
|
AC_MSG_WARN([SCSI support is not enabled or cannot be built. Disabling CD32 emulation])
|
||
|
NR_WARNINGS=`expr $NR_WARNINGS + 1`
|
||
|
WANT_CD32=no
|
||
|
else
|
||
|
if [[ "x$WANT_AGA" != "xyes" ]]; then
|
||
|
AC_MSG_WARN([AGA emulation is not enabled. Disabling CD32 emulation])
|
||
|
NR_WARNINGS=`expr $NR_WARNINGS + 1`
|
||
|
WANT_CD32=no
|
||
|
else
|
||
|
UAE_DEFINES="$UAE_DEFINES -DCD32"
|
||
|
if [[ "x$WANT_CDTV" = "xno" ]]; then
|
||
|
CDOBJS="cdrom.o"
|
||
|
fi
|
||
|
CDOBJS="$CDOBJS akiko.o"
|
||
|
fi
|
||
|
fi
|
||
|
else
|
||
|
AC_MSG_RESULT(no)
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Do we want bsdsocket.library emulation?
|
||
|
dnl
|
||
|
AC_MSG_CHECKING([whether to build bsdsocket.library emulation])
|
||
|
if [[ "x$WANT_BSDSOCK" != "xno" ]]; then
|
||
|
if [[ "x$WANT_AUTOCONFIG" = "xno" ]]; then
|
||
|
AC_MSG_RESULT(no)
|
||
|
AC_MSG_WARN([Autoconfig support not enabled, so bsdsocket emulation cannot be enabled])
|
||
|
NR_WARNINGS=`expr $NR_WARNINGS + 1`
|
||
|
else
|
||
|
NEED_THREAD_SUPPORT=yes
|
||
|
UAE_DEFINES="$UAE_DEFINES -DBSDSOCKET"
|
||
|
BSDSOCKOBJS="bsdsocket-posix-new.o bsdsocket.o"
|
||
|
AC_MSG_RESULT(yes)
|
||
|
fi
|
||
|
else
|
||
|
AC_MSG_RESULT(no)
|
||
|
BSDSOCKOBJS="bsdsocket.o"
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Check whether we want or need threads
|
||
|
dnl
|
||
|
AC_MSG_CHECKING([whether to build with threads])
|
||
|
if [[ "x$WANT_THREADS" = "xyes" -o "x$NEED_THREAD_SUPPORT" = "xyes" ]]; then
|
||
|
AC_MSG_RESULT(yes)
|
||
|
AC_MSG_CHECKING([which thread target to build])
|
||
|
|
||
|
if [[ "x$WANT_SDL" = "xyes" -o "$THREADDEP" = "td-none" ]]; then
|
||
|
if [[ "x$HAVE_SDL" = "xyes" -a "x$WANT_SDL" != "xno" ]]; then
|
||
|
WANT_SDL=yes
|
||
|
THREADDEP=td-sdl
|
||
|
THREADNAME=SDL
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
if [[ "$THREADDEP" = "td-none" ]]; then
|
||
|
AC_MSG_ERROR([Thread support wanted or required, but no thread target found])
|
||
|
fi
|
||
|
|
||
|
if [[ "$THREADDEP" = "td-posix" ]]; then
|
||
|
CC="$PTHREAD_CC"
|
||
|
UAE_CFLAGS="$UAE_CFLAGS $PTHREAD_CFLAGS"
|
||
|
UAE_LIBS="$UAE_LIBS $PTHREAD_LIBS"
|
||
|
|
||
|
dnl Hack to use named semaphores on OS X/darwin
|
||
|
dnl This needs to be properly checked when detecting pthreads!
|
||
|
if [[ "$HOST_OS" = "darwin" ]]; then
|
||
|
UAE_DEFINES="$UAE_DEFINES -DUSE_NAMED_SEMAPHORES"
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
UAE_DEFINES="$UAE_DEFINES -DSUPPORT_THREADS"
|
||
|
AC_MSG_RESULT($THREADNAME)
|
||
|
else
|
||
|
THREADDEP=td-none
|
||
|
AC_MSG_RESULT(no)
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl So, are we using SDL?
|
||
|
dnl
|
||
|
if [[ "x$WANT_SDL" = "xyes" ]]; then
|
||
|
UAE_DEFINES="$UAE_DEFINES -DUSE_SDL"
|
||
|
JOY_DEP=jd-sdl
|
||
|
UAE_LIBS="$UAE_LIBS $SDL_LIBS"
|
||
|
UAE_CPPFLAGS="$UAE_CPPFLAGS $SDL_CFLAGS"
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Check for CAPS API
|
||
|
dnl
|
||
|
WANT_CAPS=dunno
|
||
|
AC_ARG_WITH(caps, AS_HELP_STRING([--with-caps], [Build with support for CAPS/IPF disk images) (default auto)]), [WANT_CAPS=$withval],[])
|
||
|
AC_ARG_WITH(caps-prefix, AS_HELP_STRING([--with-caps-prefix], [Prefix where CAPS API is installed (optional)]), [CAPS_PREFIX=$withval],[])
|
||
|
if [[ "x$WANT_CAPS" != "xno" ]]; then
|
||
|
SAVE_CPPFLAGS="$CPPFLAGS"
|
||
|
CAPS_CPPFLAGS="-I$CAPS_PREFIX/include"
|
||
|
if [[ "x$CAPS_PREFIX" != "x" ]]; then
|
||
|
CPPFLAGS="$CPPFLAGS $CAPS_CPPFLAGS"
|
||
|
fi
|
||
|
AC_CHECK_HEADERS(caps/capsimage.h, [HAVE_CAPS=yes], [HAVE_CAPS=no])
|
||
|
if [[ "$HAVE_CAPS" = "yes" ]]; then
|
||
|
UAE_DEFINES="$UAE_DEFINES -DCAPS"
|
||
|
UAE_CPPFLAGS="$UAE_CPPFLAGS $CAPS_CPPFLAGS"
|
||
|
else
|
||
|
if [[ "$WANT_CAPS" = "yes" ]]; then
|
||
|
AC_MSG_WARN([CAPS support wanted, but CAPS API not found])
|
||
|
WANT_CAPS=no
|
||
|
fi
|
||
|
fi
|
||
|
CPPFLAGS="$SAVE_CPPFLAGS"
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Check whether FDI support wanted
|
||
|
dnl
|
||
|
if [[ "x$WANT_FDI" != "xno" ]]; then
|
||
|
UAE_DEFINES="$UAE_DEFINES -DFDI2RAW"
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Build debugger?
|
||
|
dnl
|
||
|
AC_MSG_CHECKING([whether to build internal debugger/monitor])
|
||
|
if [[ "x$WANT_DEBUGGER" != "xno" ]]; then
|
||
|
AC_MSG_RESULT(yes)
|
||
|
UAE_DEFINES="$UAE_DEFINES -DDEBUGGER"
|
||
|
DEBUGOBJS="debug.o identify.o"
|
||
|
else
|
||
|
AC_MSG_RESULT(no)
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Support state saving/loading?
|
||
|
dnl
|
||
|
AC_MSG_CHECKING([whether to build support for saving/loading emulator state])
|
||
|
if [[ "x$WANT_STATESAVING" != "xno" ]]; then
|
||
|
AC_MSG_RESULT(yes)
|
||
|
UAE_DEFINES="$UAE_DEFINES -DSAVESTATE"
|
||
|
else
|
||
|
AC_MSG_RESULT(no)
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Build fake enforcer?
|
||
|
dnl
|
||
|
AC_MSG_CHECKING([whether to build with enforcer])
|
||
|
if [[ "x$WANT_ENFORCER" != "xno" ]]; then
|
||
|
if [[ "x$WANT_AUTOCONFIG" != "xno" ]]; then
|
||
|
AC_MSG_RESULT(yes)
|
||
|
UAE_DEFINES="$UAE_DEFINES -DENFORCER"
|
||
|
else
|
||
|
AC_MSG_RESULT(no)
|
||
|
AC_MSG_WARN([Autoconfig support not enabled, so enforcer emulation cannot be enabled])
|
||
|
fi
|
||
|
else
|
||
|
AC_MSG_RESULT(no)
|
||
|
fi
|
||
|
|
||
|
|
||
|
dnl
|
||
|
dnl Build Action Replay emulation
|
||
|
dnl
|
||
|
AC_MSG_CHECKING([whether to build Action Replay emulation])
|
||
|
if [[ "x$WANT_ACTION_REPLAY" != "xno" ]]; then
|
||
|
AC_MSG_RESULT(yes)
|
||
|
UAE_DEFINES="$UAE_DEFINES -DACTION_REPLAY"
|
||
|
else
|
||
|
AC_MSG_RESULT(no)
|
||
|
fi
|
||
|
|
||
|
|
||
|
LIBS="$LIBS $UAE_LIBS $GUI_LIBS $GFX_LIBS $SND_LIBS $JOY_LIBS $MATHLIB"
|
||
|
CPPFLAGS="$CPPFLAGS $UAE_DEFINES $UAE_CPPFLAGS $GFX_CPPFLAGS"
|
||
|
CFLAGS="$CFLAGS $UAE_CFLAGS $GUI_CFLAGS $GFX_CFLAGS $SND_CFLAGS $JOY_CFLAGS"
|
||
|
|
||
|
AC_CONFIG_LINKS(src/target.h:src/targets/$TARGETDEP)
|
||
|
AC_CONFIG_LINKS(src/machdep:src/$MACHDEP)
|
||
|
AC_CONFIG_LINKS(src/md-fpp.h:src/include/$MDFPP_H)
|
||
|
AC_CONFIG_LINKS(src/osdep:src/$OSDEP)
|
||
|
AC_CONFIG_LINKS(src/gfxdep:src/$GFX_DEP)
|
||
|
AC_CONFIG_LINKS(src/sounddep:src/$SND_DEP)
|
||
|
AC_CONFIG_LINKS(src/threaddep:src/$THREADDEP)
|
||
|
AC_CONFIG_LINKS(src/joydep:src/$JOY_DEP)
|
||
|
AC_CONFIG_LINKS(src/guidep:src/$GUI_DEP)
|
||
|
|
||
|
AC_CONFIG_FILES([Makefile
|
||
|
src/Makefile
|
||
|
src/dms/Makefile
|
||
|
src/caps/Makefile
|
||
|
src/md-generic/Makefile
|
||
|
src/md-i386-gcc/Makefile
|
||
|
src/md-ppc-gcc/Makefile
|
||
|
src/md-ppc/Makefile
|
||
|
src/md-68k/Makefile
|
||
|
src/md-amd64-gcc/Makefile
|
||
|
src/od-generic/Makefile
|
||
|
src/od-linux/Makefile
|
||
|
src/od-amiga/Makefile
|
||
|
src/od-beos/Makefile
|
||
|
src/od-macosx/Makefile
|
||
|
src/od-macosx/Info.plist
|
||
|
src/od-win32/Makefile
|
||
|
src/td-none/Makefile
|
||
|
src/td-amigaos/Makefile
|
||
|
src/td-beos/Makefile
|
||
|
src/td-posix/Makefile
|
||
|
src/td-sdl/Makefile
|
||
|
src/td-win32/Makefile
|
||
|
src/gfx-amigaos/Makefile
|
||
|
src/gfx-beos/Makefile
|
||
|
src/gfx-x11/Makefile
|
||
|
src/gfx-sdl/Makefile
|
||
|
src/gfx-curses/Makefile
|
||
|
src/gfx-svga/Makefile
|
||
|
src/sd-alsa/Makefile
|
||
|
src/sd-amigaos/Makefile
|
||
|
src/sd-beos/Makefile
|
||
|
src/sd-none/Makefile
|
||
|
src/sd-sdl/Makefile
|
||
|
src/sd-solaris/Makefile
|
||
|
src/sd-uss/Makefile
|
||
|
src/jd-none/Makefile
|
||
|
src/jd-amigainput/Makefile
|
||
|
src/jd-amigaos/Makefile
|
||
|
src/jd-beos/Makefile
|
||
|
src/jd-linuxold/Makefile
|
||
|
src/jd-sdl/Makefile
|
||
|
src/gui-none/Makefile
|
||
|
src/gui-beos/Makefile
|
||
|
src/gui-cocoa/Makefile
|
||
|
src/gui-gtk/Makefile
|
||
|
src/gui-muirexx/Makefile
|
||
|
src/keymap/Makefile
|
||
|
src/test/Makefile
|
||
|
])
|
||
|
|
||
|
AM_CONDITIONAL(TARGET_BIGENDIAN, test x$ac_cv_c_bigendian = xyes)
|
||
|
AM_CONDITIONAL(TARGET_BEOS, test x$OSDEP = xod-beos)
|
||
|
AM_CONDITIONAL(TARGET_WIN32, test x$OSDEP = xod-win32)
|
||
|
AM_CONDITIONAL(BUILD_MACOSX_BUNDLE, test x$OSDEP = xod-macosx)
|
||
|
|
||
|
AC_SUBST(ac_cv_c_inline)
|
||
|
AC_SUBST(WRCPRG)
|
||
|
AC_SUBST(NO_SCHED_CFLAGS)
|
||
|
AC_SUBST(GENCPUOPTS)
|
||
|
AC_SUBST(TARGET)
|
||
|
AC_SUBST(MACHDEP)
|
||
|
AC_SUBST(OSDEP)
|
||
|
AC_SUBST(THREADDEP)
|
||
|
AC_SUBST(GFX_DEP)
|
||
|
AC_SUBST(SND_DEP)
|
||
|
AC_SUBST(JOY_DEP)
|
||
|
AC_SUBST(GUI_DEP)
|
||
|
AC_SUBST(EXTRAOBJS)
|
||
|
AC_SUBST(CPUOBJS)
|
||
|
AC_SUBST(JITOBJS)
|
||
|
AC_SUBST(RESOBJS)
|
||
|
AC_SUBST(ASMOBJS)
|
||
|
AC_SUBST(SCSIOBJS)
|
||
|
AC_SUBST(CDOBJS)
|
||
|
AC_SUBST(DEBUGOBJS)
|
||
|
AC_SUBST(FILESYSOBJS)
|
||
|
AC_SUBST(BSDSOCKOBJS)
|
||
|
AC_SUBST(UAE_RSRCFILE)
|
||
|
AC_SUBST(SET_MAKE)
|
||
|
AC_SUBST(MATHLIB)
|
||
|
AC_SUBST(top_srcdir)
|
||
|
|
||
|
dnl If we're not cross-compiling then, the config script in src/tools
|
||
|
dnl can be called by config.status as normal
|
||
|
dnl
|
||
|
if [[ "x$cross_compiling" != "xyes" ]]; then
|
||
|
AC_CONFIG_SUBDIRS(src/tools)
|
||
|
fi
|
||
|
|
||
|
AC_OUTPUT
|
||
|
|
||
|
dnl However, if we are cross-compiling, then we need to call
|
||
|
dnl configure in src/tools manually ourselves. This is because
|
||
|
dnl autoconf currently has no support for building host tools
|
||
|
dnl when cross-compiling. Okay. This is a hack. But it works. Can
|
||
|
dnl anybody think of a better way of doing this?
|
||
|
dnl
|
||
|
if [[ "x$cross_compiling" = "xyes" ]]; then
|
||
|
export CC=$CC_FOR_BUILD
|
||
|
export CFLAGS=$CFLAGS_FOR_BUILD
|
||
|
export LDFLAGS=$LDFLAGS_FOR_BUILD
|
||
|
export LIBS=$LIBS_FOR_BUILD
|
||
|
mkdir -p src/tools
|
||
|
cd src/tools && ../../"$srcdir"/src/tools/configure --cache-file=/dev/null --host=$build --target=$host
|
||
|
fi
|