INSTALL 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. The latest PhysicsFS information and releases can be found at:
  2. http://icculus.org/physfs/
  3. Building is (ahem) very easy.
  4. ALL PLATFORMS:
  5. Please understand your rights and mine: read the text file LICENSE in the root
  6. of the source tree. If you can't abide by it, delete this source tree now.
  7. If you've got Doxygen (http://www.doxygen.org/) installed, you can run it
  8. without any command line arguments in the root of the source tree to generate
  9. the API reference. This is optional. You can browse the API docs online
  10. here: http://icculus.org/physfs/docs/
  11. UNIX:
  12. (If you got this code from Mercurial, run "./bootstrap" first.)
  13. Run ./configure --help and see what features can be optionally enabled or
  14. disabled. "./configure" does its best to pick optimal defaults for your
  15. platform.
  16. Run "make".
  17. As root, run "make install".
  18. If you get sick of the library, run "make uninstall" as root and it will
  19. remove all traces of the library from the system paths.
  20. Primary Unix development is done with GNU/Linux, but PhysicsFS is known to
  21. work out of the box with several flavors of Unix. It it doesn't work, patches
  22. to get it running can be sent to icculus@icculus.org.
  23. BeOS:
  24. Use the "Unix" instructions, above.
  25. AtheOS:
  26. Use the "Unix" instructions, above.
  27. WIN32:
  28. If building with CygWin, mingw32 or something else that uses the GNU
  29. toolchain, follow the Unix instructions, above.
  30. If you're using Visual C++ 6, point it at "physfs.dsp" in the root of the
  31. source tree, and build. This will produce a "physfs.dll" and "physfs.lib"
  32. (shared library and import lib, respectively) in either a "Debug" or
  33. "Release" directory, depending on what configuration you chose to build.
  34. After building the lib, you can make sure it works by building the
  35. "test_physfs.dsp" project file, which will create "test_physfs.exe" in
  36. "Debug" or "Release". This EXE is linked against the DLL you built
  37. previously.
  38. If you're using Visual C++ 6 and want to generate a static LIB file, point
  39. it at "physfs_static.dsp" in the root of the source tree and build. This
  40. will produce a "physfs_static.lib" in either a "physfs_static_debug"
  41. or a "physfs_static_release" directory, depending on what configuration
  42. you chose to build. NOPE: "test_physfs.dsp" does not work with the
  43. statically linked build.
  44. Visual Studio.NET users should do the same thing, but use the "physfs.vcproj"
  45. and "test_physfs.vcproj" project files instead.
  46. NOTE: to change build options such as which drivers are loaded (ZIP, QPAK,
  47. etc.) modify the appropriate manifest constants under the Project Settings.
  48. By default the LIB version supports all drivers, but the DLL build does
  49. not support MVL or HOG file formats.
  50. If you're using another compiler, send me a patch when you get it working. :)
  51. No one's tried building this for a WinCE (PocketPC) platform, but it may or
  52. may not work. Patches are welcome.
  53. If someone is willing to maintain prebuilt PhysicsFS DLLs, I'd like to hear
  54. from you; send an email to icculus@icculus.org.
  55. MACOS 8/9:
  56. Double-click on "CWProjects.sit" in the root of the source tree. This will
  57. unpack into a folder called "Mac Classic Support", which has CodeWarrior 6
  58. project files.
  59. Point CodeWarrior at "physfs.mcp" in that new folder, and build. This will
  60. produce a "PhysicsFS" or "PhysicsFS Debug" shared library, depending on what
  61. configuration you chose to build. After building the lib, you can make sure
  62. it works by building the "test_physfs.mcp" project file, which will create
  63. "test_physfs" or "test_physfs Debug". These binaries are linked against the
  64. DLLs you built previously.
  65. If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
  66. the Mac, I'd like to hear from you; send an email to icculus@icculus.org.
  67. MACOS X:
  68. You (currently) need to use the freeware Apple Developer Tools, which are
  69. based on the GNU toolchain. Fire up a terminal and run "cc"...if this reports
  70. "no input files" then you've got the tools installed.
  71. Follow the Unix directions, above (configure, make, make install).
  72. If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
  73. MacOS X, I'd like to hear from you; send an email to icculus@icculus.org.
  74. OS/2:
  75. You need EMX installed. I tried this on a stock Warp 4 install, no fixpaks.
  76. I used the latest EMX and patches (which are several years old now). You need
  77. to install link386.exe (Selective Install, "link object modules" option). Once
  78. EMX is installed correctly, unpack the source to PhysicsFS and run the script
  79. file "makeos2.cmd". I know this isn't ideal, but I wanted to have this build
  80. without users having to hunt down a "make" program (While several exist, EMX
  81. doesn't come with one). If someone wants to hack some REXX to make this a bit
  82. more piccky about recompiling, I'll accept the patch.
  83. If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
  84. OS/2, I'd like to hear from you; send an email to icculus@icculus.org.
  85. OTHER PLATFORMS:
  86. Many Unix-like platforms might "just work" with the GNU autoconf tools. Some
  87. of these platforms are known to have worked at one time, but have not been
  88. heavily tested, if tested at all. PhysicsFS is, as far as we know, 64-bit and
  89. byteorder clean, and is known to compile on several compilers across many
  90. platforms. To implement a new platform or archiver, please read the
  91. heavily-commented physfs_internal.h and look in the platform/ and archiver/
  92. directories for examples.
  93. --ryan. (icculus@icculus.org)