dnl dnl configure.ac for kexec-tools dnl dnl dnl ---Required AC_INIT(kexec-tools, 2.0.4.git) AC_CONFIG_AUX_DIR(./config) AC_CONFIG_HEADERS([include/config.h]) AC_LANG(C) AC_DEFINE_UNQUOTED(PACKAGE_DATE, "`date '+%d %B %Y'`", [Define to the release date of this package]) dnl -- Compilation platform configuration dnl -- the host specifices the host machine for the kexec binary, the dnl -- the target specifies the architecture of the kernel to be kexeced. AC_CANONICAL_HOST AC_CANONICAL_TARGET dnl Compute ARCH from target cpu info case $target_cpu in i?86 ) ARCH="i386" ;; powerpc ) ARCH="ppc" ;; powerpc64 ) ARCH="ppc64" ;; arm* ) ARCH="arm" ;; s390x|s390 ) ARCH="s390" ;; sh4|sh4a|sh3|sh ) ARCH="sh" ;; mips* ) ARCH="mips" ;; cris|crisv32 ) ARCH="cris" ;; ia64|x86_64|alpha ) ARCH="$target_cpu" ;; * ) AC_MSG_ERROR([unsupported architecture $target_cpu]) ;; esac dnl ---Options OBJDIR=`pwd`/objdir if test "${host_alias}" ; then OBJDIR="$OBJDIR-${host_alias}" fi if test "x$BUILD_CFLAGS" = "x" ; then BUILD_CFLAGS='-O2 -Wall' fi if test "x$TARGET_CFLAGS" = "x" ; then TARGET_CFLAGS='-O2 -Wall' fi AC_ARG_WITH([objdir], AC_HELP_STRING([--with-objdir=],[select directory for object files]), [ OBJDIR="$withval" ], [ OBJDIR="$OBJDIR" ]) AC_ARG_WITH([gamecube], AC_HELP_STRING([--with-gamecube],[enable gamecube support]), AC_DEFINE(WITH_GAMECUBE, 1, [Define to include gamecube support])) AC_ARG_WITH([zlib], AC_HELP_STRING([--without-zlib],[disable zlib support]), [ with_zlib="$withval"], [ with_zlib=yes ] ) AC_ARG_WITH([lzma], AC_HELP_STRING([--without-lzma],[disable lzma support]), [ with_lzma="$withval"], [ with_lzma=yes ] ) AC_ARG_WITH([xen], AC_HELP_STRING([--without-xen], [disable extended xen support]), [ with_xen="$withval"], [ with_xen=yes ] ) AC_ARG_WITH([booke], AC_HELP_STRING([--with-booke],[build for booke]), AC_DEFINE(CONFIG_BOOKE,1, [Define to build for BookE])) dnl ---Programs dnl To specify a different compiler, just 'export CC=/path/to/compiler' AC_PROG_CC if test "${build}" != "${host}" ; then AC_CHECK_PROGS(BUILD_CC, [${build_alias}-gcc ${build}-gcc gcc]) else BUILD_CC="$CC" fi dnl Find the compiler tool chain AC_PROG_CPP AC_CHECK_TOOL([LD], ld, "no", $PATH) AC_CHECK_TOOL([AS], as, "no", $PATH) AC_CHECK_TOOL([OBJCOPY], objcopy, "no", $PATH) AC_CHECK_TOOL([AR], ar, "", $PATH) AC_CHECK_TOOL([STRIP], strip, "no", $PATH) dnl Find compiler for target if test "${target}" != "${host}" ; then AC_CHECK_PROGS(TARGET_CC, [${target_alias}-gcc ${target}-gcc gcc]) AC_CHECK_PROGS(TARGET_LD, [${target_alias}-ld ${target}-ld ld]) else TARGET_CC="$CC" TARGET_LD="$LD" fi AC_MSG_CHECKING([whether $TARGET_CC accepts -fno-zero-initialized-in-bss]) saved_CFLAGS="$CFLAGS" saved_CC="$CC" CC="$TARGET_CC" CFLAGS="$CFLAGS -fno-zero-initialized-in-bss" AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,,)], PURGATORY_EXTRA_CFLAGS="-fno-zero-initialized-in-bss" AC_MSG_RESULT([Yes]), AC_MSG_RESULT([No])) CFLAGS="$saved_CFLAGS" CC="$saved_CC" AC_SUBST(PURGATORY_EXTRA_CFLAGS, [$PURGATORY_EXTRA_CFLAGS]) dnl Find the helper functions AC_PROG_INSTALL AC_CHECK_PROG([MKDIR], mkdir, mkdir, "no", [$PATH]) AC_CHECK_PROG([RM], rm, rm, "no", [$PATH]) AC_CHECK_PROG([CP], cp, cp, "no", [$PATH]) AC_CHECK_PROG([LN], ln, ln, "no", [$PATH]) AC_CHECK_PROG([TAR], tar, tar, "no", [$PATH]) AC_CHECK_PROG([RPMBUILD], rpmbuild, rpmbuild, "no", [$PATH]) AC_CHECK_PROG([SED], sed, sed, "no", [$PATH]) AC_CHECK_PROG([FIND], find, find, "no", [$PATH]) AC_CHECK_PROG([XARGS], xargs, xargs, "no", [$PATH]) AC_CHECK_PROG([DIRNAME], dirname, dirname, "no", [$PATH]) dnl See if I have a usable copy of zlib available if test "$with_zlib" = yes ; then AC_CHECK_HEADER(zlib.h, AC_CHECK_LIB(z, inflateInit_, , AC_MSG_NOTICE([zlib support disabled]))) fi dnl See if I have a usable copy of lzma available if test "$with_lzma" = yes ; then AC_CHECK_HEADER(lzma.h, AC_CHECK_LIB(lzma, lzma_code, , AC_MSG_NOTICE([lzma support disabled]))) fi dnl find Xen control stack libraries if test "$with_xen" = yes ; then AC_CHECK_HEADER(xenctrl.h, AC_CHECK_LIB(xenctrl, xc_version, , AC_MSG_NOTICE([Xen support disabled]))) if test "$ac_cv_lib_xenctrl_xc_version" = yes ; then AC_CHECK_FUNCS(xc_get_machine_memory_map) fi fi dnl ---Sanity checks if test "$CC" = "no"; then AC_MSG_ERROR([cc not found]); fi if test "$CPP" = "no"; then AC_MSG_ERROR([cpp not found]); fi if test "$LD" = "no"; then AC_MSG_ERROR([ld not found]); fi if test "$AS" = "no"; then AC_MSG_ERROR([as not found]); fi if test "$OBJCOPY" = "no"; then AC_MSG_ERROR([objcopy not found]); fi if test "$AR" = "no"; then AC_MSG_ERROR([ar not found]); fi if test "$MKDIR" = "no"; then AC_MSG_ERROR([ mkdir not found]); fi if test "$RM" = "no"; then AC_MSG_ERROR([ rm not found]); fi if test "$CP" = "no"; then AC_MSG_ERROR([ cp not found]); fi if test "$LN" = "no"; then AC_MSG_ERROR([ ln not found]); fi if test "$TAR" = "no"; then AC_MSG_ERROR([ tar not found]); fi if test "$RPM" = "no"; then AC_MSG_ERROR([ rpm not found]); fi if test "$SED" = "no"; then AC_MSG_ERROR([ sed not found]); fi if test "$FIND" = "no"; then AC_MSG_ERROR([ find not found]); fi if test "$XARGS" = "no"; then AC_MSG_ERROR([ xargs not found]); fi if test "$DIRNAME" = "no"; then AC_MSG_ERROR([ dirname not found]); fi if test "$STRIP" = "no"; then AC_MSG_ERROR([ strip not found]); fi dnl ---Output variables... AC_SUBST([BUILD_CC]) AC_SUBST([BUILD_CFLAGS]) AC_SUBST([TARGET_CC]) AC_SUBST([TARGET_LD]) AC_SUBST([TARGET_CFLAGS]) AC_SUBST([ASFLAGS]) AC_SUBST([ARCH]) AC_SUBST([OBJDIR]) AC_SUBST([INSTALL]) dnl ---Output AC_OUTPUT([Makefile])