mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 21:21:32 +00:00
Scons: can now be executed from any directory
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16303 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
dd586e2953
commit
3023f93593
@ -56,8 +56,11 @@ The scons system resides under development/scons. You can invoke it from
|
||||
either development/scons by, for example:
|
||||
> cd development/scons
|
||||
> scons frontend=qt4 qt_dir=d:/qt4 -j3 lyx
|
||||
or from top source directory by:
|
||||
> scons -f development/scons/SConstruct frontend=qt4 all
|
||||
or from any other directory and use -f option to point to the SConstruct
|
||||
file:
|
||||
> mkdir build
|
||||
> cd build
|
||||
> scons -f ../development/scons/SConstruct frontend=qt4 all
|
||||
|
||||
There are three types of command line options:
|
||||
* key=value are user options. They are used to tell scons which
|
||||
@ -104,8 +107,6 @@ Paths: Most of them will be probed if not specified.
|
||||
|
||||
Convenience options:
|
||||
|
||||
* fast_start=yes/no: if true, bypass initial configuration step and use
|
||||
existing src/config.h
|
||||
* load_option=yes/no/opt1,opt2/-opt1,opt2: if true, load previously saved
|
||||
command line options so you can run 'scons install' directly after a
|
||||
long 'scons all' building command. You can load selected options using
|
||||
@ -122,7 +123,7 @@ Installation options:
|
||||
* prefix: directory where lyx will be installed
|
||||
* exec_dir: directory where lyx binaries will be installed.
|
||||
Default to $prefix/bin
|
||||
* dest_dir: if specified, install to this directory instead of $prefix.
|
||||
* DESTDIR: if specified, install to this directory instead of $prefix.
|
||||
* version_suffix=yes/no/something : if specified, this suffix will be
|
||||
appended to the user data directory.
|
||||
|
||||
@ -156,7 +157,6 @@ directory structure is:
|
||||
$build_dir
|
||||
- common: most of the intermediate files, mostly object files
|
||||
- libs: all static libraries
|
||||
- qt4 etc: lyx executable built with the frontend
|
||||
- executables: lyxclient, tex2lyx, lyx
|
||||
|
||||
MSVS projects will be put to development/scons (and you should invoke
|
||||
@ -176,9 +176,7 @@ A typical working sequence:
|
||||
(working on lyx_main.C, so only need to rebuild lyxbase)
|
||||
> scons
|
||||
(build again, only lyxbase will be rebuilt)
|
||||
> scons fast_start=no --config=force
|
||||
(need to regenerate src/config.h)
|
||||
> scons prefix=/usr/site dest_dir=/install/dir
|
||||
> scons prefix=/usr/site DESTDIR=/install/dir
|
||||
(lyx is built for /usr/site, but install to /install/dir)
|
||||
|
||||
|
||||
|
@ -37,20 +37,11 @@ if version[0] == 0 and version[1] == 96 and version[2] < 92:
|
||||
|
||||
# determine where I am ...
|
||||
#
|
||||
# called as 'cd development/scons; scons'
|
||||
if os.path.isfile('SConstruct'):
|
||||
top_src_dir = '../..'
|
||||
scons_dir = '.'
|
||||
# called as 'scons -f development/scons/SConstruct'
|
||||
elif os.path.isfile('configure.ac'):
|
||||
top_src_dir = '.'
|
||||
scons_dir = 'development/scons'
|
||||
else:
|
||||
print "scons can only be called from top source directory, with command:"
|
||||
print " $ scons -f development/scons/SConstruct [other options]"
|
||||
print "or from development/scons, with command:"
|
||||
print " $ scons [options]"
|
||||
Exit(1)
|
||||
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]
|
||||
|
||||
|
||||
#----------------------------------------------------------
|
||||
@ -1857,7 +1848,7 @@ if build_lyx:
|
||||
# Build lyx with given frontend
|
||||
#
|
||||
lyx = env.Program(
|
||||
target = '$BUILDDIR/$frontend/lyx',
|
||||
target = '$BUILDDIR/lyx',
|
||||
source = ['$BUILDDIR/common/main.C'],
|
||||
LIBS = [
|
||||
'lyxbase_pre',
|
||||
@ -1879,7 +1870,7 @@ if build_lyx:
|
||||
Alias('lyx', lyx)
|
||||
else:
|
||||
# define lyx even if lyx is not built with rebuild=no
|
||||
lyx = [env.subst('$BUILDDIR/$frontend/${PROGPREFIX}lyx$PROGSUFFIX')]
|
||||
lyx = [env.subst('$BUILDDIR/${PROGPREFIX}lyx$PROGSUFFIX')]
|
||||
|
||||
|
||||
if build_msvs_projects:
|
||||
@ -1980,7 +1971,7 @@ if build_msvs_projects:
|
||||
['$TOP_SRCDIR/src/frontends/qt4/%s' % x for x in src_frontends_qt4_header_files],
|
||||
res = ['$TOP_SRCDIR/src/frontends/qt4/ui/%s' % x for x in src_frontends_qt4_ui_files],
|
||||
rebuildTargetOnly = False,
|
||||
full_target = File(env.subst('$BUILDDIR/$frontend/lyx$PROGSUFFIX')).abspath)
|
||||
full_target = File(env.subst('$BUILDDIR/lyx$PROGSUFFIX')).abspath)
|
||||
|
||||
|
||||
if build_po:
|
||||
|
Loading…
Reference in New Issue
Block a user