# 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 : $(xmlrpc-linkflags) $(xmlrpc-cxxflags) ; } else { alias mosesserver ; }