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

Comparing BasiliskII/src/Unix/configure.ac (file contents):
Revision 1.56 by gbeauche, 2005-12-04T15:45:09Z vs.
Revision 1.80 by asvitkine, 2010-10-06T00:30:23Z

# Line 14 | Line 14 | dnl Some systems do not put corefiles in
14   dnl cores for the configure tests since some are intended to dump core.
15   ulimit -c 0
16  
17 + AC_ARG_ENABLE(standalone-gui,[  --enable-standalone-gui enable a standalone GUI prefs editor [default=no]], [WANT_STANDALONE_GUI=$enableval], [WANT_STANDALONE_GUI=no])
18 +
19   dnl Video options.
20   AC_ARG_ENABLE(xf86-dga,      [  --enable-xf86-dga       use the XFree86 DGA extension [default=yes]], [WANT_XF86_DGA=$enableval], [WANT_XF86_DGA=yes])
21   AC_ARG_ENABLE(xf86-vidmode,  [  --enable-xf86-vidmode   use the XFree86 VidMode extension [default=yes]], [WANT_XF86_VIDMODE=$enableval], [WANT_XF86_VIDMODE=yes])
# Line 24 | Line 26 | dnl SDL options.
26   AC_ARG_ENABLE(sdl-static,    [  --enable-sdl-static     use SDL static libraries for linking [default=no]], [WANT_SDL_STATIC=$enableval], [WANT_SDL_STATIC=no])
27   AC_ARG_ENABLE(sdl-video,     [  --enable-sdl-video      use SDL for video graphics [default=no]], [WANT_SDL_VIDEO=$enableval], [WANT_SDL_VIDEO=no])
28   AC_ARG_ENABLE(sdl-audio,     [  --enable-sdl-audio      use SDL for audio [default=no]], [WANT_SDL_AUDIO=$enableval], [WANT_SDL_AUDIO=no])
29 + AC_ARG_ENABLE(sdl-framework,    [  --enable-sdl-framework  use SDL framework [default=no]], [WANT_SDL_FRAMEWORK=$enableval], [WANT_SDL_FRAMEWORK=no])
30 + AC_ARG_ENABLE(sdl-framework-prefix,    [  --enable-sdl-framework-prefix=PFX    default=/Library/Frameworks], [SDL_FRAMEWORK="$enableval"], [SDL_FRAMEWORK=/Library/Frameworks])
31  
32   dnl JIT compiler options.
33   AC_ARG_ENABLE(jit-compiler,  [  --enable-jit-compiler   enable JIT compiler [default=no]], [WANT_JIT=$enableval], [WANT_JIT=no])
# Line 70 | Line 74 | AC_ARG_WITH(gtk,             [  --with-g
74    [WANT_GTK="gtk2 gtk"])
75   AC_ARG_WITH(mon,             [  --with-mon              use mon as debugger [default=yes]], [WANT_MON=$withval], [WANT_MON=yes])
76  
77 + AC_ARG_WITH(bincue,  
78 +  AS_HELP_STRING([--with-bincue], [Allow cdrom image files in bin/cue mode]))
79 +
80   dnl Canonical system information.
81   AC_CANONICAL_HOST
82   AC_CANONICAL_TARGET
# Line 99 | Line 106 | case "$target_cpu" in
106    x86_64* ) HAVE_X86_64=yes;;
107   esac
108  
109 + dnl Check if we should really be assuming x86_64 even if we detected HAVE_I386 above.
110 + if [[ "x$HAVE_I386" = "xyes" ]]; then
111 +  AC_TRY_RUN([
112 +    int main(void) {
113 +        #if defined(__x86_64__)
114 +                return 0;
115 +        #else
116 +                return 1;
117 +        #endif
118 +    }
119 +  ], [
120 +    HAVE_I386=no
121 +    HAVE_X86_64=yes
122 +  ])
123 + fi
124 +
125   dnl Checks for programs.
126   AC_PROG_CC
127   AC_PROG_CC_C_O
# Line 116 | Line 139 | if [[ "x$WANT_MON" = "xyes" ]]; then
139    if grep mon_init $mon_srcdir/mon.h >/dev/null 2>/dev/null; then
140      AC_MSG_RESULT(yes)
141      AC_DEFINE(ENABLE_MON, 1, [Define if using "mon".])
142 <    MONSRCS="$mon_srcdir/mon.cpp $mon_srcdir/mon_6502.cpp $mon_srcdir/mon_z80.cpp $mon_srcdir/mon_cmd.cpp $mon_srcdir/mon_disass.cpp $mon_srcdir/mon_ppc.cpp $mon_srcdir/mon_lowmem.cpp $mon_srcdir/disass/floatformat.c $mon_srcdir/disass/i386-dis.c $mon_srcdir/disass/m68k-dis.c $mon_srcdir/disass/m68k-opc.c"
142 >    MONSRCS="$mon_srcdir/mon.cpp $mon_srcdir/mon_6502.cpp $mon_srcdir/mon_z80.cpp $mon_srcdir/mon_cmd.cpp $mon_srcdir/mon_disass.cpp $mon_srcdir/mon_ppc.cpp $mon_srcdir/mon_lowmem.cpp $mon_srcdir/disass/floatformat.c $mon_srcdir/disass/i386-dis.c $mon_srcdir/disass/m68k-dis.c $mon_srcdir/disass/m68k-opc.c $mon_srcdir/disass/mips-dis.c $mon_srcdir/disass/mips-opc.c $mon_srcdir/disass/mips16-opc.c"
143      CXXFLAGS="$CXXFLAGS -I$mon_srcdir -I$mon_srcdir/disass"
144      AC_CHECK_LIB(ncurses, tgetent, ,
145 <      AC_CHECK_LIB(termcap, tgetent, ,
146 <        AC_CHECK_LIB(termlib, tgetent, ,
147 <          AC_CHECK_LIB(terminfo, tgetent, ,
148 <            AC_CHECK_LIB(Hcurses, tgetent, ,
149 <              AC_CHECK_LIB(curses, tgetent))))))
145 >      [AC_CHECK_LIB(termcap, tgetent, ,
146 >        [AC_CHECK_LIB(termlib, tgetent, ,
147 >          [AC_CHECK_LIB(terminfo, tgetent, ,
148 >            [AC_CHECK_LIB(Hcurses, tgetent, ,
149 >              [AC_CHECK_LIB(curses, tgetent)])])])])])
150      AC_CHECK_LIB(readline, readline)
151    else
152      AC_MSG_RESULT(no)
# Line 138 | Line 161 | AC_CHECK_LIB(rt, timer_create)
161   AC_CHECK_LIB(rt, shm_open)
162   AC_CHECK_LIB(m, cos)
163  
164 + dnl AC_CHECK_SDLFRAMEWORK($1=NAME, $2=INCLUDES)
165 + dnl AC_TRY_LINK uses main() but SDL needs main to take args,
166 + dnl therefore main is undefined with #undef.
167 + dnl Framework can be in an custom location.
168 + AC_DEFUN([AC_CHECK_SDLFRAMEWORK], [
169 +  AS_VAR_PUSHDEF([ac_Framework], [ac_cv_framework_$1])
170 +  AC_CACHE_CHECK([whether compiler supports framework $1],
171 +    ac_Framework, [
172 +    saved_LIBS="$LIBS"
173 +    LIBS="$LIBS -framework $1"
174 +    if [[ "x$SDL_FRAMEWORK" != "x/Library/Frameworks" ]]; then
175 +      if [[ "x$SDL_FRAMEWORK" != "x/System/Library/Frameworks" ]]; then
176 +        LIBS="$saved_LIBS -F$SDL_FRAMEWORK -framework $1"
177 +      fi
178 +    fi
179 +    saved_CPPFLAGS="$CPPFLAGS"
180 +    CPPFLAGS="$CPPFLAGS -I$SDL_FRAMEWORK/SDL.framework/Headers"
181 +    AC_TRY_LINK(
182 +      [$2
183 + #undef main], [],
184 +      [AS_VAR_SET(ac_Framework, yes)], [AS_VAR_SET(ac_Framework, no);
185 + LIBS="$saved_LIBS"; CPPFLAGS="$saved_CPPFLAGS"]
186 +    )
187 +  ])
188 +  AS_IF([test AS_VAR_GET(ac_Framework) = yes],
189 +    [AC_DEFINE(AS_TR_CPP(HAVE_FRAMEWORK_$1), 1, [Define if framework $1 is available.])]
190 +  )
191 +  AS_VAR_POPDEF([ac_Framework])
192 + ])
193 +
194   dnl Do we need SDL?
195   WANT_SDL=no
196   if [[ "x$WANT_SDL_VIDEO" = "xyes" ]]; then
# Line 152 | Line 205 | if [[ "x$WANT_SDL_AUDIO" = "xyes" ]]; th
205    SDL_SUPPORT="$SDL_SUPPORT audio"
206   fi
207   if [[ "x$WANT_SDL" = "xyes" ]]; then
208 <  AC_PATH_PROG(sdl_config, "sdl-config")
209 <  if [[ -n "$sdl_config" ]]; then
157 <    case $target_os in
158 <    # Special treatment for Cygwin so that we can still use the POSIX layer
159 <    *cygwin*)
160 <      sdl_cflags="-I`$sdl_config --prefix`/include/SDL"
161 <      sdl_libs="-L`$sdl_config --exec-prefix`/lib -lSDL"
162 <      ;;
163 <    *)
164 <      sdl_cflags=`$sdl_config --cflags`
165 <      if [[ "x$WANT_SDL_STATIC" = "xyes" ]]; then
166 <        sdl_libs=`$sdl_config --static-libs`
167 <      else
168 <        sdl_libs=`$sdl_config --libs`
169 <      fi
170 <      ;;
171 <    esac
172 <    CFLAGS="$CFLAGS $sdl_cflags"
173 <    CXXFLAGS="$CXXFLAGS $sdl_cflags"
174 <    LIBS="$LIBS $sdl_libs"
208 >  if [[ "x$WANT_SDL_FRAMEWORK" = "xyes" ]]; then
209 >    AC_CHECK_SDLFRAMEWORK(SDL, [#include <SDL.h>])
210    else
211 <    WANT_SDL=no
211 >    ac_cv_framework_SDL=no
212 >  fi
213 >  if [[ "x$ac_cv_framework_SDL" = "xno" ]]; then
214 >    AC_PATH_PROG(sdl_config, "sdl-config")
215 >    if [[ -n "$sdl_config" ]]; then
216 >      case $target_os in
217 >      # Special treatment for Cygwin so that we can still use the POSIX layer
218 >      *cygwin*)
219 >        sdl_cflags="-I`$sdl_config --prefix`/include/SDL"
220 >        sdl_libs="-L`$sdl_config --exec-prefix`/lib -lSDL"
221 >        ;;
222 >      *)
223 >        sdl_cflags=`$sdl_config --cflags`
224 >        if [[ "x$WANT_SDL_STATIC" = "xyes" ]]; then
225 >          sdl_libs=`$sdl_config --static-libs`
226 >        else
227 >          sdl_libs=`$sdl_config --libs`
228 >        fi
229 >        ;;
230 >      esac
231 >      CFLAGS="$CFLAGS $sdl_cflags"
232 >      CXXFLAGS="$CXXFLAGS $sdl_cflags"
233 >      LIBS="$LIBS $sdl_libs"
234 >    else
235 >      WANT_SDL=no
236 >    fi
237    fi
238    SDL_SUPPORT=`echo "$SDL_SUPPORT" | sed -e "s/^ //"`
239   else
# Line 191 | Line 251 | if [[ "x$WANT_SDL" = "xno" ]]; then
251    LIBS="$LIBS $X_PRE_LIBS $X_LIBS -lX11 -lXext $X_EXTRA_LIBS"
252   fi
253  
254 + dnl BINCUE
255 + AS_IF([test  "x$with_bincue" = "xyes" ], [have_bincue=yes], [have_bincue=no])
256 + AS_IF([test  "x$have_bincue" = "xyes" ], [
257 +   if [[ "x$WANT_SDL_AUDIO" = "xyes" ]]; then
258 +       DEFINES="$DEFINES -DBINCUE"
259 +   else
260 +       AC_MSG_ERROR([You need SDL Audio to use BINCUE support.])
261 +   fi
262 + ])
263 +
264 +
265   dnl We want pthreads. Try libpthread first, then libc_r (FreeBSD), then PTL.
266   HAVE_PTHREADS=yes
267   AC_CHECK_LIB(pthread, pthread_create, , [
# Line 251 | Line 322 | UISRCS=../dummy/prefs_editor_dummy.cpp
322   case "x$WANT_GTK" in
323   xgtk2*)
324    AM_PATH_GTK_2_0(1.3.15, [
325 <    AC_DEFINE(ENABLE_GTK, 1, [Define if using GTK.])
326 <    CFLAGS="$CFLAGS $GTK_CFLAGS"
256 <    CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
257 <    LIBS="$LIBS $GTK_LIBS"
258 <    UISRCS=prefs_editor_gtk.cpp
325 >    GUI_CFLAGS="$GTK_CFLAGS"
326 >    GUI_LIBS="$GTK_LIBS"
327      WANT_GTK=gtk2
328    ], [
329      case "x${WANT_GTK}x" in
# Line 273 | Line 341 | xgtk2*)
341   esac
342   if [[ "x$WANT_GTK" = "xgtk" ]]; then
343    AM_PATH_GTK(1.2.0, [
344 <    AC_DEFINE(ENABLE_GTK, 1, [Define if using GTK.])
345 <    CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
278 <    LIBS="$LIBS $GTK_LIBS"
279 <    UISRCS=prefs_editor_gtk.cpp
344 >    GUI_CFLAGS="$GTK_CFLAGS"
345 >    GUI_LIBS="$GTK_LIBS"
346      dnl somehow, <gnome-i18n.h> would redefine gettext() to nothing if
347      dnl ENABLE_NLS is not set, thusly conflicting with C++ <string> which
348      dnl includes <libintl.h>
349      AM_GNU_GETTEXT
350      B2_PATH_GNOMEUI([
351        AC_DEFINE(HAVE_GNOMEUI, 1, [Define if libgnomeui is available.])
352 <      CXXFLAGS="$CXXFLAGS $GNOMEUI_CFLAGS"
353 <      LIBS="$LIBS $GNOMEUI_LIBS"
352 >      GUI_CFLAGS="$GUI_CFLAGS $GNOMEUI_CFLAGS"
353 >      GUI_LIBS="$GUI_LIBS $GNOMEUI_LIBS"
354      ], [])
355    ], [
356      AC_MSG_WARN([Could not find GTK+, disabling user interface.])
357      WANT_GTK=no
358    ])
359   fi
360 + if [[ "x$WANT_GTK" != "xno" -a "x$WANT_STANDALONE_GUI" = "xno" ]]; then
361 +  AC_DEFINE(ENABLE_GTK, 1, [Define if using GTK.])
362 +  UISRCS=prefs_editor_gtk.cpp
363 + fi
364 + AC_SUBST(GUI_CFLAGS)
365 + AC_SUBST(GUI_LIBS)
366 +
367 + dnl Build external GUI if requested.
368 + if [[ "$WANT_STANDALONE_GUI" != "yes" ]]; then
369 +  WANT_STANDALONE_GUI=no
370 + fi
371 + if [[ "$WANT_GTK" = "no" ]]; then
372 +  WANT_STANDALONE_GUI=no
373 + fi
374 + AC_SUBST(STANDALONE_GUI, [$WANT_STANDALONE_GUI])
375  
376   dnl We use ESD if possible.
377   if [[ "x$WANT_ESD" = "xyes" ]]; then
# Line 400 | Line 481 | mips-sony-bsd|mips-sony-newsos4)
481   *-*-cygwin*)
482          no_dev_ptmx=1
483          ;;
484 + *-*-darwin*)
485 +        no_dev_ptmx=1
486 +        ;;
487   esac
488  
489   if test -z "$no_dev_ptmx" ; then
# Line 418 | Line 502 | AC_CHECK_FILE([/dev/ptc],
502                  have_dev_ptc=1
503          ]
504   )
421
505   dnl (end of code from openssh-3.2.2p1 configure.ac)
506  
507 + dnl Check for systems where POSIX-style non-blocking I/O (O_NONBLOCK)
508 + dnl doesn't work or is unimplemented. On these systems (mostly older
509 + dnl ones), use the old BSD-style FIONBIO approach instead. [tcl.m4]
510 + AC_CACHE_CHECK([FIONBIO vs. O_NONBLOCK for non-blocking I/O],
511 +  ac_cv_nonblocking_io, [
512 +  case "$host" in
513 +  *-*-osf*)
514 +    ac_cv_nonblocking_io=FIONBIO
515 +    ;;
516 +  *-*-sunos4*)
517 +    ac_cv_nonblocking_io=FIONBIO
518 +    ;;
519 +  *-*-ultrix*)
520 +    ac_cv_nonblocking_io=FIONBIO
521 +    ;;
522 +  *)
523 +    ac_cv_nonblocking_io=O_NONBLOCK
524 +    ;;
525 +  esac
526 + ])
527 + if [[ "$ac_cv_nonblocking_io" = "FIONBIO" ]]; then
528 +  AC_DEFINE(USE_FIONBIO, 1, [Define if BSD-style non-blocking I/O is to be used])
529 + fi
530 +
531 + dnl Check whether compiler supports byte bit-fields
532 + AC_CACHE_CHECK([whether compiler supports byte bit-fields],
533 +  ac_cv_have_byte_bitfields, [
534 +  AC_LANG_SAVE
535 +  AC_LANG_CPLUSPLUS
536 +  AC_TRY_RUN([
537 +    struct A {
538 +      unsigned char b1:4;
539 +      unsigned char b2:4;
540 +      unsigned char c;
541 +      unsigned short s;
542 +      unsigned char a[4];
543 +    };
544 +
545 +    int main(void) {
546 +      A a;
547 +      return ! (sizeof(A) == 8 && &a.c == ((unsigned char *)&a + 1));
548 +    }],
549 +    [ac_cv_have_byte_bitfields=yes],
550 +    [ac_cv_have_byte_bitfields=no],
551 +    dnl When cross-compiling, assume only GCC supports this
552 +    [if [[ "$GCC" = "yes" ]]; then
553 +      ac_cv_have_byte_bitfields="guessing yes"
554 +    else
555 +      ac_cv_have_byte_bitfields="guessing no"
556 +    fi]
557 +    )
558 +  AC_LANG_RESTORE
559 + ])
560  
561   dnl AC_CHECK_FRAMEWORK($1=NAME, $2=INCLUDES)
562   AC_DEFUN([AC_CHECK_FRAMEWORK], [
# Line 430 | Line 566 | AC_DEFUN([AC_CHECK_FRAMEWORK], [
566      saved_LIBS="$LIBS"
567      LIBS="$LIBS -framework $1"
568      AC_TRY_LINK(
569 <      [$2], [int main(void) { return 0; }],
569 >      [$2], [],
570        [AS_VAR_SET(ac_Framework, yes)], [AS_VAR_SET(ac_Framework, no); LIBS="$saved_LIBS"]
571      )
572    ])
# Line 441 | Line 577 | AC_DEFUN([AC_CHECK_FRAMEWORK], [
577   ])
578  
579   dnl Check for some MacOS X frameworks
580 + AC_CHECK_FRAMEWORK(AppKit, [])
581   AC_CHECK_FRAMEWORK(Carbon, [#include <Carbon/Carbon.h>])
582   AC_CHECK_FRAMEWORK(IOKit, [#include <IOKit/IOKitLib.h>])
583   AC_CHECK_FRAMEWORK(CoreFoundation, [#include <CoreFoundation/CoreFoundation.h>])
# Line 491 | Line 628 | solaris*)
628    DEFINES="$DEFINES -DBSD_COMP -D_POSIX_PTHREAD_SEMANTICS"
629    ;;
630   irix*)
494  ETHERSRC=ether_unix.cpp
631    AUDIOSRC=Irix/audio_irix.cpp
632    EXTRASYSSRCS=Irix/unaligned.c
633    LIBS="$LIBS -laudio"
# Line 514 | Line 650 | darwin*)
650      EXTRASYSSRCS="../MacOSX/sys_darwin.cpp"
651    fi
652    if [[ "x$ac_cv_framework_Carbon" = "xyes" ]]; then
653 <    EXTFSSRC=../MacOSX/extfs_macosx.mm
653 >    EXTFSSRC=../MacOSX/extfs_macosx.cpp
654    fi
655    ;;
656   cygwin*)
# Line 524 | Line 660 | cygwin*)
660   esac
661  
662   dnl Is the slirp library supported?
663 < if [[ "x$ETHERSRC" = "xether_unix.cpp" ]]; then
663 > case "$ac_cv_have_byte_bitfields" in
664 > yes|"guessing yes")
665 >  CAN_SLIRP=yes
666 >  ETHERSRC=ether_unix.cpp
667 >  ;;
668 > esac
669 > if [[ -n "$CAN_SLIRP" ]]; then
670    AC_DEFINE(HAVE_SLIRP, 1, [Define if slirp library is supported])
671    SLIRP_SRCS="\
672      ../slirp/bootp.c     ../slirp/ip_output.c  ../slirp/tcp_input.c  \
# Line 539 | Line 681 | AC_SUBST(SLIRP_SRCS)
681   dnl SDL overrides
682   if [[ "x$WANT_SDL" = "xyes" ]]; then
683    AC_DEFINE(USE_SDL, 1, [Define to enble SDL support])
684 +  if [[ "x$WANT_SDL_FRAMEWORK" = "xyes" ]]; then
685 +    EXTRASYSSRCS="$EXTRASYSSRCS ../SDL/SDLMain.m"
686 +  fi
687   fi
688   if [[ "x$WANT_SDL_VIDEO" = "xyes" ]]; then
689    AC_DEFINE(USE_SDL_VIDEO, 1, [Define to enable SDL video graphics support])
# Line 566 | Line 711 | if [[ "x$WANT_SDL_AUDIO" = "xyes" ]]; th
711    AUDIOSRC="../SDL/audio_sdl.cpp"
712   fi
713  
714 + dnl BINCUE overrides
715 +
716 + if [[ "x$have_bincue" = "xyes" ]]; then
717 +  EXTRASYSSRCS="$EXTRASYSSRCS bincue_unix.cpp"
718 + fi
719 +
720   dnl Use 68k CPU natively?
721   WANT_NATIVE_M68K=no
722   if [[ "x$HAVE_M68K" = "xyes" -a "x$CAN_NATIVE_M68K" = "xyes" ]]; then
# Line 798 | Line 949 | AC_CACHE_CHECK([whether we can map Low M
949    ]
950   )
951  
801 dnl Check if we have POSIX shared memory support
802 AC_CACHE_CHECK([whether POSIX shared memory is working],
803  ac_cv_have_posix_shm, [
804  AC_LANG_SAVE
805  AC_LANG_CPLUSPLUS
806  AC_TRY_RUN([
807    #define HAVE_POSIX_SHM
808    #include "vm_alloc.cpp"
809    int main(void) { /* returns 0 if we have working POSIX shm */
810      if (vm_init() < 0) exit(2);
811      char *m1 = (char *)vm_acquire(32768, VM_MAP_DEFAULT | VM_MAP_33BIT);
812      if (m1 == VM_MAP_FAILED) exit(3);
813      vm_exit(); exit(0);
814    }
815  ], ac_cv_have_posix_shm=yes, ac_cv_have_posix_shm=no,
816  dnl When cross-compiling, do not assume anything.
817  ac_cv_have_posix_shm="guessing no"
818  )
819  AC_LANG_RESTORE
820  ]
821 )
822 AC_TRANSLATE_DEFINE(HAVE_POSIX_SHM, "$ac_cv_have_posix_shm",
823  [Define if your system supports POSIX shared memory.])
824
825 dnl Check if we have working 33-bit memory addressing
826 AC_CACHE_CHECK([whether 33-bit memory addressing is working],
827  ac_cv_have_33bit_addressing, [
828  AC_LANG_SAVE
829  AC_LANG_CPLUSPLUS
830  AC_TRY_RUN([
831    #define USE_33BIT_ADDRESSING 1
832    #include "vm_alloc.cpp"
833    int main(void) { /* returns 0 if we have working 33-bit addressing */
834      if (sizeof(void *) < 8) exit(1);
835      if (vm_init() < 0) exit(2);
836      char *m1 = (char *)vm_acquire(32768, VM_MAP_DEFAULT | VM_MAP_33BIT);
837      if (m1 == VM_MAP_FAILED) exit(3);
838      char *m2 = m1 + (1L << 32);
839      m1[0] = 0x12; if (m2[0] != 0x12) exit(4);
840      m2[0] = 0x34; if (m1[0] != 0x34) exit(5);
841      vm_exit(); exit(0);
842    }
843  ], ac_cv_have_33bit_addressing=yes, ac_cv_have_33bit_addressing=no,
844  dnl When cross-compiling, do not assume anything.
845  ac_cv_have_33bit_addressing="guessing no"
846  )
847  AC_LANG_RESTORE
848  ]
849 )
850
952   dnl Check signal handlers need to be reinstalled
953   AC_CACHE_CHECK([whether signal handlers need to be reinstalled],
954    ac_cv_signal_need_reinstall, [
# Line 915 | Line 1016 | AC_CACHE_CHECK([whether your system supp
1016    AC_LANG_SAVE
1017    AC_LANG_CPLUSPLUS
1018    AC_TRY_RUN([
1019 +    #define HAVE_UNISTD_H 1
1020 +    #define HAVE_MACH_VM 1
1021 +    #define HAVE_MACH_TASK_SELF 1
1022      #define HAVE_MACH_EXCEPTIONS 1
1023      #define CONFIGURE_TEST_SIGSEGV_RECOVERY
1024      #include "vm_alloc.cpp"
# Line 1037 | Line 1141 | fi
1141   dnl A dummy program that returns always true
1142   AC_PATH_PROG([BLESS], "true")
1143  
1144 + dnl Check for linker script support
1145 + case $target_os:$target_cpu in
1146 + linux*:i?86)    LINKER_SCRIPT_FLAGS="-Wl,-T,ldscripts/linux-i386.ld";;
1147 + linux*:x86_64)  LINKER_SCRIPT_FLAGS="-Wl,-T,ldscripts/linux-x86_64.ld";;
1148 + linux*:powerpc) LINKER_SCRIPT_FLAGS="-Wl,-T,ldscripts/linux-ppc.ld";;
1149 + netbsd*:i?86)   LINKER_SCRIPT_FLAGS="-Wl,-T,ldscripts/linux-i386.ld";;
1150 + freebsd*:i?86)  LINKER_SCRIPT_FLAGS="-Wl,-T,ldscripts/freebsd-i386.ld";;
1151 + darwin*:*)      LINKER_SCRIPT_FLAGS="-Wl,-seg1addr,0x78048000";;
1152 + esac
1153 + if [[ -n "$LINKER_SCRIPT_FLAGS" ]]; then
1154 +  AC_CACHE_CHECK([whether linker script is usable],
1155 +    ac_cv_linker_script_works, [
1156 +    AC_LANG_SAVE
1157 +    AC_LANG_CPLUSPLUS
1158 +    saved_LDFLAGS="$LDFLAGS"
1159 +    LDFLAGS="$LDFLAGS $LINKER_SCRIPT_FLAGS"
1160 +    AC_TRY_RUN(
1161 +      [int main() {if ((char *)&main < (char *)0x70000000) return 1;}],
1162 +      [ac_cv_linker_script_works=yes],
1163 +      [ac_cv_linker_script_works=no],
1164 +      dnl When cross-compiling, assume it works
1165 +      [ac_cv_linker_script_works="guessing yes"]
1166 +    )
1167 +    AC_LANG_RESTORE
1168 +    if [[ "$ac_cv_linker_script_works" = "no" ]]; then
1169 +      LDFLAGS="$saved_LDFLAGS"
1170 +      LINKER_SCRIPT_FLAGS=""
1171 +    fi
1172 +  ])
1173 + fi
1174 + AC_TRANSLATE_DEFINE(HAVE_LINKER_SCRIPT, "$ac_cv_linker_script_works",
1175 +  [Define if there is a linker script to relocate the executable above 0x70000000.])
1176 +
1177   dnl Determine the addressing mode to use
1178   if [[ "x$WANT_NATIVE_M68K" = "xyes" ]]; then
1179    ADDRESSING_MODE="real"
# Line 1236 | Line 1373 | elif [[ "x$HAVE_GCC30" = "xyes" -a "x$HA
1373      DEFINES="$DEFINES -DX86_64_ASSEMBLY -DOPTIMIZED_FLAGS"
1374      JITSRCS="cpuemu1_nf.cpp cpuemu2_nf.cpp cpuemu3_nf.cpp cpuemu4_nf.cpp cpuemu5_nf.cpp cpuemu6_nf.cpp cpuemu7_nf.cpp cpuemu8_nf.cpp $JITSRCS"
1375      CAN_JIT=yes
1239    WANT_33BIT_ADDRESSING=yes
1376    fi
1377   elif [[ "x$HAVE_GCC27" = "xyes" -a "x$HAVE_SPARC" = "xyes" -a "x$HAVE_GAS" = "xyes" ]]; then
1378    dnl SPARC CPU
# Line 1293 | Line 1429 | else
1429    JITSRCS=""
1430   fi
1431  
1296 dnl Use 33-bit memory addressing?
1297 if [[ "$ac_cv_have_33bit_addressing:$WANT_33BIT_ADDRESSING" = "yes:yes" ]]; then
1298  use_33bit_addressing=yes
1299 fi
1300 AC_TRANSLATE_DEFINE(USE_33BIT_ADDRESSING, "$use_33bit_addressing",
1301  [Define to use 33-bit memory addressing on 64-bit JIT capable systems.])
1302
1432   dnl Utility macro used by next two tests.
1433   dnl AC_EXAMINE_OBJECT(C source code,
1434   dnl     commands examining object file,
# Line 1524 | Line 1653 | echo
1653   echo Basilisk II configuration summary:
1654   echo
1655   echo SDL support ............................ : $SDL_SUPPORT
1656 + echo BINCUE support ......................... : $have_bincue
1657   echo XFree86 DGA support .................... : $WANT_XF86_DGA
1658   echo XFree86 VidMode support ................ : $WANT_XF86_VIDMODE
1659   echo fbdev DGA support ...................... : $WANT_FBDEV_DGA

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines