ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/SheepShaver/src/Unix/configure.ac
(Generate patch)

Comparing SheepShaver/src/Unix/configure.ac (file contents):
Revision 1.3 by gbeauche, 2004-06-30T08:51:37Z vs.
Revision 1.8 by gbeauche, 2004-11-13T14:09:15Z

# Line 25 | Line 25 | AC_ARG_WITH(gtk,            [  --with-gt
25   AC_ARG_WITH(mon,            [  --with-mon              use mon as debugger [default=yes]], [WANT_MON=$withval], [WANT_MON=yes])
26   AC_ARG_WITH(dgcc,           [  --with-dgcc=COMPILER    use C++ COMPILER to compile synthetic opcodes], [DYNGEN_CC=$withval])
27  
28 + dnl Addressing mode
29 + AC_ARG_ENABLE(addressing,
30 +  [  --enable-addressing=AM  set the addressing mode to use [default=real]],
31 +  [case "$enableval" in
32 +   real)        WANT_ADDRESSING_MODE="real";;
33 +   direct)      WANT_ADDRESSING_MODE="direct";;
34 +   direct,0x*)  WANT_ADDRESSING_MODE="direct"; NATMEM_OFFSET=`echo "$enableval" | sed -n '/direct,\(0[[xX]][[0-9A-Fa-f]]*\)/s//\1/p'`;;
35 +   esac],
36 +  [WANT_ADDRESSING_MODE="real"]
37 + )
38 +
39   dnl SDL options.
40   AC_ARG_ENABLE(sdl-static,   [  --enable-sdl-static     use SDL static libraries for linking [default=no]], [WANT_SDL_STATIC=$enableval], [WANT_SDL_STATIC=no])
41   AC_ARG_ENABLE(sdl-video,    [  --enable-sdl-video      use SDL for video graphics [default=no]], [WANT_SDL_VIDEO=$enableval], [WANT_SDL_VIDEO=no])
42 + AC_ARG_ENABLE(sdl-audio,    [  --enable-sdl-audio      use SDL for audio [default=no]], [WANT_SDL_AUDIO=$enableval], [WANT_SDL_AUDIO=no])
43  
44   dnl Checks for programs.
45   AC_PROG_CC
# Line 98 | Line 110 | AC_CHECK_LIB(posix4, sem_init)
110  
111   dnl Do we need SDL?
112   WANT_SDL=no
101 SDL_SUPPORT="none"
113   if [[ "x$WANT_SDL_VIDEO" = "xyes" ]]; then
114    WANT_SDL=yes
115    WANT_XF86_DGA=no
116    WANT_XF86_VIDMODE=no
117    WANT_FBDEV_DGA=no
118 <  SDL_SUPPORT="video"
118 >  SDL_SUPPORT="$SDL_SUPPORT video"
119 > fi
120 > if [[ "x$WANT_SDL_AUDIO" = "xyes" ]]; then
121 >  WANT_SDL=yes
122 >  SDL_SUPPORT="$SDL_SUPPORT audio"
123   fi
124   if [[ "x$WANT_SDL" = "xyes" ]]; then
125    AC_PATH_PROG(sdl_config, "sdl-config")
# Line 121 | Line 136 | if [[ "x$WANT_SDL" = "xyes" ]]; then
136    else
137      WANT_SDL=no
138    fi
139 +  SDL_SUPPORT=`echo "$SDL_SUPPORT" | sed -e "s/^ //"`
140 + else
141 +  SDL_SUPPORT="none"
142   fi
143  
144   dnl We need X11, if not using SDL.
# Line 224 | Line 242 | AC_HEADER_STDC
242   AC_HEADER_SYS_WAIT
243   AC_CHECK_HEADERS(mach/vm_map.h mach/mach_init.h sys/mman.h)
244   AC_CHECK_HEADERS(sys/time.h sys/times.h sys/socket.h)
245 < AC_CHECK_HEADERS(unistd.h fcntl.h byteswap.h)
245 > AC_CHECK_HEADERS(unistd.h fcntl.h byteswap.h dirent.h)
246   AC_CHECK_HEADERS(linux/if.h, [], [], [
247   #if HAVE_SYS_SOCKET_H
248   # include <sys/socket.h>
# Line 314 | Line 332 | SERIALSRC=serial_unix.cpp
332   ETHERSRC=../dummy/ether_dummy.cpp
333   SCSISRC=../dummy/scsi_dummy.cpp
334   AUDIOSRC=../dummy/audio_dummy.cpp
335 + EXTFSSRC=extfs_unix.cpp
336   EXTRASYSSRCS=
337   case "$target_os" in
338   linux*)
# Line 331 | Line 350 | darwin*)
350    if [[ "x$ac_cv_framework_IOKit" = "xyes" ]]; then
351      EXTRASYSSRCS="$EXTRASYSSRCS ../MacOSX/sys_darwin.cpp"
352    fi
353 +  if [[ "x$ac_cv_framework_Carbon" = "xyes" ]]; then
354 +    EXTFSSRC=../MacOSX/extfs_macosx.mm
355 +  fi
356    ;;
357   esac
358  
# Line 339 | Line 361 | if [[ "x$WANT_SDL" = "xyes" ]]; then
361    AC_DEFINE(USE_SDL, 1, [Define to enble SDL support.])
362   fi
363   if [[ "x$WANT_SDL_VIDEO" = "xyes" ]]; then
342  VIDEOSRCS="../SDL/video_sdl.cpp"
364    AC_DEFINE(USE_SDL_VIDEO, 1, [Define to enable SDL video graphics support.])
365 +  VIDEOSRCS="../SDL/video_sdl.cpp"
366    KEYCODES="../SDL/keycodes"
367    if [[ "x$ac_cv_framework_Carbon" = "xyes" ]]; then
368      EXTRASYSSRCS="$EXTRASYSSRCS ../MacOSX/clip_macosx.cpp"
# Line 352 | Line 374 | else
374    KEYCODES="keycodes"
375    EXTRASYSSRCS="$EXTRASYSSRCS clip_unix.cpp"
376   fi
377 + if [[ "x$WANT_SDL_AUDIO" = "xyes" ]]; then
378 +  AC_DEFINE(USE_SDL_AUDIO, 1, [Define to enable SDL audio support])
379 +  AUDIOSRC="../SDL/audio_sdl.cpp"
380 + fi
381  
382 < SYSSRCS="$VIDEOSRCS $SERIALSRC $ETHERSRC $SCSISRC $AUDIOSRC $SEMSRC $UISRCS $MONSRCS $EXTRASYSSRCS"
382 > SYSSRCS="$VIDEOSRCS $EXTFSSRC $SERIALSRC $ETHERSRC $SCSISRC $AUDIOSRC $SEMSRC $UISRCS $MONSRCS $EXTRASYSSRCS"
383  
384   dnl Define a macro that translates a yesno-variable into a C macro definition
385   dnl to be put into the config.h file
# Line 743 | Line 769 | else
769      WANT_VOSF=no
770   fi
771  
772 + dnl Check addressing mode to use
773 + AC_MSG_CHECKING([for addressing mode to use])
774 + if [[ "$EMULATED_PPC" != "yes" ]]; then
775 +  if [[ "$WANT_ADDRESSING_MODE" != "real" ]]; then
776 +    AC_MSG_WARN([Running in native PowerPC mode, force use of Real Addressing.])
777 +    WANT_ADDRESSING_MODE="real"
778 +  fi
779 + fi
780 + if [[ "$WANT_ADDRESSING_MODE" = "direct" ]]; then
781 +  if [[ -n "$NATMEM_OFFSET" ]]; then
782 +    NATMEM_OFFSET_DEF="-DNATMEM_OFFSET=$NATMEM_OFFSET"
783 +  fi
784 +  AC_LANG_SAVE
785 +  AC_LANG_CPLUSPLUS
786 +  cat confdefs.h > conftest.$ac_ext
787 +  cat >> conftest.$ac_ext << EOF
788 + #include <stdio.h>
789 + #include <string.h>
790 + #include "vm_alloc.cpp"
791 +
792 + int main(void)
793 + {
794 +        if (vm_init() < 0)
795 +                return 1;
796 +
797 +        static const struct {
798 +                unsigned long base;
799 +                unsigned int size;
800 +        } ranges[[]] = {
801 +                { 0x00000000, 0x0003000 },
802 +                { 0x10000000, 0x2000000 },
803 +                { 0x40800000, 0x0400000 },
804 +                { 0x68070000, 0x0010000 },
805 +                { 0x69000000, 0x0080000 },
806 +                { 0x68ffe000, 0x0002000 },
807 +                { 0x5fffe000, 0x0002000 },
808 +                { 0x60000000, 0x0040000 },
809 +        };
810 +        const int n_ranges = sizeof(ranges)/ sizeof(ranges[[0]]);
811 +
812 + #ifdef NATMEM_OFFSET
813 +        unsigned long ofs = NATMEM_OFFSET;
814 + #else
815 +        for (unsigned long ofs = 0x10000000; ofs <= 0x90000000; ofs += 0x10000000)
816 + #endif
817 +        for (int i = 0; i < n_ranges; i++) {
818 +                char *m = (char *)(ranges[[i]].base + ofs);
819 +                if (vm_acquire_fixed(m, ranges[[i]].size) != 0)
820 +                        break;
821 +                memset(m, 0, ranges[[i]].size);
822 +                vm_release(m, ranges[[i]].size);
823 +                if (i == n_ranges - 1) {
824 +                        printf("0x%08x\n", ofs);
825 +                        return 0;
826 +                }
827 +        }
828 +
829 +        vm_exit();
830 +        return 1;
831 + }
832 + EOF
833 +  doit='$CXX conftest.$ac_ext -o conftest.$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS $LIBS $NATMEM_OFFSET_DEF >& AS_MESSAGE_LOG_FD'
834 +  if AC_TRY_EVAL(doit); then
835 +    NATMEM_OFFSET=`./conftest.$ac_exeext`
836 +    if [[ -z "$NATMEM_OFFSET" ]]; then
837 +      AC_MSG_ERROR([could not determine a sensible NATMEM_OFFSET value])
838 +    else
839 +      WANT_ADDRESSING_MODE="direct,$NATMEM_OFFSET"
840 +    fi
841 +  fi
842 +  rm -f conftest*
843 +  AC_LANG_RESTORE
844 + fi
845 + AC_MSG_RESULT($WANT_ADDRESSING_MODE)
846 +
847 + if [[ -z "$NATMEM_OFFSET" ]]; then
848 +  NATMEM_OFFSET=0
849 + fi
850 + AC_DEFINE_UNQUOTED(NATMEM_OFFSET, $NATMEM_OFFSET,
851 +  [Define constant offset for Mac address translation])
852 +
853   dnl Platform specific binary postprocessor
854   AC_PATH_PROG(BLESS, "true")
855   if [[ "x$ac_cv_pagezero_hack" = "xyes" ]]; then
# Line 776 | Line 883 | if $CXX -V -v 2>&1 | grep -q "Intel(R) C
883   fi
884   AC_MSG_RESULT($HAVE_ICC)
885  
886 < # Test if the compiler can generate ELF objects
886 > dnl Test if the compiler can generate ELF objects
887   AC_CACHE_CHECK([whether the compiler can generate ELF objects],
888    ac_cv_elf_objects, [
889    echo 'int i;' > conftest.$ac_ext
# Line 916 | Line 1023 | AC_SUBST(SYSSRCS)
1023   AC_SUBST(CPUSRCS)
1024   AC_SUBST(BLESS)
1025   AC_SUBST(KEYCODES)
1026 < AC_OUTPUT(Makefile)
1026 > AC_OUTPUT([
1027 > Makefile
1028 > ../MacOSX/Info.plist
1029 > ])
1030  
1031   dnl Print summary.
1032   echo
# Line 931 | Line 1041 | echo Enable video on SEGV signals .....
1041   echo ESD sound support ................ : $WANT_ESD
1042   echo GTK user interface ............... : $WANT_GTK
1043   echo mon debugger support ............. : $WANT_MON
1044 + echo Addressing mode .................. : $WANT_ADDRESSING_MODE
1045   echo Bad memory access recovery type .. : $sigsegv_recovery
1046   echo
1047   echo "Configuration done. Now type \"make\"."

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines