diff --git a/admin/scons/Platform.py b/admin/scons/Platform.py index 3aee76abd..b29f4222e 100644 --- a/admin/scons/Platform.py +++ b/admin/scons/Platform.py @@ -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).') diff --git a/admin/scons/Setup.py b/admin/scons/Setup.py index 8d5d762a5..1212f343e 100644 --- a/admin/scons/Setup.py +++ b/admin/scons/Setup.py @@ -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]) diff --git a/doc/technical/build/Dependencies.txt b/doc/technical/build/Dependencies.txt index fe9f3c237..1bd427cef 100644 --- a/doc/technical/build/Dependencies.txt +++ b/doc/technical/build/Dependencies.txt @@ -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.]