find $(top_srcdir) -name '*.[hc]' | xargs ctags $$CTAGSF -a
if MODULES
-all-am: modules
-
all-sources:
$(MAKE) sources -C portals
$(MAKE) sources -C lustre
+if LINUX
+all-am: modules
+
if !LINUX25
DEP = dep
dep: .depend
_FASTDEP_ALL_SUB_DIRS="$(PWD)"
CLEANFILES = .depend
-endif
+endif # !LINUX25
modules: $(DEP) all-sources
$(MAKE) $(ARCH_UM) CC="$(CC)" -C $(LINUX_OBJ) \
-f $(PWD)/build/Makefile LUSTRE_LINUX_CONFIG=$(LINUX_CONFIG) \
$(MODULE_TARGET)=$(PWD) -o tmp_include_depends -o scripts -o \
include/config/MARKER $@
+endif # LINUX
endif # MODULES
#
+# LB_DARWIN_CHECK_FUNCS
+#
+# check for functions in the darwin kernel
+# Note that this is broken for cross compiling
+#
+AC_DEFUN([LB_DARWIN_CHECK_FUNCS],
+[AC_FOREACH([AC_Func], [$1],
+ [AH_TEMPLATE(AS_TR_CPP(HAVE_[]AC_Func),
+ [Define to 1 if you have the `]AC_Func[' function.])])dnl
+for ac_func in $1
+do
+AC_MSG_CHECKING([for $1])
+AS_IF([AC_TRY_COMMAND(nm /mach | grep "[$1]" >/dev/null 2>/dev/null)],[
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED([AS_TR_CPP([HAVE_$ac_func])]) $2
+],[
+ AC_MSG_RESULT([no]) $3
+])dnl
+done
+])
+
+#
# LB_DARWIN_CONDITIONALS
#
# AM_CONDITIONALs for darwin
#
AC_DEFUN([LB_PROG_DARWIN],
[kernel_framework="/System/Library/Frameworks/Kernel.framework"
-EXTRA_KCFLAGS="$EXTRA_KCFLAGS -x c -arch ppc -pipe -Wno-trigraphs"
-EXTRA_KCFLAGS="$EXTRA_KCFLAGS -fasm-blocks -g -O0 -mtune=G4"
+#
+# FIXME: there should be a better way to get these than hard coding them
+#
+case $target_cpu in
+ powerpc*)
+ EXTRA_KCFLAGS="$EXTRA_KCFLAGS -arch ppc -mtune=G4 -mlong-branch"
+ EXTRA_KLDFLAGS="-arch ppc"
+ ;;
+ i?86 | x86_64)
+ EXTRA_KCFLAGS="$EXTRA_KCFLAGS -arch i386"
+ EXTRA_KLDFLAGS="-arch i386"
+ ;;
+esac
+EXTRA_KCFLAGS="$EXTRA_KCFLAGS -x c -pipe -Wno-trigraphs -fasm-blocks -g -O0"
EXTRA_KCFLAGS="$EXTRA_KCFLAGS -Wno-four-char-constants -Wmost -O0"
EXTRA_KCFLAGS="$EXTRA_KCFLAGS -fmessage-length=0 -ffix-and-continue"
EXTRA_KCFLAGS="$EXTRA_KCFLAGS -I$kernel_framework/Headers"
EXTRA_KCFLAGS="$EXTRA_KCFLAGS -fno-common -nostdinc -fno-builtin"
EXTRA_KCFLAGS="$EXTRA_KCFLAGS -finline -fno-keep-inline-functions"
EXTRA_KCFLAGS="$EXTRA_KCFLAGS -force_cpusubtype_ALL -fno-exceptions"
-EXTRA_KCFLAGS="$EXTRA_KCFLAGS -msoft-float -static -mlong-branch"
+EXTRA_KCFLAGS="$EXTRA_KCFLAGS -msoft-float -static"
EXTRA_KCFLAGS="$EXTRA_KCFLAGS -DKERNEL -DKERNEL_PRIVATE"
EXTRA_KCFLAGS="$EXTRA_KCFLAGS -DDRIVER_PRIVATE -DAPPLE -DNeXT"
EXTRA_KCFLAGS="$EXTRA_KCFLAGS -D__KERNEL__ -D__DARWIN__"
-EXTRA_KLDFLAGS="-arch ppc -static -nostdlib -r"
+EXTRA_KLDFLAGS="$EXTRA_KLDFLAGS -static -nostdlib -r"
EXTRA_KLIBS="-lkmodc++ -lkmod -lcc_kext"
KMODEXT=""
+
+AC_SUBST(EXTRA_KLDFLAGS)
+AC_SUBST(EXTRA_KLIBS)
+
+plistdir='/System/Library/Extensions/$(firstword $(macos_PROGRAMS)).kext/Contents'
+macosdir='$(plistdir)/MacOS'
+
+AC_SUBST(plistdir)
+AC_SUBST(macosdir)
+
+LP_PROG_DARWIN
+
+LC_PROG_DARWIN
])
])
#
+# LB_CANONICAL_SYSTEM
+#
+# fixup $target_os for use in other places
+#
+AC_DEFUN([LB_CANONICAL_SYSTEM],
+[case $target_os in
+ linux*)
+ lb_target_os="linux"
+ ;;
+ darwin*)
+ lb_target_os="darwin"
+ ;;
+esac
+AC_SUBST(lb_target_os)
+])
+
+#
# LB_PATH_LIBSYSIO
#
# Handle internal/external libsysio
[AC_ARG_WITH([sysio],
AC_HELP_STRING([--with-sysio=path],
[set path to libsysio source (default is included libsysio)]),
- [],[with_sysio='yes'])
+ [],[
+ case $lb_target_os in
+ linux)
+ with_sysio='yes'
+ ;;
+ *)
+ with_sysio='no'
+ ;;
+ esac
+ ])
AC_MSG_CHECKING([location of libsysio])
enable_sysio="$with_sysio"
case x$with_sysio in
CFLAGS="$CFLAGS_save"
])
-CPPFLAGS="-I\$(top_srcdir)/lustre/include -I\$(top_srcdir)/portals/include $CPPFLAGS"
+CPPFLAGS="-I\$(top_builddir)/portals/include -I\$(top_srcdir)/portals/include -I\$(top_builddir)/lustre/include -I\$(top_srcdir)/lustre/include $CPPFLAGS"
LLCPPFLAGS="-D__arch_lib__ -D_LARGEFILE64_SOURCE=1"
AC_SUBST(LLCPPFLAGS)
AM_CONDITIONAL(DOC, test x$ENABLE_DOC = x1)
AM_CONDITIONAL(CRAY_PORTALS, test x$with_cray_portals != xno)
AM_CONDITIONAL(INIT_SCRIPTS, test x$ENABLE_INIT_SCRIPTS = "x1")
+AM_CONDITIONAL(LINUX, test x$lb_target_os = "xlinux")
+AM_CONDITIONAL(DARWIN, test x$lb_target_os = "xdarwin")
# this lets lustre cancel libsysio, per-branch or if liblustre is
# disabled
# main configure steps
#
AC_DEFUN([LB_CONFIGURE],
-[LB_INCLUDE_RULES
+[LB_CANONICAL_SYSTEM
+
+LB_INCLUDE_RULES
LB_PATH_DEFAULTS