Build: adjust versions and naming to comply with Debian/Jessie

Note: this drops some backwards compatibility. We're targeting now
roughly the range between Ubuntu-Precise (LTS) and Debian/testing,
with Debian/stable as the reference system.

The naming scheme for Boost-Libraries was adjusted with Boost-1.42
for Unix-Platforms. Now the '-mt' suffix isn't included any more, but
the libraries available through the usual packaging mechanisms can be
assumed to be thread safe.

See also http://issues.lumiera.org/ticket/759
This commit is contained in:
Fischlurch 2013-10-06 05:20:22 +02:00
parent 6d064cb7b7
commit 48431d822d
3 changed files with 36 additions and 28 deletions

View file

@ -65,7 +65,7 @@ def configure(env):
print 'Valgrind not found. The use of Valgrind is optional; building without.'
if not conf.CheckPkgConfig('nobugmt', 201006.1):
problems.append('Did not find NoBug [http://www.lumiera.org/nobug_manual.html].')
problems.append('Did not find NoBug [http://nobug.pipapo.org/].')
else:
conf.env.mergeConf('nobugmt')
@ -79,13 +79,13 @@ def configure(env):
problems.append('We need boost::scoped_ptr (scoped_ptr.hpp).')
if not conf.CheckCXXHeader('boost/format.hpp'):
problems.append('We need boost::format (header).')
if not conf.CheckLibWithHeader('boost_program_options-mt','boost/program_options.hpp','C++'):
if not conf.CheckLibWithHeader('boost_program_options','boost/program_options.hpp','C++'):
problems.append('We need boost::program_options (including binary lib for linking).')
if not conf.CheckLibWithHeader('boost_system-mt','boost/system/error_code.hpp','C++'):
if not conf.CheckLibWithHeader('boost_system','boost/system/error_code.hpp','C++'):
problems.append('We need the boost::system support library (including binary lib).')
if not conf.CheckLibWithHeader('boost_filesystem-mt','boost/filesystem.hpp','C++'):
if not conf.CheckLibWithHeader('boost_filesystem','boost/filesystem.hpp','C++'):
problems.append('We need the boost::filesystem lib (including binary lib for linking).')
if not conf.CheckLibWithHeader('boost_regex-mt','boost/regex.hpp','C++'):
if not conf.CheckLibWithHeader('boost_regex','boost/regex.hpp','C++'):
problems.append('We need the boost regular expression lib (incl. binary lib for linking).')

View file

@ -63,8 +63,8 @@ def defineBuildEnvironment():
define locations in source and target tree,
parse the commandline and pick up options
"""
EnsureSConsVersion(1,0)
EnsurePythonVersion(2,4)
EnsureSConsVersion(2,0)
EnsurePythonVersion(2,6)
Decider('MD5-timestamp') # detect changed files by timestamp, then do a MD5
buildVars = Variables([OPTCACHE, CUSTOPTFILE])

View file

@ -1,7 +1,6 @@
Dependencies
------------
:Author: CehTeh
:Date: 3/2008
:Date: 10/2013
Lumiera is written for GNU/Linux. We try to make the best out of modern system programming techniques
@ -23,17 +22,17 @@ Lumiera expects a 'standard' desktop installation running a Xserver.
Graphics::
There are no special requirements for the graphic system.
Hardware accelleration will likely be added later through extensions,
but will remain strictyl optional. (For now we'll watch the evolution
Hardware acceleration will likely be added later through extensions,
but will remain strictly optional. (For now we'll watch the evolution
in that area and might revisit that topic when there are more compelling
and widely supported solutions available)
Disks::
Video editing requires decent disk speed, so it is suggested to use a
fast/big array of disks configured as raid.
No special requirements. Video editing requires decent disk speed though,
so it is suggested to use a fast/big array of disks configured as raid.
Special Hardware::
Sopport for special hardware would be possible, but depends on certain conditions
Support for special hardware would be possible, but depends on certain conditions
+
* we need access / donations for the hardware
* specs and APIs must be open.
@ -45,47 +44,56 @@ Languages and Tools
* C / C++
- a C99 / C++98 compatible compiler
- GCC 4.4 or better is fine. Basically we try to use just the stock language.
On rare occasions, we _did_ use some GCC extensions, but there would be workarounds,
should this become a problem.
- a C99 / C++98 compatible compiler footnote::[in practice, we build using GCC and
occasionally we check using Clang]
- GCC *4.6* or Clang *3.0* should be fine footnote::[basically we try to use just the stock language.
On rare occasions, we _did_ use some GCC extensions, like `typeof()`, but there are
workarounds, in case this becomes a problem].
- std::tr1 extensions for C++ (smart-ptrs, hashtables, function objects)
- *note* switch to C++11 can be expected in the near future
- switch to C++11 can be expected in the near future footnote::[due to some
minor problems, we can't compile in `-std=c++11` mode yet. See the
link:http://issues.lumiera.org/ticket/924[tracking ticket]. These issues aren't
fundamental though, we used a modern programming style right from start.]
* BOOST (listed below are the DEBIAN package names)
- libboost-dev (at least 1.40)
* BOOST (listed below are the Debian package names)
- libboost-dev (at least *1.48*)
- libboost-program-options-dev
- libboost-program-options-dev
- libboost-filesystem-dev
- libboost-regex-dev
* Script languages
- Python (2.5) for build scripts
- Python (*2.6*) for build scripts
- bash (some test scripts use bash specific extensions)
- Lua is planned to become a general glue and binding language
Build Tools
~~~~~~~~~~~
* Git
* SCons
* SCons *2.0* footnote:[we build with SCons >= 2.0 since a long time. Previously the buildsystem used to work with 1.0
In addition, we use some SCons plug-ins, which are all shipped in-tree (`admin/scons`)]
* pkg-config
* Doxygen
We maintain a Debian package (debhelper, CDBS, git-buildpackage)
We maintain a link:/documentation/technical/infra/debianDepot.html[Debian/Ubuntu package] (relying on debhelper, CDBS, git-buildpackage)
Libraries
~~~~~~~~~
* BOOST
* NoBug
* http://gmerlin.sourceforge.net/gavl.html[GAVL] (for raw media support)
* link:http://nobug.pipapo.org/[NoBug]
* http://gmerlin.sourceforge.net/gavl.html[GAVL] (for raw media support)
* ALSA: libasound2-dev
* for the GUI: gtkmm-2.4 gdl-1.0 libglibmm-2.4 cairomm-1.0 xv
- libgtkmm-2.4-dev
- libcairomm-1.0-dev
- libgdl-1-dev
- libglibmm-2.4-dev, requiring glib2.0 and gthread-2.0
- libxv-dev
- librsvg-2.0 and librsvg2-dev for rendering Icons
- libgdl-1-dev -- old version of the Gnome Docking Library footnote:[GDL isn't directly related to GNOME any more.
We contributed to the improvement of this library in the past. Since we're still using GTK-2,
for now we're forced to use a _really ancient version_, which isn't available from the official
repositories -- you can find the original tarball and several Debian/Ubuntu packages in
our link:http://lumiera.org/debian/pool/experimental/g/gdl/[Lumiera package repository] though.]