153 lines
5.8 KiB
Plaintext
153 lines
5.8 KiB
Plaintext
|
|
The latest PhysicsFS information and releases can be found at:
|
|
http://icculus.org/physfs/
|
|
|
|
Building is (ahem) very easy.
|
|
|
|
|
|
ALL PLATFORMS:
|
|
|
|
Please understand your rights and mine: read the text file LICENSE.txt in the
|
|
root of the source tree. If you can't abide by it, delete this source tree
|
|
now. The license is extremely liberal, even to closed-source, commercial
|
|
applications.
|
|
|
|
If you've got Doxygen (http://www.doxygen.org/) installed, you can run it
|
|
without any command line arguments in the root of the source tree to generate
|
|
the API reference (or build the "docs" target from your build system). This
|
|
is optional. You can browse the API docs online here:
|
|
|
|
http://icculus.org/physfs/docs/
|
|
|
|
|
|
|
|
|
|
UNIX:
|
|
|
|
You will need CMake (http://www.cmake.org/) 2.4 or later installed.
|
|
|
|
Make a directory, wherever you like. This will be your build directory.
|
|
|
|
Chdir to your build directory. Run "cmake /where/i/unpacked/physfs" to
|
|
generate Makefiles. You can then run "ccmake ." and customize the build,
|
|
but the defaults are probably okay. You can have CMake generate KDevelop
|
|
project files if you prefer these.
|
|
|
|
Run "make". PhysicsFS will now build.
|
|
|
|
As root, run "make install".
|
|
If you get sick of the library, run "xargs rm < install_manifest.txt" as root
|
|
and it will remove all traces of the library from the system paths.
|
|
|
|
Once you are satisfied, you can delete the build directory.
|
|
|
|
Primary Unix development is done with GNU/Linux, but PhysicsFS is known to
|
|
work out of the box with several flavors of Unix. It it doesn't work, patches
|
|
to get it running can be sent to icculus@icculus.org.
|
|
|
|
|
|
|
|
BeOS, Zeta, and Haiku:
|
|
|
|
Use the "Unix" instructions, above. The CMake port to BeOS is fairly new at
|
|
the time of this writing, but it works. You can get a build of CMake from
|
|
bebits.com or build it yourself from source from cmake.org.
|
|
|
|
|
|
|
|
Windows:
|
|
|
|
If building with Cygwin, mingw32, MSYS, or something else that uses the GNU
|
|
toolchain, follow the Unix instructions, above.
|
|
|
|
If you want to use Visual Studio, nmake, or the Platform SDK, you will need
|
|
CMake (http://www.cmake.org/) 2.4 or later installed. Point CMake at the
|
|
CMakeLists.txt file in the root of the source directory and hit the
|
|
"Configure" button. After telling it what type of compiler you are targeting
|
|
(Borland, Visual Studio, etc), CMake will process for while and then give you
|
|
a list of options you can change (what archivers you want to support, etc).
|
|
If you aren't sure, the defaults are probably fine. Hit the "Configure"
|
|
button again, then "OK" once configuration has completed with options that
|
|
match your liking. Now project files for your favorite programming
|
|
environment will be generated for you in the directory you specified.
|
|
Go there and use them to build PhysicsFS.
|
|
|
|
PhysicsFS will only link directly against system libraries that have existed
|
|
since Windows 95 and Windows NT 3.51. If there's a newer API we want to use,
|
|
we try to dynamically load it at runtime and fallback to a reasonable
|
|
behaviour when we can't find it...this is used for Unicode support and
|
|
locating user-specific directories, etc.
|
|
|
|
PhysicsFS works on 32-bit and 64-bit Windows. There is no 16-bit Windows
|
|
support at all. Reports of success and problems can go to Ryan at
|
|
icculus@icculus.org ...
|
|
|
|
If someone is willing to maintain prebuilt PhysicsFS DLLs, I'd like to hear
|
|
from you; send an email to icculus@icculus.org ...
|
|
|
|
|
|
PocketPC/WindowsCE:
|
|
|
|
Support for PocketPC was removed in PhysicsFS 2.1.0. This was known to work
|
|
in the 1.0 releases, but wasn't tested in 2.0 and later. PhysicsFS is not
|
|
known to work on Windows Phone 7 (the latest Microsoft mobile tech at the
|
|
time of this writing).
|
|
|
|
|
|
MAC OS 8/9:
|
|
|
|
Classic Mac OS support has been dropped in PhysicsFS 2.0. Apple hasn't updated
|
|
pre-OSX versions in more than a decade at this point, none of the hardware
|
|
they've shipped will boot it for almost as many years, and finding
|
|
developer tools for it is becoming almost impossible. As the switch to Intel
|
|
hardware has removed the "Classic" emulation environment, it was time to
|
|
remove support from PhysicsFS. That being said, the PhysicsFS 1.0 branch can
|
|
still target back to Mac OS 8.5, so you can use that if you need support for
|
|
this legacy OS. We still very much support Mac OS X, though: see below.
|
|
|
|
|
|
|
|
MAC OS X:
|
|
|
|
You will need CMake (http://www.cmake.org/) 2.4 or later installed.
|
|
|
|
You can either generate a Unix makefile with CMake, or generate an Xcode
|
|
project, whichever makes you more comfortable.
|
|
|
|
PowerPC and Intel Macs should both be supported.
|
|
|
|
If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
|
|
Mac OS X, I'd like to hear from you; send an email to icculus@icculus.org.
|
|
|
|
|
|
|
|
OS/2:
|
|
|
|
You need Innotek GCC and libc installed (or kLIBC). I tried this on a stock
|
|
Warp 4 install, no fixpaks. You need to install link386.exe (Selective
|
|
Install, "link object modules" option). Once klibc and GCC are installed
|
|
correctly, unpack the source to PhysicsFS and run the script
|
|
file "makeos2.cmd". I know this isn't ideal, but I wanted to have this build
|
|
without users having to hunt down a "make" program.
|
|
|
|
Someone please port CMake to OS/2. Ideally I'd like to be able to target
|
|
Innotek GCC and OpenWatcom with CMake.
|
|
|
|
If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
|
|
OS/2, I'd like to hear from you; send an email to icculus@icculus.org.
|
|
|
|
|
|
|
|
OTHER PLATFORMS:
|
|
|
|
Many Unix-like platforms might "just work" with CMake. Some of these platforms
|
|
are known to have worked at one time, but have not been heavily tested, if
|
|
tested at all. PhysicsFS is, as far as we know, 64-bit and byteorder clean,
|
|
and is known to compile on several compilers across many platforms. To
|
|
implement a new platform or archiver, please read the heavily-commented
|
|
physfs_internal.h and look in the platform/ and archiver/ directories for
|
|
examples.
|
|
|
|
--ryan. (icculus@icculus.org)
|
|
|