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:
parent
6d064cb7b7
commit
48431d822d
3 changed files with 36 additions and 28 deletions
|
|
@ -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).')
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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])
|
||||
|
|
|
|||
|
|
@ -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.]
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue