check for sys/stropts.h and stropts.h headers
Dump PPC disassembly on crash
[Steven Noonan] configure.ac: fix TUN/TAP detection on Linux 28ff27fc3ae3878fe9ca589f3c55c4261814266a From: Steven Noonan <steven@uplinklabs.net> Date: Wed, 1 Jun 2011 01:34:07 -0700 Subject: [PATCH] configure.ac: fix TUN/TAP detection on Linux Signed-off-by: Steven Noonan <steven@uplinklabs.net>
[Steven Noonan] configure.ac: enable JIT on 64-bit Intel Mac d4dc0c70b24dc5981e752403e8fe047637d712a1 From: Steven Noonan <steven@uplinklabs.net> Date: Wed, 1 Jun 2011 17:48:33 -0700 Subject: [PATCH] configure.ac: enable JIT on 64-bit Intel Mac Signed-off-by: Steven Noonan <steven@uplinklabs.net>
move NSAutoReleasePool_wrap() into its own file
Add macro guards for config.h.
[Geoffrey Brown] VHD support
[Geoffrey Brown] bin/cue support
[Amadeusz Slawinski] These patches fix the issues with using newer versions of autoconf, which led to generating broken configure script.
MacOSX: Use the prefs editor from the Launcher project.
Restore OSX built-in prefs editor. Change the configure.ac check for no_x to WANT_GTK=no since X may be installed when building on OS X, but we probably don't want it!
[patch by Mike Sliczniak] Here is a patch to allow compiling of SS and B2 with an SDL Framework. You can get this by downloading from: http://www.libsdl.org/release/SDL-1.2.13.dmg Here is how I tested on an intel 32-bit mac with Mac OS X 10.5.6: SS ./autogen.sh --disable-standalone-gui --enable-vosf --enable-sdl-framework --enable-sdl-framework-prefix=/Users/mzs/Library/Frameworks --enable-sdl-video --disable-sdl-audio --enable-addressing=real --without-esd --without-gtk --without-mon --without-x SS /autogen.sh --disable-standalone-gui --enable-vosf --disable-sdl-framework --disable-sdl-video --disable-sdl-audio --enable-addressing=real --without-esd --without-gtk --without-mon --with-x B2 ./autogen.sh --disable-standalone-gui --enable-vosf --enable-sdl-framework --enable-sdl-framework-prefix=/Users/mzs/Library/Frameworks --enable-sdl-video --enable-sdl-audio --enable-addressing=real --without-esd --without-gtk --without-mon --without-x --enable-jit-compiler B2 ./autogen.sh --disable-standalone-gui --enable-vosf --disable-sdl-framework --disable-sdl-video --disable-sdl-audio --enable-addressing=real --with-esd --without-gtk --without-mon --with-x --enable-jit-compiler (esound does not really work on mac, it needs some better coreaudio patches.) configure.ac for SS has two little additional fixes so that the Cocoa prefs gui does not get built if you are building for X11 and so that you can use esd, sdl, or coreaudio for sound.
[Patch from Mike Sliczniak] This first patch gets B2 and SS to build under Leopard and Tiger. I tested this on a 32-bit intel 10.5.6 mac like so: B2 ./autogen.sh --disable-standalone-gui --enable-vosf --enable-sdl-video --enable-sdl-audio --enable-addressing=real --without-esd --without-gtk --without-mon --without-x SS ./autogen.sh --disable-standalone-gui --enable-vosf -enable-sdl-video --disable-sdl-audio --enable-addressing=real --without-esd --without-gtk --without-mon --without-x --enable-jit There is also a little tweak so that you can use sdl audio in SheepShaver when building for Mac OS X.
Fix Leopard build.
Fix build with new MacOS X extfs implementation (in C++).
support new prefs editor handling (rerun autogen)
Add native audio support (without SDL) from Nigel's Basilisk II port to MacOS X.
Add mips cxmon files
ifdef() constructs cause problems, make sure to automatically include the m4 directory while regenerating the configure script (provided no ACLOCAL_FLAGS are passed). i.e. ./autogen.sh now just works, even on MacOS X!
fix configure.ac unix script to not fail when AM_PATH_GTK and AM_PATH_ESD are not defined (such as is usually the case on Mac OS X)
Prepare for new code generator and mid-level optimizations.
Remove obsolete code (HAVE_STATIC_DATA_EXEC).
Use -fno-align-functions to really disable function alignment (a value of 0 used the default alignment, e.g. 16 bytes on x86_64). This is purely cosmetics and only helps reading the resulting disassembly.
Add linker scripts from Basilisk II and make it possible to allocate up to 1 GB of Mac memory. Only tested on Linux/x86_64 so far but with a somewhat interesting (MacOS, ROM, RAM size) matrix. XXX: It should be possible to allocate up to 1.5 GB by relocating the ROM base to something like 0x60800000.
Don't build a built-in GUI with --enable-standalone-gui was requested
Port --enable-standalone-gui support to SheepShaver Others changes include: - Factor out STR_SIG_INSTALL_ERR messages - Process command line arguments early (prior to calling PrefsInit()) - GUI: set start_clicked only if the "Start" button was clicked - GUI: save changes to the "Input" pane when the "Start" button was clicked
fix underquoted definitions
Check whether compiler supports byte bit-fields. If so, we can enable slirp emulation code since it pure C+sockets code.
Use FIONBIO only on pretty ancient systems.
Don't mis-align the stack on x86 platforms (most visible on MacOS X for Intel)
fix framework detection on OSX/intel with newer compiler that compiler that fully obsoleted nested functions support (my fault anyway)
Look for g++ in /usr/freeware/bin (IRIX/mips for the JIT). Avoid false positives in GCC detection, i.e. knowingly cause a syntax error if #error was not good enough (MIPSpro CC). Fix dyngen g++ version detection if main compiler is not g++
JIT now works on IRIX/mips, you need GCC for the synthetic opcodes: CC=cc CXX=CC ./configure --with-dgcc=g++ Also merge MIPSPro optimization flags from Basilisk II tree. Note that I only verified the emulator works through the testsuite (all tests passed, including AltiVec emulation)
Better IRIX support: add audio & slirp networking. Fix configure to use -lm when searching for C99 functions (roundf() et al.).
The JIT works in Darwin/x86 too.
Remaining references to V2.2 changed (XXX needs to be factored out)
don't grab in -mdynamic-no-pic when using icc, note that you need at least version 9.0.25 (build 20050809) to have a working binary
force -finline-functions to get inlining really operating with gcc < 3.3.6 on x86 or you may get a _ZN9bit_fieldILi0ELi0EE7extractEj undefined symbol
Check for CoreFoundation framework, which is not available in Darwin.
Fix detection of GCC versions, avoid AC_EGREP_CPP (J.P. Larocque)
New paranoia checks that better match was SheepShaver is doing with threads and sigaltstack(). At least, this time we force use of threads and also alter r1 to see whether the current threading model relies on it or not.
Tweaks to build slirp on MacOS X. Yeah, there is now ethernet there! ;-)
Remove obsolete and broken Cygwin/X11 hacks. Forbid builds of the Windows version from within the Unix/ directory.
Add necessary configury + support code to support slirp in SheepShaver, the user-space network emulation layer. Enable it on all Unix supported platforms where I know it works.
Check for <stdint.h> ourselves + build with -mdynamic-no-pic on MacOS X.
Improve idle wait mechanism. Now, the emulator thread can be suspended (idle_wait) until events arrived and notified through TriggerInterrupt(). i.e. we no longer sleep a fixed amount of time on platforms that support a thread wait/signal mechanism.
We HAVE_PTHREADS even if we use our own pthreads implementation, this also induces availability of locking primitives. I will merge the !HAVE_PTHREADS case (a la Basilisk II) for EMULATED_PPC when I get back to home.
Rework sheepshaver_cpu object allocation and get rid of POSIX'ish functions.
Enable build of the JIT with GCC 2.9x compilers (e.g. "2.96" from MDK 8.1).
Extend internal math library from GNU libc to accomodate older systems with glibc 2.2.X or simply no C99 capable C library. Fix vrfiz instruction to really truncate on float values.
Apple GCC uses __ppc__ as the arch token
Support JIT on Mach/ppc platforms. Mach/i386 (Darwin/x86) is to follow.
remove duplicate
Enable VidMode extension by default though some Xservers may still be broken. Probably run-time check for the right VidMode version? My tests were done with X.org 6.8.2 (VidMode 2.2)
- Implement fullscreen DGA via fbdev access under Linux. Besides, r/w access to /dev/mem is required on Linux to use XF86 DGA mode. Otherwise, there is now a fallback to fbdev. - Forward port some features from Basilisk II (set_window_name, disable_mouse_accel). - Don't SIGSTOP the emulation thread on suspend since that would completely stop the process on Linux. Use a frame buffer lock instead (as B2 does)
Enable build with gtk2 and default to that UI if found. Otherwise, it's still possible to select GTK1 as --with-gtk=gtk1 or --with-gtk=gtk.
MMX/SSE/SSE2 optimizations are now converted to full inline assembly code, aka avoid use of (possibly broken) GCC intrinsics. Add some SSE2 optimizations. Translate VSLDOI, MFVSCR, MTVSCR instructions. AltiVec Fractal Carbon now shows more than 1 GFlops performance!
Enable high precision timings on POSIX systems supporting clock_nanosleep(). Since pthread_suspend_np() is not available to Linux (but NetBSD 2.0), thread suspend is implemented likewise to boehm-gc.
native NetBSD/ppc support
Support NetBSD 2.0 for x86: - implement trunc() function, isless() and isgreater() macros - execute genexec.pl through a real perl executable - disable generation of debug info from dyngen u-ops
take care when only compiling in SDL audio support with X11 graphics
better handling of no-dyngen cases in makefiles
enable 64-bit NATMEM_OFFSET
exp2f/log2f implementations if not existing
enable build of the cpu tester from the SheepShaver tree
check for <fenv.h>
Cygwin support. Only generate NATMEM_OFFSET definitions in Direct Addressing mode. Merge sshpty.c support detection code from Basilisk II.
Implement Direct Addressing mode similarly to Basilisk II. This is to get SheepShaver working on OSes that don't support maipping of Low Memory globals at 0x00000000, e.g. Windows.
SDL audio support
Use Nigel's "extfs" implementation on MacOS X
MacOS X bundle stuff. make SheepShaver_app to build the .app.
Introducce TimebaseSpeed which represents exact timebase-frequency instead of supposing it to be (BusClockSpeed/4), which is no longer true on G5 et al.
check for egrep
Avoid corefiles. Check for large file support (> 2 GB).
Use autoconf 2.5 so that we could get m4sugar macros (AS_VAR_PUSHDEF et al.) and more importantly correct macros for AC_SYS_LARGEFILE support. BTW, also fix test for <linux/if.h>
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.