Welcome to mirror list, hosted at ThFree Co, Russian Federation.

Jamroot - github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 8bd85084712404b963c03b58e53c8fb96eb31b1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#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.  
#
#Compact phrase table and compact lexical reordering table
#--with-cmph=/path/to/cmph
#
#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.
#  Does not install if missing.  No argument defaults to PREFIX/scripts .
#--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 preferred linking (default static)
# --static                       forces static linking (the default will fall
#                                back to shared)
#
# 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
#
# --without-libsegfault          does not link with libSegFault
#
# --max-kenlm-order              maximum ngram order that kenlm can process (default 6)
#
#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 ] ;

if [ option.get "with-cmph" ] {
  requirements += <define>HAVE_CMPH ;
}

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-projects lazy mert moses-cmd/src moses-chart-cmd/src scripts regression-testing contrib/relent-filter/src ;

alias programs : lazy/lm//programs moses-chart-cmd/src//moses_chart moses-cmd/src//programs OnDiskPt//CreateOnDiskPt OnDiskPt//queryOnDiskPt mert//programs contrib/server//mosesserver misc//programs symal phrase-extract phrase-extract//lexical-reordering phrase-extract//extract-ghkm phrase-extract//pcfg-extract phrase-extract//pcfg-score biconcor contrib/relent-filter/src//calcDivergence ;

install-bin-libs programs ;
install-headers headers-base : [ path.glob-tree biconcor contrib lm mert misc moses-chart-cmd moses-cmd OnDiskPt phrase-extract symal util : *.hh *.h ] : . ;
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 ;
}

if [ path.exists $(TOP)/dist ] && $(prefix) != dist {
  echo "You have a $(TOP)/dist directory, but the build system now places files directly in the root i.e. $(TOP)/bin ." ;
  echo "To disable this message, delete $(TOP)/dist ." ;
  echo ;
}