diff --git a/.gitignore b/.gitignore index 93046e9..fea4154 100644 --- a/.gitignore +++ b/.gitignore @@ -69,6 +69,7 @@ TAGS /config.cache /config.h /config.h.in +/undef.h /INSTALL /libtool /lustre.spec diff --git a/autoMakefile.am b/autoMakefile.am index d3ae280..9c03b11 100644 --- a/autoMakefile.am +++ b/autoMakefile.am @@ -69,7 +69,7 @@ all-sources: module-symvers if LINUX all-am: modules -modules: $(DEP) all-sources +modules: undef.h $(DEP) all-sources $(MAKE) CC="$(CC)" $(CROSS_VARS) -C $(LINUX_OBJ) \ -f $(PWD)/build/Makefile LUSTRE_LINUX_CONFIG=$(LINUX_CONFIG) \ LINUXINCLUDE='-I$$(srctree)/arch/$$(SRCARCH)/include -I$$(srctree)/arch/$$(SRCARCH)/include/generated -Iinclude $$(if $$(KBUILD_SRC),-Iinclude2 -I$$(srctree)/include) -I$$(srctree)/arch/$$(SRCARCH)/include/uapi -Iarch/$$(SRCARCH)/include/generated/uapi -I$$(srctree)/include/uapi -Iinclude/generated/uapi -include $(CONFIG_INCLUDE)' \ @@ -79,7 +79,10 @@ endif # LINUX endif # MODULES -dist-hook: +undef.h: config.h.in + grep -v config.h.in config.h.in > $@ + +dist-hook: undef.h find $(distdir) -name .deps -o \ -name CVS -o \ -name .svn -o \ @@ -92,7 +95,9 @@ dist-hook: EXTRA_DIST = @PACKAGE_TARNAME@.spec \ build/Makefile \ build/Rules.in \ - build/gen_filelist.sh + build/gen_filelist.sh \ + config.h.in \ + undef.h rpms: @PACKAGE_TARNAME@.spec dist Makefile @CONFIGURE_ARGS=""; \ @@ -172,7 +177,7 @@ srpm: @PACKAGE_TARNAME@.spec dist Makefile # However, one cannot really run "make debs" without having done a # configure first, so we could use the easier method of digging the # version out of the config.h file. -debs: +debs: undef.h lversion=$$(sed -ne 's/^#define VERSION "\(.*\)"$$/\1/p' config.h); \ cversion=$$(sed -ne '1s/^lustre (\(.*\)-[0-9][0-9]*).*$$/\1/p' debian/changelog); \ if [ "$$lversion" != "$$cversion" ]; then \ @@ -205,7 +210,7 @@ debs: mkdir -p debs && \ mv ../liblustre_$${VER}_*.deb ../linux-patch-lustre_$${VER}_all.deb ../lustre-dev_$${VER}_*.deb ../lustre-source_$${VER}_all.deb ../lustre-tests_$${VER}_*.deb ../lustre-utils_$${VER}_*.deb ../lustre_$${VER}.dsc ../lustre_$${VER}_*.changes ../lustre_$${VER%-[0-9]*}.orig.tar.gz ../lustre_$${VER}.diff.gz ../lustre-client-modules-$${KVERS}_$${VER}_*.deb debs/ -EXTRA_DIST += config.h.in +# EXTRA_DIST += config.h.in if USES_DPKG EXTRA_DIST += debian/* diff --git a/config/.gitignore b/config/.gitignore index 01131af..e9653c4 100644 --- a/config/.gitignore +++ b/config/.gitignore @@ -1,4 +1,5 @@ /Makefile.in +/compile /config.guess /config.sub /depcomp diff --git a/config/lustre-build-linux.m4 b/config/lustre-build-linux.m4 index f12ca8a..e27a7ae 100644 --- a/config/lustre-build-linux.m4 +++ b/config/lustre-build-linux.m4 @@ -381,7 +381,7 @@ AC_DEFUN([LB_LINUX_COMPILE_IFELSE], [m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl rm -f build/conftest.o build/conftest.mod.c build/conftest.ko SUBARCH=$(echo $target_cpu | sed -e 's/powerpc64/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/' -e 's/k1om/x86/') -AS_IF([AC_TRY_COMMAND(cp conftest.c build && make -d [$2] ${LD:+"LD=$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_OFED_INCLUDE -I$LINUX/arch/$SUBARCH/include -I$LINUX/arch/$SUBARCH/include/generated -Iinclude -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -I$LINUX/include/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL -I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include} -include $CONFIG_INCLUDE" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $CROSS_VARS $MODULE_TARGET=$PWD/build) >/dev/null && AC_TRY_COMMAND([$3])], +AS_IF([AC_TRY_COMMAND(cp conftest.c build && make -d [$2] ${LD:+"LD=$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_CHECK_INCLUDE -I$LINUX/arch/$SUBARCH/include -I$LINUX/arch/$SUBARCH/include/generated -Iinclude -I$LINUX/include -Iinclude2 -I$LINUX/include/uapi -I$LINUX/include/generated -I$LINUX/arch/$SUBARCH/include/uapi -Iarch/$SUBARCH/include/generated/uapi -I$LINUX/include/uapi -Iinclude/generated/uapi ${SPL_OBJ:+-include $SPL_OBJ/spl_config.h} ${ZFS_OBJ:+-include $ZFS_OBJ/zfs_config.h} ${SPL:+-I$SPL -I$SPL/include } ${ZFS:+-I$ZFS -I$ZFS/include} -include $CONFIG_INCLUDE" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $CROSS_VARS $MODULE_TARGET=$PWD/build) >/dev/null && AC_TRY_COMMAND([$3])], [$4], [_AC_MSG_LOG_CONFTEST m4_ifvaln([$5],[$5])dnl]) diff --git a/config/lustre-build.m4 b/config/lustre-build.m4 index 83395e1..63572e1 100644 --- a/config/lustre-build.m4 +++ b/config/lustre-build.m4 @@ -425,8 +425,8 @@ AC_SUBST(ENABLE_INIT_SCRIPTS) # AC_DEFUN([LB_CONFIG_HEADERS],[ AC_CONFIG_HEADERS([config.h]) - CPPFLAGS="-include $PWD/config.h $CPPFLAGS" - EXTRA_KCFLAGS="-include $PWD/config.h $EXTRA_KCFLAGS" + CPPFLAGS="-include $PWD/undef.h -include $PWD/config.h $CPPFLAGS" + EXTRA_KCFLAGS="-include $PWD/undef.h -include $PWD/config.h $EXTRA_KCFLAGS" AC_SUBST(EXTRA_KCFLAGS) ]) diff --git a/lnet/autoconf/lustre-lnet.m4 b/lnet/autoconf/lustre-lnet.m4 index a7f0935..bfe92e4 100644 --- a/lnet/autoconf/lustre-lnet.m4 +++ b/lnet/autoconf/lustre-lnet.m4 @@ -411,6 +411,7 @@ else compatrdma_found=true AC_MSG_RESULT([yes]) AC_DEFINE(HAVE_COMPAT_RDMA, 1, [compat rdma found]) + EXTRA_OFED_CONFIG="$EXTRA_OFED_CONFIG -include ${O2IBPATH}/include/linux/compat-2.6.h" else AC_MSG_RESULT([no]) fi @@ -448,12 +449,18 @@ else AC_MSG_CHECKING([whether to enable OpenIB gen2 support]) O2IBPATH=$(readlink --canonicalize $O2IBPATH) EXTRA_OFED_INCLUDE="$EXTRA_OFED_INCLUDE -I$O2IBPATH/include" + EXTRA_CHECK_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE" LB_LINUX_TRY_COMPILE([ #include #include #include #ifdef HAVE_COMPAT_RDMA + #undef PACKAGE_NAME + #undef PACKAGE_TARNAME + #undef PACKAGE_VERSION + #undef PACKAGE_STRING + #undef PACKAGE_BUGREPORT #include #endif #include @@ -508,17 +515,25 @@ else fi LN_CONFIG_OFED_SPEC + EXTRA_CHECK_INCLUDE="" fi fi +AC_SUBST(EXTRA_OFED_CONFIG) AC_SUBST(EXTRA_OFED_INCLUDE) AC_SUBST(O2IBLND) # In RHEL 6.2, rdma_create_id() takes the queue-pair type as a fourth argument if test $ENABLEO2IB -ne 0; then + EXTRA_CHECK_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE" AC_MSG_CHECKING([if rdma_create_id wants four args]) LB_LINUX_TRY_COMPILE([ #ifdef HAVE_COMPAT_RDMA + #undef PACKAGE_NAME + #undef PACKAGE_TARNAME + #undef PACKAGE_VERSION + #undef PACKAGE_STRING + #undef PACKAGE_BUGREPORT #include #endif #include @@ -531,6 +546,7 @@ if test $ENABLEO2IB -ne 0; then ],[ AC_MSG_RESULT([no]) ]) + EXTRA_CHECK_INCLUDE="" fi ]) @@ -714,6 +730,7 @@ LN_FUNC_DEV_GET_BY_NAME_2ARG LN_CONFIG_AFFINITY LN_CONFIG_BACKOFF LN_CONFIG_QUADRICS +EXTRA_CHECK_INCLUDE="$EXTRA_OFED_CONFIG $EXTRA_OFED_INCLUDE" LN_CONFIG_O2IB LN_CONFIG_RALND LN_CONFIG_GNILND @@ -723,6 +740,7 @@ LN_CONFIG_MX LN_5ARGS_SYSCTL_PROC_HANDLER # 2.6.36 LN_CONFIG_TCP_SENDPAGE +EXTRA_CHECK_INCLUDE="" ]) # diff --git a/lnet/klnds/o2iblnd/Makefile.in b/lnet/klnds/o2iblnd/Makefile.in index 31c3821..34b82fe 100644 --- a/lnet/klnds/o2iblnd/Makefile.in +++ b/lnet/klnds/o2iblnd/Makefile.in @@ -3,6 +3,6 @@ ko2iblnd-objs := o2iblnd.o o2iblnd_cb.o o2iblnd_modparams.o # Need to make sure that an external OFED source pool overrides # any in-kernel OFED sources -NOSTDINC_FLAGS += @EXTRA_OFED_INCLUDE@ +NOSTDINC_FLAGS += @EXTRA_OFED_CONFIG@ @EXTRA_OFED_INCLUDE@ @INCLUDE_RULES@ diff --git a/lnet/lnet/Makefile.in b/lnet/lnet/Makefile.in index 8187b17..3ec02df 100644 --- a/lnet/lnet/Makefile.in +++ b/lnet/lnet/Makefile.in @@ -6,5 +6,6 @@ lnet-objs += lib-move.o module.o lo.o lnet-objs += router.o router_proc.o acceptor.o peer.o default: all +STDINC_FLAGS += @EXTRA_OFED_CONFIG@ @EXTRA_OFED_INCLUDE@ @INCLUDE_RULES@