mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-12-27 22:14:57 +03:00
3172abca21
git-svn-id: https://mosesdecoder.svn.sourceforge.net/svnroot/mosesdecoder/trunk@1990 1f5c12ca-751b-0410-a591-d2e778427230
236 lines
5.9 KiB
Plaintext
236 lines
5.9 KiB
Plaintext
AC_PREREQ(2.52)
|
|
AC_INIT(lmserver, 1.0)
|
|
AC_CANONICAL_SYSTEM
|
|
AC_CONFIG_SRCDIR(lmserver.c)
|
|
AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
|
|
AM_CONFIG_HEADER(config.h)
|
|
|
|
AC_PROG_CC
|
|
AC_PROG_CXX
|
|
AM_PROG_CC_C_O
|
|
AC_PROG_INSTALL
|
|
|
|
AC_ARG_WITH(srilm,
|
|
[AC_HELP_STRING([--with-srilm=PATH], [(optional) path to SRI's LM toolkit])],
|
|
[with_srilm=$withval],
|
|
[with_srilm=no]
|
|
)
|
|
|
|
AC_ARG_ENABLE(64bit,
|
|
[AS_HELP_STRING([--enable-64bit],[build 64bit verison])])
|
|
if test "x$enable_64bit" == "xyes"
|
|
then
|
|
org_cflags=$CFLAGS
|
|
CFLAGS=-m64
|
|
AC_RUN_IFELSE(
|
|
[AC_LANG_PROGRAM([], [dnl
|
|
return sizeof(void*) == 8 ? 0 : 1;
|
|
])
|
|
],[
|
|
CFLAGS="-m64 $org_cflags"
|
|
],[
|
|
AC_MSG_ERROR([Don't know how to build a 64-bit object.])
|
|
])
|
|
fi
|
|
|
|
trylibeventdir=""
|
|
AC_ARG_WITH(libevent,
|
|
[ --with-libevent=PATH Specify path to libevent installation ],
|
|
[
|
|
if test "x$withval" != "xno" ; then
|
|
trylibeventdir=$withval
|
|
fi
|
|
]
|
|
)
|
|
|
|
if test "x$with_srilm" != 'xno'
|
|
then
|
|
SAVE_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS -I${with_srilm}/include"
|
|
|
|
AC_CHECK_HEADER(Prob.h,
|
|
[AC_DEFINE([HAVE_SRILM], [], [flag for SRILM])],
|
|
[AC_MSG_ERROR([Cannot find SRILM!])])
|
|
|
|
LIB_SRILM="-loolm -ldstruct -lmisc"
|
|
# ROOT/lib/i686-m64/liboolm.a
|
|
# ROOT/lib/i686-m64/libdstruct.a
|
|
# ROOT/lib/i686-m64/libmisc.a
|
|
MY_ARCH=`${with_srilm}/sbin/machine-type`
|
|
LDFLAGS="$LDFLAGS -L${with_srilm}/lib/${MY_ARCH}"
|
|
LIBS="$LIBS $LIB_SRILM"
|
|
FMTLIBS="$FMTLIBS liboolm.a libdstruct.a libmisc.a"
|
|
AM_CONDITIONAL([SRI_LM], true)
|
|
fi
|
|
|
|
|
|
dnl ------------------------------------------------------
|
|
dnl libevent detection. swiped from Tor. modified a bit.
|
|
|
|
LIBEVENT_URL=http://www.monkey.org/~provos/libevent/
|
|
|
|
AC_CACHE_CHECK([for libevent directory], ac_cv_libevent_dir, [
|
|
saved_LIBS="$LIBS"
|
|
saved_LDFLAGS="$LDFLAGS"
|
|
saved_CPPFLAGS="$CPPFLAGS"
|
|
le_found=no
|
|
for ledir in $trylibeventdir "" $prefix /usr/local ; do
|
|
LDFLAGS="$saved_LDFLAGS"
|
|
LIBS="$saved_LIBS -levent"
|
|
|
|
# Skip the directory if it isn't there.
|
|
if test ! -z "$ledir" -a ! -d "$ledir" ; then
|
|
continue;
|
|
fi
|
|
if test ! -z "$ledir" ; then
|
|
if test -d "$ledir/lib" ; then
|
|
LDFLAGS="-L$ledir/lib $LDFLAGS"
|
|
else
|
|
LDFLAGS="-L$ledir $LDFLAGS"
|
|
fi
|
|
if test -d "$ledir/include" ; then
|
|
CPPFLAGS="-I$ledir/include $CPPFLAGS"
|
|
else
|
|
CPPFLAGS="-I$ledir $CPPFLAGS"
|
|
fi
|
|
fi
|
|
# Can I compile and link it?
|
|
AC_TRY_LINK([#include <sys/time.h>
|
|
#include <sys/types.h>
|
|
#include <event.h>], [ event_init(); ],
|
|
[ libevent_linked=yes ], [ libevent_linked=no ])
|
|
if test $libevent_linked = yes; then
|
|
if test ! -z "$ledir" ; then
|
|
ac_cv_libevent_dir=$ledir
|
|
else
|
|
ac_cv_libevent_dir="(system)"
|
|
fi
|
|
le_found=yes
|
|
break
|
|
fi
|
|
done
|
|
LIBS="$saved_LIBS"
|
|
LDFLAGS="$saved_LDFLAGS"
|
|
CPPFLAGS="$saved_CPPFLAGS"
|
|
if test $le_found = no ; then
|
|
AC_MSG_ERROR([libevent is required. You can get it from $LIBEVENT_URL
|
|
|
|
If it's already installed, specify its path using --with-libevent=/dir/
|
|
])
|
|
fi
|
|
])
|
|
LIBS="$LIBS -levent"
|
|
if test $ac_cv_libevent_dir != "(system)"; then
|
|
if test -d "$ac_cv_libevent_dir/lib" ; then
|
|
LDFLAGS="-L$ac_cv_libevent_dir/lib $LDFLAGS"
|
|
le_libdir="$ac_cv_libevent_dir/lib"
|
|
else
|
|
LDFLAGS="-L$ac_cv_libevent_dir $LDFLAGS"
|
|
le_libdir="$ac_cv_libevent_dir"
|
|
fi
|
|
if test -d "$ac_cv_libevent_dir/include" ; then
|
|
CPPFLAGS="-I$ac_cv_libevent_dir/include $CPPFLAGS"
|
|
else
|
|
CPPFLAGS="-I$ac_cv_libevent_dir $CPPFLAGS"
|
|
fi
|
|
fi
|
|
|
|
dnl ----------------------------------------------------------------------------
|
|
|
|
AC_SEARCH_LIBS(socket, socket)
|
|
AC_SEARCH_LIBS(gethostbyname, nsl)
|
|
AC_SEARCH_LIBS(mallinfo, malloc)
|
|
|
|
AC_CHECK_FUNC(daemon,AC_DEFINE([HAVE_DAEMON],,[Define this if you have daemon()]),[DAEMON_OBJ=daemon.o])
|
|
AC_SUBST(DAEMON_OBJ)
|
|
|
|
AC_HEADER_STDBOOL
|
|
AC_C_CONST
|
|
AC_CHECK_HEADER(malloc.h, AC_DEFINE(HAVE_MALLOC_H,,[do we have malloc.h?]))
|
|
AC_CHECK_MEMBER([struct mallinfo.arena], [
|
|
AC_DEFINE(HAVE_STRUCT_MALLINFO,,[do we have stuct mallinfo?])
|
|
], ,[
|
|
# include <malloc.h>
|
|
]
|
|
)
|
|
|
|
dnl From licq: Copyright (c) 2000 Dirk Mueller
|
|
dnl Check if the type socklen_t is defined anywhere
|
|
AC_DEFUN([AC_C_SOCKLEN_T],
|
|
[AC_CACHE_CHECK(for socklen_t, ac_cv_c_socklen_t,
|
|
[
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
],[
|
|
socklen_t foo;
|
|
],[
|
|
ac_cv_c_socklen_t=yes
|
|
],[
|
|
ac_cv_c_socklen_t=no
|
|
])
|
|
])
|
|
if test $ac_cv_c_socklen_t = no; then
|
|
AC_DEFINE(socklen_t, int, [define to int if socklen_t not available])
|
|
fi
|
|
])
|
|
|
|
AC_C_SOCKLEN_T
|
|
|
|
dnl Check if we're a little-endian or a big-endian system, needed by hash code
|
|
AC_DEFUN([AC_C_ENDIAN],
|
|
[AC_CACHE_CHECK(for endianness, ac_cv_c_endian,
|
|
[
|
|
AC_RUN_IFELSE(
|
|
[AC_LANG_PROGRAM([], [dnl
|
|
long val = 1;
|
|
char *c = (char *) &val;
|
|
exit(*c == 1);
|
|
])
|
|
],[
|
|
ac_cv_c_endian=big
|
|
],[
|
|
ac_cv_c_endian=little
|
|
])
|
|
])
|
|
if test $ac_cv_c_endian = big; then
|
|
AC_DEFINE(ENDIAN_BIG, 1, [machine is bigendian])
|
|
fi
|
|
if test $ac_cv_c_endian = little; then
|
|
AC_DEFINE(ENDIAN_LITTLE, 1, [machine is littleendian])
|
|
fi
|
|
])
|
|
|
|
AC_C_ENDIAN
|
|
|
|
dnl Check whether the user wants threads or not
|
|
AC_ARG_ENABLE(threads,
|
|
[AS_HELP_STRING([--enable-threads],[support multithreaded execution])])
|
|
if test "x$enable_threads" == "xyes"; then
|
|
AC_SEARCH_LIBS(pthread_create, pthread)
|
|
if test "x$ac_cv_search_pthread_create" != "xno"; then
|
|
AC_DEFINE([USE_THREADS],,[Define this if you want to use pthreads])
|
|
dnl Sun compilers need the -mt flag!
|
|
AC_RUN_IFELSE(
|
|
[AC_LANG_PROGRAM([], [dnl
|
|
#ifdef __SUNPRO_C
|
|
return 0;
|
|
#else
|
|
return 1;
|
|
#endif
|
|
])
|
|
],[
|
|
CFLAGS="-mt $CFLAGS"
|
|
])
|
|
else
|
|
AC_MSG_ERROR([Can't enable threads without the POSIX thread library.])
|
|
fi
|
|
fi
|
|
|
|
AC_CHECK_FUNCS(mlockall)
|
|
AC_CHECK_FUNCS(getpagesizes)
|
|
AC_CHECK_FUNCS(memcntl)
|
|
|
|
AC_CONFIG_FILES(Makefile)
|
|
AC_OUTPUT
|