X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lnet%2Fautoconf%2Flustre-lnet.m4;h=23605c82e96776eaf482c0a49c63d65742622165;hp=a80dbbc8a505cab2638b9b2781f251a8c9fc59a3;hb=e8ec67ef7e50f17d3435d56dbb0e8e5daa0aea7b;hpb=94826b0b523062a0dff8274e549a2fb25fa314a6 diff --git a/lnet/autoconf/lustre-lnet.m4 b/lnet/autoconf/lustre-lnet.m4 index a80dbbc..23605c8 100644 --- a/lnet/autoconf/lustre-lnet.m4 +++ b/lnet/autoconf/lustre-lnet.m4 @@ -463,7 +463,6 @@ if test $ENABLEO2IB -eq 0; then AC_MSG_RESULT([disabled]) else o2ib_found=false - for O2IBPATH in $O2IBPATHS; do if test \( -f ${O2IBPATH}/include/rdma/rdma_cm.h -a \ -f ${O2IBPATH}/include/rdma/ib_cm.h -a \ @@ -471,9 +470,8 @@ else -f ${O2IBPATH}/include/rdma/ib_fmr_pool.h \); then o2ib_found=true break - fi + fi done - if ! $o2ib_found; then AC_MSG_RESULT([no]) case $ENABLEO2IB in @@ -514,102 +512,102 @@ else fi fi if $o2ib_found; then - O2IBCPPFLAGS="-I$O2IBPATH/include" - EXTRA_KCFLAGS_save="$EXTRA_KCFLAGS" - EXTRA_KCFLAGS="$EXTRA_KCFLAGS $O2IBCPPFLAGS" - EXTRA_LNET_INCLUDE="$O2IBCPPFLAGS $EXTRA_LNET_INCLUDE" - LB_LINUX_TRY_COMPILE([ - #include - #include - #if !HAVE_GFP_T - typedef int gfp_t; - #endif - #include - #include - #include - #include - ],[ - struct rdma_cm_id *cm_id; - struct rdma_conn_param conn_param; - struct ib_device_attr device_attr; - struct ib_qp_attr qp_attr; - struct ib_pool_fmr pool_fmr; - enum ib_cm_rej_reason rej_reason; - - cm_id = rdma_create_id(NULL, NULL, RDMA_PS_TCP); - return PTR_ERR(cm_id); - ],[ - AC_MSG_RESULT([yes]) - O2IBLND="o2iblnd" - ],[ - AC_MSG_RESULT([no]) - case $ENABLEO2IB in - 1) ;; - 2) AC_MSG_ERROR([can't compile with kernel OpenIB gen2 headers]);; - 3) AC_MSG_ERROR([can't compile with OpenIB gen2 headers under $O2IBPATH]);; - *) AC_MSG_ERROR([internal error]);; - esac - O2IBLND="" - O2IBCPPFLAGS="" - ]) - # we know at this point that the found OFED source is good - O2IB_SYMVER="" - if test $ENABLEO2IB -eq 3 ; then - # OFED default rpm not handle sles10 Modules.symvers name - for name in Module.symvers Modules.symvers; do - if test -f $O2IBPATH/$name; then - O2IB_SYMVER=$name; - break; + O2IBCPPFLAGS="-I$O2IBPATH/include" + EXTRA_KCFLAGS_save="$EXTRA_KCFLAGS" + EXTRA_KCFLAGS="$EXTRA_KCFLAGS $O2IBCPPFLAGS" + EXTRA_LNET_INCLUDE="$O2IBCPPFLAGS $EXTRA_LNET_INCLUDE" + LB_LINUX_TRY_COMPILE([ + #include + #include + #if !HAVE_GFP_T + typedef int gfp_t; + #endif + #include + #include + #include + #include + ],[ + struct rdma_cm_id *cm_id; + struct rdma_conn_param conn_param; + struct ib_device_attr device_attr; + struct ib_qp_attr qp_attr; + struct ib_pool_fmr pool_fmr; + enum ib_cm_rej_reason rej_reason; + + cm_id = rdma_create_id(NULL, NULL, RDMA_PS_TCP); + return PTR_ERR(cm_id); + ],[ + AC_MSG_RESULT([yes]) + O2IBLND="o2iblnd" + ],[ + AC_MSG_RESULT([no]) + case $ENABLEO2IB in + 1) ;; + 2) AC_MSG_ERROR([can't compile with kernel OpenIB gen2 headers]);; + 3) AC_MSG_ERROR([can't compile with OpenIB gen2 headers under $O2IBPATH]);; + *) AC_MSG_ERROR([internal error]);; + esac + O2IBLND="" + O2IBCPPFLAGS="" + ]) + # we know at this point that the found OFED source is good + O2IB_SYMVER="" + if test $ENABLEO2IB -eq 3 ; then + # OFED default rpm not handle sles10 Modules.symvers name + for name in Module.symvers Modules.symvers; do + if test -f $O2IBPATH/$name; then + O2IB_SYMVER=$name; + break; + fi + done + if test -n $O2IB_SYMVER ; then + AC_MSG_NOTICE([adding $O2IBPATH/$O2IB_SYMVER to $PWD/$SYMVERFILE]) + # strip out the existing symbols versions first + egrep -v $(echo $(awk '{ print $2 }' $O2IBPATH/$O2IB_SYMVER) | tr ' ' '|') $PWD/$SYMVERFILE > $PWD/$SYMVERFILE.old + cat $PWD/$SYMVERFILE.old $O2IBPATH/$O2IB_SYMVER > $PWD/$SYMVERFILE + else + AC_MSG_ERROR([an external source tree was specified for o2iblnd however I could not find a $O2IBPATH/Module.symvers there]) fi - done - if test -n $O2IB_SYMVER ; then - AC_MSG_NOTICE([adding $O2IBPATH/$O2IB_SYMVER to $PWD/$SYMVERFILE]) - # strip out the existing symbols versions first - egrep -v $(echo $(awk '{ print $2 }' $O2IBPATH/$O2IB_SYMVER) | tr ' ' '|') $PWD/$SYMVERFILE > $PWD/$SYMVERFILE.old - cat $PWD/$SYMVERFILE.old $O2IBPATH/$O2IB_SYMVER > $PWD/$SYMVERFILE - else - AC_MSG_ERROR([an external source tree was specified for o2iblnd however I could not find a $O2IBPATH/Module.symvers there]) fi - fi - LB_LINUX_TRY_COMPILE([ - #include - #include - #if !HAVE_GFP_T - typedef int gfp_t; - #endif - #include - ],[ - ib_dma_map_single(NULL, NULL, 0, 0); - return 0; - ],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_OFED_IB_DMA_MAP, 1, - [ib_dma_map_single defined]) - ],[ - AC_MSG_RESULT(NO) - ]) - - LB_LINUX_TRY_COMPILE([ - #include - #include - #if !HAVE_GFP_T - typedef int gfp_t; - #endif - #include - ],[ - ib_create_cq(NULL, NULL, NULL, NULL, 0, 0); - return 0; - ],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_OFED_IB_COMP_VECTOR, 1, - [has completion vector]) - ],[ - AC_MSG_RESULT(NO) - ]) - - EXTRA_KCFLAGS="$EXTRA_KCFLAGS_save" - fi + LB_LINUX_TRY_COMPILE([ + #include + #include + #if !HAVE_GFP_T + typedef int gfp_t; + #endif + #include + ],[ + ib_dma_map_single(NULL, NULL, 0, 0); + return 0; + ],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_OFED_IB_DMA_MAP, 1, + [ib_dma_map_single defined]) + ],[ + AC_MSG_RESULT(NO) + ]) + + LB_LINUX_TRY_COMPILE([ + #include + #include + #if !HAVE_GFP_T + typedef int gfp_t; + #endif + #include + ],[ + ib_create_cq(NULL, NULL, NULL, NULL, 0, 0); + return 0; + ],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_OFED_IB_COMP_VECTOR, 1, + [has completion vector]) + ],[ + AC_MSG_RESULT(NO) + ]) + + EXTRA_KCFLAGS="$EXTRA_KCFLAGS_save" + fi fi fi