📄 configure.in
字号:
AC_ARG_WITH(sctp-lib, [--with-sctp-lib=path - specify path to sctp lib directory],if test "${with_sctp_lib}" != "yes" -a "${with_sctp_lib}" != "no" ; then LDFLAGS="$LDFLAGS -L${with_sctp_lib}"fi,)if test "${nemesis_network}" == "sctp" ; then AC_CHECK_HEADER([netinet/sctp.h], , [ AC_MSG_ERROR(['sctp.h not found. Did you specify --with-sctp= or --with-sctp-include=?']) ]) AC_CHECK_LIB(sctp, sctp_recvmsg, , [ AC_MSG_ERROR(['sctp library not found. Did you specify --with-sctp= or --with-sctp-lib=?']) ])fi;AC_ARG_WITH(psm, [--with-psm=path - specify path where psm include directory and lib directory can be found],if test "${with_psm}" != "yes" -a "${with_psm}" != "no" ; then LDFLAGS="$LDFLAGS -L${with_psm}/lib64 -L${with_psm}/lib" CPPFLAGS="$CPPFLAGS -I${with_psm}/include"fi,)AC_ARG_WITH(psm-include, [--with-psm-include=path - specify path to psm include directory],if test "${with_psm_include}" != "yes" -a "${with_psm_include}" != "no" ; then CPPFLAGS="$CPPFLAGS -I${with_psm_include}"fi,)AC_ARG_WITH(psm-lib, [--with-psm-lib=path - specify path to psm lib directory],if test "${with_psm_lib}" != "yes" -a "${with_psm_lib}" != "no" ; then LDFLAGS="$LDFLAGS -L${with_psm_lib}"fi,)if test "${nemesis_network}" == "psm" ; then AC_CHECK_HEADER([psm.h], , [ AC_MSG_ERROR(['psm.h not found. Did you specify --with-psm= or --with-psm-include=?']) ]) AC_CHECK_LIB(psm_infinipath, psm_init, , [ AC_MSG_ERROR(['psm_infinipath library not found. Did you specify --with-psm= or --with-psm-lib=?']) ])fi;case "${nemesis_network}" in elan ) AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_ELAN_MODULE, [Choose elan, gm, mx, tcp, sctp, ib, psm, or no network]) ;; gm ) AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_GM_MODULE, [Choose elan, gm, mx, tcp, sctp, ib, psm, or no network]) ;; mx ) AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_MX_MODULE, [Choose elan, gm, mx, tcp, sctp, ib, psm, or no network]) ;; tcp ) AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_TCP_MODULE, [Choose elan, gm, mx, tcp, sctp, ib, psm, or no network]) ;; newtcp ) AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_NEWTCP_MODULE, [Choose elan, gm, mx, tcp, sctp, ib, psm, or no network]) ;; sctp ) AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_SCTP_MODULE, [Choose elan, gm, mx, tcp, sctp, ib, psm, or no network]) ;; ib ) AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_IB_MODULE, [Choose elan, gm, mx, tcp, sctp, ib, psm, or no network]) ;; psm ) AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_PSM_MODULE, [Choose elan, gm, mx, tcp, sctp, ib, psm, or no network]) ;; * ) AC_DEFINE(MPID_NEM_NET_MODULE, MPID_NEM_NO_MODULE, [Choose elan, gm, mx, tcp, sctp, ib, psm, or no network]) ;;esacAC_ARG_ENABLE(nemesis-dbg-nolocal, [--enable-nemesis-dbg-nolocal - enables debugging mode where shared-memory communication is disabled], AC_DEFINE(ENABLED_NO_LOCAL, 1, [Define to disable shared-memory communication for debugging]))AC_ARG_ENABLE(nemesis-dbg-localoddeven, [--enable-nemesis-dbg-localoddeven - enables debugging mode where shared-memory communication is enabled only between even processes or odd processes on a node], AC_DEFINE(ENABLED_ODD_EVEN_CLIQUES, 1, [Define to enable debugging mode where shared-memory communication is done only between even procs or odd procs]))AC_ARG_WITH(papi, [--with-papi[=path] - specify path where papi include and lib directories can be found],, with_papi=no)if test "${with_papi}" != "no" ; then if test "${with_papi}" != "yes" ; then PAPI_INCLUDE="-I${with_papi}/include" CPPFLAGS="$CPPFLAGS $PAPI_INCLUDE"# LDFLAGS="$LDFLAGS -L${with_papi}/lib" LIBS="${with_papi}/lib/libpapi.a $LIBS" LIBS="${with_papi}/lib/libperfctr.a $LIBS" fi AC_CHECK_HEADER([papi.h], , [AC_MSG_ERROR(['papi.h not found in ${with_papi}/include. Did you specify the correct path with --with-papi=?'])]) echo -n "checking for papi libraries... " AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <papi.h>]], [[PAPI_library_init(PAPI_VER_CURRENT);]])], [echo "yes"], [echo "yes" ; AC_MSG_ERROR(['Cannot link with papi: Cannot find ${with_papi}/lib/libpapi.a or ${with_papi}/lib/libperfctr.a'])])# AC_CHECK_LIB(papi, PAPI_accum, , [AC_MSG_ERROR(['papi library not found. Did you specify --with-papi=?'])])# AC_CHECK_LIB(perfctr, perfctr_info, , [AC_MSG_ERROR(['perfctr library not found. Did you specify --with-papi=?'])])fiAC_ARG_ENABLE(checkpointing, [--enable-checkpointing - enable checkpointing],, enable_checkpointing=no)AC_ARG_WITH(ckpt-dir, [--with-ckpt-dir=path - (checkpointing) specify path to ckpt directory],, with_ckpt_dir=no)AC_ARG_WITH(cli-dir, [--with-cli-dir=path - (checkpointing) specify path to cli directory],, with_cli_dir=no)if test "$enable_checkpointing" != "no" ; then if test "$with_ckpt_dir" != "no" ; then CPPFLAGS="$CPPFLAGS -I${with_ckpt_dir}" LDFLAGS="$LDFLAGS -L${with_ckpt_dir} -Wl,-rpath,${with_ckpt_dir}" fi if test "$with_cli_dir" != "no" ; then CPPFLAGS="$CPPFLAGS -I${with_cli_dir}" LDFLAGS="$LDFLAGS -L${with_cli_dir}" fi AC_CHECK_HEADER([cli.h], , [AC_MSG_ERROR(['cli.h not found. Did you specify --with-cli-dir=?'])]) AC_CHECK_LIB(cli, cli_init, , [AC_MSG_ERROR(['cli library not found. Did you specify --with-cli-dir=?'])], -lckpt) AC_CHECK_HEADER([ckpt.h], , [AC_MSG_ERROR(['ckpt.h not found. Did you specify --with-ckpt-dir=?'])]) AC_CHECK_LIB(ckpt, ckpt_init, , [AC_MSG_ERROR(['ckpt library not found. Did you specify --with-ckpt-dir=?'])]) AC_DEFINE(ENABLED_CHECKPOINTING, 1, [Define to enable nemesis checkpointing])fi# handle missing mkstemp, or missing mkstemp declarationAC_CHECK_FUNCS(mkstemp)AC_CHECK_FUNCS(rand)AC_CHECK_FUNCS(srand)# check how to allocate shared memoryAC_ARG_WITH(shared-memory, [--with-shared-memory[=auto|sysv|mmap] - create shared memory using sysv or mmap (default is auto)],, with_shared_memory=auto)if test "$with_shared_memory" = auto -o "$with_shared_memory" = mmap; then found_mmap_funcs=yes AC_CHECK_FUNCS(mmap munmap, , found_mmap_funcs=no) if test "$found_mmap_funcs" = yes ; then with_shared_memory=mmap AC_MSG_NOTICE([Using a memory-mapped file for shared memory]) elif test "$with_shared_memory" = mmap ; then AC_MSG_ERROR([cannot support shared memory: mmap() or munmap() not found]) fifiif test "$with_shared_memory" = auto -o "$with_shared_memory" = sysv; then found_sysv_shm_funcs=yes AC_CHECK_FUNCS(shmget shmat shmctl shmdt, , found_sysv_shm_funcs=no) if test "$found_sysv_shm_funcs" = yes ; then AC_DEFINE(HAVE_SYSV_SHARED_MEM,1,[Define if we have sysv shared memory]) AC_MSG_NOTICE([Using SYSV shared memory]) elif test "$with_shared_memory" = sysv ; then AC_MSG_ERROR([cannot support shared memory: sysv shared memory functions functions not found]) else AC_MSG_ERROR([cannot support shared memory: need either sysv shared memory functions or mmap in order to support shared memory]) fifiif test "$found_sysv_shm_funcs" = yes ; then AC_CHECK_FUNCS(strtoll, , AC_MSG_ERROR([cannot find strtoll function needed by sysv shared memory implementation]))fiAC_ARG_ENABLE(nemesis-shm-collectives, [--enable-nemesis-shm-collectives - enables use of shared memory for collective comunication within a node], AC_DEFINE(ENABLED_SHM_COLLECTIVES, 1, [Define to enable shared-memory collectives]))# These are defines to turn on different optimizations. Turn them off only for testingAC_DEFINE(MPID_NEM_INLINE,1,[Define to turn on the inlining optimizations in Nemesis code])AC_DEFINE(PREFETCH_CELL,1,[Define to turn on the prefetching optimization in Nemesis code]) AC_DEFINE(USE_FASTBOX,1,[Define to use the fastboxes in Nemesis code]) # We may need this only for tcp and related netmodules# Check for h_addr or h_addr_listAC_CACHE_CHECK([whether struct hostent contains h_addr_list],pac_cv_have_haddr_list,[AC_TRY_COMPILE([#include <netdb.h>],[struct hostent hp;hp.h_addr_list[0]=0;],pac_cv_have_haddr_list=yes,pac_cv_have_haddr_list=no)])if test "$pac_cv_have_haddr_list" = "yes" ; then AC_DEFINE(HAVE_H_ADDR_LIST,1,[Define if struct hostent contains h_addr_list])fi# Check for memory atomic instructionsPAC_C_MEMATOMICAC_SUBST(device_name)AC_SUBST(channel_name)AC_SUBST(nemesis_network)AC_SUBST(mmx_copy_s)AC_SUBST(PAPI_INCLUDE)AC_SUBST(AS, [as])AC_SUBST(AR)AC_SUBST(RANLIB)AC_SUBST(MPILIBNAME)AC_SUBST(CC)AC_SUBST(CFLAGS)AC_SUBST(CPPFLAGS)PAC_CC_SUBDIR_SHLIBSAC_SUBST(master_top_srcdir)AC_SUBST(master_top_builddir)dnldnl Dependency handlingAC_SUBST(MAKE_DEPEND_C)# Add the MPICH2 include flags to CPPFLAGS. See the discussion above about# which include flags should start in MPICH2_INCLUDE_FLAGS and which in # CPPFLAGSCPPFLAGS="$CPPFLAGS $MPICH2_INCLUDE_FLAGS"dnl Place holder macro for finalizationPAC_SUBCONFIG_FINALIZE()AC_OUTPUT(Makefile src/Makefile nemesis/Makefile nemesis/src/Makefile nemesis/utils/Makefile nemesis/utils/replacements/Makefile nemesis/utils/monitor/Makefile nemesis/net_mod/Makefile nemesis/net_mod/elan_module/Makefile nemesis/net_mod/gm_module/Makefile nemesis/net_mod/mx_module/Makefile nemesis/net_mod/tcp_module/Makefile nemesis/net_mod/newtcp_module/Makefile nemesis/net_mod/sctp_module/Makefile nemesis/net_mod/ib_module/Makefile nemesis/net_mod/psm_module/Makefile nemesis/net_mod/none_module/Makefile localdefs)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -