mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-09-11 19:27:11 +03:00
118 lines
3.9 KiB
Plaintext
118 lines
3.9 KiB
Plaintext
#BUILDING MOSES
|
|
#
|
|
#PACKAGES
|
|
#Language models (optional):
|
|
#--with-irstlm=/path/to/irstlm
|
|
#--with-srilm=/path/to/srilm See moses/src/LM/Jamfile for more options.
|
|
#--with-randlm=/path/to/randlm
|
|
#KenLM is always compiled.
|
|
#
|
|
#--with-boost=/path/to/boost
|
|
#If Boost is in a non-standard location, specify it here. This directory is
|
|
#expected to contain include and lib or lib64.
|
|
#
|
|
#--with-xmlrpc-c=/path/to/xmlrpc-c for libxmlrpc-c (used by server)
|
|
#Note that, like language models, this is the --prefix where the library was
|
|
#installed, not some executable within the library.
|
|
#
|
|
#--with-giza=/path/to/giza
|
|
#Indicates where binaries GIZA++, snt2cooc.out, and mkcls live.
|
|
#Builds scripts/training/train-model.perl using these paths.
|
|
#
|
|
#Thread-caching malloc (optional):
|
|
#--with-tcmalloc
|
|
#
|
|
#REGRESSION TESTING
|
|
#--with-regtest=/path/to/moses-reg-test-data
|
|
#
|
|
#
|
|
#INSTALLATION
|
|
#--prefix=/path/to/prefix sets the install prefix [default is source root].
|
|
#--bindir=/path/to/prefix/bin sets the bin directory [PREFIX/bin]
|
|
#--libdir=/path/to/prefix/lib sets the lib directory [PREFIX/lib]
|
|
#--includedir=/path/to/prefix/include installs headers.
|
|
# Does not install if missing. No argument defaults to PREFIX/include .
|
|
#--install-scripts=/path/to/scripts copies scripts into a directory.
|
|
#--git appends the git revision to the prefix directory.
|
|
#
|
|
#
|
|
#BUILD OPTIONS
|
|
# By default, the build is multi-threaded, optimized, and statically linked.
|
|
# Pass these to change the build:
|
|
#
|
|
# threading=single|multi controls threading (default multi)
|
|
#
|
|
# variant=release|debug|profile builds optimized (default), for debug, or for
|
|
# profiling
|
|
#
|
|
# link=static|shared controls linking (default static)
|
|
#
|
|
# debug-symbols=on|off include (default) or exclude debugging
|
|
# information also known as -g
|
|
#
|
|
# --notrace compiles without TRACE macros
|
|
#
|
|
# --enable-boost-pool uses Boost pools for the memory SCFG table
|
|
#
|
|
#
|
|
#CONTROLLING THE BUILD
|
|
#-a to build from scratch
|
|
#-j$NCPUS to compile in parallel
|
|
#--clean to clean
|
|
|
|
import option ;
|
|
import modules ;
|
|
import path ;
|
|
path-constant TOP : . ;
|
|
include $(TOP)/jam-files/sanity.jam ;
|
|
|
|
boost 103600 ;
|
|
external-lib z ;
|
|
|
|
if [ option.get "with-tcmalloc" : : "yes" ] {
|
|
external-lib tcmalloc ;
|
|
requirements += <library>tcmalloc ;
|
|
}
|
|
|
|
requirements += [ option.get "notrace" : <define>TRACE_ENABLE=1 ] ;
|
|
requirements += [ option.get "enable-boost-pool" : : <define>USE_BOOST_POOL ] ;
|
|
|
|
project : default-build
|
|
<threading>multi
|
|
<warnings>on
|
|
<debug-symbols>on
|
|
<variant>release
|
|
<link>static
|
|
;
|
|
|
|
project : requirements
|
|
<threading>multi:<define>WITH_THREADS
|
|
<threading>multi:<library>boost_thread
|
|
<define>_FILE_OFFSET_BITS=64 <define>_LARGE_FILES
|
|
$(requirements)
|
|
;
|
|
|
|
#Add directories here if you want their incidental targets too (i.e. tests).
|
|
build-project lm ;
|
|
build-project util ;
|
|
#Trigger instllation into legacy paths.
|
|
build-project mert ;
|
|
build-project moses-cmd/src ;
|
|
build-project moses-chart-cmd/src ;
|
|
#Scripts have their own binaries.
|
|
build-project scripts ;
|
|
#Regression tests (only does anything if --with-regtest is passed)
|
|
build-project regression-testing ;
|
|
|
|
alias programs : lm//query lm//build_binary moses-chart-cmd/src//moses_chart moses-cmd/src//programs OnDiskPt//CreateOnDiskPt OnDiskPt//queryOnDiskPt mert//programs contrib/server//mosesserver misc//programs symal scripts//training//lexical-reordering phrase-extract phrase-extract//extract-ghkm phrase-extract//pcfg-extract phrase-extract//pcfg-score ;
|
|
|
|
install-bin-libs programs ;
|
|
install-headers headers-base : [ glob-tree *.h *.hh : jam-files dist bin lib include kenlm moses ] : . ;
|
|
install-headers headers-moses : moses/src//headers-to-install : moses/src ;
|
|
|
|
alias install : prefix-bin prefix-lib headers-base headers-moses ;
|
|
|
|
if ! [ option.get "includedir" : : $(prefix)/include ] {
|
|
explicit install headers-base headers-moses ;
|
|
}
|