Skip to content

psi-im/psideps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.