psi-im/psideps
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Prerequisites
-------------
Windows:
64-bit machine (required by the 64-bit toolchain)
MinGW/MSYS (normal 32-bit install, version from August 1st, 2012 or later)
Add 64-bit toolchain:
get x86_64-w64-mingw32-gcc-4.7.1-release-win64_rubenvb.7z
extract to c:\mingw64, so that you have /c/mingw64/bin/gcc.exe, etc.
wget (mingw-get install msys-wget)
coreutils (mingw-get install msys-coreutils)
patch (mingw-get install msys-patch)
zip (mingw-get install msys-zip)
unzip (mingw-get install msys-unzip)
bison (mingw-get install msys-bison)
flex (mingw-get install msys-flex)
perl (mingw-get install msys-perl, NOT ActiveState perl!)
Qt built for 32-bit x86 (available on qt.nokia.com)
Qt built for 64-bit x86 (you may need to build this yourself)
Use an MSYS shell when building modules
Mac:
64-bit machine (even though universal binaries are produced)
Xcode
Qt built for 32-bit/64-bit x86 universal (you may need to build this
yourself)
Ensure you have access to create and/or write to the /psidepsbase directory.
All modules are configured to use a prefix within that directory, and "sudo"
is not used when running "make install" operations. It should be enough to
create the directory in advance with correct permissions.
NOTE: it is assumed that the root mount device is C:\MinGW\msys\1.0
Building a module
-----------------
cd module_name
make
That's it. If all goes well, you'll end up with some archive file.
Available modules
-----------------
Note: modules may depend on other modules. In this case, you'll just need to
have built the dependency modules first.
zlib - windows only.
openssl - windows only. depends on zlib.
aspell - windows only.
gstbundle - windows and mac. windows version depends on zlib.
qca - windows and mac. depends on qt and openssl. see below about qt vars.
psimedia - windows and mac. depends on qt and gstbundle, as well as directx
files. see below about qt vars and directx.
Qt Environment Variables
------------------------
On Windows, your Qt may be installed anywhere, and so you need to supply two
environment variables:
QTDIR64 - location of 64-bit Qt using native path format with forward slashes
QTDIR32 - location of 32-bit Qt using native path format with forward slashes
For example:
cd qca
QTDIR64=c:/qt/4.8.2-w64 QTDIR32=c:/qt/4.8.2 make
On Mac, you need only QTDIR, pointing to a 32/64-bit x86 build of Qt.
For example:
cd qca
QTDIR=/usr/local/Trolltech/Qt-4.8.2 make
DirectX Files
--------------
When building psimedia, it is expected that the DirectX SDK (June 2010) is
installed into C:\dxsdk, with modifications [1], and that the directx mingw
files [2] are stored in C:\dxmingw
[1] add "#define __null" near the top of Include/dsound.h
[2] http://psi-im.org/files/deps/dxmingw.zip
How it works
------------
Only packages not already built within a module will be built when "make" is
run. If a package fails to build, the build process will refuse to continue
until you fix the problem.
For each package to be built:
1) a "build/{package/arch name}" directory is created as a workspace
2) the package is attempted to be built, and installed into the prefix
3) on success, a "build/{package/arch name}/ok" file is touched
The build script will only build a package if the "build/{package/arch name}"
directory does not exist, and it will only advance to the next package if the
directory exists and it contains an "ok" file.