Subversion Repositories Games.Descent

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 pmbaty 1
 
2
The latest PhysicsFS information and releases can be found at:
3
  https://icculus.org/physfs/
4
 
5
Building is (ahem) very easy.
6
 
7
 
8
ALL PLATFORMS:
9
 
10
Please read the text file LICENSE.txt in the root of the source tree.
11
 The license is extremely liberal, even to closed-source, commercial
12
 applications.
13
 
14
If you've got Doxygen (http://www.doxygen.org/) installed, you can run it
15
 without any command line arguments in the root of the source tree to generate
16
 the API reference (or build the "docs" target from your build system). This
17
 is optional. You can browse the API docs online here:
18
 
19
    https://icculus.org/physfs/docs/
20
 
21
 
22
 
23
BUILD IT WITH YOUR OWN PROGRAM:
24
 
25
If you don't care about formal packaging: just add everything in the "src"
26
directory to whatever you use to build your program and compile it along with
27
everything else, and you're done. It should compile with any reasonable
28
ANSI C compiler, should build cleanly even with excessive compiler warnings
29
enabled, needs no extra configuration, and allows static linking.
30
WinRT and Haiku need C++ compilers for their system APIs, but if you aren't on
31
these platforms and don't have a C++ compiler, don't build the .cpp files.
32
Likewise: Apple platforms (macOS, iOS, etc) need an Objective-C compiler, but
33
if you aren't on these platforms and don't have a Objective-C compiler, don't
34
build the .m file. Everything you need is in the .c sources.
35
 
36
If this all worked for your specific project, you can stop reading now.
37
 
38
 
39
 
40
UNIX:
41
 
42
You will need CMake (https://www.cmake.org/) 2.4 or later installed.
43
 
44
Make a directory, wherever you like. This will be your build directory.
45
 
46
Chdir to your build directory. Run "cmake /where/i/unpacked/physfs" to
47
 generate Makefiles. You can then run "ccmake ." and customize the build,
48
 but the defaults are probably okay. You can have CMake generate KDevelop
49
 or Ninja project files or whatever, if you prefer these.
50
 
51
Run "make". PhysicsFS will now build.
52
 
53
As root, run "make install".
54
 If you get sick of the library, run "make uninstall" as root
55
 and it will remove all traces of the library from the system paths.
56
 
57
Once you are satisfied, you can delete the build directory.
58
 
59
Primary Unix development is done with GNU/Linux, but PhysicsFS is known to
60
 work out of the box with several flavors of Unix. It it doesn't work, patches
61
 to get it running can be sent to icculus@icculus.org.
62
 
63
 
64
Windows:
65
 
66
If building with Cygwin, mingw32, MSYS, or something else that uses the GNU
67
 toolchain, follow the Unix instructions, above.
68
 
69
If you want to use Visual Studio, nmake, or the Platform SDK, you will need
70
 CMake (https://www.cmake.org/) 2.4 or later installed. Point CMake at the
71
 CMakeLists.txt file in the root of the source directory and hit the
72
 "Configure" button. After telling it what type of compiler you are targeting
73
 (Borland, Visual Studio, etc), CMake will process for while and then give you
74
 a list of options you can change (what archivers you want to support, etc).
75
 If you aren't sure, the defaults are probably fine. Hit the "Configure"
76
 button again, then "OK" once configuration has completed with options that
77
 match your liking. Now project files for your favorite programming
78
 environment will be generated for you in the directory you specified.
79
 Go there and use them to build PhysicsFS.
80
 
81
PhysicsFS will only link directly against system libraries that have existed
82
 since Windows NT 3.51. If there's a newer API we want to use, we try to
83
 dynamically load it at runtime and fallback to a reasonable behaviour when
84
 we can't find it. Note that Windows 98 and later _should_
85
 work if you use the Microsoft Layer for Unicode (UNICOWS.DLL) to provide
86
 some missing system APIs, but this is no longer tested as of PhysicsFS 2.1.0.
87
 PhysicsFS 2.0.x is known to work with Windows 95 without UNICOWS.DLL.
88
 
89
PhysicsFS works on 32-bit and 64-bit Windows. There is no 16-bit Windows
90
 support at all. Windows RT is covered below.
91
 
92
 
93
Windows RT:
94
 
95
Windows RT (Windows Phone, Windows Store, UWP) 8.0 and later are supported.
96
Make sure you include both physfs_platform_windows.c _and_
97
physfs_platform_winrt.cpp in your build, and that the C++ file has
98
"Consume Windows Runtime Extension" set to "Yes" in its Visual Studio
99
properties (from the command line, you want to compile this file with the
100
"/ZW" compiler switch). CMake can, in theory, generate a project file for
101
WinRT if you pick a recent Visual Studio target, choose manual cross-compile
102
options, and set the system name to "WindowsPhone" or "WindowsStore" and the
103
correct OS version (8.0 or later).
104
 
105
 
106
PocketPC/WindowsCE:
107
 
108
Support for PocketPC was removed in PhysicsFS 2.1.0. This was known to work
109
 in the 1.0 releases, but wasn't tested in 2.0 and later. PhysicsFS should
110
 work on modern Windows Phones (see "Windows RT" section).
111
 
112
 
113
macOS:
114
 
115
You will need CMake (https://www.cmake.org/) 2.4 or later installed.
116
 
117
You can either generate a Unix makefile with CMake, or generate an Xcode
118
 project, whichever makes you more comfortable.
119
 
120
PowerPC and Intel Macs should both be supported.
121
 
122
 
123
MAC OS 8/9 ("Mac OS Classic"):
124
 
125
Classic Mac OS support has been dropped in PhysicsFS 2.0. Apple hasn't updated
126
 pre-OSX versions in more than a decade at this point, none of the hardware
127
 they've shipped will boot it for almost as many years, and finding
128
 developer tools for it is becoming almost impossible. As the switch to Intel
129
 hardware has removed the "Classic" emulation environment, it was time to
130
 remove support from PhysicsFS. That being said, the PhysicsFS 1.0 branch can
131
 still target back to Mac OS 8.5, so you can use that if you need support for
132
 this legacy OS. We still very much support modern macOS, though: see above.
133
 
134
 
135
Emscripten:
136
 
137
Use the "Unix" instructions, above. You can install the Emscripten SDK and use
138
 the extras/buildbot-emscripten.sh script to automate this for you.
139
 
140
 
141
BeOS, Zeta, YellowTab:
142
 
143
BeOS support was dropped in PhysicsFS 2.1.0. Consider installing Haiku, which
144
we still support.
145
 
146
 
147
Haiku:
148
 
149
Use the "Unix" instructions, above.
150
 
151
 
152
OS/2:
153
 
154
OS/2 is known to work with OpenWatcom and GCC-based compilers. I couldn't get
155
an OS/2 port of CMake to generate OpenWatcom project files (although it should
156
be able to do that in theory), it should be able to do Unix Makefiles with
157
GCC. It might be easier to just compile PhysicsFS along with the rest of
158
your project on this platform.
159
 
160
 
161
 
162
OTHER PLATFORMS:
163
 
164
Many Unix-like platforms might "just work" with CMake. Some of these platforms
165
 are known to have worked at one time, but have not been heavily tested, if
166
 tested at all. PhysicsFS is, as far as we know, 64-bit and byteorder clean,
167
 and is known to compile on several compilers across many platforms. To
168
 implement a new platform or archiver, please read the heavily-commented
169
 physfs_internal.h and look at the physfs_platform_* and physfs_archiver_*
170
 source files for examples.
171
 
172
--ryan. (icculus@icculus.org)
173