1
0
mirror of https://git.code.sf.net/p/fuse-emulator/fuse synced 2026-01-27 01:41:34 +03:00
Files
fuse/INSTALL
2017-07-21 00:05:16 +02:00

164 lines
5.8 KiB
Plaintext

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 Git 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 <fredm@spamcop.net> 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 \
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-w64 toolchain <http://mingw-w64.org/>, e.g., on
Debian: `apt-get install mingw-w64'
On Windows, besides the former toolchain, you'll need an environment that
includes a collection of Unix tools, like MSYS2 <https://msys2.github.io/> 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 a MinGW
environment - in case of problems with compiling any of the libs please refer to
the lib's homepage for help.
1) On Linux, first build libspectrum:
./configure --host=i686-w64-mingw32 --without-libaudiofile --without-zlib \
--without-libgcrypt --without-bzip2 --with-fake-glib --prefix=`pwd`
make install
This should install libspectrum into the same source directory.
Then, compile Fuse:
PKG_CONFIG_LIBDIR=`pwd`/../libspectrum/lib/pkgconfig \
./configure --host=i686-w64-mingw32 --prefix=`pwd` --with-win32 \
--without-libxml2 --without-zlib --without-png --without-pthread
make
You have to use the real path of libspectrum with `PKG_CONFIG_LIBDIR'.
This should build `fuse.exe' without any external lib, but you can run it on
Windows or Linux (with Wine).
You need libwinpthread-1.dll in the same directory as `fuse.exe', most
likely it is located in /usr/i686-w64-mingw32/lib/
2) On Windows, using MSYS2 + Mingw-w64 toolchain, first build libspectrum:
./configure --with-fake-glib --without-libaudiofile --without-libgcrypt \
--without-zlib --without-bzip2 --prefix=/usr/local
make install
Then, build Fuse:
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig \
./configure --with-win32 --without-libxml2 --without-zlib --without-png \
--prefix=/usr/local
make
3) On Windows, using Cygwin + Mingw-w64 toolchain, first build libspectrum:
./configure --build=i686-pc-cygwin --host=i686-w64-mingw32 --with-fake-glib \
--without-libaudiofile --without-libgcrypt --without-zlib \
--without-bzip2 --prefix=/usr/local/i686-w64-mingw32
make install
Then, build Fuse:
PKG_CONFIG_LIBDIR=/usr/local/i686-w64-mingw32/lib/pkgconfig \
./configure --build=i686-pc-cygwin --host=i686-w64-mingw32 --without-libxml2 \
--without-zlib --without-png --with-win32 \
--prefix=/usr/local/i686-w64-mingw32
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.