Difference between revisions of "Scons"

From CBLFS
Jump to navigationJump to search
(Added place-holder "to do" for fix I am working on.)
(Revised patch (also 'n32' as alt spelling for 'N32'), and caveat for untested N32 build.)
 
(2 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
!Download Source:
 
!Download Source:
 
|http://prdownloads.sourceforge.net/scons/scons-1.2.0.tar.gz
 
|http://prdownloads.sourceforge.net/scons/scons-1.2.0.tar.gz
 +
|-
 +
!Patch Required for Multilib:
 +
|http://svn.cross-lfs.org/svn/repos/patches/scons/scons-1.2.0-fix_hardwired_python_path_component-2.patch
 
|}
 
|}
  
Line 17: Line 20:
  
 
See README.txt.
 
See README.txt.
 
== To Do ==
 
 
Fix hard-wired "/lib" in scons script. Author has fix and will add soon. For the impatient, fix looks like this:
 
 
libmap = {'32' : 'lib', 'N32' : 'lib32', '64' : 'lib64'}
 
lib = libmap.get (os.environ.get ('USE_ARCH', '64'), 'lib64')
 
 
temp = map(lambda x: os.path.join(x, lib), prefs)
 
temp.extend(map(lambda x: os.path.join(x,
 
                                        lib,
 
                                        'python' + sys.version[:3],
 
                                        'site-packages'),
 
                        prefs))
 
  
 
== Non-Multilib ==
 
== Non-Multilib ==
Line 43: Line 32:
  
 
== Multilib ==
 
== Multilib ==
 +
 +
Fix hard-wired python sys.path component names:
 +
 +
patch -Np1 -i ../scons-1.2.0-fix_hardwired_python_path_component-2.patch
 +
 +
(The following build instructions are safe to be performed from a single source tree.)
  
 
=== 32Bit ===
 
=== 32Bit ===
Line 60: Line 55:
  
 
  todo
 
  todo
 +
 +
(Use --build-base=buildN32 to segregate architecture-specific build targets.)
  
 
=== 64Bit ===
 
=== 64Bit ===

Latest revision as of 07:07, 24 July 2009

Download Source: http://prdownloads.sourceforge.net/scons/scons-1.2.0.tar.gz
Patch Required for Multilib: http://svn.cross-lfs.org/svn/repos/patches/scons/scons-1.2.0-fix_hardwired_python_path_component-2.patch

Introduction to Scons

Scons is a Python-based build system with autotools-like functionality.

Project Homepage: http://www.scons.org/

Dependencies

Required

Configuration Information

See README.txt.

Non-Multilib

Compile the package:

python setup.py build

Install the package:

python setup.py install --hardlink-scons --standard-lib --prefix=/usr

Multilib

Fix hard-wired python sys.path component names:

patch -Np1 -i ../scons-1.2.0-fix_hardwired_python_path_component-2.patch

(The following build instructions are safe to be performed from a single source tree.)

32Bit

Compile the package:

USE_ARCH=32 \
python setup.py build --build-base=build32

Install the package:

USE_ARCH=32 \
python setup.py install --hardlink-scons --standard-lib --no-install-man \
   --prefix=/usr --install-purelib=/usr/lib/python2.6/site-packages

N32

todo

(Use --build-base=buildN32 to segregate architecture-specific build targets.)

64Bit

Compile the package:

USE_ARCH=64 \
python setup.py build --build-base=build64

Install the package:

USE_ARCH=64 \
python setup.py install --hardlink-scons --standard-lib \
   --prefix=/usr --install-purelib=/usr/lib64/python2.6/site-packages

Contents

Installed Directories: /usr/lib{,32,64}/python2.6/site-packages/Scons
Installed Programs: scons, scons-1.2.0, sconsign, sconsign-1.2.0, scons-time, scons-time-1.2.0
Installed Libraries: Many Python modules. See build/lib/Scons.

Short Descriptions

scons
sconsign
scons-time
Retrieved from "?title=Scons&oldid=18780"