[Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx:[720] trunk/fuse
Brought to you by:
fredm
From: <fr...@us...> - 2012-12-08 11:51:06
|
Revision: 720 http://sourceforge.net/p/fuse-for-macosx/code/720 Author: fredm Date: 2012-12-08 11:50:59 +0000 (Sat, 08 Dec 2012) Log Message: ----------- Merge up to vendor release 4779. Modified Paths: -------------- trunk/fuse/Makefile.am trunk/fuse/README trunk/fuse/TODO trunk/fuse/autogen.sh trunk/fuse/compat/Makefile.am trunk/fuse/compat/amiga/Makefile.am trunk/fuse/compat/amiga/paths.c trunk/fuse/compat/morphos/Makefile.am trunk/fuse/compat/unix/Makefile.am trunk/fuse/compat/unix/paths.c trunk/fuse/compat/unix/socket.c trunk/fuse/compat/wii/Makefile.am trunk/fuse/compat/wii/paths.c trunk/fuse/compat/win32/Makefile.am trunk/fuse/compat/win32/paths.c trunk/fuse/compat/win32/socket.c trunk/fuse/compat.h trunk/fuse/data/fuse.xml.in trunk/fuse/debugger/Makefile.am trunk/fuse/debugger/command.c trunk/fuse/debugger/commandl.l trunk/fuse/debugger/debugger.c trunk/fuse/debugger/debugger_internals.h trunk/fuse/debugger/variable.c trunk/fuse/display.c trunk/fuse/event.c trunk/fuse/fuse.c trunk/fuse/fuse.h trunk/fuse/fusepb/English.lproj/InfoPlist.strings trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj trunk/fuse/fusepb/Info-Fuse.plist trunk/fuse/fusepb/config.h trunk/fuse/fusepb/controllers/PokeMemoryController.m trunk/fuse/fusepb/models/Emulator.m trunk/fuse/fusepb/resources/Fuse Help/html/divide.html trunk/fuse/fusepb/resources/Fuse Help/html/graphics_filter.html trunk/fuse/fusepb/resources/Fuse Help/html/joysticks.html trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html trunk/fuse/fusepb/resources/Fuse Help/html/peripherals.html trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html trunk/fuse/fusepb/resources/Fuse Help/html/tocstart.html trunk/fuse/fusepb/resources/Fuse Help/html/zxatasp.html trunk/fuse/hacking/ChangeLog trunk/fuse/input.h trunk/fuse/keyboard.c trunk/fuse/keyboard.h trunk/fuse/keysyms.dat trunk/fuse/keysyms.pl trunk/fuse/machine.c trunk/fuse/machines/Makefile.am trunk/fuse/machines/machines_periph.h trunk/fuse/machines/pentagon.c trunk/fuse/machines/spec_se.c trunk/fuse/machines/tc2048.c trunk/fuse/machines/tc2068.c trunk/fuse/machines/ts2068.c trunk/fuse/man/fuse.1 trunk/fuse/memory.c trunk/fuse/memory.h trunk/fuse/mempool.c trunk/fuse/menu.c trunk/fuse/menu.h trunk/fuse/menu_data.pl trunk/fuse/module.c trunk/fuse/module.h trunk/fuse/movie.c trunk/fuse/movie.h trunk/fuse/movie_tables.h trunk/fuse/periph.c trunk/fuse/periph.h trunk/fuse/peripherals/Makefile.am trunk/fuse/peripherals/dck.c trunk/fuse/peripherals/disk/Makefile.am trunk/fuse/peripherals/disk/beta.c trunk/fuse/peripherals/disk/disciple.c trunk/fuse/peripherals/disk/opus.c trunk/fuse/peripherals/disk/opus.h trunk/fuse/peripherals/disk/plusd.c trunk/fuse/peripherals/flash/Makefile.am trunk/fuse/peripherals/flash/am29f010.c trunk/fuse/peripherals/flash/am29f010.h trunk/fuse/peripherals/ide/Makefile.am trunk/fuse/peripherals/if1.c trunk/fuse/peripherals/nic/Makefile.am trunk/fuse/peripherals/nic/enc28j60.c trunk/fuse/peripherals/nic/enc28j60.h trunk/fuse/peripherals/nic/w5100.c trunk/fuse/peripherals/nic/w5100.h trunk/fuse/peripherals/nic/w5100_internals.h trunk/fuse/peripherals/nic/w5100_socket.c trunk/fuse/peripherals/scld.c trunk/fuse/peripherals/scld.h trunk/fuse/peripherals/speccyboot.c trunk/fuse/peripherals/speccyboot.h trunk/fuse/peripherals/specdrum.h trunk/fuse/peripherals/spectranet.c trunk/fuse/peripherals/spectranet.h trunk/fuse/pokefinder/Makefile.am trunk/fuse/pokefinder/pokemem.c trunk/fuse/pokefinder/pokemem.h trunk/fuse/rectangle.c trunk/fuse/rzx.c trunk/fuse/settings.pl trunk/fuse/slt.c trunk/fuse/snapshot.c trunk/fuse/sound/Makefile.am trunk/fuse/sound/coreaudiosound.c trunk/fuse/sound.c trunk/fuse/tape.c trunk/fuse/tape.h trunk/fuse/timer/Makefile.am trunk/fuse/ui/cocoa/keysyms.m trunk/fuse/ui/fb/Makefile.am trunk/fuse/ui/gtk/Makefile.am trunk/fuse/ui/gtk/binary.c trunk/fuse/ui/gtk/browse.c trunk/fuse/ui/gtk/confirm.c trunk/fuse/ui/gtk/debugger.c trunk/fuse/ui/gtk/gtkdisplay.c trunk/fuse/ui/gtk/gtkinternals.h trunk/fuse/ui/gtk/gtkjoystick.c trunk/fuse/ui/gtk/gtkkeyboard.c trunk/fuse/ui/gtk/gtkmouse.c trunk/fuse/ui/gtk/gtkui.c trunk/fuse/ui/gtk/memory.c trunk/fuse/ui/gtk/options-header.pl trunk/fuse/ui/gtk/options.pl trunk/fuse/ui/gtk/picture.c trunk/fuse/ui/gtk/pixmaps.c trunk/fuse/ui/gtk/pokefinder.c trunk/fuse/ui/gtk/pokemem.c trunk/fuse/ui/gtk/rollback.c trunk/fuse/ui/gtk/roms.c trunk/fuse/ui/gtk/statusbar.c trunk/fuse/ui/gtk/stock.c trunk/fuse/ui/options.dat trunk/fuse/ui/scaler/Makefile.am trunk/fuse/ui/sdl/Makefile.am trunk/fuse/ui/sdl/sdldisplay.c trunk/fuse/ui/sdl/sdlkeyboard.c trunk/fuse/ui/svga/Makefile.am trunk/fuse/ui/widget/Makefile.am trunk/fuse/ui/widget/fuse.font.sbf trunk/fuse/ui/widget/menu.c trunk/fuse/ui/widget/options-header.pl trunk/fuse/ui/widget/pokemem.c trunk/fuse/ui/widget/text.c trunk/fuse/ui/widget/widget.c trunk/fuse/ui/wii/Makefile.am trunk/fuse/ui/win32/Makefile.am trunk/fuse/ui/win32/about.c trunk/fuse/ui/win32/about.rc trunk/fuse/ui/win32/binary.c trunk/fuse/ui/win32/debugger.c trunk/fuse/ui/win32/options-header.pl trunk/fuse/ui/win32/pokemem.c trunk/fuse/ui/win32/win32display.c trunk/fuse/ui/win32/win32ui.c trunk/fuse/ui/xlib/Makefile.am trunk/fuse/ui/xlib/xdisplay.c trunk/fuse/ui/xlib/xkeyboard.c trunk/fuse/ui.c trunk/fuse/unittests/Makefile.am trunk/fuse/utils.c trunk/fuse/utils.h trunk/fuse/windres.rc trunk/fuse/z80/Makefile.am Added Paths: ----------- trunk/fuse/INSTALL trunk/fuse/compat/linux/ trunk/fuse/configure.ac trunk/fuse/fusepb/compat/ trunk/fuse/fusepb/compat/darwin/ trunk/fuse/fusepb/compat/darwin/paths.c trunk/fuse/fusepb/resources/Fuse Help/html/spectranet.html trunk/fuse/m4/ trunk/fuse/ui/gtk/gtkcompat.c trunk/fuse/ui/gtk/gtkcompat.h trunk/fuse/ui/win32/installer/fuse.nsi.in trunk/fuse/ui/xlib/xstatusbar.pl Removed Paths: ------------- trunk/fuse/acinclude.m4 trunk/fuse/configure.in trunk/fuse/ui/win32/installer/Makefile.am trunk/fuse/ui/win32/installer/fuse.nsi Property Changed: ---------------- trunk/fuse/ Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo - /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 /vendor/fuse-emulator/current/fuse:530-712 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 + /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 /vendor/fuse-emulator/current/fuse:530-719 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 Copied: trunk/fuse/INSTALL (from rev 719, vendor/fuse-emulator/current/fuse/INSTALL) =================================================================== --- trunk/fuse/INSTALL (rev 0) +++ trunk/fuse/INSTALL 2012-12-08 11:50:59 UTC (rev 720) @@ -0,0 +1,165 @@ +Building Fuse +------------- + +To compile Fuse (see below for instructions for other ports): + +$ ./configure + +There are now some options you can give to configure; `configure +--help' will list them all, but the most important are: + +--with-fb Use the framebuffer interface, rather than GTK+. +--with-sdl Use the SDL interface, rather than GTK+. +--with-svgalib Use the SVGAlib interface. +--without-gtk Use the plain Xlib interface. + +If glib is installed on your system, Fuse will use this for a couple +of things; however, it isn't necessary as libspectrum provides +replacements for all the routines used by Fuse. + +Another useful option is `--with-local-prefix=DIRECTORY' which allows +you to specify that you have some of the libraries needed by Fuse in +`<DIRECTORY>/lib' and the necessary header files in +`<DIRECTORY>/include'. If you specify the `--prefix' option to tell +Fuse to install itself somewhere other than in /usr/local, that +directory will automatically be searched as well. + +Then just: + +$ make + +and then + +$ make install + +if you want to place Fuse into the main directories on your system +(under /usr/local by default, although you can change this with the +--prefix argument to 'configure'). You'll probably need to be root to +do this bit. + +Once you've got Fuse configured and built, read the man page :-) + +Note that if you're using version of Fuse from Subversion rather than +one of the released tarballs, you'll need to run `autogen.sh' before +running 'configure' for the first time. + +Building the OS X version of Fuse +--------------------------------- + +The native Cocoa port by Fredrick Meunier <fr...@sp...> comes as +a set of Xcode projects for libgcrypt, libspectrum and Fuse itself. + +Building the Wii version of Fuse +-------------------------------- + +You'll need to have the standard Wii homebrew toolchain installed; see +eg <http://wiibrew.org/wiki/DevkitPro> for some information on setting +this up. + +After that, make sure the dev tools are in your path (export +PATH=$PATH:$DEVKITPPC/bin) and that a Wii version of libspectrum has been +built and installed. + +Then, use this configure line: + +./configure --target=powerpc-gekko --host=powerpc-gekko \ + --with-wii \ + --without-libxml2 --without-libiconv --without-gpm \ + --without-x --without-glib \ + CFLAGS="-g -I$DEVKITPPC/include -I$DEVKITPRO/libogc/include -DGEKKO" \ + LDFLAGS="-g -mrvl -mcpu=750 -meabi -mhard-float \ + -Wl,-Map,fuse.elf.map -L$DEVKITPPC/lib \ + -L$DEVKITPRO/libogc/lib/wii" \ + LIBS="-lfat -lwiiuse -lbte -logc -lm" + +Finally, to build, use this line: + +EXEEXT=".elf" make -e + +This should build fuse.elf, which you can run on your Wii via the usual +methods. + +Building the Win32 version of Fuse +---------------------------------- + +You'll need to have the MinGW <http://www.mingw.org> or MinGW-w64 toolchain +<http://mingw-w64.sourceforge.net>, e.g., on Debian: +`apt-get install mingw32 mingw32-binutils mingw32-runtime' + +On Windows, besides the former toolchain, you'll need an environment that +includes a collection of Unix tools, like MSYS <http://www.mingw.org> or +Cygwin <http://cygwin.com>. + +The next examples build libspectrum and Fuse without any external library for +the sake of clarity, but all these libraries successfully compile with MingGW +environment - in case of problems with compiling any of the libs please refer to +the lib's homepage for help. + +1) On Linux, first have to compile libspectrum: + +./configure --host=i586-mingw32msvc --without-libaudiofile --without-zlib \ + --without-libgcrypt --without-bzip2 --without-glib --prefix=`pwd` +make install + +This should `install' into the source directory. + +Then, compile Fuse: + +./configure --host=i586-mingw32msvc --without-glib --prefix=`pwd` \ + --with-libspectrum-prefix=`pwd`/../libspectrum --with-win32 \ + --without-libxml2 --without-zlib --without-png --without-x +make + +You have to use the real path of libspectrum with `--with-libspectrum-prefix='. +This should build `fuse.exe' without any external lib, but you can run it on +Windows or Linux (with Wine). + +With wine you need `fltmgr.sys' in Windows `system32' directory. (e.g.: +~/.wine/c_drive/windows/system32). + +2) On Windows, using MSYS + MinGW toolchain, first build libspectrum: + +./configure --without-glib --without-libaudiofile --without-libgcrypt \ + --without-zlib --without-bzip2 --prefix=/usr/local +make install + +Then, build Fuse: + +./configure --with-win32 --without-glib --without-libxml2 --without-zlib \ + --without-png --prefix=/usr/local +make + +3) On Windows, using Cygwin + MinGW toolchain, first build libspectrum: + +./configure --build=i686-pc-cygwin --host=i686-pc-mingw32 --without-glib \ + --without-libaudiofile --without-libgcrypt --without-zlib \ + --without-bzip2 --prefix=/usr/local/i686-pc +make install + +Then, build Fuse: + +./configure --build=i686-pc-cygwin --host=i686-pc-mingw32 --with-win32 \ + --without-glib --without-libxml2 --without-zlib --without-png \ + --prefix=/usr/local/i686-pc +make + +Note: you need `libspectrum-8.dll' and the `roms' directory and the `lib' + directory to `fuse' run perfectly. You may copy this file and directories + into that directory where `fuse.exe' exists. On Windows you may need to + copy all files from `lib/uncompressed' into `lib'. Alternatively, you could + run this rule: + + make install-win32 DESTDIR=/path/to/Fuse + + If you are planning to distribute Windows binaries with third parties on a + regular basis, maybe you will find the next rules quite useful: + + make dist-win32-zip + make dist-win32-7z + make dist-win32-exe + + Additional tools are required for the former rules: Info-Zip, p7zip and NSIS, + respectively. That will make a temporary subdirectory (fuse-VERSION-win32) + in the build directory and then will create a package. + +$Id: INSTALL 4763 2012-11-16 11:01:59Z fredm $ Modified: trunk/fuse/Makefile.am =================================================================== --- trunk/fuse/Makefile.am 2012-12-06 11:55:57 UTC (rev 719) +++ trunk/fuse/Makefile.am 2012-12-08 11:50:59 UTC (rev 720) @@ -1,7 +1,7 @@ -# Process this file with automake to produce Makefile.in +## Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2009 Philip Kendall -## $Id: Makefile.am 4674 2012-02-20 11:03:58Z fredm $ +## $Id: Makefile.am 4770 2012-11-23 22:59:48Z sbaldovi $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -23,6 +23,8 @@ AUTOMAKE_OPTIONS = foreign +ACLOCAL_AMFLAGS = -I m4 + bin_PROGRAMS = fuse SUBDIRS = @COMPAT_SUBDIR@ \ @@ -84,8 +86,7 @@ tape.c \ ui.c \ uidisplay.c \ - utils.c \ - windres.rc + utils.c if COMPAT_DIRNAME fuse_SOURCES += compat/dirname.c @@ -99,6 +100,10 @@ fuse_SOURCES += compat/mkstemp.c endif +if COMPAT_WIN32 +fuse_SOURCES += windres.rc +endif + EXTRA_fuse_SOURCES = windres.rc fuse_LDADD = debugger/libdebugger.a \ @@ -163,7 +168,7 @@ @PERL@ $(srcdir)/perl/cpp-perl.pl config.h $(srcdir)/ui/options.dat | @PERL@ -I$(srcdir)/perl $(srcdir)/ui/@UI@/options-header.pl - public > $@.tmp && mv $@.tmp $@ endif -INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ \ +AM_CPPFLAGS = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@ \ @XML_CFLAGS@ -DFUSEDATADIR="\"${pkgdatadir}\"" @SDL_CFLAGS@ noinst_HEADERS = bitmap.h \ @@ -197,10 +202,16 @@ profile.h EXTRA_DIST = AUTHORS \ + INSTALL \ README \ THANKS \ keysyms.dat \ keysyms.pl \ + m4/glib-2.0.m4 \ + m4/gtk-2.0.m4 \ + m4/libxml.m4 \ + m4/pkg.m4 \ + m4/sdl.m4 \ menu_data.dat \ menu_data.pl \ settings.pl \ @@ -212,6 +223,102 @@ settings.c \ settings.h -AM_CPPFLAGS = +include compat/Makefile.am -include compat/Makefile.am +if COMPAT_WIN32 + +package_win32=$(PACKAGE)-$(PACKAGE_VERSION)-win32 +top_win32dir=$(top_builddir)/$(package_win32) + +install-win32: all + test -n "$(DESTDIR)" || { echo "ERROR: set DESTDIR path"; exit 1; } + $(MKDIR_P) $(DESTDIR)/roms/ || exit 1 + $(MKDIR_P) $(DESTDIR)/lib/ || exit 1 + cp $(top_srcdir)/roms/*.rom $(DESTDIR)/roms + cp $(top_srcdir)/roms/README.copyright $(DESTDIR)/roms + cp $(top_srcdir)/lib/*.bmp $(DESTDIR)/lib + cp $(top_srcdir)/lib/*.scr $(DESTDIR)/lib + cp $(top_builddir)/lib/*.szx $(DESTDIR)/lib +# Copy fuse executable (we should manually copy the required libraries) + cp $(top_builddir)/.libs/fuse$(EXEEXT) $(DESTDIR) || \ + cp $(top_builddir)/fuse$(EXEEXT) $(DESTDIR) +# Get text files + for file in AUTHORS COPYING README; \ + do cp "$(top_srcdir)/$$file" "$(DESTDIR)/$$file.txt"; \ + done +# Get manuals + if test -n "$(MAN2HTML)"; then \ + $(MAN2HTML) -r $(top_srcdir)/man/fuse.1 | sed '1d' > $(DESTDIR)/fuse.html; \ + else \ + test -z "$(GROFF)" || $(GROFF) -Thtml -man $(top_srcdir)/man/fuse.1 > $(DESTDIR)/fuse.html; \ + fi +# Convert to DOS line endings + test -z "$(UNIX2DOS)" || find $(DESTDIR) -type f \( -name "*.txt" -or -name "*.html" -or -name "*.copyright" \) -exec $(UNIX2DOS) {} \; + +install-win32-strip: install-win32 + test -z "$(STRIP)" || $(STRIP) $(DESTDIR)/fuse$(EXEEXT) + +dist-win32-dir: + $(MAKE) DESTDIR="$(top_win32dir)" install-win32-strip + +dist-win32-zip: dist-win32-dir + rm -f -- $(top_builddir)/$(package_win32).zip + rm -f -- $(top_builddir)/$(package_win32).zip.sha1 + test -n "$(top_win32dir)" || exit 1 + @test `find $(top_win32dir) -type f -name \*.dll -print | wc -l` -ne 0 || \ + { echo "ERROR: external libraries not found in $(top_win32dir). Please, manually copy them."; exit 1; } + cd $(top_win32dir) && \ + zip -q -9 -r $(abs_top_builddir)/$(package_win32).zip . + -sha1sum $(top_builddir)/$(package_win32).zip > $(top_builddir)/$(package_win32).zip.sha1 && \ + { test -z "$(UNIX2DOS)" || $(UNIX2DOS) $(top_builddir)/$(package_win32).zip.sha1; } + +dist-win32-7z: dist-win32-dir + rm -f -- $(top_builddir)/$(package_win32).7z + rm -f -- $(top_builddir)/$(package_win32).7z.sha1 + test -n "$(top_win32dir)" || exit 1 + @test `find $(top_win32dir) -type f -name \*.dll -print | wc -l` -ne 0 || \ + { echo "ERROR: external libraries not found in $(top_win32dir). Please, manually copy them."; exit 1; } + cd $(top_win32dir) && \ + 7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -bd $(abs_top_builddir)/$(package_win32).7z . + -sha1sum $(top_builddir)/$(package_win32).7z > $(top_builddir)/$(package_win32).7z.sha1 && \ + { test -z "$(UNIX2DOS)" || $(UNIX2DOS) $(top_builddir)/$(package_win32).7z.sha1; } + +dist-win32-exe: dist-win32-dir + rm -f -- $(top_builddir)/$(package_win32)-setup.exe + rm -f -- $(top_builddir)/$(package_win32)-setup.exe.sha1 + test -n "$(top_win32dir)" || exit 1 + @test `find $(top_win32dir) -type f -name \*.dll -print | wc -l` -ne 0 || \ + { echo "ERROR: external libraries not found in $(top_win32dir). Please, manually copy them."; exit 1; } +# Locate NSIS in system path, MSYS drive or Cygwin drive + @if makensis -VERSION > /dev/null 2>&1; then \ + MAKENSIS="makensis"; \ + elif [ -x "/c/Program Files/NSIS/makensis" ]; then \ + MAKENSIS="/c/Program\ Files/NSIS/makensis"; \ + elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \ + MAKENSIS="/cygdrive/c/Program\ Files/NSIS/makensis"; \ + else \ + echo 'ERROR: cannot locate makensis tool'; exit 1; \ + fi; \ + cd $(top_win32dir); \ + eval "$$MAKENSIS -V2 -NOCD $(abs_top_builddir)/ui/win32/installer/fuse.nsi" + mv $(top_win32dir)/$(package_win32)-setup.exe $(top_builddir) + -sha1sum $(top_builddir)/$(package_win32)-setup.exe > $(top_builddir)/$(package_win32)-setup.exe.sha1 && \ + { test -z "$(UNIX2DOS)" || $(UNIX2DOS) $(top_builddir)/$(package_win32)-setup.exe.sha1; } + +dist-win32: dist-win32-zip dist-win32-7z dist-win32-exe + +distclean-win32: + if test -d "$(top_builddir)/$(package_win32)"; then \ + rm -rf -- "$(top_builddir)/$(package_win32)"; \ + fi + rm -f -- $(top_builddir)/$(package_win32).zip + rm -f -- $(top_builddir)/$(package_win32).zip.sha1 + rm -f -- $(top_builddir)/$(package_win32).7z + rm -f -- $(top_builddir)/$(package_win32).7z.sha1 + rm -f -- $(top_builddir)/$(package_win32)-setup.exe + rm -f -- $(top_builddir)/$(package_win32)-setup.exe.sha1 + +.PHONY: install-win32 install-win32-strip dist-win32 dist-win32-dir \ + dist-win32-zip dist-win32-7z dist-win32-exe distclean-win32 + +endif Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2012-12-06 11:55:57 UTC (rev 719) +++ trunk/fuse/README 2012-12-08 11:50:59 UTC (rev 720) @@ -33,7 +33,7 @@ If you're having a problem using/running/building Fuse, the two places you're most likely to get help are the development mailing list <fus...@li...> or the official forums at -<http://sourceforge.net/forum/?group_id=91293>. +<http://sourceforge.net/projects/fuse-emulator/forums>. What you'll need to run Fuse ---------------------------- @@ -69,126 +69,15 @@ Windows -* The Win32 and SDL UIs can be used under Windows, but the Win32 UI is - incomplete. +* The Win32 and SDL UIs can be used under Windows. +* pthreads-win32 library will give the ability to use posix threads, needed by + some peripherals. Building Fuse ------------- -To compile Fuse (see below for instructions for the OS X native port): +See the file `INSTALL' for more detailed information. -$ ./configure - -There are now some options you can give to configure; `configure ---help' will list them all, but the most important are: - ---with-fb Use the framebuffer interface, rather than GTK+. ---with-sdl Use the SDL interface, rather than GTK+. ---with-svgalib Use the SVGAlib interface. ---without-gtk Use the plain Xlib interface. - -If glib is installed on your system, Fuse will use this for a couple -of things; however, it isn't necessary as libspectrum provides -replacements for all the routines used by Fuse. - -Another useful option is `--with-local-prefix=DIRECTORY' which allows -you to specify that you have some of the libraries needed by Fuse in -`<DIRECTORY>/lib' and the necessary header files in -`<DIRECTORY>/include'. If you specify the `--prefix' option to tell -Fuse to install itself somewhere other than in /usr/local, that -directory will automatically be searched as well. - -Then just: - -$ make - -and then - -$ make install - -if you want to place Fuse into the main directories on your system -(under /usr/local by default, although you can change this with the ---prefix argument to 'configure'). You'll probably need to be root to -do this bit. - -Once you've got Fuse configured and built, read the man page :-) - -Note that if you're using version of Fuse from Subversion rather than -one of the released tarballs, you'll need to run `autogen.sh' before -running 'configure' for the first time. - -Building the OS X version of Fuse ---------------------------------- - -The native Cocoa port by Fredrick Meunier <fr...@sp...> comes as -a set of Xcode projects for libgcrypt, libspectrum and Fuse itself. - -Building the Wii version of Fuse --------------------------------- - -You'll need to have the standard Wii homebrew toolchain installed; see -eg <http://wiibrew.org/wiki/DevkitPro> for some information on setting -this up. - -After that, make sure the dev tools are in your path (export -PATH=$PATH:$DEVKITPPC/bin) and that a Wii version of libspectrum has been -built and installed. - -Then, use this configure line: - -./configure --target=powerpc-gekko --host=powerpc-gekko \ - --with-wii \ - --without-libxml2 --without-libiconv --without-gpm \ - --without-x --without-glib \ - CFLAGS="-g -I$DEVKITPPC/include -I$DEVKITPRO/libogc/include -DGEKKO" \ - LDFLAGS="-g -mrvl -mcpu=750 -meabi -mhard-float \ - -Wl,-Map,fuse.elf.map -L$DEVKITPPC/lib \ - -L$DEVKITPRO/libogc/lib/wii" \ - LIBS="-lfat -lwiiuse -lbte -logc -lm" - -Finally, to build, use this line: - -EXEEXT=".elf" make -e - -This should build fuse.elf, which you can run on your Wii via the usual -methods. - -Building the Win32 version of Fuse on Linux --------------------------------- - -You'll need to have the standard MinGW programming tool set. e.g. on Debian -`apt-get install mingw32 mingw-binutils mingw32-runtime' - <http://www.mingw.org/> - -First, have to compile libspectrum: - -./configure --host=i586-mingw32msvc --without-libaudiofile --without-zlib \ - --without-libgcrypt --without-bzip2 --without-glib --prefix=`pwd` -make install - -This should compile libspectrum without any external lib, and `install' into the -source directory. All of the external libs needed by libspectrum and fuse -compile with successfully with MingGW environment - in case of problems -with compiling any of the libs please refer to the lib's homepage for help. - -Then, compile fuse: - -./configure --host=i586-mingw32msvc --without-glib --prefix=`pwd` \ - --with-libspectrum-prefix=`pwd`/../libspectrum --with-win32 \ - --without-libxml2 --without-x -make - -You have to use the real path of libspectrum with `--with-libspectrum-prefix='. -This should build `fuse.exe' without any external lib, but you can run it on -Windows or Linux (with Wine). - -Note: you need `libspectrum-7.dll' and the `roms' directory and the `lib' - directory to `fuse' run perfectly. You may copy this file and directories - into that directory where `fuse.exe' exists. On windows you may need to - copy all files from `lib/uncompressed' into `lib'. - With wine you need `fltmgr.sys' in Windows `system32' directory. (e.g.: - ~/.wine/c_drive/windows/system32). - Closing comments ---------------- @@ -218,4 +107,4 @@ Philip Kendall <phi...@sh...> 16 December 2010 -$Id: README 4624 2012-01-09 20:59:35Z pak21 $ +$Id: README 4763 2012-11-16 11:01:59Z fredm $ Modified: trunk/fuse/TODO =================================================================== --- trunk/fuse/TODO 2012-12-06 11:55:57 UTC (rev 719) +++ trunk/fuse/TODO 2012-12-08 11:50:59 UTC (rev 720) @@ -1,5 +1,9 @@ TODO +* Add documentation for Spectranet to core Fuse +* Update Changelog in core Fuse +* Update What's new in help file +* Fix html help cross references * Pentagon port #ff returning floating bus issues - it does it because the RusFAQ says so? * Collapse Media hierarchy, just have Tape, Disk A, Disk B, Master, Slave, Microdrive 1..4 etc. * Add TITLE tags to help files? Deleted: trunk/fuse/acinclude.m4 =================================================================== --- trunk/fuse/acinclude.m4 2012-12-06 11:55:57 UTC (rev 719) +++ trunk/fuse/acinclude.m4 2012-12-08 11:50:59 UTC (rev 720) @@ -1,1227 +0,0 @@ -# Configure paths for GLIB -# Owen Taylor 97-11-3 - -# Taken from Glib 1.2.10 by PAK 2004/07/06 - -dnl AM_PATH_GLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if "gmodule" or -dnl gthread is specified in MODULES, pass to glib-config -dnl -AC_DEFUN([AM_PATH_GLIB], -[dnl -dnl Get the cflags and libraries from the glib-config script -dnl -AC_ARG_WITH(glib-prefix,[ --with-glib-prefix=PFX Prefix where GLIB is installed (optional)], - glib_config_prefix="$withval", glib_config_prefix="") -AC_ARG_WITH(glib-exec-prefix,[ --with-glib-exec-prefix=PFX Exec prefix where GLIB is installed (optional)], - glib_config_exec_prefix="$withval", glib_config_exec_prefix="") -AC_ARG_ENABLE(glibtest, [ --disable-glibtest Do not try to compile and run a test GLIB program], - , enable_glibtest=yes) - - if test x$glib_config_exec_prefix != x ; then - glib_config_args="$glib_config_args --exec-prefix=$glib_config_exec_prefix" - if test x${GLIB_CONFIG+set} != xset ; then - GLIB_CONFIG=$glib_config_exec_prefix/bin/glib-config - fi - fi - if test x$glib_config_prefix != x ; then - glib_config_args="$glib_config_args --prefix=$glib_config_prefix" - if test x${GLIB_CONFIG+set} != xset ; then - GLIB_CONFIG=$glib_config_prefix/bin/glib-config - fi - fi - - for module in . $4 - do - case "$module" in - gmodule) - glib_config_args="$glib_config_args gmodule" - ;; - gthread) - glib_config_args="$glib_config_args gthread" - ;; - esac - done - - AC_PATH_PROG(GLIB_CONFIG, glib-config, no) - min_glib_version=ifelse([$1], ,0.99.7,$1) - AC_MSG_CHECKING(for GLIB - version >= $min_glib_version) - no_glib="" - if test "$GLIB_CONFIG" = "no" ; then - no_glib=yes - else - GLIB_CFLAGS=`$GLIB_CONFIG $glib_config_args --cflags` - GLIB_LIBS=`$GLIB_CONFIG $glib_config_args --libs` - glib_config_major_version=`$GLIB_CONFIG $glib_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - glib_config_minor_version=`$GLIB_CONFIG $glib_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - glib_config_micro_version=`$GLIB_CONFIG $glib_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_glibtest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GLIB_CFLAGS" - LIBS="$GLIB_LIBS $LIBS" -dnl -dnl Now check if the installed GLIB is sufficiently new. (Also sanity -dnl checks the results of glib-config to some extent -dnl - rm -f conf.glibtest - AC_TRY_RUN([ -#include <glib.h> -#include <stdio.h> -#include <stdlib.h> - -int -main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.glibtest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = g_strdup("$min_glib_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_glib_version"); - exit(1); - } - - if ((glib_major_version != $glib_config_major_version) || - (glib_minor_version != $glib_config_minor_version) || - (glib_micro_version != $glib_config_micro_version)) - { - printf("\n*** 'glib-config --version' returned %d.%d.%d, but GLIB (%d.%d.%d)\n", - $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version, - glib_major_version, glib_minor_version, glib_micro_version); - printf ("*** was found! If glib-config was correct, then it is best\n"); - printf ("*** to remove the old version of GLIB. You may also be able to fix the error\n"); - printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); - printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); - printf("*** required on your system.\n"); - printf("*** If glib-config was wrong, set the environment variable GLIB_CONFIG\n"); - printf("*** to point to the correct copy of glib-config, and remove the file config.cache\n"); - printf("*** before re-running configure\n"); - } - else if ((glib_major_version != GLIB_MAJOR_VERSION) || - (glib_minor_version != GLIB_MINOR_VERSION) || - (glib_micro_version != GLIB_MICRO_VERSION)) - { - printf("*** GLIB header files (version %d.%d.%d) do not match\n", - GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION); - printf("*** library (version %d.%d.%d)\n", - glib_major_version, glib_minor_version, glib_micro_version); - } - else - { - if ((glib_major_version > major) || - ((glib_major_version == major) && (glib_minor_version > minor)) || - ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n", - glib_major_version, glib_minor_version, glib_micro_version); - printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n", - major, minor, micro); - printf("*** GLIB is always available from ftp://ftp.gtk.org.\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the glib-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of GLIB, but you can also set the GLIB_CONFIG environment to point to the\n"); - printf("*** correct copy of glib-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - } - return 1; -} -],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_glib" = x ; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$GLIB_CONFIG" = "no" ; then - echo "*** The glib-config script installed by GLIB could not be found" - echo "*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the GLIB_CONFIG environment variable to the" - echo "*** full path to glib-config." - else - if test -f conf.glibtest ; then - : - else - echo "*** Could not run GLIB test program, checking why..." - CFLAGS="$CFLAGS $GLIB_CFLAGS" - LIBS="$LIBS $GLIB_LIBS" - AC_TRY_LINK([ -#include <glib.h> -#include <stdio.h> -], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding GLIB or finding the wrong" - echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" - echo "***" - echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that" - echo "*** came with the system with the command" - echo "***" - echo "*** rpm --erase --nodeps gtk gtk-devel" ], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means GLIB was incorrectly installed" - echo "*** or that you have moved GLIB since it was installed. In the latter case, you" - echo "*** may want to edit the glib-config script: $GLIB_CONFIG" ]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - GLIB_CFLAGS="" - GLIB_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - rm -f conf.glibtest -]) - -# Configure paths for GLIB -# Owen Taylor 1997-2001 - -# Taken from Glib 2.4.2 by PAK 2004/07/06 - -dnl AM_PATH_GLIB_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gmodule, gobject or -dnl gthread is specified in MODULES, pass to pkg-config -dnl -AC_DEFUN([AM_PATH_GLIB_2_0], -[dnl -dnl Get the cflags and libraries from pkg-config -dnl -AC_ARG_ENABLE(glibtest, [ --disable-glibtest do not try to compile and run a test GLIB program], - , enable_glibtest=yes) - - pkg_config_args=glib-2.0 - for module in . $4 - do - case "$module" in - gmodule) - pkg_config_args="$pkg_config_args gmodule-2.0" - ;; - gobject) - pkg_config_args="$pkg_config_args gobject-2.0" - ;; - gthread) - pkg_config_args="$pkg_config_args gthread-2.0" - ;; - esac - done - - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - - no_glib="" - - if test x$PKG_CONFIG != xno ; then - if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then - : - else - echo *** pkg-config too old; version 0.7 or better required. - no_glib=yes - PKG_CONFIG=no - fi - else - no_glib=yes - fi - - min_glib_version=ifelse([$1], ,2.0.0,$1) - AC_MSG_CHECKING(for GLIB - version >= $min_glib_version) - - if test x$PKG_CONFIG != xno ; then - ## don't try to run the test against uninstalled libtool libs - if $PKG_CONFIG --uninstalled $pkg_config_args; then - echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH" - enable_glibtest=no - fi - - if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then - : - else - no_glib=yes - fi - fi - - if test x"$no_glib" = x ; then - GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0` - GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0` - GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` - - GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args` - GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args` - glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_glibtest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GLIB_CFLAGS" - LIBS="$GLIB_LIBS $LIBS" -dnl -dnl Now check if the installed GLIB is sufficiently new. (Also sanity -dnl checks the results of pkg-config to some extent) -dnl - rm -f conf.glibtest - AC_TRY_RUN([ -#include <glib.h> -#include <stdio.h> -#include <stdlib.h> - -int -main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.glibtest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = g_strdup("$min_glib_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_glib_version"); - exit(1); - } - - if ((glib_major_version != $glib_config_major_version) || - (glib_minor_version != $glib_config_minor_version) || - (glib_micro_version != $glib_config_micro_version)) - { - printf("\n*** 'pkg-config --modversion glib-2.0' returned %d.%d.%d, but GLIB (%d.%d.%d)\n", - $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version, - glib_major_version, glib_minor_version, glib_micro_version); - printf ("*** was found! If pkg-config was correct, then it is best\n"); - printf ("*** to remove the old version of GLib. You may also be able to fix the error\n"); - printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); - printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); - printf("*** required on your system.\n"); - printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n"); - printf("*** to point to the correct configuration files\n"); - } - else if ((glib_major_version != GLIB_MAJOR_VERSION) || - (glib_minor_version != GLIB_MINOR_VERSION) || - (glib_micro_version != GLIB_MICRO_VERSION)) - { - printf("*** GLIB header files (version %d.%d.%d) do not match\n", - GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION); - printf("*** library (version %d.%d.%d)\n", - glib_major_version, glib_minor_version, glib_micro_version); - } - else - { - if ((glib_major_version > major) || - ((glib_major_version == major) && (glib_minor_version > minor)) || - ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n", - glib_major_version, glib_minor_version, glib_micro_version); - printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n", - major, minor, micro); - printf("*** GLIB is always available from ftp://ftp.gtk.org.\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the pkg-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of GLIB, but you can also set the PKG_CONFIG environment to point to the\n"); - printf("*** correct copy of pkg-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - } - return 1; -} -],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_glib" = x ; then - AC_MSG_RESULT(yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$PKG_CONFIG" = "no" ; then - echo "*** A new enough version of pkg-config was not found." - echo "*** See http://www.freedesktop.org/software/pkgconfig/" - else - if test -f conf.glibtest ; then - : - else - echo "*** Could not run GLIB test program, checking why..." - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GLIB_CFLAGS" - LIBS="$LIBS $GLIB_LIBS" - AC_TRY_LINK([ -#include <glib.h> -#include <stdio.h> -], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding GLIB or finding the wrong" - echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means GLIB is incorrectly installed."]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - GLIB_CFLAGS="" - GLIB_LIBS="" - GLIB_GENMARSHAL="" - GOBJECT_QUERY="" - GLIB_MKENUMS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - AC_SUBST(GLIB_GENMARSHAL) - AC_SUBST(GOBJECT_QUERY) - AC_SUBST(GLIB_MKENUMS) - rm -f conf.glibtest -]) - -# Configure paths for GTK+ -# Owen Taylor 97-11-3 - -# Taken from GTK+ 1.2.10 by PAK 2004/07/06 - -dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS -dnl -AC_DEFUN([AM_PATH_GTK], -[dnl -dnl Get the cflags and libraries from the gtk-config script -dnl -AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)], - gtk_config_prefix="$withval", gtk_config_prefix="") -AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)], - gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="") -AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program], - , enable_gtktest=yes) - - for module in . $4 - do - case "$module" in - gthread) - gtk_config_args="$gtk_config_args gthread" - ;; - esac - done - - if test x$gtk_config_exec_prefix != x ; then - gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix" - if test x${GTK_CONFIG+set} != xset ; then - GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config - fi - fi - if test x$gtk_config_prefix != x ; then - gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix" - if test x${GTK_CONFIG+set} != xset ; then - GTK_CONFIG=$gtk_config_prefix/bin/gtk-config - fi - fi - - AC_PATH_PROG(GTK_CONFIG, gtk-config, no) - min_gtk_version=ifelse([$1], ,0.99.7,$1) - AC_MSG_CHECKING(for GTK - version >= $min_gtk_version) - no_gtk="" - if test "$GTK_CONFIG" = "no" ; then - no_gtk=yes - else - GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags` - GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs` - gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_gtktest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$GTK_LIBS $LIBS" -dnl -dnl Now check if the installed GTK is sufficiently new. (Also sanity -dnl checks the results of gtk-config to some extent -dnl - rm -f conf.gtktest - AC_TRY_RUN([ -#include <gtk/gtk.h> -#include <stdio.h> -#include <stdlib.h> - -int -main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.gtktest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = g_strdup("$min_gtk_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_gtk_version"); - exit(1); - } - - if ((gtk_major_version != $gtk_config_major_version) || - (gtk_minor_version != $gtk_config_minor_version) || - (gtk_micro_version != $gtk_config_micro_version)) - { - printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", - $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf ("*** was found! If gtk-config was correct, then it is best\n"); - printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); - printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); - printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); - printf("*** required on your system.\n"); - printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n"); - printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n"); - printf("*** before re-running configure\n"); - } -#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION) - else if ((gtk_major_version != GTK_MAJOR_VERSION) || - (gtk_minor_version != GTK_MINOR_VERSION) || - (gtk_micro_version != GTK_MICRO_VERSION)) - { - printf("*** GTK+ header files (version %d.%d.%d) do not match\n", - GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); - printf("*** library (version %d.%d.%d)\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - } -#endif /* defined (GTK_MAJOR_VERSION) ... */ - else - { - if ((gtk_major_version > major) || - ((gtk_major_version == major) && (gtk_minor_version > minor)) || - ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", - major, minor, micro); - printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the gtk-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n"); - printf("*** correct copy of gtk-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - } - return 1; -} -],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_gtk" = x ; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$GTK_CONFIG" = "no" ; then - echo "*** The gtk-config script installed by GTK could not be found" - echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the GTK_CONFIG environment variable to the" - echo "*** full path to gtk-config." - else - if test -f conf.gtktest ; then - : - else - echo "*** Could not run GTK test program, checking why..." - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$LIBS $GTK_LIBS" - AC_TRY_LINK([ -#include <gtk/gtk.h> -#include <stdio.h> -], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding GTK or finding the wrong" - echo "*** version of GTK. If it is not finding GTK, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" - echo "***" - echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that" - echo "*** came with the system with the command" - echo "***" - echo "*** rpm --erase --nodeps gtk gtk-devel" ], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means GTK was incorrectly installed" - echo "*** or that you have moved GTK since it was installed. In the latter case, you" - echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - GTK_CFLAGS="" - GTK_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GTK_CFLAGS) - AC_SUBST(GTK_LIBS) - rm -f conf.gtktest -]) - -# Configure paths for GTK+ -# Owen Taylor 1997-2001 - -# Taken from GTK+ 2.4.3 by PAK 2004/07/06 - -dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for GTK+, and define GTK_CFLAGS and GTK_LIBS, if gthread is specified in MODULES, -dnl pass to pkg-config -dnl -AC_DEFUN([AM_PATH_GTK_2_0], -[dnl -dnl Get the cflags and libraries from pkg-config -dnl -AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run a test GTK+ program], - , enable_gtktest=yes) - - pkg_config_args=gtk+-2.0 - for module in . $4 - do - case "$module" in - gthread) - pkg_config_args="$pkg_config_args gthread-2.0" - ;; - esac - done - - no_gtk="" - - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - - if test x$PKG_CONFIG != xno ; then - if pkg-config --atleast-pkgconfig-version 0.7 ; then - : - else - echo "*** pkg-config too old; version 0.7 or better required." - no_gtk=yes - PKG_CONFIG=no - fi - else - no_gtk=yes - fi - - min_gtk_version=ifelse([$1], ,2.0.0,$1) - AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version) - - if test x$PKG_CONFIG != xno ; then - ## don't try to run the test against uninstalled libtool libs - if $PKG_CONFIG --uninstalled $pkg_config_args; then - echo "Will use uninstalled version of GTK+ found in PKG_CONFIG_PATH" - enable_gtktest=no - fi - - if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args; then - : - else - no_gtk=yes - fi - fi - - if test x"$no_gtk" = x ; then - GTK_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags` - GTK_LIBS=`$PKG_CONFIG $pkg_config_args --libs` - gtk_config_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - gtk_config_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - gtk_config_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_gtktest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$GTK_LIBS $LIBS" -dnl -dnl Now check if the installed GTK+ is sufficiently new. (Also sanity -dnl checks the results of pkg-config to some extent) -dnl - rm -f conf.gtktest - AC_TRY_RUN([ -#include <gtk/gtk.h> -#include <stdio.h> -#include <stdlib.h> - -int -main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.gtktest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = g_strdup("$min_gtk_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_gtk_version"); - exit(1); - } - - if ((gtk_major_version != $gtk_config_major_version) || - (gtk_minor_version != $gtk_config_minor_version) || - (gtk_micro_version != $gtk_config_micro_version)) - { - printf("\n*** 'pkg-config --modversion gtk+-2.0' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", - $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf ("*** was found! If pkg-config was correct, then it is best\n"); - printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); - printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); - printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); - printf("*** required on your system.\n"); - printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n"); - printf("*** to point to the correct configuration files\n"); - } - else if ((gtk_major_version != GTK_MAJOR_VERSION) || - (gtk_minor_version != GTK_MINOR_VERSION) || - (gtk_micro_version != GTK_MICRO_VERSION)) - { - printf("*** GTK+ header files (version %d.%d.%d) do not match\n", - GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); - printf("*** library (version %d.%d.%d)\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - } - else - { - if ((gtk_major_version > major) || - ((gtk_major_version == major) && (gtk_minor_version > minor)) || - ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", - major, minor, micro); - printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the pkg-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of GTK+, but you can also set the PKG_CONFIG environment to point to the\n"); - printf("*** correct copy of pkg-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - } - return 1; -} -],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_gtk" = x ; then - AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version)) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$PKG_CONFIG" = "no" ; then - echo "*** A new enough version of pkg-config was not found." - echo "*** See http://pkgconfig.sourceforge.net" - else - if test -f conf.gtktest ; then - : - else - echo "*** Could not run GTK+ test program, checking why..." - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$LIBS $GTK_LIBS" - AC_TRY_LINK([ -#include <gtk/gtk.h> -#include <stdio.h> -], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding GTK+ or finding the wrong" - echo "*** version of GTK+. If it is not finding GTK+, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means GTK+ is incorrectly installed."]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - GTK_CFLAGS="" - GTK_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GTK_CFLAGS) - AC_SUBST(GTK_LIBS) - rm -f conf.gtktest -]) - -# Configure paths for SDL -# Sam Lantinga 9/21/99 -# stolen from Manish Singh -# stolen back from Frank Belew -# stolen from Manish Singh -# Shamelessly stolen from Owen Taylor - -# Taken from SDL 1.2.7 by PAK 2004/07/07 - -dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) -dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS -dnl -AC_DEFUN([AM_PATH_SDL], -[dnl -dnl Get the cflags and libraries from the sdl-config script -dnl -AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], - sdl_prefix="$withval", sdl_prefix="") -AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], - sdl_exec_prefix="$withval", sdl_exec_prefix="") -AC_ARG_ENABLE(sdltest, [ --dis... [truncated message content] |