Linux下的MAME模拟器,AdvanceMAME之一:编译

在Linux/Unix下编译安装AdvanceMAME的详细过程

本文档介绍了从源码编译AdvanceMAME, AdvanceMESS 和 AdvanceMENU的方法

准备源代码

如果你使用标准的源代码包(Advance包),你可以跳过这一步,直接到 配置 的章节

但是如果你使用的diff包,你需要原始的 模拟器源代码(MAME)

AdvanceMAME

为了编译AdvanceMAME,你必须下载与AdvanceMAME同版本的MAME源代码。注意:你必须下载MAME的原始代阿明,而不是其他clone版本的源代码,比如xmame

原始的 MAME可从这里下载:http://www.mame.net/

为了完成源代码,你必须解压缩原始的MAME源代码档案到一个不同的目录,复制AdvanceMAME树里的一些文件到 同一次的 'advance/'目录

在Linux和Mac OS X中,记住解压缩原始的 .zip文档用 "unzip -aa"命令 来转换这些文件 从 DOS的CR/LF格式到 Unix的CR格式。

解压缩后,你必须: 从 MAME 文档 复制 `src/' 目录 到AdvanceMAME 树

注意:只有从MAME源代码里的 'src/'目录才要,其他目录都必需删除。


最终的AdvanceMAME目录树必须是 :

advance/advance.mak
src/mame.mak

在解压缩之后,你需要应用一些补丁到到 src目录里的 原始的MAME源代码。如果不能正确地打补丁,可能你没有使用正确的MAME源代码

在 DOS 和 Windows 打补丁 :

cd src
patch -p1 < ..\advance\advmame.dif

在 Linux 和 Mac OS X 打补丁 :

cd src
patch -p1 < ../advance/advmame.dif

配置在Linux/Mac OS X/Generic Unix

运行 `./configure' 脚本

一般来说,不需要用什么额外的选项。用'./configure --help'可得到完整的配置选项列表。


默认的安装前缀是 /usr/local.你可以 在配置时用'--prefix='选项来改变它

默认的 host配置文件目录是 /usr/local/etc/。你可以用 '--sysconfdir='来改变它。注意:总是用/etc 代替 /usr/etc

配置脚本自动检测所有可用的库和优化选项。你可以用 --with-sdl-prefix在指定的位子搜索SDL库

如果你想定制 编译的CFLAGS和LDFLAGS,你可将他们放到 ./configure命令行。

高度优化Pentium4的例子:

./configure CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer" \
LDFLAGS="-s"

如果你使用"Intel C Compiler 8" ,你可以试一试:

./configure CC=icc CFLAGS="-I/usr/local/include -O3 -march=pentium4" \
LDFLAGS="-lsvml"

如果你想用 Advance自己带的zlib库和expat库,你可以用 --disable-zlib 和 --disable-expat选项


编译

运行 `make'.

安装在Linux/Mac OS X/Generic Unix

运行'make install'来安装二进制程序和文档到你的系统。

二进制程序将被安装到 $prefix/bin, 程序的数据文件安装到 $prefix/share/advance, 文档被安装到 $prefix/share/doc/advance man page被安装到 $prefix/man/man1

默认的安装前缀是 $prefix is /usr/local.

在 Mac OS X 请检查目录 $prefix/bin 是否在环境变量的 PATH中. 一般而言 /usr/local/bin 是不在的。

要求

为了编译AdvanceMAME,你最少必须有128 Mbyte 内存,推荐使用 256 Mbyte.

Linux

为了在Linux下编译,你必须有下面的软件:

Linux 2.4.0 (或者更新)
GNU gcc C/C++ 3.2.3 or 3.3.4 (或者更新)
GNU make 3.79.1 (或更新)

如果存在下面的这些软件的话,它们也会被用到:

NASM 0.98.33 (or newer)
SVGALIB 1.9.14 (or newer)
SDL 1.2.4 (or newer)
S-Lang 1.4.3 (or newer)
ncurses 5.4 (or newer)
FreeType 2.1.7 (or newer)
zlib 1.1.4 (or newer)
expat 1.95.6 (or newer)

建议gcc编译器的版本是3.2.3和 3.3.4 2.96.x和 3.0.x 不行,其他版本应该可以工作。


调试

为了调试程序,建立编译前这样配置:

./configure --enable-debug --disable-svgalib \
--disable-pthread

svglib库被禁止使用,因为它的接口 with the stack backtrace on the signal handler.

pthread 库也被禁止,因为它的接口 with the debugger signals.

在X Window下,建议使用SDL library. 它允许运行调试器,程序可以使用同一个监视器和键盘.

 

作者:Johnny   更新日期:2005-11-12
来源:upsdn.net   浏览次数:

相关文章

相关评论   发表评论