mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-12-27 22:14:57 +03:00
63 lines
1.7 KiB
Plaintext
63 lines
1.7 KiB
Plaintext
# If you get compilation errors here, make sure you have xmlrpc-c
|
|
# installed properly, including the abyss server option.
|
|
|
|
import option ;
|
|
import path ;
|
|
if [ option.get "no-xmlrpc-c" : : "yes" ]
|
|
{
|
|
echo "Not building mosesserver." ;
|
|
}
|
|
else
|
|
{
|
|
with-xmlrpc-c = [ option.get "with-xmlrpc-c" ] ;
|
|
if $(with-xmlrpc-c) {
|
|
echo While building mosesserver ... ;
|
|
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ;
|
|
echo "!!! You are linking the XMLRPC-C library; Must be v.1.32 (September 2012) or higher !!!" ;
|
|
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ;
|
|
|
|
build-moses-server = true ;
|
|
xmlrpc-command = $(with-xmlrpc-c)/bin/xmlrpc-c-config ;
|
|
if ! [ path.exists $(xmlrpc-command) ] {
|
|
exit Could not find $(xmlrpc-command) : 1 ;
|
|
}
|
|
} else {
|
|
xmlrpc-check = [ _shell "xmlrpc-c-config --features 2>/dev/null" : exit-status ] ;
|
|
if $(xmlrpc-check[2]) = 0 {
|
|
if [ MATCH "(abyss-server)" : $(xmlrpc-check[1]) ] {
|
|
build-moses-server = true ;
|
|
} else {
|
|
echo "Found xmlrpc-c but it does not have abyss-server. Skipping mosesserver." ;
|
|
}
|
|
}
|
|
xmlrpc-command = "xmlrpc-c-config" ;
|
|
}
|
|
}
|
|
|
|
rule shell_or_die ( cmd ) {
|
|
local ret = [ _shell $(cmd) : exit-status ] ;
|
|
if $(ret[2]) != 0 {
|
|
exit "Failed to run $(cmd)" : 1 ;
|
|
}
|
|
return $(ret[1]) ;
|
|
}
|
|
|
|
|
|
if $(build-moses-server) = true
|
|
{
|
|
xmlrpc-linkflags = [ shell_or_die "$(xmlrpc-command) c++2 abyss-server --libs" ] ;
|
|
xmlrpc-cxxflags = [ shell_or_die "$(xmlrpc-command) c++2 abyss-server --cflags" ] ;
|
|
|
|
exe mosesserver :
|
|
mosesserver.cpp
|
|
../../moses//moses
|
|
../../OnDiskPt//OnDiskPt
|
|
../..//boost_filesystem
|
|
: <linkflags>$(xmlrpc-linkflags) <cxxflags>$(xmlrpc-cxxflags) ;
|
|
|
|
}
|
|
else
|
|
{
|
|
alias mosesserver ;
|
|
}
|