From e138a93ec7706d903cdadbfdf7afc157f4394f00 Mon Sep 17 00:00:00 2001 From: Bo Peng Date: Mon, 30 Jul 2007 16:07:07 +0000 Subject: [PATCH] SCons: allow linking SConstruct to lyx top source directory because I am tired of typing development/scons/SConstrct again and again git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_5_X@19244 a592a061-630c-0410-9148-cb99ea01b6c8 --- INSTALL.scons | 3 +++ development/scons/SConstruct | 26 +++++++++++++++++--------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/INSTALL.scons b/INSTALL.scons index f8b5757099..6376e2f6d0 100644 --- a/INSTALL.scons +++ b/INSTALL.scons @@ -61,6 +61,9 @@ file: > mkdir build > cd build > scons -f ../development/scons/SConstruct frontend=qt4 all +If you are tired of typing development/scons/SConstruct, you can link +development/scons/SConstruct to the top source directory and use this +SConstruct file. There are three types of command line options: * key=value are user options. They are used to tell scons which diff --git a/development/scons/SConstruct b/development/scons/SConstruct index c4cab67f10..18e8617c4c 100644 --- a/development/scons/SConstruct +++ b/development/scons/SConstruct @@ -14,6 +14,23 @@ import os, sys, copy, cPickle, glob, time +# determine where I am ... +# +from SCons.Node.FS import default_fs +# default_fs.SConstruct_dir is where SConstruct file is located. +scons_dir = default_fs.SConstruct_dir.path +scons_absdir = default_fs.SConstruct_dir.abspath + +# if SConstruct is copied to the top source directory +if os.path.exists(os.path.join(scons_dir, 'development', 'scons', 'scons_manifest.py')): + scons_dir = os.path.join(scons_dir, 'development', 'scons') + scons_absdir = os.path.join(scons_absdir, 'development', 'scons') +# get the ../.. of scons_dir +top_src_dir = os.path.split(os.path.split(scons_absdir)[0])[0] + +sys.path.extend([scons_absdir, os.path.join(top_src_dir, 'lib', 'doc')]) +import depend + # scons_utils.py defines a few utility function import scons_utils as utils # import all file lists @@ -34,15 +51,6 @@ if version[0] == 0 and version[1] == 96 and version[2] < 92: print "Scons >= 0.96.92 is required." Exit(1) -# determine where I am ... -# -from SCons.Node.FS import default_fs -# default_fs.SConstruct_dir is where SConstruct file is located. -scons_dir = default_fs.SConstruct_dir.path -# get the ../.. of scons_dir -top_src_dir = os.path.split(os.path.split(default_fs.SConstruct_dir.abspath)[0])[0] -sys.path.append(os.path.join(top_src_dir, 'lib', 'doc')) -import depend #---------------------------------------------------------- # Global definitions