diff --git a/.gitignore b/.gitignore
index ab70c188..323d638e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,9 +9,27 @@
Module.symvers
*.order
.tmp_versions
-
-elfboot/elfboot
-elfboot/elfboot_test
-linux/executer/mcexec
-linux/mod_test*
-linux/target
+old_timestamp
+CMakeFiles
+CMakeCache.txt
+Makefile
+Kbuild
+cmake_install.cmake
+config.h
+mcstop+release.sh
+mcreboot.sh
+mcreboot.1
+mcoverlay-destroy.sh
+mcoverlay-create.sh
+kernel/mckernel.img
+kernel/include/swapfmt.h
+executer/user/vmcore2mckdump
+executer/user/ql_talker
+executer/user/mcexec.1
+executer/user/mcexec
+executer/user/libsched_yield.so.1.0.0
+executer/user/libsched_yield.so
+executer/user/libmcexec.a
+executer/user/libldump2mcdump.so
+executer/user/eclair
+tools/mcstat/mcstat
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 00000000..ac822c1a
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,190 @@
+cmake_minimum_required(VERSION 2.6)
+
+if (NOT CMAKE_BUILD_TYPE)
+ set (CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build type: Debug Release..." FORCE)
+endif (NOT CMAKE_BUILD_TYPE)
+
+enable_language(C ASM)
+
+project(mckernel C ASM)
+set(MCKERNEL_VERSION "1.6.0")
+
+set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
+# for rpmbuild
+if(DEFINED SYSCONF_INSTALL_DIR)
+ set(CMAKE_INSTALL_SYSCONFDIR "${SYSCONF_INSTALL_DIR}")
+endif()
+include(GNUInstallDirs)
+include(CMakeParseArguments)
+include(Kbuild)
+include(Ksym)
+include(CheckCCompilerFlag)
+
+set(CFLAGS_WARNINGS "-Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-unused-function")
+CHECK_C_COMPILER_FLAG(-Wno-implicit-fallthrough IMPLICIT_FALLTHROUGH)
+if(IMPLICIT_FALLTHROUGH)
+ set(CFLAGS_WARNINGS "${CFLAGS_WARNINGS} -Wno-implicit-fallthrough")
+endif(IMPLICIT_FALLTHROUGH)
+
+# C flags need to be set before enabling language?
+set(CMAKE_C_FLAGS_DEBUG "-g ${CFLAGS_WARNINGS}" CACHE STRING "Debug compiler flags")
+set(CMAKE_C_FLAGS_RELEASE "${CFLAGS_WARNINGS}" CACHE STRING "Release compiler flags")
+
+# build options
+option(ENABLE_WERROR "Enable -Werror" OFF)
+if (ENABLE_WERROR)
+ add_compile_options("-Werror")
+endif(ENABLE_WERROR)
+
+if (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+ set(BUILD_TARGET "smp-x86" CACHE STRING "Build target: smp-x86 | smp-arm64")
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
+ set(BUILD_TARGET "smp-arm64" CACHE STRING "Build target: smp-x86 | smp-arm64")
+endif()
+if (BUILD_TARGET STREQUAL "smp-x86")
+ set(ARCH "x86_64")
+elseif (BUILD_TARGET STREQUAL "smp-arm64")
+ set(ARCH "arm64")
+ foreach(i RANGE 1 120)
+ add_definitions(-DPOSTK_DEBUG_ARCH_DEP_${i} -DPOSTK_DEBUG_TEMP_FIX_${i})
+ set(KBUILD_C_FLAGS "${KBUILD_C_FLAGS} -DPOSTK_DEBUG_ARCH_DEP_${i} -DPOSTK_DEBUG_TEMP_FIX_${i}")
+ endforeach()
+ add_definitions(-DCONFIG_ARM64_64K_PAGES -DCONFIG_ARM64_VA_BITS=48)
+endif()
+set_property(CACHE BUILD_TARGET PROPERTY STRINGS smp-x86 smp-arm64)
+
+set(ENABLE_MEMDUMP ON)
+option(ENABLE_PERF "Enable perf support" ON)
+option(ENABLE_RUSAGE "Enable rusage support" ON)
+option(ENABLE_MCOVERLAYFS "Enable overlay filesystem" OFF)
+option(ENABLE_QLMPI "Enable qlmpi programs" OFF)
+option(ENABLE_UTI "Enable uti support" OFF)
+
+find_library(LIBRT rt)
+find_library(LIBNUMA numa)
+find_library(LIBBFD bfd)
+find_library(LIBIBERTY iberty)
+
+if (ENABLE_QLMPI)
+ find_package(MPI REQUIRED)
+endif()
+
+if (ENABLE_UTI)
+ find_library(LIBSYSCALL_INTERCEPT syscall_intercept)
+endif()
+
+string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)(-([0-9]+)(.*))?" "\\1;\\2;\\3;\\5;\\6" LINUX_VERSION ${UNAME_R})
+list(GET LINUX_VERSION 0 LINUX_VERSION_MAJOR)
+list(GET LINUX_VERSION 1 LINUX_VERSION_MINOR)
+list(GET LINUX_VERSION 2 LINUX_VERSION_PATCH)
+list(GET LINUX_VERSION 3 LINUX_VERSION_RELEASE)
+math(EXPR LINUX_VERSION_CODE "${LINUX_VERSION_MAJOR} * 65536 + ${LINUX_VERSION_MINOR} * 256 + ${LINUX_VERSION_PATCH}")
+
+ksym(sys_mount PREFIX MCCTRL_)
+ksym(sys_umount PREFIX MCCTRL_)
+ksym(sys_unshare PREFIX MCCTRL_)
+ksym(zap_page_range PREFIX MCCTRL_)
+ksym(vdso_image_64 PREFIX MCCTRL_)
+ksym(vdso_start PREFIX MCCTRL_)
+ksym(vdso_end PREFIX MCCTRL_)
+ksym(vdso_pages PREFIX MCCTRL_)
+ksym(__vvar_page PREFIX MCCTRL_)
+ksym(hpet_address PREFIX MCCTRL_)
+# POSTK_DEBUG_ARCH_DEP_50, add:find kernel symbol.
+ksym(vdso_spec PREFIX MCCTRL_)
+ksym(hv_clock PREFIX MCCTRL_)
+ksym(sys_readlink PREFIX MCCTRL_)
+ksym(walk_page_range PREFIX MCCTRL_)
+
+
+# compat with various install paths
+set(MCKERNEL_LIBDIR ${CMAKE_INSTALL_FULL_LIBDIR})
+set(BINDIR ${CMAKE_INSTALL_FULL_BINDIR})
+set(SBINDIR ${CMAKE_INSTALL_FULL_SBINDIR})
+set(ETCDIR ${CMAKE_INSTALL_FULL_SYSCONFDIR})
+set(ROOTFSDIR "${CMAKE_INSTALL_PREFIX}/rootfs")
+if (CMAKE_INSTALL_PREFIX STREQUAL "/usr")
+ set(KMODDIR "/lib/modules/${UNAME_R}/extra/mckernel")
+ set(MCKERNELDIR "${CMAKE_INSTALL_FULL_DATADIR}/mckernel/${BUILD_TARGET}")
+else()
+ set(KMODDIR "${CMAKE_INSTALL_PREFIX}/kmod")
+ set(MCKERNELDIR "${CMAKE_INSTALL_PREFIX}/${BUILD_TARGET}/kernel")
+endif()
+set(prefix ${CMAKE_INSTALL_PREFIX})
+
+# set rpath for everyone
+set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR})
+
+# ihk: ultimately should support extrnal build, but add as subproject for now
+if (EXISTS ${PROJECT_SOURCE_DIR}/ihk/CMakeLists.txt)
+ set(IHK_SOURCE_DIR "ihk" CACHE STRINGS "path to ihk source directory from mckernel sources")
+elseif (EXISTS ${PROJECT_SOURCE_DIR}/../ihk/CMakeLists.txt)
+ set(IHK_SOURCE_DIR "../ihk" CACHE STRINGS "path to ihk source directory from mckernel sources")
+else()
+ set(IHK_SOURCE_DIR "ihk" CACHE STRINGS "path to ihk source directory from mckernel sources")
+endif()
+if (EXISTS ${PROJECT_SOURCE_DIR}/${IHK_SOURCE_DIR}/CMakeLists.txt)
+ set(IHK_FULL_SOURCE_DIR ${PROJECT_SOURCE_DIR}/${IHK_SOURCE_DIR})
+elseif (EXISTS /${IHK_SOURCE_DIR}/CMakeLists.txt)
+ set(IHK_FULL_SOURCE_DIR /${IHK_SOURCE_DIR})
+else()
+ message(FATAL_ERROR "Could not find ihk dir, or it does not contain CMakeLists.txt, either clone ihk or run git submodule update --init")
+endif()
+
+add_subdirectory(${IHK_SOURCE_DIR} ihk)
+
+configure_file(config.h.in config.h)
+
+# actual build section - just subdirs
+add_subdirectory(executer/kernel/mcctrl)
+if (ENABLE_MCOVERLAYFS)
+ add_subdirectory(executer/kernel/mcoverlayfs)
+endif()
+add_subdirectory(executer/user)
+add_subdirectory(kernel)
+add_subdirectory(tools/mcstat)
+
+configure_file(arch/x86_64/tools/mcreboot-smp-x86.sh.in mcreboot.sh @ONLY)
+configure_file(arch/x86_64/tools/mcstop+release-smp-x86.sh.in mcstop+release.sh @ONLY)
+configure_file(arch/x86_64/tools/mcreboot.1in mcreboot.1 @ONLY)
+install(PROGRAMS
+ "${CMAKE_CURRENT_BINARY_DIR}/mcreboot.sh"
+ "${CMAKE_CURRENT_BINARY_DIR}/mcstop+release.sh"
+ DESTINATION "${CMAKE_INSTALL_SBINDIR}")
+install(FILES
+ "arch/x86_64/tools/irqbalance_mck.service"
+ "arch/x86_64/tools/irqbalance_mck.in"
+ DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}")
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/mcreboot.1"
+ DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
+
+
+configure_file(scripts/mckernel.spec.in scripts/mckernel.spec @ONLY)
+set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${MCKERNEL_VERSION}")
+set(CPACK_SOURCE_IGNORE_FILES "/.git$")
+set(CPACK_SOURCE_INSTALLED_DIRECTORIES "${CMAKE_SOURCE_DIR};/;${IHK_FULL_SOURCE_DIR};/ihk;${CMAKE_BINARY_DIR}/scripts;/scripts")
+set(CPACK_SOURCE_GENERATOR "TGZ")
+include(CPack)
+add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
+
+
+# config report
+message("-------------------------------")
+message("Option summary")
+message("-------------------------------")
+message("Build type: ${CMAKE_BUILD_TYPE}")
+message("Build target: ${BUILD_TARGET}")
+message("IHK_SOURCE_DIR: ${IHK_SOURCE_DIR} (relative to mckernel source tree)")
+message("UNAME_R: ${UNAME_R}")
+message("KERNEL_DIR: ${KERNEL_DIR}")
+message("SYSTEM_MAP: ${SYSTEM_MAP}")
+message("VMLINUX: ${VMLINUX}")
+message("KBUILD_C_FLAGS: ${KBUILD_C_FLAGS}")
+message("ENABLE_MEMDUMP: ${ENABLE_MEMDUMP}")
+message("ENABLE_PERF: ${ENABLE_PERF}")
+message("ENABLE_RUSAGE: ${ENABLE_RUSAGE}")
+message("ENABLE_MCOVERLAYFS: ${ENABLE_MCOVERLAYFS}")
+message("ENABLE_QLMPI: ${ENABLE_QLMPI}")
+message("ENABLE_UTI: ${ENABLE_UTI}")
+message("ENABLE_WERROR: ${ENABLE_WERROR}")
+message("-------------------------------")
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100755
index 938ef775..00000000
--- a/Makefile.in
+++ /dev/null
@@ -1,82 +0,0 @@
-# Makefile.in COPYRIGHT FUJITSU LIMITED 2013-2018
-TARGET = @TARGET@
-SBINDIR = @SBINDIR@
-INCDIR = @INCDIR@
-ETCDIR = @ETCDIR@
-MANDIR = @MANDIR@
-
-all: executer-mcctrl executer-mcoverlayfs executer-user mckernel mck-tools
-
-executer-mcctrl:
- +@(cd executer/kernel/mcctrl; $(MAKE) modules)
-
-executer-mcoverlayfs:
- +@(cd executer/kernel/mcoverlayfs; $(MAKE) modules)
-
-executer-user:
- +@(cd executer/user; $(MAKE))
-
-mckernel:
- +@case "$(TARGET)" in \
- attached-mic | builtin-x86 | builtin-mic | smp-x86 | smp-arm64) \
- (cd kernel; $(MAKE)) \
- ;; \
- *) \
- echo "unknown target $(TARGET)" >&2 \
- exit 1 \
- ;; \
- esac
-
-mck-tools:
- +@(cd tools/mcstat; $(MAKE))
-
-install:
- @(cd executer/kernel/mcctrl; $(MAKE) install)
- @(cd executer/kernel/mcoverlayfs; $(MAKE) install)
- @(cd executer/user; $(MAKE) install)
- @case "$(TARGET)" in \
- attached-mic | builtin-x86 | builtin-mic | smp-x86 | smp-arm64) \
- (cd kernel; $(MAKE) install) \
- ;; \
- *) \
- echo "unknown target $(TARGET)" >&2 \
- exit 1 \
- ;; \
- esac
- @case "$(TARGET)" in \
- smp-x86 | smp-arm64) \
- mkdir -p -m 755 $(SBINDIR); \
- install -m 755 arch/x86_64/tools/mcreboot-smp-x86.sh $(SBINDIR)/mcreboot.sh; \
- install -m 755 arch/x86_64/tools/mcstop+release-smp-x86.sh $(SBINDIR)/mcstop+release.sh; \
- install -m 755 arch/x86_64/tools/mcoverlay-destroy-smp-x86.sh $(SBINDIR)/mcoverlay-destroy.sh; \
- install -m 755 arch/x86_64/tools/mcoverlay-create-smp-x86.sh $(SBINDIR)/mcoverlay-create.sh; \
- install -m 755 arch/x86_64/tools/eclair-dump-backtrace.exp $(SBINDIR)/eclair-dump-backtrace.exp;\
- mkdir -p -m 755 $(ETCDIR); \
- install -m 644 arch/x86_64/tools/irqbalance_mck.service $(ETCDIR)/irqbalance_mck.service; \
- install -m 644 arch/x86_64/tools/irqbalance_mck.in $(ETCDIR)/irqbalance_mck.in; \
- mkdir -p -m 755 $(INCDIR); \
- install -m 644 kernel/include/swapfmt.h $(INCDIR); \
- mkdir -p -m 755 $(MANDIR)/man1; \
- install -m 644 arch/x86_64/tools/mcreboot.1 $(MANDIR)/man1/mcreboot.1; \
- ;; \
- *) \
- echo "unknown target $(TARGET)" >&2 \
- exit 1 \
- ;; \
- esac
- @(cd tools/mcstat/; $(MAKE) install)
-
-clean:
- @(cd executer/kernel/mcctrl; $(MAKE) clean)
- @(cd executer/kernel/mcoverlayfs; $(MAKE) clean)
- @(cd executer/user; $(MAKE) clean)
- @case "$(TARGET)" in \
- attached-mic | builtin-x86 | builtin-mic | smp-x86 | smp-arm64) \
- (cd kernel; $(MAKE) clean) \
- ;; \
- *) \
- echo "unknown target $(TARGET)" >&2 \
- exit 1 \
- ;; \
- esac
- @(cd tools/mcstat; $(MAKE) clean)
diff --git a/Readme.md b/README.md
similarity index 96%
rename from Readme.md
rename to README.md
index 882181ad..77407ef6 100644
--- a/Readme.md
+++ b/README.md
@@ -102,21 +102,14 @@ Clone the source code and set up ihk symlink (this is currently required):
mkdir -p ~/src/ihk+mckernel/
cd ~/src/ihk+mckernel/
git clone -r git@github.com:RIKEN-SysSoft/mckernel.git
-ln -s mckernel/ihk ihk
~~~~
-Configure and compile (for x86 architecture):
+Configure and compile:
~~~~
-export TOP=${HOME}/ihk+mckernel/
-cd ~/src/ihk+mckernel/ihk/
-./configure --with-target=smp-x86 --prefix=${TOP}
-cd ~/src/ihk+mckernel/mckernel/
-./configure --with-target=smp-x86 --prefix=${TOP}
-cd ~/src/ihk+mckernel/ihk/
-make && make install
-cd ~/src/ihk+mckernel/mckernel/
-make && make install
+mkdir -p build && cd build
+cmake -DCMAKE_INSTALL_PREFIX=${HOME}/ihk+mckernel $HOME/src/mckernel
+make -j install
~~~~
The IHK kernel modules and McKernel kernel image should be installed under the **ihk+mckernel** folder in your home directory.
diff --git a/arch/arm64/kernel/vdso.c b/arch/arm64/kernel/vdso.c
index b082ce38..87f35c81 100644
--- a/arch/arm64/kernel/vdso.c
+++ b/arch/arm64/kernel/vdso.c
@@ -88,26 +88,8 @@ int arch_setup_vdso(void)
kprintf("Enable Host mapping vDSO.\n");
return 0;
}
- kprintf("Enable McK mapping vDSO.\n");
- if (memcmp(&vdso_start, "\177ELF", 4)) {
- panic("vDSO is not a valid ELF object!\n");
- }
-
- vdso.vdso_npages = (&vdso_end - &vdso_start) >> PAGE_SHIFT;
- dkprintf("vdso: %ld pages (%ld code @ %p, %ld data @ %p)\n",
- vdso.vdso_npages + 1, vdso.vdso_npages, &vdso_start, 1L, &tod_data);
- if (vdso.vdso_npages != 1) {
- panic("vDSO is not a valid number of pages!\n");
- }
-
- vdso.vvar_phys = virt_to_phys((void *)&tod_data);
- vdso.vdso_physlist[0] = virt_to_phys((void *)&vdso_start);
-
- vdso.lbase = VDSO_LBASE;
- vdso.offset_sigtramp = vdso_offset_sigtramp;
-
- return 0;
+ panic("Only support host mapping vDSO");
}
static int get_free_area(struct process_vm *vm, size_t len, intptr_t hint,
diff --git a/arch/arm64/kernel/vdso.so.S b/arch/arm64/kernel/vdso.so.S
deleted file mode 100644
index 281de7d8..00000000
--- a/arch/arm64/kernel/vdso.so.S
+++ /dev/null
@@ -1,33 +0,0 @@
-/* vdso.so.S COPYRIGHT FUJITSU LIMITED 2016 */
-/* @ref.impl arch/arm64/kernel/vdso/vdso.S */
-/*
- * Copyright (C) 2012 ARM Limited
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Author: Will Deacon
- */
-
-#include
-#include
-
- .section ".vdso.txet", "aw"
-
- .globl vdso_start, vdso_end
- .balign PAGE_SIZE
-vdso_start:
- .incbin VDSO_SO_PATH
- .balign PAGE_SIZE
-vdso_end:
-
- .previous
diff --git a/arch/arm64/kernel/vdso/Makefile.in b/arch/arm64/kernel/vdso/Makefile.in
deleted file mode 100644
index e432fd52..00000000
--- a/arch/arm64/kernel/vdso/Makefile.in
+++ /dev/null
@@ -1,137 +0,0 @@
-# Makefile.in COPYRIGHT FUJITSU LIMITED 2016-2018
-# @ref.impl arch/arm64/kernel/vdso/Makefile
-# Building a vDSO image for AArch64.
-
-RMDIR=rmdir
-
-HOST_DIR=@KDIR@
-HOST_CONFIG=$(HOST_DIR)/.config
-HOST_KERNEL_CONFIG_ARM64_4K_PAGES=$(shell grep -E "^CONFIG_ARM64_4K_PAGES=y" $(HOST_CONFIG) | sed 's|CONFIG_ARM64_4K_PAGES=||g')
-HOST_KERNEL_CONFIG_ARM64_16K_PAGES=$(shell grep -E "^CONFIG_ARM64_16K_PAGES=y" $(HOST_CONFIG) | sed 's|CONFIG_ARM64_16K_PAGES=||g')
-HOST_KERNEL_CONFIG_ARM64_64K_PAGES=$(shell grep -E "^CONFIG_ARM64_64K_PAGES=y" $(HOST_CONFIG) | sed 's|CONFIG_ARM64_64K_PAGES=||g')
-
-VDSOSRC = @abs_srcdir@
-VDSOBUILD = @abs_builddir@
-ECHO_SUFFIX = [VDSO]
-
-VDSOOBJS := gettimeofday.o
-DESTOBJS = $(addprefix $(VDSOBUILD)/, $(VDSOOBJS))
-
-VDSOASMOBJS := note.o sigreturn.o
-DESTASMOBJS = $(addprefix $(VDSOBUILD)/, $(VDSOASMOBJS))
-
-$(if $(VDSOSRC),,$(error IHK output directory is not specified))
-$(if $(TARGET),,$(error Target is not specified))
-
-#CFLAGS := -nostdinc -mlittle-endian -Wall -mabi=lp64 -Wa,-gdwarf-2
-CFLAGS += -nostdinc -mlittle-endian -Wall -Wa,-gdwarf-2
-CFLAGS += -I$(SRC)/include -I$(SRC)/../lib/include -I$(VDSOSRC)/../include
-CFLAGS += -I$(IHKBASE)/$(TARGETDIR)/include -Wno-unused-function -I$(IHKBASE)/../ikc/include -I$(IHKBASE)/../linux/include
-CFLAGS += -DIHK_OS_MANYCORE -D__KERNEL__
-CFLAGS += $(foreach i, $(shell seq 6 120), $(addprefix -DPOSTK_DEBUG_ARCH_DEP_, $(i)))
-CFLAGS += $(foreach i, $(shell seq 6 110), $(addprefix -DPOSTK_DEBUG_TEMP_FIX_, $(i)))
-
-LDFLAGS := -nostdinc -mlittle-endian -Wall -Wundef -Wstrict-prototypes
-LDFLAGS += -Wno-trigraphs -fno-strict-aliasing -fno-common
-LDFLAGS += -Werror-implicit-function-declaration -Wno-format-security
-#LDFLAGS += -std=gnu89 -mgeneral-regs-only -mabi=lp64 -O2
-LDFLAGS += -std=gnu89 -mgeneral-regs-only -O2
-LDFLAGS += -Wframe-larger-than=2048 -fno-stack-protector
-LDFLAGS += -fno-delete-null-pointer-checks -Wno-unused-but-set-variable
-LDFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
-LDFLAGS += -fno-var-tracking-assignments -g -Wdeclaration-after-statement
-LDFLAGS += -Wno-pointer-sign -fno-strict-overflow -fconserve-stack
-LDFLAGS += -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time
-LDFLAGS += -shared -fno-common -fno-builtin -nostdlib
-LDFLAGS += -Wl,-soname=linux-vdso.so.1 -Wl,--hash-style=sysv -Wl,-n -Wl,-T
-LDFLAGS += --param=allow-store-data-races=0 -DCC_HAVE_ASM_GOTO
-LDFLAGS += -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(vdso.so)"
-LDFLAGS += -D"KBUILD_MODNAME=KBUILD_STR(vdso.so)" -D__KERNEL__
-
-DEPSRCS = $(wildcard $(VDSOSRC)/*.c $(VDSOSRC)/*.S)
-
-CFLAGS_lds := -E -P -C -U$(ARCH)
-CFLAGS_lds += -nostdinc
-CFLAGS_lds += -mlittle-endian
-CFLAGS_lds += -D__KERNEL__
-CFLAGS_lds += -D__ASSEMBLY__
-CFLAGS_lds += -DLINKER_SCRIPT
-CFLAGS_lds += -DVDSO_LBASE=0
-ifeq ($(HOST_KERNEL_CONFIG_ARM64_4K_PAGES), y)
-CFLAGS_lds += -DPAGE_SIZE=0x1000
-endif
-ifeq ($(HOST_KERNEL_CONFIG_ARM64_16K_PAGES), y)
-CFLAGS_lds += -DPAGE_SIZE=0x4000
-endif
-ifeq ($(HOST_KERNEL_CONFIG_ARM64_64K_PAGES), y)
-CFLAGS_lds += -DPAGE_SIZE=0x10000
-endif
-
-#load mckernel config (append CPPFLAGS)
-#include @abs_top_builddir@/../ihk/cokernel/Makefile.common
-include @abs_top_builddir@/../ihk/cokernel/$(TARGETDIR)/Makefile.predefines
-
-default: all
-
-.PHONY: all clean depend prepare
-
-all: depend $(VDSOBUILD)/vdso.so $(VDSOBUILD)/../include/vdso-offsets.h $(VDSOBUILD)/../include/vdso-so-path.h
-
-# Strip rule for the .so file
-$(VDSOBUILD)/vdso.so: OBJCOPYFLAGS := -S
-$(VDSOBUILD)/vdso.so: $(VDSOBUILD)/vdso.so.dbg
- $(objcopy_cmd)
-
-# Generate VDSO offsets using helper script
-$(VDSOBUILD)/../include/vdso-offsets.h: $(VDSOBUILD)/vdso.so.dbg
- $(call echo_cmd,VDSOSYM,$<)
- @mkdir -p $(VDSOBUILD)/../include
- @nm $< | sh $(VDSOSRC)/gen_vdso_offsets.sh | LC_ALL=C sort > $@
-
-$(VDSOBUILD)/../include/vdso-so-path.h:
- @echo "#define VDSO_SO_PATH \"@abs_builddir@/vdso.so\"" > $@
-
-# Link rule for the .so file, .lds has to be first
-$(VDSOBUILD)/vdso.so.dbg: $(VDSOBUILD)/vdso.lds $(DESTOBJS) $(DESTASMOBJS)
- $(ld_cmd)
-
-$(VDSOBUILD)/vdso.lds: $(VDSOSRC)/vdso.lds.S
- $(lds_cmd)
-
-clean:
- $(rm_cmd) -f $(DESTOBJS) $(DESTASMOBJS) $(VDSOBUILD)/Makefile.dep $(VDSOBUILD)/vdso.lds
- $(rm_cmd) -f $(VDSOBUILD)/vdso.so* $(VDSOBUILD)/../include/vdso-offsets.h $(VDSOBUILD)/../include/vdso-so-path.h
- $(rmdir_cmd) --ignore-fail-on-non-empty $(VDSOBUILD)/../include
-
-depend: $(VDSOBUILD)/Makefile.dep
-
-$(VDSOBUILD)/Makefile.dep:
- $(call dep_cmd,$(DEPSRCS))
-
-prepare:
- @$(RM) $(VDSOBUILD)/Makefile.dep
-
--include $(VDSOBUILD)/Makefile.dep
-
-# Actual build commands
-ifeq ($(V),1)
-echo_cmd =
-submake = make
-else
-echo_cmd = @echo ' ($(TARGET))' $1 $(ECHO_SUFFIX) $2;
-submake = make --no-print-directory
-endif
-
-cc_cmd = $(call echo_cmd,CC,$<)$(CC) $(CFLAGS) -c -o $@
-ld_cmd = $(call echo_cmd,LD,$@)$(CC) $(LDFLAGS) $^ -o $@
-dep_cmd = $(call echo_cmd,DEPEND,)$(CC) $(CFLAGS) -MM $1 > $@
-rm_cmd = $(call echo_cmd,CLEAN,)$(RM)
-rmdir_cmd = $(call echo_cmd,CLEAN,)$(RMDIR)
-objcopy_cmd = $(call echo_cmd,OBJCOPY,$<)$(OBJCOPY) $(OBJCOPYFLAGS) $< $@
-lds_cmd = $(call echo_cmd,LDS,$<)$(CC) $(CFLAGS_lds) -c -o $@ $<
-
-$(DESTOBJS):
- $(cc_cmd) $(addprefix $(VDSOSRC)/, $(notdir $(@:.o=.c)))
-$(DESTASMOBJS):
- $(cc_cmd) $(addprefix $(VDSOSRC)/, $(notdir $(@:.o=.S))) -D__ASSEMBLY__
-
diff --git a/arch/arm64/kernel/vdso/asm_syscall.h b/arch/arm64/kernel/vdso/asm_syscall.h
deleted file mode 100644
index 7deffbf8..00000000
--- a/arch/arm64/kernel/vdso/asm_syscall.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* asm_syscall.h COPYRIGHT FUJITSU LIMITED 2016 */
-#ifndef __HEADER_ARM64_VDSO_SYSCALL_H
-#define __HEADER_ARM64_VDSO_SYSCALL_H
-
-#define DECLARATOR(number,name) .equ __NR_##name, number
-#define SYSCALL_HANDLED(number,name) DECLARATOR(number,name)
-#define SYSCALL_DELEGATED(number,name) DECLARATOR(number,name)
-
-#include
-
-#undef DECLARATOR
-#undef SYSCALL_HANDLED
-#undef SYSCALL_DELEGATED
-
-#endif /* !__HEADER_ARM64_VDSO_SYSCALL_H */
diff --git a/arch/arm64/kernel/vdso/gen_vdso_offsets.sh b/arch/arm64/kernel/vdso/gen_vdso_offsets.sh
deleted file mode 100644
index a540fb33..00000000
--- a/arch/arm64/kernel/vdso/gen_vdso_offsets.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-# gen_vdso_offsets.sh COPYRIGHT FUJITSU LIMITED 2016
-# @ref.impl arch/arm64/kernel/vdso/gen_vdso_offsets.sh
-#
-# Match symbols in the DSO that look like VDSO_*; produce a header file
-# of constant offsets into the shared object.
-#
-# Doing this inside the Makefile will break the $(filter-out) function,
-# causing Kbuild to rebuild the vdso-offsets header file every time.
-#
-# Author: Will Deacon
-#include
-#include
-#include
-#include
-#include
-
-#define UNUSED(x) ((void)(x))
-void vdso_gettimeofday_unused_funcs(void)
-{
- UNUSED(xgetbv);
- UNUSED(xsetbv);
- UNUSED(rdpmc);
- UNUSED(rdmsr);
- UNUSED(set_perfctl);
- UNUSED(start_perfctr);
- UNUSED(stop_perfctr);
- UNUSED(clear_perfctl);
- UNUSED(set_perfctr);
- UNUSED(read_perfctr);
- UNUSED(xos_is_tchip);
-}
-
-extern int __kernel_gettimeofday(struct timeval *tv, void *tz);
-
-static inline void cpu_pause_for_vsyscall(void)
-{
- asm volatile ("yield" ::: "memory");
-}
-
-static inline void vdso_calculate_time_from_tsc(struct timespec *ts,
- struct tod_data_s *tod_data)
-{
- UNUSED(xgetbv);
- UNUSED(xsetbv);
- UNUSED(rdpmc);
- UNUSED(rdmsr);
- UNUSED(set_perfctl);
- UNUSED(start_perfctr);
- UNUSED(stop_perfctr);
- UNUSED(clear_perfctl);
- UNUSED(set_perfctr);
- UNUSED(read_perfctr);
- UNUSED(xos_is_tchip);
-}
-
-static inline struct tod_data_s *get_tod_data_addr(void)
-{
- unsigned long addr;
-
- asm volatile("adr %0, _tod_data\n"
- : "=r" (addr)
- :
- : "memory");
-
- return (struct tod_data_s *)addr;
-}
-
-int __kernel_gettimeofday(struct timeval *tv, void *tz)
-{
- long ret;
- struct tod_data_s *tod_data;
- struct timespec ats;
-
- if(!tv && !tz) {
- /* nothing to do */
- return 0;
- }
-
- tod_data = get_tod_data_addr();
-
- /* DO it locally if supported */
- if (!tz && tod_data->do_local) {
- vdso_calculate_time_from_tsc(&ats, tod_data);
-
- tv->tv_sec = ats.tv_sec;
- tv->tv_usec = ats.tv_nsec / 1000;
-
- return 0;
- }
-
- /* Otherwize syscall */
- asm volatile("mov w8, %w1\n"
- "mov x0, %2\n"
- "mov x1, %3\n"
- "svc #0\n"
- "mov %0, x0\n"
- : "=r" (ret)
- : "r" (__NR_gettimeofday), "r"(tv), "r"(tz)
- : "memory");
-
- if (ret) {
- *(int *)0 = 0; /* i.e. raise(SIGSEGV) */
- }
- return (int)ret;
-}
-
-/*
- * The IDs of the various system clocks (for POSIX.1b interval timers):
- * @ref.impl include/uapi/linux/time.h
- */
-// #define CLOCK_REALTIME 0
-// #define CLOCK_MONOTONIC 1
-// #define CLOCK_PROCESS_CPUTIME_ID 2
-// #define CLOCK_THREAD_CPUTIME_ID 3
-#define CLOCK_MONOTONIC_RAW 4
-#define CLOCK_REALTIME_COARSE 5
-#define CLOCK_MONOTONIC_COARSE 6
-#define CLOCK_BOOTTIME 7
-#define CLOCK_REALTIME_ALARM 8
-#define CLOCK_BOOTTIME_ALARM 9
-#define CLOCK_SGI_CYCLE 10 /* Hardware specific */
-#define CLOCK_TAI 11
-
-#define HIGH_RES_NSEC 1 /* nsec. */
-#define CLOCK_REALTIME_RES HIGH_RES_NSEC
-
-#define CLOCK_COARSE_RES ((NS_PER_SEC+CONFIG_HZ/2)/CONFIG_HZ) /* 10,000,000 nsec*/
-
-typedef int clockid_t;
-
-int __kernel_clock_gettime(clockid_t clk_id, struct timespec *tp)
-{
- long ret;
- struct tod_data_s *tod_data;
- struct timespec ats;
-
- if (!tp) {
- /* nothing to do */
- return 0;
- }
-
- tod_data = get_tod_data_addr();
-
- /* DO it locally if supported */
- if (tod_data->do_local && clk_id == CLOCK_REALTIME) {
- vdso_calculate_time_from_tsc(&ats, tod_data);
-
- tp->tv_sec = ats.tv_sec;
- tp->tv_nsec = ats.tv_nsec;
-
- return 0;
- }
-
- /* Otherwize syscall */
- asm volatile("mov w8, %w1\n"
- "mov x0, %2\n"
- "mov x1, %3\n"
- "svc #0\n"
- "mov %0, x0\n"
- : "=r" (ret)
- : "r" (__NR_clock_gettime), "r"(clk_id), "r"(tp)
- : "memory");
-
- return (int)ret;
-}
-
-int __kernel_clock_getres(clockid_t clk_id, struct timespec *res)
-{
- long ret;
-
- if (!res) {
- /* nothing to do */
- return 0;
- }
-
- switch (clk_id) {
- case CLOCK_REALTIME:
- case CLOCK_MONOTONIC:
- res->tv_sec = 0;
- res->tv_nsec = CLOCK_REALTIME_RES;
- return 0;
- break;
- case CLOCK_REALTIME_COARSE:
- case CLOCK_MONOTONIC_COARSE:
- res->tv_sec = 0;
- res->tv_nsec = CLOCK_COARSE_RES;
- return 0;
- break;
- default:
- break;
- }
-
- /* Otherwise syscall */
- asm volatile("mov w8, %w1\n"
- "mov x0, %2\n"
- "mov x1, %3\n"
- "svc #0\n"
- "mov %0, x0\n"
- : "=r" (ret)
- : "r" (__NR_clock_getres), "r"(clk_id), "r"(res)
- : "memory");
-
- return (int)ret;
-}
diff --git a/arch/arm64/kernel/vdso/note.S b/arch/arm64/kernel/vdso/note.S
deleted file mode 100644
index efec7ad9..00000000
--- a/arch/arm64/kernel/vdso/note.S
+++ /dev/null
@@ -1,28 +0,0 @@
-/* note.S COPYRIGHT FUJITSU LIMITED 2016 */
-/* @ref.impl arch/arm64/kernel/vdso/note.S */
-/*
- * Copyright (C) 2012 ARM Limited
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Author: Will Deacon
- *
- * This supplies .note.* sections to go into the PT_NOTE inside the vDSO text.
- * Here we can supply some information useful to userland.
- */
-
-#include
-
-ELFNOTE_START(McKernel, 0, "a")
- .long 0x10000 /* MCKERNEL_VERSION_CODE */
-ELFNOTE_END
diff --git a/arch/arm64/kernel/vdso/sigreturn.S b/arch/arm64/kernel/vdso/sigreturn.S
deleted file mode 100644
index b523af26..00000000
--- a/arch/arm64/kernel/vdso/sigreturn.S
+++ /dev/null
@@ -1,39 +0,0 @@
-/* sigreturn.S COPYRIGHT FUJITSU LIMITED 2016 */
-/* @ref.impl arch/arm64/kernel/vdso/sigreturn.S */
-/*
- * Sigreturn trampoline for returning from a signal when the SA_RESTORER
- * flag is not set.
- *
- * Copyright (C) 2012 ARM Limited
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Author: Will Deacon
- */
-
-#include
-#include
-
- .text
-
- nop
-ENTRY(__kernel_rt_sigreturn)
- .cfi_startproc
- .cfi_signal_frame
- .cfi_def_cfa x29, 0
- .cfi_offset x29, 0 * 8
- .cfi_offset x30, 1 * 8
- mov x8, #__NR_rt_sigreturn
- svc #0
- .cfi_endproc
-ENDPROC(__kernel_rt_sigreturn)
diff --git a/arch/arm64/kernel/vdso/vdso.lds.S b/arch/arm64/kernel/vdso/vdso.lds.S
deleted file mode 100644
index 90fa559a..00000000
--- a/arch/arm64/kernel/vdso/vdso.lds.S
+++ /dev/null
@@ -1,96 +0,0 @@
-/* vdso.lds.S COPYRIGHT FUJITSU LIMITED 2016 */
-/* @ref.impl arch/arm64/kernel/vdso/vdso.lds.S */
-/*
- * GNU linker script for the VDSO library.
- *
- * Copyright (C) 2012 ARM Limited
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * Author: Will Deacon
- * Heavily based on the vDSO linker scripts for other archs.
- */
-
-OUTPUT_FORMAT("elf64-littleaarch64", "elf64-bigaarch64", "elf64-littleaarch64")
-OUTPUT_ARCH(aarch64)
-
-SECTIONS
-{
- PROVIDE(_tod_data = . - PAGE_SIZE);
- . = VDSO_LBASE + SIZEOF_HEADERS;
-
- .hash : { *(.hash) } :text
- .gnu.hash : { *(.gnu.hash) }
- .dynsym : { *(.dynsym) }
- .dynstr : { *(.dynstr) }
- .gnu.version : { *(.gnu.version) }
- .gnu.version_d : { *(.gnu.version_d) }
- .gnu.version_r : { *(.gnu.version_r) }
-
- .note : { *(.note.*) } :text :note
-
- . = ALIGN(16);
-
- .text : { *(.text*) } :text =0xd503201f
- PROVIDE (__etext = .);
- PROVIDE (_etext = .);
- PROVIDE (etext = .);
-
- .eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr
- .eh_frame : { KEEP (*(.eh_frame)) } :text
-
- .dynamic : { *(.dynamic) } :text :dynamic
-
- .rodata : { *(.rodata*) } :text
-
- _end = .;
- PROVIDE(end = .);
-
- /DISCARD/ : {
- *(.note.GNU-stack)
- *(.data .data.* .gnu.linkonce.d.* .sdata*)
- *(.bss .sbss .dynbss .dynsbss)
- }
-}
-
-/*
- * We must supply the ELF program headers explicitly to get just one
- * PT_LOAD segment, and set the flags explicitly to make segments read-only.
- */
-PHDRS
-{
- text PT_LOAD FLAGS(5) FILEHDR PHDRS; /* PF_R|PF_X */
- dynamic PT_DYNAMIC FLAGS(4); /* PF_R */
- note PT_NOTE FLAGS(4); /* PF_R */
- eh_frame_hdr PT_GNU_EH_FRAME;
-}
-
-/*
- * This controls what symbols we export from the DSO.
- */
-VERSION
-{
- LINUX_2.6.39 {
- global:
- __kernel_rt_sigreturn;
- __kernel_gettimeofday;
- __kernel_clock_gettime;
- __kernel_clock_getres;
- local: *;
- };
-}
-
-/*
- * Make the sigreturn code visible to the kernel.
- */
-VDSO_sigtramp = __kernel_rt_sigreturn;
diff --git a/arch/x86_64/tools/irqbalance_mck.in.in b/arch/x86_64/tools/irqbalance_mck.in
similarity index 100%
rename from arch/x86_64/tools/irqbalance_mck.in.in
rename to arch/x86_64/tools/irqbalance_mck.in
diff --git a/arch/x86_64/tools/irqbalance_mck.service.in b/arch/x86_64/tools/irqbalance_mck.service
similarity index 100%
rename from arch/x86_64/tools/irqbalance_mck.service.in
rename to arch/x86_64/tools/irqbalance_mck.service
diff --git a/arch/x86_64/tools/mcreboot-smp-x86.sh.in b/arch/x86_64/tools/mcreboot-smp-x86.sh.in
index 54e97d1c..e6059145 100644
--- a/arch/x86_64/tools/mcreboot-smp-x86.sh.in
+++ b/arch/x86_64/tools/mcreboot-smp-x86.sh.in
@@ -18,8 +18,8 @@ prefix="@prefix@"
BINDIR="${prefix}/bin"
SBINDIR="${prefix}/sbin"
ETCDIR=@ETCDIR@
-KMODDIR="${prefix}/kmod"
-KERNDIR="${prefix}/@TARGET@/kernel"
+KMODDIR="@KMODDIR@"
+KERNDIR="@MCKERNELDIR@"
ENABLE_MCOVERLAYFS="@ENABLE_MCOVERLAYFS@"
MCK_BUILDID=@BUILDID@
@@ -138,32 +138,32 @@ error_exit() {
fi
;&
mcos_sys_mounted)
- if [ "$ENABLE_MCOVERLAYFS" == "yes" ]; then
+ if [ "$ENABLE_MCOVERLAYFS" == "ON" ]; then
umount /tmp/mcos/mcos0_sys
fi
;&
mcos_proc_mounted)
- if [ "$ENABLE_MCOVERLAYFS" == "yes" ]; then
+ if [ "$ENABLE_MCOVERLAYFS" == "ON" ]; then
umount /tmp/mcos/mcos0_proc
fi
;&
mcoverlayfs_loaded)
- if [ "$ENABLE_MCOVERLAYFS" == "yes" ]; then
+ if [ "$ENABLE_MCOVERLAYFS" == "ON" ]; then
rmmod mcoverlay 2>/dev/null
fi
;&
linux_proc_bind_mounted)
- if [ "$ENABLE_MCOVERLAYFS" == "yes" ]; then
+ if [ "$ENABLE_MCOVERLAYFS" == "ON" ]; then
umount /tmp/mcos/linux_proc
fi
;&
tmp_mcos_mounted)
- if [ "$ENABLE_MCOVERLAYFS" == "yes" ]; then
+ if [ "$ENABLE_MCOVERLAYFS" == "ON" ]; then
umount /tmp/mcos
fi
;&
tmp_mcos_created)
- if [ "$ENABLE_MCOVERLAYFS" == "yes" ]; then
+ if [ "$ENABLE_MCOVERLAYFS" == "ON" ]; then
rm -rf /tmp/mcos
fi
;&
@@ -255,7 +255,7 @@ if [ "$cpus" == "" ]; then
fi
# Remove mcoverlay if loaded
-if [ "$ENABLE_MCOVERLAYFS" == "yes" ]; then
+if [ "$ENABLE_MCOVERLAYFS" == "ON" ]; then
${SBINDIR}/mcoverlay-destroy.sh
ret=$?
if [ $ret -ne 0 ]; then
@@ -462,7 +462,7 @@ if ! chown ${chown_option} /dev/mcd* /dev/mcos*; then
fi
# Overlay /proc, /sys with McKernel specific contents
-if [ "$ENABLE_MCOVERLAYFS" == "yes" ]; then
+if [ "$ENABLE_MCOVERLAYFS" == "ON" ]; then
${SBINDIR}/mcoverlay-create.sh
ret=$?
if [ $ret -ne 0 ]; then
diff --git a/arch/x86_64/tools/mcstop+release-smp-x86.sh.in b/arch/x86_64/tools/mcstop+release-smp-x86.sh.in
index 429f3e7d..ffecb10a 100644
--- a/arch/x86_64/tools/mcstop+release-smp-x86.sh.in
+++ b/arch/x86_64/tools/mcstop+release-smp-x86.sh.in
@@ -100,15 +100,6 @@ if grep mcctrl /proc/modules &>/dev/null; then
fi
fi
-# Remove mcoverlay if loaded
-${SBINDIR}/mcoverlay-destroy.sh
-ret=$?
-if [ $ret -ne 0 ]; then
- echo "error: mcoverlay-destroy.sh" >&2
- exit $ret
-fi
-
-
# Remove SMP module
if grep ihk_smp_@ARCH@ /proc/modules &>/dev/null; then
if ! rmmod ihk_smp_@ARCH@ 2>/dev/null; then
diff --git a/cmake/README.cross_compilation b/cmake/README.cross_compilation
new file mode 100644
index 00000000..b41be81b
--- /dev/null
+++ b/cmake/README.cross_compilation
@@ -0,0 +1,46 @@
+Cross compilation:
+------------------
+
+The standard way of cross compiling with cmake is to give cmake a "toolchain
+file" that describes the compiler prefix and where it can find libraries for
+the target system, we provide an example in cmake/cross-aarch64.cmake.
+
+This obviously requires installing a toolchain and a rootfs with target
+libraries to link against.
+
+In addition, mckernel borrows the Kbuild system from linux kernel, which also
+makes the assumption that you can run generated executables (Kbuild uses various
+scripts around module building and does not make the distinction between build
+target and host target); you can get this working by setting up qemu-user on your
+machine which the kernel will transparently use through binfmt magic when trying
+to execute other arch binaries.
+
+# yum install gcc-aarch64-linux-gnu qemu-user
+(dnf brings in --forcearch, we use this to setup the sysroot ; there are other
+ways of building one. It is available on el7 in extras.)
+# yum install dnf dnf-plugins-core
+(install these separately because most scripts cannot be run, and dependency hell means we need them first)
+# dnf download --releasever=7 --forcearch=aarch64 filesystem centos-release
+# rpm --root /usr/aarch64-linux-gnu/sys-root --ignorearch --nodeps -ivh filesystem-*.rpm
+# rpm --root /usr/aarch64-linux-gnu/sys-root --ignorearch --nodeps -ivh centos-release-*.rpm
+# rpm --root /usr/aarch64-linux-gnu/sys-root --import /usr/aarch64-linux-gnu/sys-root/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
+# rpm --root /usr/aarch64-linux-gnu/sys-root --import /usr/aarch64-linux-gnu/sys-root/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7-aarch64
+# dnf install --releasever=7 --forcearch=aarch64 --installroot=/usr/aarch64-linux-gnu/sys-root/ --setopt=tsflags=noscripts glibc-devel kernel-devel numactl-devel systemd-devel binutils-devel
+
+(el7 lacks a binfmt for aarch64... fix this)
+# echo ':qemu-aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-aarch64:' > /etc/binfmt.d/qemu-aarch64-dynamic.conf
+# systemctl restart systemd-binfmt
+
+(optional) test your setup
+# gcc -xc - <<<'#include '$'\n''int main() { printf("ok\n"); return 0; }'
+# export QEMU_LD_PREFIX=/usr/aarch64-linux-gnu/sys-root
+# file a.out
+a.out: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.7.0, BuildID[sha1]=5ff445d3353cad2dae0a22550fe4cc572287dd90, not stripped
+# ./a.out
+ok
+
+finally, build mckernel!
+# mkdir build; cd build
+# export QEMU_LD_PREFIX=/usr/aarch64-linux-gnu/sys-root
+# cmake -DCMAKE_INSTALL_PREFIX=/tmp/install-aarch64 -DCMAKE_TOOLCHAIN_FILE=../cmake/cross-aarch64.cmake -DUNAME_R=4.14.0-115.2.2.el7a.aarch64 -DKERNEL_DIR=/usr/aarch64-linux-gnu/sys-root/usr/src/kernels/4.14.0-115.2.2.el7a.aarch64/ -DBUILD_TARGET=smp-arm64 ..
+# make -j
diff --git a/cmake/cross-aarch64.cmake b/cmake/cross-aarch64.cmake
new file mode 100644
index 00000000..ada4b217
--- /dev/null
+++ b/cmake/cross-aarch64.cmake
@@ -0,0 +1,10 @@
+SET(CMAKE_SYSTEM_NAME Linux)
+
+SET(CMAKE_C_COMPILER /usr/bin/aarch64-linux-gnu-gcc)
+SET(CMAKE_CXX_COMPILER /usr/bin/aarch64-linux-gnu-g++)
+
+SET(CMAKE_FIND_ROOT_PATH /usr/aarch64-linux-gnu/sys-root)
+
+SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
diff --git a/cmake/modules/Kbuild.cmake b/cmake/modules/Kbuild.cmake
new file mode 100644
index 00000000..cec3344a
--- /dev/null
+++ b/cmake/modules/Kbuild.cmake
@@ -0,0 +1,100 @@
+# Interface to kbuild
+#
+# Generate Kbuild file as appropriate and call make to the kernel build system
+# Original goal was to be simple, but correctness is difficult...
+
+set(UNAME_R ${CMAKE_SYSTEM_VERSION} CACHE STRING "Kernel version to build against")
+set(KERNEL_DIR "/lib/modules/${UNAME_R}/build" CACHE STRING "kernel build directory")
+
+set(KBUILD_C_FLAGS "" CACHE STRING "Compiler flags to give to Kbuild.")
+set(KBUILD_MAKE_FLAGS "" CACHE STRING "Extra make arguments for Kbuild.")
+
+mark_as_advanced(
+ KBUILD_C_FLAGS
+ KBUILD_MAKE_FLAGS
+)
+
+function(kmod MODULE_NAME)
+ cmake_parse_arguments(KMOD "" "INSTALL_DEST" "C_FLAGS;SOURCES;EXTRA_SYMBOLS;DEPENDS" ${ARGN})
+
+ add_custom_target(${MODULE_NAME}_ko ALL
+ DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}.ko"
+ "${CMAKE_CURRENT_BINARY_DIR}/Module.symvers")
+
+ string(REGEX REPLACE "\\.c(;|$)" ".o\\1" KMOD_OBJECTS "${KMOD_SOURCES}")
+ string(REPLACE ";" " " OBJECTS "${KMOD_OBJECTS}")
+ string(REPLACE ";" " " C_FLAGS "${KMOD_C_FLAGS}")
+ string(REPLACE ";" " " EXTRA_SYMBOLS "${KMOD_EXTRA_SYMBOLS}")
+if(ENABLE_WERROR)
+ set(ccflags "${KBUILD_C_FLAGS} ${C_FLAGS} -Werror")
+else(ENABLE_WERROR)
+ set(ccflags "${KBUILD_C_FLAGS} ${C_FLAGS}")
+endif(ENABLE_WERROR)
+ configure_file(${CMAKE_SOURCE_DIR}/cmake/modules/Kbuild.in
+ ${CMAKE_CURRENT_BINARY_DIR}/Kbuild)
+
+ if (${CMAKE_GENERATOR} STREQUAL Ninja)
+ set(MAKE "make")
+ list(APPEND KBUILD_MAKE_FLAGS "-j")
+ else ()
+ set(MAKE "$(MAKE)")
+ endif ()
+ if (NOT "${ARCH}" STREQUAL "${CMAKE_HOST_SYSTEM_PROCESSOR}")
+ string(REGEX REPLACE "ld$" "" CROSS_COMPILE "${CMAKE_LINKER}")
+ list(APPEND KBUILD_MAKE_FLAGS "ARCH=${ARCH};CROSS_COMPILE=${CROSS_COMPILE}")
+ endif()
+
+ string(REGEX REPLACE "\\.c(;|$)" ".o.cmd\\1" KMOD_O_CMD "${KMOD_SOURCES}")
+ string(REGEX REPLACE "[^/;]+(;|$)" ".\\0" KMOD_O_CMD "${KMOD_O_CMD}")
+
+
+ # This custom command has two uses:
+ # - first is to list kbuild output files, so make clean does something
+ # (cmake does not let us add a custom command to make clean)
+ # - this alone could have been added to the other command, but cmake insists
+ # on messing with timestamps with touch_nocreate after the command runs,
+ # so it would incorrectly make intermediary outputs newer than the .ko
+ # and force kbuild to relink needlessly
+ add_custom_command(
+ OUTPUT
+ old_timestamp
+ ${KMOD_OBJECTS}
+ ${KMOD_O_CMD}
+ "${MODULE_NAME}.o"
+ ".${MODULE_NAME}.o.cmd"
+ "${MODULE_NAME}.mod.c"
+ "${MODULE_NAME}.mod.o"
+ ".${MODULE_NAME}.mod.o.cmd"
+ ".${MODULE_NAME}.ko.cmd"
+ ".tmp_versions/${MODULE_NAME}.mod"
+ ".tmp_versions"
+ "modules.order"
+ COMMAND touch old_timestamp
+ )
+
+ # This custom command forces cmake to rebuild the module, so kbuild's dependencies
+ # (including header files modifications) kick in everytime.
+ # Ideally, should later be replaced by something parsing the .xxx.cmd files to have
+ # the native build system do these checks, if possible at all...
+ add_custom_command(OUTPUT kmod_always_rebuild COMMAND touch kmod_always_rebuild)
+
+ add_custom_command(
+ OUTPUT "${MODULE_NAME}.ko"
+ "Module.symvers"
+ COMMAND ${MAKE} ${KBUILD_MAKE_FLAGS} -C ${KERNEL_DIR}
+ M=${CMAKE_CURRENT_BINARY_DIR} modules
+ COMMAND rm -f kmod_always_rebuild
+ DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/Kbuild"
+ ${KMOD_DEPENDS}
+ kmod_always_rebuild
+ old_timestamp
+ COMMENT "Building kmod ${MODULE_NAME}"
+ )
+
+ if (KMOD_INSTALL_DEST)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}.ko"
+ DESTINATION "${KMOD_INSTALL_DEST}")
+ endif (KMOD_INSTALL_DEST)
+
+ message("Defined module ${MODULE_NAME}")
+endfunction(kmod)
diff --git a/cmake/modules/Kbuild.in b/cmake/modules/Kbuild.in
new file mode 100644
index 00000000..8252f6e2
--- /dev/null
+++ b/cmake/modules/Kbuild.in
@@ -0,0 +1,7 @@
+ccflags-y := @ccflags@
+src := @CMAKE_CURRENT_SOURCE_DIR@
+
+KBUILD_EXTRA_SYMBOLS := @EXTRA_SYMBOLS@
+
+obj-m := @MODULE_NAME@.o
+@MODULE_NAME@-y := @OBJECTS@
diff --git a/cmake/modules/Ksym.cmake b/cmake/modules/Ksym.cmake
new file mode 100644
index 00000000..743fc92c
--- /dev/null
+++ b/cmake/modules/Ksym.cmake
@@ -0,0 +1,43 @@
+# Lookup symbol addresses from Ksymbol file
+
+set(SYSTEM_MAP "${KERNEL_DIR}/System.map" CACHE STRING "System map to look for symbols")
+set(VMLINUX "${KERNEL_DIR}/vmlinux" CACHE STRING "kernel object file")
+
+
+function(ksym SYMBOL)
+ cmake_parse_arguments(KSYM "" "PREFIX;SOURCE_FILE;SUFFIX" "" ${ARGN})
+
+ execute_process(COMMAND awk "/ ${SYMBOL}$/ { print $1 }" ${SYSTEM_MAP}
+ OUTPUT_VARIABLE ADDRESS_CANDIDATES OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+ if (NOT ADDRESS_CANDIDATES)
+ return()
+ endif()
+
+ # listify and get first element
+ string(REPLACE "\n" ";" ADDRESS_CANDIDATES "${ADDRESS_CANDIDATES}")
+ list(GET ADDRESS_CANDIDATES 0 ADDRESS)
+
+ if (SOURCE_FILE)
+ foreach(ADDRESS IN LISTS ADDRESS_CANDIDATES)
+ execute_process(COMMAND addr2line -e ${VMLINUX} ${ADDRESS}
+ OUTPUT_VARIABLE LINE OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if(LINE MATCHES ".*${SOURCE_FILE}:.*")
+ set(FOUND ADDRESS)
+ break()
+ endif()
+ endforeach(ADDRESS)
+ if(NOT FOUND)
+ return()
+ endif()
+
+ # ?! why only if source_file?...
+ execute_process(COMMAND "awk '/ __ksymtab_${SYMBOL}$/ { print $1 }'"
+ OUTPUT_VARIABLE SYMBOL_EXPORTED OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if (SYMBOL_EXPORTED)
+ set(ADDRESS 0)
+ endif(SYMBOL_EXPORTED)
+ endif(SOURCE_FILE)
+
+ set(${KSYM_PREFIX}KSYM_${SYMBOL}${KSYM_SUFFIX} "0x${ADDRESS}" CACHE INTERNAL "symbol")
+endfunction(ksym)
diff --git a/config.h.in b/config.h.in
index 8ee2f3a3..bedd0af0 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,97 +1,37 @@
/* config.h.in. Generated from configure.ac by autoheader. */
-/* Path of install directory for binary */
-#undef BINDIR
-
/* IHK build-id to confirm IHK and McKernel built at the same time are used */
-#undef BUILDID
+#define BUILDID "${BUILDID}"
+
+/* version number */
+#define MCKERNEL_VERSION "${MCKERNEL_VERSION}"
/* whether mcoverlayfs is enabled */
-#undef ENABLE_MCOVERLAYFS
+#cmakedefine ENABLE_MCOVERLAYFS 1
/* whether memdump feature is enabled */
-#undef ENABLE_MEMDUMP
+#cmakedefine ENABLE_MEMDUMP 1
/* whether perf is enabled */
-#undef ENABLE_PERF
+#cmakedefine ENABLE_PERF 1
/* whether qlmpi is enabled */
-#undef ENABLE_QLMPI
+#cmakedefine ENABLE_QLMPI 1
/* whether rusage is enabled */
-#undef ENABLE_RUSAGE
+#cmakedefine ENABLE_RUSAGE 1
-/* Define to 1 if you have the header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the `bfd' library (-lbfd). */
-#undef HAVE_LIBBFD
-
-/* Define to 1 if you have the `iberty' library (-liberty). */
-#undef HAVE_LIBIBERTY
-
-/* Define to 1 if you have the header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the header file. */
-#undef HAVE_UNISTD_H
-
-/* IHK version string */
-#undef IHK_VERSION
-
-/* McKernel specific headers */
-#undef MCKERNEL_INCDIR
-
-/* McKernel specific libraries */
-#undef MCKERNEL_LIBDIR
-
-/* McKernel version string */
-#undef MCKERNEL_VERSION
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
+/* whether UTI is enabled */
+#cmakedefine ENABLE_UTI 1
/* Path of bind-mount source directory */
-#undef ROOTFSDIR
+#cmakedefine ROOTFSDIR "${ROOTFSDIR}"
+
+/* Path of install directory for libraries */
+#cmakedefine MCKERNEL_LIBDIR "${MCKERNEL_LIBDIR}"
+
+/* Path of install directory for binary */
+#cmakedefine BINDIR "${BINDIR}"
/* Path of install directory for system binary */
-#undef SBINDIR
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* whether or not syscall_intercept library is linked */
-#undef WITH_SYSCALL_INTERCEPT
+#cmakedefine SBINDIR "${SBINDIR}"
diff --git a/configure b/configure
deleted file mode 100755
index 428a891d..00000000
--- a/configure
+++ /dev/null
@@ -1,6271 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for mckernel 1.5.0.
-#
-#
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
- # into an infinite loop, continuously re-executing ourselves.
- if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
- _as_can_reexec=no; export _as_can_reexec;
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
- fi
- # We don't want this to propagate to other subprocesses.
- { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- export CONFIG_SHELL
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
- # already done that, so ensure we don't try to do so again and fall
- # in an infinite loop. This has already happened in practice.
- _as_can_reexec=no; export _as_can_reexec
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -pR'
- fi
-else
- as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 &1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='mckernel'
-PACKAGE_TARNAME='mckernel'
-PACKAGE_VERSION='1.5.0'
-PACKAGE_STRING='mckernel 1.5.0'
-PACKAGE_BUGREPORT=''
-PACKAGE_URL=''
-
-ac_default_prefix=/opt/ppos
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include
-#ifdef HAVE_SYS_TYPES_H
-# include
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include
-#endif
-#ifdef STDC_HEADERS
-# include
-# include
-#else
-# ifdef HAVE_STDLIB_H
-# include
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include
-# endif
-# include
-#endif
-#ifdef HAVE_STRINGS_H
-# include
-#endif
-#ifdef HAVE_INTTYPES_H
-# include
-#endif
-#ifdef HAVE_STDINT_H
-# include
-#endif
-#ifdef HAVE_UNISTD_H
-# include
-#endif"
-
-ac_subst_vars='LTLIBOBJS
-LIBOBJS
-uncomment_if_ENABLE_MEMDUMP
-DCFA_RESEASE_DATE
-MCKERNEL_RELEASE_DATE
-IHK_RELEASE_DATE
-DCFA_VERSION
-MCKERNEL_VERSION
-IHK_VERSION
-WITH_SYSCALL_INTERCEPT
-ENABLE_QLMPI
-ENABLE_RUSAGE
-MCOVERLAYFS_MODULE
-ENABLE_MCOVERLAYFS
-LDFLAGS_SYSCALL_INTERCEPT
-CPPFLAGS_SYSCALL_INTERCEPT
-MANDIR
-KERNDIR
-KMODDIR
-INCLUDEDIR
-ETCDIR
-INCDIR
-MCKERNEL_LIBDIR
-MCKERNEL_INCDIR
-SBINDIR
-BINDIR
-TARGET
-UNAME_R
-KDIR
-ARCH
-BUILDID
-XCC
-FGREP
-EGREP
-GREP
-CPP
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-with_mpi
-with_mpi_include
-with_mpi_lib
-with_syscall_intercept
-with_syscall_intercept_include
-with_syscall_intercept_lib
-with_kernelsrc
-with_target
-with_system_map
-enable_dcfa
-enable_memdump
-enable_mcoverlayfs
-enable_rusage
-enable_perf
-enable_qlmpi
-with_uname_r
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures mckernel 1.5.0 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/mckernel]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of mckernel 1.5.0:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-dcfa Enable DCFA modules
- --enable-memdump enable dumping memory and analyzing a dump
- --enable-mcoverlayfs enable mcoverlayfs implementation
- --enable-rusage enable rusage implementation
- --enable-perf enable perf_event implementation
- --enable-qlmpi enable qlmpi implementation
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-mpi=PATH specify path where mpi include directory and lib
- directory can be found
- --with-mpi-include=PATH specify path where mpi include directory can be
- found
- --with-mpi-lib=PATH specify path where mpi lib directory can be found
- --with-syscall_intercept=PATH
- specify path where syscall_intercept include
- directory and lib directory can be found
- --with-syscall_intercept-include=PATH
- specify path where syscall_intercept include
- directory can be found
- --with-syscall_intercept-lib=PATH
- specify path where syscall_intercept lib directory
- can be found
- --with-kernelsrc=path Path to 'kernel src', default is
- /lib/modules/uname_r/build
- --with-target={attached-mic | builtin-mic | builtin-x86 | smp-x86}
- target, default is attached-mic
- --with-system_map=path Path to 'System.map file', default is
- /boot/System.map-uname_r
- --with-uname_r=uname_r Value of '`uname -r`' on the target platform,
- default is local value
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L if you have libraries in a
- nonstandard directory
- LIBS libraries to pass to the linker, e.g. -l
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if
- you have headers in a nonstandard directory
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to the package provider.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-mckernel configure 1.5.0
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- test -x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by mckernel $as_me 1.5.0, which was
-generated by GNU Autoconf 2.69. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-
-
-
-IHK_VERSION=1.5.0
-MCKERNEL_VERSION=1.5.0
-DCFA_VERSION=DCFA_VERSION_m4
-IHK_RELEASE_DATE=2018-04-05
-MCKERNEL_RELEASE_DATE=2018-04-05
-DCFA_RELEASE_DATE=DCFA_RELEASE_DATE_m4
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-#include
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer to if __STDC__ is defined, since
- # exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer to if __STDC__ is defined, since
- # exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include
-#else
-# include
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-#include
-#include
-#include
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-#include
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-ac_fn_c_check_header_mongrel "$LINENO" "numa.h" "ac_cv_header_numa_h" "$ac_includes_default"
-if test "x$ac_cv_header_numa_h" = xyes; then :
- numa_header_found=yes
-fi
-
-
-if test "x$numa_header_found" != "xyes"; then :
- as_fn_error $? "Unable to find numa.h header file, missing numactl-devel?" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for numa_run_on_node in -lnuma" >&5
-$as_echo_n "checking for numa_run_on_node in -lnuma... " >&6; }
-if ${ac_cv_lib_numa_numa_run_on_node+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnuma $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char numa_run_on_node ();
-int
-main ()
-{
-return numa_run_on_node ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_numa_numa_run_on_node=yes
-else
- ac_cv_lib_numa_numa_run_on_node=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_numa_numa_run_on_node" >&5
-$as_echo "$ac_cv_lib_numa_numa_run_on_node" >&6; }
-if test "x$ac_cv_lib_numa_numa_run_on_node" = xyes; then :
- numa_lib_found=yes
-fi
-
-if test "x$numa_lib_found" != "xyes"; then :
- as_fn_error $? "Unable to find NUMA library, missing numactl-devel?" "$LINENO" 5
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_FGREP" || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-
-
-# Check whether --with-mpi was given.
-if test "${with_mpi+set}" = set; then :
- withval=$with_mpi; case "$withval" in #(
- yes|no|'') :
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --without-mpi=PATH expects a valid PATH" >&5
-$as_echo "$as_me: WARNING: --without-mpi=PATH expects a valid PATH" >&2;}
- with_mpi="" ;; #(
- *) :
- ;;
-esac
-else
- with_mpi=
-fi
-
-
-# Check whether --with-mpi-include was given.
-if test "${with_mpi_include+set}" = set; then :
- withval=$with_mpi_include; case "$withval" in #(
- yes|no|'') :
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --without-mpi-include=PATH expects a valid PATH" >&5
-$as_echo "$as_me: WARNING: --without-mpi-include=PATH expects a valid PATH" >&2;}
- with_mpi_include="" ;; #(
- *) :
- ;;
-esac
-fi
-
-
-# Check whether --with-mpi-lib was given.
-if test "${with_mpi_lib+set}" = set; then :
- withval=$with_mpi_lib; case "$withval" in #(
- yes|no|'') :
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --without-mpi-lib=PATH expects a valid PATH" >&5
-$as_echo "$as_me: WARNING: --without-mpi-lib=PATH expects a valid PATH" >&2;}
- with_mpi_lib="" ;; #(
- *) :
- ;;
-esac
-fi
-
-
- # The args have been sanitized into empty/non-empty values above.
- # Now append -I/-L args to CPPFLAGS/LDFLAGS, with more specific options
- # taking priority
-
- if test -n "${with_mpi_include}"; then :
-
-
- if echo "$CPPFLAGS" | $FGREP -e "\<-I${with_mpi_include}\>" >/dev/null 2>&1; then :
- echo "CPPFLAGS(='$CPPFLAGS') contains '-I${with_mpi_include}', not appending" >&5
-else
- echo "CPPFLAGS(='$CPPFLAGS') does not contain '-I${with_mpi_include}', appending" >&5
- CPPFLAGS="$CPPFLAGS -I${with_mpi_include}"
-
-fi
-
-else
- if test -n "${with_mpi}"; then :
-
-
- if echo "$CPPFLAGS" | $FGREP -e "\<-I${with_mpi}/include\>" >/dev/null 2>&1; then :
- echo "CPPFLAGS(='$CPPFLAGS') contains '-I${with_mpi}/include', not appending" >&5
-else
- echo "CPPFLAGS(='$CPPFLAGS') does not contain '-I${with_mpi}/include', appending" >&5
- CPPFLAGS="$CPPFLAGS -I${with_mpi}/include"
-
-fi
-
-fi
-fi
-
- if test -n "${with_mpi_lib}"; then :
-
-
- if echo "$LDFLAGS" | $FGREP -e "\<-L${with_mpi_lib}\>" >/dev/null 2>&1; then :
- echo "LDFLAGS(='$LDFLAGS') contains '-L${with_mpi_lib}', not appending" >&5
-else
- echo "LDFLAGS(='$LDFLAGS') does not contain '-L${with_mpi_lib}', appending" >&5
- LDFLAGS="$LDFLAGS -L${with_mpi_lib}"
-
-fi
-
-else
- if test -n "${with_mpi}"; then :
-
-
- if echo "$LDFLAGS" | $FGREP -e "\<-L${with_mpi}/lib\>" >/dev/null 2>&1; then :
- echo "LDFLAGS(='$LDFLAGS') contains '-L${with_mpi}/lib', not appending" >&5
-else
- echo "LDFLAGS(='$LDFLAGS') does not contain '-L${with_mpi}/lib', appending" >&5
- LDFLAGS="$LDFLAGS -L${with_mpi}/lib"
-
-fi
-
- if test -d "${with_mpi}/lib64"; then :
-
-
- if echo "$LDFLAGS" | $FGREP -e "\<-L${with_mpi}/lib64\>" >/dev/null 2>&1; then :
- echo "LDFLAGS(='$LDFLAGS') contains '-L${with_mpi}/lib64', not appending" >&5
-else
- echo "LDFLAGS(='$LDFLAGS') does not contain '-L${with_mpi}/lib64', appending" >&5
- LDFLAGS="$LDFLAGS -L${with_mpi}/lib64"
-
-fi
-
-fi
-
-fi
-
-fi
-
-
-
-
-# Check whether --with-syscall_intercept was given.
-if test "${with_syscall_intercept+set}" = set; then :
- withval=$with_syscall_intercept; case "$withval" in #(
- yes|no|'') :
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --without-syscall_intercept=PATH expects a valid PATH" >&5
-$as_echo "$as_me: WARNING: --without-syscall_intercept=PATH expects a valid PATH" >&2;}
- with_syscall_intercept="" ;; #(
- *) :
- ;;
-esac
-else
- with_syscall_intercept=
-fi
-
-
-# Check whether --with-syscall_intercept-include was given.
-if test "${with_syscall_intercept_include+set}" = set; then :
- withval=$with_syscall_intercept_include; case "$withval" in #(
- yes|no|'') :
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --without-syscall_intercept-include=PATH expects a valid PATH" >&5
-$as_echo "$as_me: WARNING: --without-syscall_intercept-include=PATH expects a valid PATH" >&2;}
- with_syscall_intercept_include="" ;; #(
- *) :
- ;;
-esac
-fi
-
-
-# Check whether --with-syscall_intercept-lib was given.
-if test "${with_syscall_intercept_lib+set}" = set; then :
- withval=$with_syscall_intercept_lib; case "$withval" in #(
- yes|no|'') :
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --without-syscall_intercept-lib=PATH expects a valid PATH" >&5
-$as_echo "$as_me: WARNING: --without-syscall_intercept-lib=PATH expects a valid PATH" >&2;}
- with_syscall_intercept_lib="" ;; #(
- *) :
- ;;
-esac
-fi
-
-
- # The args have been sanitized into empty/non-empty values above.
- # Now append -I/-L args to CPPFLAGS/LDFLAGS, with more specific options
- # taking priority
-
- if test -n "${with_syscall_intercept_include}"; then :
-
-
- if echo "$CPPFLAGS_SYSCALL_INTERCEPT" | $FGREP -e "\<-I${with_syscall_intercept_include}\>" >/dev/null 2>&1; then :
- echo "CPPFLAGS_SYSCALL_INTERCEPT(='$CPPFLAGS_SYSCALL_INTERCEPT') contains '-I${with_syscall_intercept_include}', not appending" >&5
-else
- echo "CPPFLAGS_SYSCALL_INTERCEPT(='$CPPFLAGS_SYSCALL_INTERCEPT') does not contain '-I${with_syscall_intercept_include}', appending" >&5
- CPPFLAGS_SYSCALL_INTERCEPT="$CPPFLAGS_SYSCALL_INTERCEPT -I${with_syscall_intercept_include}"
-
-fi
-
-else
- if test -n "${with_syscall_intercept}"; then :
-
-
- if echo "$CPPFLAGS_SYSCALL_INTERCEPT" | $FGREP -e "\<-I${with_syscall_intercept}/include\>" >/dev/null 2>&1; then :
- echo "CPPFLAGS_SYSCALL_INTERCEPT(='$CPPFLAGS_SYSCALL_INTERCEPT') contains '-I${with_syscall_intercept}/include', not appending" >&5
-else
- echo "CPPFLAGS_SYSCALL_INTERCEPT(='$CPPFLAGS_SYSCALL_INTERCEPT') does not contain '-I${with_syscall_intercept}/include', appending" >&5
- CPPFLAGS_SYSCALL_INTERCEPT="$CPPFLAGS_SYSCALL_INTERCEPT -I${with_syscall_intercept}/include"
-
-fi
-
-fi
-fi
-
- if test -n "${with_syscall_intercept_lib}"; then :
-
-
- if echo "$LDFLAGS_SYSCALL_INTERCEPT" | $FGREP -e "\<-L${with_syscall_intercept_lib} -Wl,-rpath,${with_syscall_intercept_lib}\>" >/dev/null 2>&1; then :
- echo "LDFLAGS_SYSCALL_INTERCEPT(='$LDFLAGS_SYSCALL_INTERCEPT') contains '-L${with_syscall_intercept_lib} -Wl,-rpath,${with_syscall_intercept_lib}', not appending" >&5
-else
- echo "LDFLAGS_SYSCALL_INTERCEPT(='$LDFLAGS_SYSCALL_INTERCEPT') does not contain '-L${with_syscall_intercept_lib} -Wl,-rpath,${with_syscall_intercept_lib}', appending" >&5
- LDFLAGS_SYSCALL_INTERCEPT="$LDFLAGS_SYSCALL_INTERCEPT -L${with_syscall_intercept_lib} -Wl,-rpath,${with_syscall_intercept_lib}"
-
-fi
-
-else
- if test -n "${with_syscall_intercept}"; then :
-
-
- if echo "$LDFLAGS_SYSCALL_INTERCEPT" | $FGREP -e "\<-L${with_syscall_intercept}/lib -Wl,-rpath,${with_syscall_intercept}/lib\>" >/dev/null 2>&1; then :
- echo "LDFLAGS_SYSCALL_INTERCEPT(='$LDFLAGS_SYSCALL_INTERCEPT') contains '-L${with_syscall_intercept}/lib -Wl,-rpath,${with_syscall_intercept}/lib', not appending" >&5
-else
- echo "LDFLAGS_SYSCALL_INTERCEPT(='$LDFLAGS_SYSCALL_INTERCEPT') does not contain '-L${with_syscall_intercept}/lib -Wl,-rpath,${with_syscall_intercept}/lib', appending" >&5
- LDFLAGS_SYSCALL_INTERCEPT="$LDFLAGS_SYSCALL_INTERCEPT -L${with_syscall_intercept}/lib -Wl,-rpath,${with_syscall_intercept}/lib"
-
-fi
-
- if test -d "${with_syscall_intercept}/lib64"; then :
-
-
- if echo "$LDFLAGS_SYSCALL_INTERCEPT" | $FGREP -e "\<-L${with_syscall_intercept}/lib64 -Wl,-rpath,${with_syscall_intercept}/lib64\>" >/dev/null 2>&1; then :
- echo "LDFLAGS_SYSCALL_INTERCEPT(='$LDFLAGS_SYSCALL_INTERCEPT') contains '-L${with_syscall_intercept}/lib64 -Wl,-rpath,${with_syscall_intercept}/lib64', not appending" >&5
-else
- echo "LDFLAGS_SYSCALL_INTERCEPT(='$LDFLAGS_SYSCALL_INTERCEPT') does not contain '-L${with_syscall_intercept}/lib64 -Wl,-rpath,${with_syscall_intercept}/lib64', appending" >&5
- LDFLAGS_SYSCALL_INTERCEPT="$LDFLAGS_SYSCALL_INTERCEPT -L${with_syscall_intercept}/lib64 -Wl,-rpath,${with_syscall_intercept}/lib64"
-
-fi
-
-fi
-
-fi
-
-fi
-
- if test -n "${with_syscall_intercept}" || test -n "${with_syscall_intercept_include}" || test -n "${with_syscall_intercept_lib}"; then :
- WITH_SYSCALL_INTERCEPT=yes
-else
- WITH_SYSCALL_INTERCEPT=no
-fi
-
-
-if test "x$WITH_SYSCALL_INTERCEPT" == "xno" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syscall_no_intercept in -lsyscall_intercept" >&5
-$as_echo_n "checking for syscall_no_intercept in -lsyscall_intercept... " >&6; }
-if ${ac_cv_lib_syscall_intercept_syscall_no_intercept+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsyscall_intercept -lcapstone -ldl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char syscall_no_intercept ();
-int
-main ()
-{
-return syscall_no_intercept ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_syscall_intercept_syscall_no_intercept=yes
-else
- ac_cv_lib_syscall_intercept_syscall_no_intercept=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_syscall_intercept_syscall_no_intercept" >&5
-$as_echo "$ac_cv_lib_syscall_intercept_syscall_no_intercept" >&6; }
-if test "x$ac_cv_lib_syscall_intercept_syscall_no_intercept" = xyes; then :
- syscall_intercept_lib_found=yes
-else
- syscall_intercept_lib_found=no
-fi
-
- if test "x$syscall_intercept_lib_found" != "xyes"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: libsyscall_intercept.so not found" >&5
-$as_echo "$as_me: libsyscall_intercept.so not found" >&6;}
-fi
-
- ac_fn_c_check_header_mongrel "$LINENO" "libsyscall_intercept_hook_point.h" "ac_cv_header_libsyscall_intercept_hook_point_h" "$ac_includes_default"
-if test "x$ac_cv_header_libsyscall_intercept_hook_point_h" = xyes; then :
- syscall_intercept_header_found=yes
-else
- syscall_intercept_header_found=no
-fi
-
-
- if test "x$syscall_intercept_header_found" != "xyes"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: libsyscall_intercept_hook_point.h not found" >&5
-$as_echo "$as_me: libsyscall_intercept_hook_point.h not found" >&6;}
-fi
-
- if test "x$syscall_intercept_lib_found" == "xyes" && test "x$syscall_intercept_header_found" == "xyes"; then :
- WITH_SYSCALL_INTERCEPT=yes
-else
- WITH_SYSCALL_INTERCEPT=no
-fi
-fi
-
-
-
-# Check whether --with-kernelsrc was given.
-if test "${with_kernelsrc+set}" = set; then :
- withval=$with_kernelsrc; WITH_KERNELSRC=$withval
-else
- WITH_KERNELSRC=yes
-fi
-
-
-
-# Check whether --with-target was given.
-if test "${with_target+set}" = set; then :
- withval=$with_target; WITH_TARGET=$withval
-else
- WITH_TARGET=yes
-fi
-
-
-
-# Check whether --with-system_map was given.
-if test "${with_system_map+set}" = set; then :
- withval=$with_system_map; WITH_SYSTEM_MAP=$withval
-else
- WITH_SYSTEM_MAP=yes
-fi
-
-
-# Check whether --enable-dcfa was given.
-if test "${enable_dcfa+set}" = set; then :
- enableval=$enable_dcfa;
-else
- enable_dcfa=no
-fi
-
-
-# Check whether --enable-memdump was given.
-if test "${enable_memdump+set}" = set; then :
- enableval=$enable_memdump; ENABLE_MEMDUMP=$enableval
-else
- ENABLE_MEMDUMP=default
-fi
-
-
-# Check whether --enable-mcoverlayfs was given.
-if test "${enable_mcoverlayfs+set}" = set; then :
- enableval=$enable_mcoverlayfs; ENABLE_MCOVERLAYFS=$enableval
-else
- ENABLE_MCOVERLAYFS=no
-fi
-
-
-# Check whether --enable-rusage was given.
-if test "${enable_rusage+set}" = set; then :
- enableval=$enable_rusage; ENABLE_RUSAGE=$enableval
-else
- ENABLE_RUSAGE=yes
-fi
-
-
-# Check whether --enable-perf was given.
-if test "${enable_perf+set}" = set; then :
- enableval=$enable_perf; ENABLE_PERF=$enableval
-else
- ENABLE_PERF=yes
-fi
-
-
-# Check whether --enable-qlmpi was given.
-if test "${enable_qlmpi+set}" = set; then :
- enableval=$enable_qlmpi; ENABLE_QLMPI=$enableval
-else
- ENABLE_QLMPI=no
-fi
-
-
-
-# Check whether --with-uname_r was given.
-if test "${with_uname_r+set}" = set; then :
- withval=$with_uname_r; WITH_UNAME_R=$withval
-else
- WITH_UNAME_R=yes
-fi
-
-
-case "X$WITH_UNAME_R" in
- Xyes | Xno | X)
- WITH_UNAME_R="`uname -r`"
- ;;
-esac
-
-case "X$WITH_KERNELSRC" in
- Xyes | Xno | X)
- WITH_KERNELSRC="/lib/modules/`uname -r`/build"
- ;;
- X/*)
- ;;
- *)
- WITH_KERNELSRC="`pwd`/$WITH_KERNELSRC"
- ;;
-esac
-
-if test "X$WITH_TARGET" = Xyes -o "X$WITH_TARGET" = Xno; then
- WITH_TARGET=attached-mic
-fi
-
-test "x$prefix" = xNONE && prefix="$ac_default_prefix"
-
-cat >>confdefs.h <<_ACEOF
-#define ROOTFSDIR "$prefix/rootfs"
-_ACEOF
-
-
-case $WITH_TARGET in
-# POSTK_DEBUG_ARCH_DEP_30, Expansion of the branch.
-# attached-mic|builtin-x86|smp-x86)
-# ARCH=`uname -m`
-# AC_PROG_CC
-# XCC=$CC
-# ;;
- attached-mic|builtin-x86|smp-*)
- case $WITH_TARGET in
- attached-mic|builtin-x86|smp-x86)
- ARCH=`uname -m`
- ;;
- smp-arm64)
- ARCH=arm64
- ;;
- esac
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include
-#include
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- XCC=$CC
- CFLAGS="$CFLAGS -ffreestanding -fno-tree-loop-distribute-patterns"
- ;;
- builtin-mic)
- ARCH=k1om
- # Extract the first word of "x86_64-$ARCH-linux-gcc", so it can be a program name with args.
-set dummy x86_64-$ARCH-linux-gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_XCC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$XCC"; then
- ac_cv_prog_XCC="$XCC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_XCC="x86_64-$ARCH-linux-gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_prog_XCC" && ac_cv_prog_XCC="no"
-fi
-fi
-XCC=$ac_cv_prog_XCC
-if test -n "$XCC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XCC" >&5
-$as_echo "$XCC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- CC=$XCC
- ;;
- smp-arm64)
- ARCH=arm64
- # Extract the first word of "${CROSS_COMPILE}gcc", so it can be a program name with args.
-set dummy ${CROSS_COMPILE}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_XCC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$XCC"; then
- ac_cv_prog_XCC="$XCC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_XCC="${CROSS_COMPILE}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_prog_XCC" && ac_cv_prog_XCC="no"
-fi
-fi
-XCC=$ac_cv_prog_XCC
-if test -n "$XCC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XCC" >&5
-$as_echo "$XCC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- CC=$XCC
- ;;
- *)
- as_fn_error $? "target $WITH_TARGET is unknwon" "$LINENO" 5
- ;;
-esac
-
-case $WITH_TARGET in
- attached-mic)
- if test "X$KERNDIR" = X; then
- KERNDIR="$prefix/attached/kernel"
- fi
- if test "X$BINDIR" = X; then
- BINDIR="$prefix/bin"
- fi
- if test "X$SBINDIR" = X; then
- SBINDIR="$prefix/sbin"
- fi
- if test "X$KMODDIR" = X; then
- KMODDIR="$prefix/kmod"
- fi
- if test "X$MANDIR" = X; then
- MANDIR="$prefix/share/man"
- fi
- ;;
- builtin-mic)
- if test "X$KERNDIR" = X; then
- KERNDIR="$prefix/attached/kernel"
- fi
- if test "X$BINDIR" = X; then
- BINDIR="$prefix/attached/bin"
- fi
- if test "X$SBINDIR" = X; then
- SBINDIR="$prefix/attached/sbin"
- fi
- if test "X$KMODDIR" = X; then
- KMODDIR="$prefix/attached/kmod"
- fi
- if test "X$MANDIR" = X; then
- MANDIR="$prefix/share/man"
- fi
- ;;
- builtin-x86)
- if test "X$KERNDIR" = X; then
- KERNDIR="$prefix/attached/kernel"
- fi
- if test "X$BINDIR" = X; then
- BINDIR="$prefix/bin"
- fi
- if test "X$SBINDIR" = X; then
- SBINDIR="$prefix/sbin"
- fi
- if test "X$KMODDIR" = X; then
- KMODDIR="$prefix/kmod"
- fi
- if test "X$MANDIR" = X; then
- MANDIR="$prefix/share/man"
- fi
- ;;
- smp-x86)
- if test "X$KERNDIR" = X; then
- KERNDIR="$prefix/smp-x86/kernel"
- fi
- if test "X$BINDIR" = X; then
- BINDIR="$prefix/bin"
- fi
- if test "X$SBINDIR" = X; then
- SBINDIR="$prefix/sbin"
- fi
- if test "X$MCKERNEL_INCDIR" = X; then
- MCKERNEL_INCDIR="$prefix/include"
- fi
- if test "X$MCKERNEL_LIBDIR" = X; then
- MCKERNEL_LIBDIR="$prefix/lib"
- fi
- if test "X$INCDIR" = X; then
- INCDIR="$prefix/include"
- fi
- if test "X$ETCDIR" = X; then
- ETCDIR="$prefix/etc"
- fi
- if test "X$INCLUDEDIR" = X; then
- INCLUDEDIR="$prefix/include"
- fi
- if test "X$KMODDIR" = X; then
- KMODDIR="$prefix/kmod"
- fi
- if test "X$MANDIR" = X; then
- MANDIR="$prefix/share/man"
- fi
- ;;
- smp-arm64)
- if test "X$KERNDIR" = X; then
- KERNDIR="$prefix/smp-arm64/kernel"
- fi
- if test "X$BINDIR" = X; then
- BINDIR="$prefix/bin"
- fi
- if test "X$SBINDIR" = X; then
- SBINDIR="$prefix/sbin"
- fi
- if test "X$MCKERNEL_INCDIR" = X; then
- MCKERNEL_INCDIR="$prefix/include"
- fi
- if test "X$MCKERNEL_LIBDIR" = X; then
- MCKERNEL_LIBDIR="$prefix/lib"
- fi
- if test "X$INCDIR" = X; then
- INCDIR="$prefix/include"
- fi
- if test "X$ETCDIR" = X; then
- ETCDIR="$prefix/etc"
- fi
- if test "X$INCLUDEDIR" = X; then
- INCLUDEDIR="$prefix/include"
- fi
- if test "X$KMODDIR" = X; then
- KMODDIR="$prefix/kmod"
- fi
- if test "X$MANDIR" = X; then
- MANDIR="$prefix/share/man"
- fi
- ;;
- *)
- as_fn_error $? "target $WITH_TARGET is unknwon" "$LINENO" 5
- ;;
-esac
-
-KDIR="$WITH_KERNELSRC"
-UNAME_R="$WITH_UNAME_R"
-TARGET="$WITH_TARGET"
-
-case $ENABLE_MEMDUMP in
- yes|no|auto)
- ;;
- default)
-# POSTK_DEBUG_ARCH_DEP_30, Expansion of the branch.
-# if test "x$WITH_TARGET" = "xsmp-x86" ; then
- if test "x$WITH_TARGET" = "xsmp-x86" -o "x$WITH_TARGET" = "xsmp-arm64" ; then
- ENABLE_MEMDUMP=auto
- else
- ENABLE_MEMDUMP=no
- fi
- ;;
- *)
- as_fn_error $? "unknown memdump argument: $ENABLE_MEMDUMP" "$LINENO" 5
- ;;
-esac
-
-if test "x$ENABLE_MEMDUMP" != "xno" ; then
- enableval=yes
-# POSTK_DEBUG_ARCH_DEP_32, AC_CHECK_LIB for libiberty
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for hex_init in -liberty" >&5
-$as_echo_n "checking for hex_init in -liberty... " >&6; }
-if ${ac_cv_lib_iberty_hex_init+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-liberty $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char hex_init ();
-int
-main ()
-{
-return hex_init ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_iberty_hex_init=yes
-else
- ac_cv_lib_iberty_hex_init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iberty_hex_init" >&5
-$as_echo "$ac_cv_lib_iberty_hex_init" >&6; }
-if test "x$ac_cv_lib_iberty_hex_init" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBIBERTY 1
-_ACEOF
-
- LIBS="-liberty $LIBS"
-
-else
- enableval=no
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bfd_init in -lbfd" >&5
-$as_echo_n "checking for bfd_init in -lbfd... " >&6; }
-if ${ac_cv_lib_bfd_bfd_init+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lbfd $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char bfd_init ();
-int
-main ()
-{
-return bfd_init ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_bfd_bfd_init=yes
-else
- ac_cv_lib_bfd_bfd_init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bfd_bfd_init" >&5
-$as_echo "$ac_cv_lib_bfd_bfd_init" >&6; }
-if test "x$ac_cv_lib_bfd_bfd_init" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBBFD 1
-_ACEOF
-
- LIBS="-lbfd $LIBS"
-
-else
- enableval=no
-fi
-
- ac_fn_c_check_header_mongrel "$LINENO" "bfd.h" "ac_cv_header_bfd_h" "$ac_includes_default"
-if test "x$ac_cv_header_bfd_h" = xyes; then :
-
-else
- enableval=no
-fi
-
-
-
- if test "x$ENABLE_MEMDUMP" = "xyes" -a "x$enableval" = "xno" ; then
- as_fn_error $? "memdump feature needs bfd.h and libbfd a.k.a bunutils-devel" "$LINENO" 5
- fi
- ENABLE_MEMDUMP=$enableval
-fi
-
-if test "x$ENABLE_MEMDUMP" = "xyes" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: memdump feature is enabled" >&5
-$as_echo "$as_me: memdump feature is enabled" >&6;}
-
-$as_echo "#define ENABLE_MEMDUMP 1" >>confdefs.h
-
- uncomment_if_ENABLE_MEMDUMP=''
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: memdump feature is disabled" >&5
-$as_echo "$as_me: memdump feature is disabled" >&6;}
- uncomment_if_ENABLE_MEMDUMP='#'
-fi
-
-if test "x$ENABLE_MCOVERLAYFS" = "xyes" ; then
-
-$as_echo "#define ENABLE_MCOVERLAYFS 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: mcoverlayfs is enabled" >&5
-$as_echo "$as_me: mcoverlayfs is enabled" >&6;}
-
- IFS=. read LINUX_VERSION_MAJOR LINUX_VERSION_MINOR LINUX_VERSION_PATCH _ <= 262144 && LINUX_VERSION_CODE < 262400)))
- MCOVERLAYFS_MODULE=linux-4.0.9;;
- # 4.6.0-4.7.0
- $((LINUX_VERSION_CODE >= 263680 && LINUX_VERSION_CODE < 263936)))
- MCOVERLAYFS_MODULE=linux-4.6.7;;
- # 4.18.0-4.20.0
- $((LINUX_VERSION_CODE >= 266752 && LINUX_VERSION_CODE < 267264)))
- MCOVERLAYFS_MODULE=linux-4.18.14;;
- *)
- as_fn_error $? "Your kernel version has no known mcoverlayfs module" "$LINENO" 5;;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: mcoverlayfs is disabled. You will not be able to run anything." >&5
-$as_echo "$as_me: WARNING: mcoverlayfs is disabled. You will not be able to run anything." >&2;}
-fi
-
-if test "x$ENABLE_QLMPI" = "xyes" ; then
-
-$as_echo "#define ENABLE_QLMPI 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: qlmpi is enabled" >&5
-$as_echo "$as_me: qlmpi is enabled" >&6;}
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: qlmpi is disabled" >&5
-$as_echo "$as_me: qlmpi is disabled" >&6;}
-fi
-
-case $ENABLE_RUSAGE in
- yes|no)
- ;;
- default)
- ENABLE_RUSAGE=yes
- ;;
- *)
- as_fn_error $? "unknown rusage argument: $ENABLE_RUSAGE" "$LINENO" 5
- ;;
-esac
-
-if test "x$ENABLE_RUSAGE" = "xyes" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: rusage is enabled" >&5
-$as_echo "$as_me: rusage is enabled" >&6;}
-
-$as_echo "#define ENABLE_RUSAGE 1" >>confdefs.h
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: rusage is disabled" >&5
-$as_echo "$as_me: rusage is disabled" >&6;}
-fi
-
-if test "x$ENABLE_PERF" = "xyes" ; then
-
-$as_echo "#define ENABLE_PERF 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: perf is enabled" >&5
-$as_echo "$as_me: perf is enabled" >&6;}
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: perf is disabled" >&5
-$as_echo "$as_me: perf is disabled" >&6;}
-fi
-
-if test "x$WITH_SYSCALL_INTERCEPT" = "xyes" ; then
-
-$as_echo "#define WITH_SYSCALL_INTERCEPT 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: syscall_intercept library is linked" >&5
-$as_echo "$as_me: syscall_intercept library is linked" >&6;}
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: syscall_intercept library isn't linked" >&5
-$as_echo "$as_me: syscall_intercept library isn't linked" >&6;}
-fi
-
-if test "x$MCKERNEL_INCDIR" != "x" ; then
-
-cat >>confdefs.h <<_ACEOF
-#define MCKERNEL_INCDIR "$MCKERNEL_INCDIR"
-_ACEOF
-
-fi
-
-if test "x$MCKERNEL_LIBDIR" != "x" ; then
-
-cat >>confdefs.h <<_ACEOF
-#define MCKERNEL_LIBDIR "$MCKERNEL_LIBDIR"
-_ACEOF
-
-fi
-
-
-cat >>confdefs.h <<_ACEOF
-#define BINDIR "$BINDIR"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define SBINDIR "$SBINDIR"
-_ACEOF
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define IHK_VERSION "$IHK_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define MCKERNEL_VERSION "$MCKERNEL_VERSION"
-_ACEOF
-
-
-ABS_SRCDIR=$( cd $( dirname $0 ); pwd )
-IHK_ABS_SRCDIR=${ABS_SRCDIR}/../ihk
-BUILDID=$( git --git-dir=$IHK_ABS_SRCDIR/.git rev-parse --short HEAD 2>/dev/null || echo $IHK_VERSION )
-{ $as_echo "$as_me:${as_lineno-$LINENO}: BUILDID=$BUILDID" >&5
-$as_echo "$as_me: BUILDID=$BUILDID" >&6;}
-if test "x$BUILDID" != "x" ; then
-
-cat >>confdefs.h <<_ACEOF
-#define BUILDID "$BUILDID"
-_ACEOF
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_config_headers="$ac_config_headers config.h"
-
-# POSTK_DEBUG_ARCH_DEP_37
-# AC_CONFIG_FILES arch dependfiles separate
-ac_config_files="$ac_config_files Makefile executer/user/Makefile executer/user/mcexec.1:executer/user/mcexec.1in executer/user/vmcore2mckdump executer/user/arch/$ARCH/Makefile executer/kernel/mcctrl/Makefile executer/kernel/mcctrl/arch/$ARCH/Makefile executer/kernel/mcoverlayfs/Makefile executer/kernel/mcoverlayfs/linux-3.10.0-327.36.1.el7/Makefile executer/kernel/mcoverlayfs/linux-4.0.9/Makefile executer/kernel/mcoverlayfs/linux-4.6.7/Makefile executer/kernel/mcoverlayfs/linux-4.18.14/Makefile executer/include/qlmpilib.h kernel/Makefile kernel/Makefile.build kernel/include/swapfmt.h arch/x86_64/tools/mcreboot-attached-mic.sh arch/x86_64/tools/mcshutdown-attached-mic.sh arch/x86_64/tools/mcreboot-builtin-x86.sh arch/x86_64/tools/mcreboot-smp-x86.sh arch/x86_64/tools/mcstop+release-smp-x86.sh arch/x86_64/tools/mcoverlay-destroy-smp-x86.sh arch/x86_64/tools/mcoverlay-create-smp-x86.sh arch/x86_64/tools/eclair-dump-backtrace.exp arch/x86_64/tools/mcshutdown-builtin-x86.sh arch/x86_64/tools/mcreboot.1:arch/x86_64/tools/mcreboot.1in arch/x86_64/tools/irqbalance_mck.service arch/x86_64/tools/irqbalance_mck.in tools/mcstat/mcstat.1:tools/mcstat/mcstat.1in tools/mcstat/Makefile"
-
-
-if test -e "${ABS_SRCDIR}/test"; then
-ac_config_files="$ac_config_files mck_test_config.sample:test/mck_test_config.sample.in"
-
-fi
-
-if test "$TARGET" = "smp-x86"; then
-ac_config_files="$ac_config_files arch/x86_64/kernel/Makefile.arch"
-
-fi
-
-if test "$TARGET" = "smp-arm64"; then
-ac_config_files="$ac_config_files kernel/config/config.smp-arm64 arch/arm64/kernel/vdso/Makefile arch/arm64/kernel/Makefile.arch"
-
-fi
-
-if test "x$enable_dcfa" = xyes; then :
-
- ac_config_files="$ac_config_files kernel/Makefile.dcfa"
-
-fi
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -pR'
- fi
-else
- as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by mckernel $as_me 1.5.0, which was
-generated by GNU Autoconf 2.69. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Report bugs to the package provider."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-mckernel config.status 1.5.0
-configured by $0, generated by GNU Autoconf 2.69,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- as_fn_append CONFIG_HEADERS " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "executer/user/Makefile") CONFIG_FILES="$CONFIG_FILES executer/user/Makefile" ;;
- "executer/user/mcexec.1") CONFIG_FILES="$CONFIG_FILES executer/user/mcexec.1:executer/user/mcexec.1in" ;;
- "executer/user/vmcore2mckdump") CONFIG_FILES="$CONFIG_FILES executer/user/vmcore2mckdump" ;;
- "executer/user/arch/$ARCH/Makefile") CONFIG_FILES="$CONFIG_FILES executer/user/arch/$ARCH/Makefile" ;;
- "executer/kernel/mcctrl/Makefile") CONFIG_FILES="$CONFIG_FILES executer/kernel/mcctrl/Makefile" ;;
- "executer/kernel/mcctrl/arch/$ARCH/Makefile") CONFIG_FILES="$CONFIG_FILES executer/kernel/mcctrl/arch/$ARCH/Makefile" ;;
- "executer/kernel/mcoverlayfs/Makefile") CONFIG_FILES="$CONFIG_FILES executer/kernel/mcoverlayfs/Makefile" ;;
- "executer/kernel/mcoverlayfs/linux-3.10.0-327.36.1.el7/Makefile") CONFIG_FILES="$CONFIG_FILES executer/kernel/mcoverlayfs/linux-3.10.0-327.36.1.el7/Makefile" ;;
- "executer/kernel/mcoverlayfs/linux-4.0.9/Makefile") CONFIG_FILES="$CONFIG_FILES executer/kernel/mcoverlayfs/linux-4.0.9/Makefile" ;;
- "executer/kernel/mcoverlayfs/linux-4.6.7/Makefile") CONFIG_FILES="$CONFIG_FILES executer/kernel/mcoverlayfs/linux-4.6.7/Makefile" ;;
- "executer/kernel/mcoverlayfs/linux-4.18.14/Makefile") CONFIG_FILES="$CONFIG_FILES executer/kernel/mcoverlayfs/linux-4.18.14/Makefile" ;;
- "executer/include/qlmpilib.h") CONFIG_FILES="$CONFIG_FILES executer/include/qlmpilib.h" ;;
- "kernel/Makefile") CONFIG_FILES="$CONFIG_FILES kernel/Makefile" ;;
- "kernel/Makefile.build") CONFIG_FILES="$CONFIG_FILES kernel/Makefile.build" ;;
- "kernel/include/swapfmt.h") CONFIG_FILES="$CONFIG_FILES kernel/include/swapfmt.h" ;;
- "arch/x86_64/tools/mcreboot-attached-mic.sh") CONFIG_FILES="$CONFIG_FILES arch/x86_64/tools/mcreboot-attached-mic.sh" ;;
- "arch/x86_64/tools/mcshutdown-attached-mic.sh") CONFIG_FILES="$CONFIG_FILES arch/x86_64/tools/mcshutdown-attached-mic.sh" ;;
- "arch/x86_64/tools/mcreboot-builtin-x86.sh") CONFIG_FILES="$CONFIG_FILES arch/x86_64/tools/mcreboot-builtin-x86.sh" ;;
- "arch/x86_64/tools/mcreboot-smp-x86.sh") CONFIG_FILES="$CONFIG_FILES arch/x86_64/tools/mcreboot-smp-x86.sh" ;;
- "arch/x86_64/tools/mcstop+release-smp-x86.sh") CONFIG_FILES="$CONFIG_FILES arch/x86_64/tools/mcstop+release-smp-x86.sh" ;;
- "arch/x86_64/tools/mcoverlay-destroy-smp-x86.sh") CONFIG_FILES="$CONFIG_FILES arch/x86_64/tools/mcoverlay-destroy-smp-x86.sh" ;;
- "arch/x86_64/tools/mcoverlay-create-smp-x86.sh") CONFIG_FILES="$CONFIG_FILES arch/x86_64/tools/mcoverlay-create-smp-x86.sh" ;;
- "arch/x86_64/tools/eclair-dump-backtrace.exp") CONFIG_FILES="$CONFIG_FILES arch/x86_64/tools/eclair-dump-backtrace.exp" ;;
- "arch/x86_64/tools/mcshutdown-builtin-x86.sh") CONFIG_FILES="$CONFIG_FILES arch/x86_64/tools/mcshutdown-builtin-x86.sh" ;;
- "arch/x86_64/tools/mcreboot.1") CONFIG_FILES="$CONFIG_FILES arch/x86_64/tools/mcreboot.1:arch/x86_64/tools/mcreboot.1in" ;;
- "arch/x86_64/tools/irqbalance_mck.service") CONFIG_FILES="$CONFIG_FILES arch/x86_64/tools/irqbalance_mck.service" ;;
- "arch/x86_64/tools/irqbalance_mck.in") CONFIG_FILES="$CONFIG_FILES arch/x86_64/tools/irqbalance_mck.in" ;;
- "tools/mcstat/mcstat.1") CONFIG_FILES="$CONFIG_FILES tools/mcstat/mcstat.1:tools/mcstat/mcstat.1in" ;;
- "tools/mcstat/Makefile") CONFIG_FILES="$CONFIG_FILES tools/mcstat/Makefile" ;;
- "mck_test_config.sample") CONFIG_FILES="$CONFIG_FILES mck_test_config.sample:test/mck_test_config.sample.in" ;;
- "arch/x86_64/kernel/Makefile.arch") CONFIG_FILES="$CONFIG_FILES arch/x86_64/kernel/Makefile.arch" ;;
- "kernel/config/config.smp-arm64") CONFIG_FILES="$CONFIG_FILES kernel/config/config.smp-arm64" ;;
- "arch/arm64/kernel/vdso/Makefile") CONFIG_FILES="$CONFIG_FILES arch/arm64/kernel/vdso/Makefile" ;;
- "arch/arm64/kernel/Makefile.arch") CONFIG_FILES="$CONFIG_FILES arch/arm64/kernel/Makefile.arch" ;;
- "kernel/Makefile.dcfa") CONFIG_FILES="$CONFIG_FILES kernel/Makefile.dcfa" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' >$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
- ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
- if test -z "$ac_tt"; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any. Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[ ]*#[ ]*define[ ][ ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' >$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- for (key in D) D_is_set[key] = 1
- FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
- line = \$ 0
- split(line, arg, " ")
- if (arg[1] == "#") {
- defundef = arg[2]
- mac1 = arg[3]
- } else {
- defundef = substr(arg[1], 2)
- mac1 = arg[2]
- }
- split(mac1, mac2, "(") #)
- macro = mac2[1]
- prefix = substr(line, 1, index(line, defundef) - 1)
- if (D_is_set[macro]) {
- # Preserve the white space surrounding the "#".
- print prefix "define", macro P[macro] D[macro]
- next
- } else {
- # Replace #undef with comments. This is necessary, for example,
- # in the case of _POSIX_SOURCE, which is predefined and required
- # on some systems where configure will not decide to define it.
- if (defundef == "undef") {
- print "/*", prefix defundef, macro, "*/"
- next
- }
- }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS "
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
- if test x"$ac_file" != x-; then
- {
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
- } >"$ac_tmp/config.h" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f "$ac_file"
- mv "$ac_tmp/config.h" "$ac_file" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- fi
- else
- $as_echo "/* $configure_input */" \
- && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error $? "could not create -" "$LINENO" 5
- fi
- ;;
-
-
- esac
-
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index d5cdb069..00000000
--- a/configure.ac
+++ /dev/null
@@ -1,649 +0,0 @@
-# configure.ac COPYRIGHT FUJITSU LIMITED 2015-2018
-AC_PREREQ(2.63)
-m4_define([IHK_VERSION_m4],[1.5.0])dnl
-m4_define([MCKERNEL_VERSION_m4],[1.5.0])dnl
-m4_define([IHK_RELEASE_DATE_m4],[2018-04-05])dnl
-m4_define([MCKERNEL_RELEASE_DATE_m4],[2018-04-05])dnl
-
-AC_INIT([mckernel], MCKERNEL_VERSION_m4)
-
-dnl *** PAC_APPEND_FLAG is copied from aclocal_util.m4 of mpich-3.3a2 ***
-dnl Usage: PAC_APPEND_FLAG([-02], [CFLAGS])
-dnl appends the given argument to the specified shell variable unless the
-dnl argument is already present in the variable
-AC_DEFUN([PAC_APPEND_FLAG],[
- AC_REQUIRE([AC_PROG_FGREP])
- AS_IF(
- [echo "$$2" | $FGREP -e "\<$1\>" >/dev/null 2>&1],
- [echo "$2(='$$2') contains '$1', not appending" >&AS_MESSAGE_LOG_FD],
- [echo "$2(='$$2') does not contain '$1', appending" >&AS_MESSAGE_LOG_FD
- $2="$$2 $1"]
- )
-])
-
-dnl *** PAC_SET_HEADER_LIB_PATH is copied from aclocal_libs.m4 of mpich-3.3a2 ***
-dnl PAC_SET_HEADER_LIB_PATH(with_option,[default_path])
-dnl This macro looks for the --with-xxx=, --with-xxx-include and --with-xxx-lib=
-dnl options and sets the library and include paths.
-dnl
-dnl TODO as written, this macro cannot handle a "with_option" arg that has "-"
-dnl characters in it. Use AS_TR_SH (and possibly AS_VAR_* macros) to handle
-dnl this case if it ever arises.
-AC_DEFUN([PAC_SET_HEADER_LIB_PATH],[
- AC_ARG_WITH([$1],
- [AC_HELP_STRING([--with-$1=PATH],
- [specify path where $1 include directory and lib directory can be found])],
-
- [AS_CASE(["$withval"],
- [yes|no|''],
- [AC_MSG_WARN([--with[out]-$1=PATH expects a valid PATH])
- with_$1=""])],
- [with_$1=$2])
- AC_ARG_WITH([$1-include],
- [AC_HELP_STRING([--with-$1-include=PATH],
- [specify path where $1 include directory can be found])],
- [AS_CASE(["$withval"],
- [yes|no|''],
- [AC_MSG_WARN([--with[out]-$1-include=PATH expects a valid PATH])
- with_$1_include=""])],
- [])
- AC_ARG_WITH([$1-lib],
- [AC_HELP_STRING([--with-$1-lib=PATH],
- [specify path where $1 lib directory can be found])],
- [AS_CASE(["$withval"],
- [yes|no|''],
- [AC_MSG_WARN([--with[out]-$1-lib=PATH expects a valid PATH])
- with_$1_lib=""])],
- [])
-
- # The args have been sanitized into empty/non-empty values above.
- # Now append -I/-L args to CPPFLAGS/LDFLAGS, with more specific options
- # taking priority
-
- AS_IF([test -n "${with_$1_include}"],
- [PAC_APPEND_FLAG([-I${with_$1_include}],[CPPFLAGS])],
- [AS_IF([test -n "${with_$1}"],
- [PAC_APPEND_FLAG([-I${with_$1}/include],[CPPFLAGS])])])
-
- AS_IF([test -n "${with_$1_lib}"],
- [PAC_APPEND_FLAG([-L${with_$1_lib}],[LDFLAGS])],
- [AS_IF([test -n "${with_$1}"],
- dnl is adding lib64 by default really the right thing to do? What if
- dnl we are on a 32-bit host that happens to have both lib dirs available?
- [PAC_APPEND_FLAG([-L${with_$1}/lib],[LDFLAGS])
- AS_IF([test -d "${with_$1}/lib64"],
- [PAC_APPEND_FLAG([-L${with_$1}/lib64],[LDFLAGS])])
- ])
- ])
-])
-
-AC_DEFUN([PAC_SET_HEADER_LIB_PATH_SYSCALL_INTERCEPT],[
- AC_ARG_WITH([$1],
- [AC_HELP_STRING([--with-$1=PATH],
- [specify path where $1 include directory and lib directory can be found])],
-
- [AS_CASE(["$withval"],
- [yes|no|''],
- [AC_MSG_WARN([--with[out]-$1=PATH expects a valid PATH])
- with_$1=""])],
- [with_$1=$2])
- AC_ARG_WITH([$1-include],
- [AC_HELP_STRING([--with-$1-include=PATH],
- [specify path where $1 include directory can be found])],
- [AS_CASE(["$withval"],
- [yes|no|''],
- [AC_MSG_WARN([--with[out]-$1-include=PATH expects a valid PATH])
- with_$1_include=""])],
- [])
- AC_ARG_WITH([$1-lib],
- [AC_HELP_STRING([--with-$1-lib=PATH],
- [specify path where $1 lib directory can be found])],
- [AS_CASE(["$withval"],
- [yes|no|''],
- [AC_MSG_WARN([--with[out]-$1-lib=PATH expects a valid PATH])
- with_$1_lib=""])],
- [])
-
- # The args have been sanitized into empty/non-empty values above.
- # Now append -I/-L args to CPPFLAGS/LDFLAGS, with more specific options
- # taking priority
-
- AS_IF([test -n "${with_$1_include}"],
- [PAC_APPEND_FLAG([-I${with_$1_include}],[CPPFLAGS_SYSCALL_INTERCEPT])],
- [AS_IF([test -n "${with_$1}"],
- [PAC_APPEND_FLAG([-I${with_$1}/include],[CPPFLAGS_SYSCALL_INTERCEPT])])])
-
- AS_IF([test -n "${with_$1_lib}"],
- [PAC_APPEND_FLAG([-L${with_$1_lib} -Wl,-rpath,${with_$1_lib}],[LDFLAGS_SYSCALL_INTERCEPT])],
- [AS_IF([test -n "${with_$1}"],
- dnl is adding lib64 by default really the right thing to do? What if
- dnl we are on a 32-bit host that happens to have both lib dirs available?
- [PAC_APPEND_FLAG([-L${with_$1}/lib -Wl,-rpath,${with_$1}/lib],[LDFLAGS_SYSCALL_INTERCEPT])
- AS_IF([test -d "${with_$1}/lib64"],
- [PAC_APPEND_FLAG([-L${with_$1}/lib64 -Wl,-rpath,${with_$1}/lib64],[LDFLAGS_SYSCALL_INTERCEPT])])
- ])
- ])
-
- AS_IF([test -n "${with_$1}" || test -n "${with_$1_include}" || test -n "${with_$1_lib}"],
- [WITH_SYSCALL_INTERCEPT=yes],
- [WITH_SYSCALL_INTERCEPT=no])
-])
-
-IHK_VERSION=IHK_VERSION_m4
-MCKERNEL_VERSION=MCKERNEL_VERSION_m4
-DCFA_VERSION=DCFA_VERSION_m4
-IHK_RELEASE_DATE=IHK_RELEASE_DATE_m4
-MCKERNEL_RELEASE_DATE=MCKERNEL_RELEASE_DATE_m4
-DCFA_RELEASE_DATE=DCFA_RELEASE_DATE_m4
-
-AC_PREFIX_DEFAULT([/opt/ppos])
-
-AC_CHECK_HEADER([numa.h],[numa_header_found=yes])
-AS_IF([test "x$numa_header_found" != "xyes"],
- [AC_MSG_ERROR([Unable to find numa.h header file, missing numactl-devel?])])
-AC_CHECK_LIB([numa],[numa_run_on_node],[numa_lib_found=yes])
-AS_IF([test "x$numa_lib_found" != "xyes"],
- [AC_MSG_ERROR([Unable to find NUMA library, missing numactl-devel?])])
-
-PAC_SET_HEADER_LIB_PATH([mpi])
-
-PAC_SET_HEADER_LIB_PATH_SYSCALL_INTERCEPT([syscall_intercept])
-
-if test "x$WITH_SYSCALL_INTERCEPT" == "xno" ; then
- AC_CHECK_LIB([syscall_intercept],[syscall_no_intercept],[syscall_intercept_lib_found=yes],[syscall_intercept_lib_found=no],[-lcapstone -ldl])
- AS_IF([test "x$syscall_intercept_lib_found" != "xyes"],
- [AC_MSG_NOTICE([libsyscall_intercept.so not found])])
-
- AC_CHECK_HEADER([libsyscall_intercept_hook_point.h],[syscall_intercept_header_found=yes],[syscall_intercept_header_found=no])
- AS_IF([test "x$syscall_intercept_header_found" != "xyes"],
- [AC_MSG_NOTICE([libsyscall_intercept_hook_point.h not found])])
-
- AS_IF([test "x$syscall_intercept_lib_found" == "xyes" && test "x$syscall_intercept_header_found" == "xyes"],
- [WITH_SYSCALL_INTERCEPT=yes],
- [WITH_SYSCALL_INTERCEPT=no])
-fi
-
-
-AC_ARG_WITH([kernelsrc],
- AC_HELP_STRING(
- [--with-kernelsrc=path],[Path to 'kernel src', default is /lib/modules/uname_r/build]),
- [WITH_KERNELSRC=$withval],[WITH_KERNELSRC=yes])
-
-AC_ARG_WITH([target],
- AC_HELP_STRING(
- [--with-target={attached-mic | builtin-mic | builtin-x86 | smp-x86}],[target, default is attached-mic]),
- [WITH_TARGET=$withval],[WITH_TARGET=yes])
-
-AC_ARG_WITH([system_map],
- AS_HELP_STRING(
- [--with-system_map=path],[Path to 'System.map file', default is /boot/System.map-uname_r]),
- [WITH_SYSTEM_MAP=$withval],[WITH_SYSTEM_MAP=yes])
-
-AC_ARG_ENABLE([dcfa],
- [AS_HELP_STRING(
- [--enable-dcfa],[Enable DCFA modules])],[],[enable_dcfa=no])
-
-AC_ARG_ENABLE([memdump],
- AC_HELP_STRING([--enable-memdump],
- [enable dumping memory and analyzing a dump]),
- [ENABLE_MEMDUMP=$enableval],
- [ENABLE_MEMDUMP=default])
-
-AC_ARG_ENABLE([mcoverlayfs],
- AC_HELP_STRING([--enable-mcoverlayfs],
- [enable mcoverlayfs implementation]),
- [ENABLE_MCOVERLAYFS=$enableval],
- [ENABLE_MCOVERLAYFS=no])
-
-AC_ARG_ENABLE([rusage],
- AC_HELP_STRING([--enable-rusage],
- [enable rusage implementation]),
- [ENABLE_RUSAGE=$enableval],
- [ENABLE_RUSAGE=yes])
-
-AC_ARG_ENABLE([perf],
- AC_HELP_STRING([--enable-perf],
- [enable perf_event implementation]),
- [ENABLE_PERF=$enableval],
- [ENABLE_PERF=yes])
-
-AC_ARG_ENABLE([qlmpi],
- AC_HELP_STRING([--enable-qlmpi],
- [enable qlmpi implementation]),
- [ENABLE_QLMPI=$enableval],
- [ENABLE_QLMPI=no])
-
-AC_ARG_WITH([uname_r],
- AC_HELP_STRING(
- [--with-uname_r=uname_r],[Value of '`uname -r`' on the target platform, default is local value]),
- [WITH_UNAME_R=$withval],[WITH_UNAME_R=yes])
-
-case "X$WITH_UNAME_R" in
- Xyes | Xno | X)
- WITH_UNAME_R="`uname -r`"
- ;;
-esac
-
-case "X$WITH_KERNELSRC" in
- Xyes | Xno | X)
- WITH_KERNELSRC="/lib/modules/`uname -r`/build"
- ;;
- X/*)
- ;;
- *)
- WITH_KERNELSRC="`pwd`/$WITH_KERNELSRC"
- ;;
-esac
-
-if test "X$WITH_TARGET" = Xyes -o "X$WITH_TARGET" = Xno; then
- WITH_TARGET=attached-mic
-fi
-
-test "x$prefix" = xNONE && prefix="$ac_default_prefix"
-AC_DEFINE_UNQUOTED(ROOTFSDIR,"$prefix/rootfs",[Path of bind-mount source directory])
-
-case $WITH_TARGET in
-# POSTK_DEBUG_ARCH_DEP_30, Expansion of the branch.
-# attached-mic|builtin-x86|smp-x86)
-# ARCH=`uname -m`
-# AC_PROG_CC
-# XCC=$CC
-# ;;
- attached-mic|builtin-x86|smp-*)
- case $WITH_TARGET in
- attached-mic|builtin-x86|smp-x86)
- ARCH=`uname -m`
- ;;
- smp-arm64)
- ARCH=arm64
- ;;
- esac
- AC_PROG_CC
- XCC=$CC
- CFLAGS="$CFLAGS -ffreestanding -fno-tree-loop-distribute-patterns"
- ;;
- builtin-mic)
- ARCH=k1om
- AC_CHECK_PROG(XCC,
- [x86_64-$ARCH-linux-gcc],
- [x86_64-$ARCH-linux-gcc],
- [no])
- CC=$XCC
- ;;
- smp-arm64)
- ARCH=arm64
- AC_CHECK_PROG(XCC,
- [${CROSS_COMPILE}gcc],
- [${CROSS_COMPILE}gcc],
- [no])
- CC=$XCC
- ;;
- *)
- AC_MSG_ERROR([target $WITH_TARGET is unknwon])
- ;;
-esac
-
-case $WITH_TARGET in
- attached-mic)
- if test "X$KERNDIR" = X; then
- KERNDIR="$prefix/attached/kernel"
- fi
- if test "X$BINDIR" = X; then
- BINDIR="$prefix/bin"
- fi
- if test "X$SBINDIR" = X; then
- SBINDIR="$prefix/sbin"
- fi
- if test "X$KMODDIR" = X; then
- KMODDIR="$prefix/kmod"
- fi
- if test "X$MANDIR" = X; then
- MANDIR="$prefix/share/man"
- fi
- ;;
- builtin-mic)
- if test "X$KERNDIR" = X; then
- KERNDIR="$prefix/attached/kernel"
- fi
- if test "X$BINDIR" = X; then
- BINDIR="$prefix/attached/bin"
- fi
- if test "X$SBINDIR" = X; then
- SBINDIR="$prefix/attached/sbin"
- fi
- if test "X$KMODDIR" = X; then
- KMODDIR="$prefix/attached/kmod"
- fi
- if test "X$MANDIR" = X; then
- MANDIR="$prefix/share/man"
- fi
- ;;
- builtin-x86)
- if test "X$KERNDIR" = X; then
- KERNDIR="$prefix/attached/kernel"
- fi
- if test "X$BINDIR" = X; then
- BINDIR="$prefix/bin"
- fi
- if test "X$SBINDIR" = X; then
- SBINDIR="$prefix/sbin"
- fi
- if test "X$KMODDIR" = X; then
- KMODDIR="$prefix/kmod"
- fi
- if test "X$MANDIR" = X; then
- MANDIR="$prefix/share/man"
- fi
- ;;
- smp-x86)
- if test "X$KERNDIR" = X; then
- KERNDIR="$prefix/smp-x86/kernel"
- fi
- if test "X$BINDIR" = X; then
- BINDIR="$prefix/bin"
- fi
- if test "X$SBINDIR" = X; then
- SBINDIR="$prefix/sbin"
- fi
- if test "X$MCKERNEL_INCDIR" = X; then
- MCKERNEL_INCDIR="$prefix/include"
- fi
- if test "X$MCKERNEL_LIBDIR" = X; then
- MCKERNEL_LIBDIR="$prefix/lib"
- fi
- if test "X$INCDIR" = X; then
- INCDIR="$prefix/include"
- fi
- if test "X$ETCDIR" = X; then
- ETCDIR="$prefix/etc"
- fi
- if test "X$INCLUDEDIR" = X; then
- INCLUDEDIR="$prefix/include"
- fi
- if test "X$KMODDIR" = X; then
- KMODDIR="$prefix/kmod"
- fi
- if test "X$MANDIR" = X; then
- MANDIR="$prefix/share/man"
- fi
- ;;
- smp-arm64)
- if test "X$KERNDIR" = X; then
- KERNDIR="$prefix/smp-arm64/kernel"
- fi
- if test "X$BINDIR" = X; then
- BINDIR="$prefix/bin"
- fi
- if test "X$SBINDIR" = X; then
- SBINDIR="$prefix/sbin"
- fi
- if test "X$MCKERNEL_INCDIR" = X; then
- MCKERNEL_INCDIR="$prefix/include"
- fi
- if test "X$MCKERNEL_LIBDIR" = X; then
- MCKERNEL_LIBDIR="$prefix/lib"
- fi
- if test "X$INCDIR" = X; then
- INCDIR="$prefix/include"
- fi
- if test "X$ETCDIR" = X; then
- ETCDIR="$prefix/etc"
- fi
- if test "X$INCLUDEDIR" = X; then
- INCLUDEDIR="$prefix/include"
- fi
- if test "X$KMODDIR" = X; then
- KMODDIR="$prefix/kmod"
- fi
- if test "X$MANDIR" = X; then
- MANDIR="$prefix/share/man"
- fi
- ;;
- *)
- AC_MSG_ERROR([target $WITH_TARGET is unknwon])
- ;;
-esac
-
-KDIR="$WITH_KERNELSRC"
-UNAME_R="$WITH_UNAME_R"
-TARGET="$WITH_TARGET"
-
-case $ENABLE_MEMDUMP in
- yes|no|auto)
- ;;
- default)
-# POSTK_DEBUG_ARCH_DEP_30, Expansion of the branch.
-# if test "x$WITH_TARGET" = "xsmp-x86" ; then
- if test "x$WITH_TARGET" = "xsmp-x86" -o "x$WITH_TARGET" = "xsmp-arm64" ; then
- ENABLE_MEMDUMP=auto
- else
- ENABLE_MEMDUMP=no
- fi
- ;;
- *)
- AC_MSG_ERROR([unknown memdump argument: $ENABLE_MEMDUMP])
- ;;
-esac
-
-if test "x$ENABLE_MEMDUMP" != "xno" ; then
- enableval=yes
-# POSTK_DEBUG_ARCH_DEP_32, AC_CHECK_LIB for libiberty
- AC_CHECK_LIB([iberty],[hex_init],[],[enableval=no])
- AC_CHECK_LIB([bfd],[bfd_init],[],[enableval=no])
- AC_CHECK_HEADER([bfd.h],[],[enableval=no])
-
- if test "x$ENABLE_MEMDUMP" = "xyes" -a "x$enableval" = "xno" ; then
- AC_MSG_ERROR([memdump feature needs bfd.h and libbfd a.k.a bunutils-devel])
- fi
- ENABLE_MEMDUMP=$enableval
-fi
-
-if test "x$ENABLE_MEMDUMP" = "xyes" ; then
- AC_MSG_NOTICE([memdump feature is enabled])
- AC_DEFINE([ENABLE_MEMDUMP],[1],[whether memdump feature is enabled])
- uncomment_if_ENABLE_MEMDUMP=''
-else
- AC_MSG_NOTICE([memdump feature is disabled])
- uncomment_if_ENABLE_MEMDUMP='#'
-fi
-
-if test "x$ENABLE_MCOVERLAYFS" = "xyes" ; then
- AC_DEFINE([ENABLE_MCOVERLAYFS],[1],[whether mcoverlayfs is enabled])
- AC_MSG_NOTICE([mcoverlayfs is enabled])
-
- IFS=. read LINUX_VERSION_MAJOR LINUX_VERSION_MINOR LINUX_VERSION_PATCH _ <= 262144 && LINUX_VERSION_CODE < 262400)))
- MCOVERLAYFS_MODULE=linux-4.0.9;;
- # 4.6.0-4.7.0
- $((LINUX_VERSION_CODE >= 263680 && LINUX_VERSION_CODE < 263936)))
- MCOVERLAYFS_MODULE=linux-4.6.7;;
- # 4.18.0-4.20.0
- $((LINUX_VERSION_CODE >= 266752 && LINUX_VERSION_CODE < 267264)))
- MCOVERLAYFS_MODULE=linux-4.18.14;;
- *)
- AC_MSG_ERROR([Your kernel version has no known mcoverlayfs module]);;
- esac
- fi
-else
- AC_MSG_WARN([mcoverlayfs is disabled. You will not be able to run anything.])
-fi
-
-if test "x$ENABLE_QLMPI" = "xyes" ; then
- AC_DEFINE([ENABLE_QLMPI],[1],[whether qlmpi is enabled])
- AC_MSG_NOTICE([qlmpi is enabled])
-else
- AC_MSG_NOTICE([qlmpi is disabled])
-fi
-
-case $ENABLE_RUSAGE in
- yes|no)
- ;;
- default)
- ENABLE_RUSAGE=yes
- ;;
- *)
- AC_MSG_ERROR([unknown rusage argument: $ENABLE_RUSAGE])
- ;;
-esac
-
-if test "x$ENABLE_RUSAGE" = "xyes" ; then
- AC_MSG_NOTICE([rusage is enabled])
- AC_DEFINE([ENABLE_RUSAGE],[1],[whether rusage is enabled])
-else
- AC_MSG_NOTICE([rusage is disabled])
-fi
-
-if test "x$ENABLE_PERF" = "xyes" ; then
- AC_DEFINE([ENABLE_PERF],[1],[whether perf is enabled])
- AC_MSG_NOTICE([perf is enabled])
-else
- AC_MSG_NOTICE([perf is disabled])
-fi
-
-if test "x$WITH_SYSCALL_INTERCEPT" = "xyes" ; then
- AC_DEFINE([WITH_SYSCALL_INTERCEPT],[1],[whether or not syscall_intercept library is linked])
- AC_MSG_NOTICE([syscall_intercept library is linked])
-else
- AC_MSG_NOTICE([syscall_intercept library isn't linked])
-fi
-
-if test "x$MCKERNEL_INCDIR" != "x" ; then
- AC_DEFINE_UNQUOTED(MCKERNEL_INCDIR,"$MCKERNEL_INCDIR",[McKernel specific headers])
-fi
-
-if test "x$MCKERNEL_LIBDIR" != "x" ; then
- AC_DEFINE_UNQUOTED(MCKERNEL_LIBDIR,"$MCKERNEL_LIBDIR",[McKernel specific libraries])
-fi
-
-AC_DEFINE_UNQUOTED(BINDIR,"$BINDIR",[Path of install directory for binary])
-AC_DEFINE_UNQUOTED(SBINDIR,"$SBINDIR",[Path of install directory for system binary])
-
-AC_DEFINE_UNQUOTED(IHK_VERSION,"$IHK_VERSION",[IHK version string])
-AC_DEFINE_UNQUOTED(MCKERNEL_VERSION,"$MCKERNEL_VERSION",[McKernel version string])
-
-ABS_SRCDIR=$( cd $( dirname $0 ); pwd )
-IHK_ABS_SRCDIR=${ABS_SRCDIR}/../ihk
-BUILDID=$( git --git-dir=$IHK_ABS_SRCDIR/.git rev-parse --short HEAD 2>/dev/null || echo $IHK_VERSION )
-AC_MSG_NOTICE([BUILDID=$BUILDID])
-if test "x$BUILDID" != "x" ; then
- AC_DEFINE_UNQUOTED(BUILDID,"$BUILDID",[IHK build-id to confirm IHK and McKernel built at the same time are used])
-fi
-AC_SUBST(BUILDID)
-
-AC_SUBST(CC)
-AC_SUBST(XCC)
-AC_SUBST(ARCH)
-AC_SUBST(KDIR)
-AC_SUBST(UNAME_R)
-AC_SUBST(TARGET)
-AC_SUBST(BINDIR)
-AC_SUBST(SBINDIR)
-AC_SUBST(MCKERNEL_INCDIR)
-AC_SUBST(MCKERNEL_LIBDIR)
-AC_SUBST(INCDIR)
-AC_SUBST(ETCDIR)
-AC_SUBST(INCLUDEDIR)
-AC_SUBST(KMODDIR)
-AC_SUBST(KERNDIR)
-AC_SUBST(MANDIR)
-AC_SUBST(CFLAGS)
-AC_SUBST(CPPFLAGS_SYSCALL_INTERCEPT)
-AC_SUBST(LDFLAGS_SYSCALL_INTERCEPT)
-AC_SUBST(ENABLE_MCOVERLAYFS)
-AC_SUBST(MCOVERLAYFS_MODULE)
-AC_SUBST(ENABLE_RUSAGE)
-AC_SUBST(ENABLE_QLMPI)
-AC_SUBST(WITH_SYSCALL_INTERCEPT)
-
-AC_SUBST(IHK_VERSION)
-AC_SUBST(MCKERNEL_VERSION)
-AC_SUBST(DCFA_VERSION)
-AC_SUBST(IHK_RELEASE_DATE)
-AC_SUBST(MCKERNEL_RELEASE_DATE)
-AC_SUBST(DCFA_RESEASE_DATE)
-AC_SUBST(uncomment_if_ENABLE_MEMDUMP)
-
-AC_CONFIG_HEADERS([config.h])
-# POSTK_DEBUG_ARCH_DEP_37
-# AC_CONFIG_FILES arch dependfiles separate
-AC_CONFIG_FILES([
- Makefile
- executer/user/Makefile
- executer/user/mcexec.1:executer/user/mcexec.1in
- executer/user/vmcore2mckdump
- executer/user/arch/$ARCH/Makefile
- executer/kernel/mcctrl/Makefile
- executer/kernel/mcctrl/arch/$ARCH/Makefile
- executer/kernel/mcoverlayfs/Makefile
- executer/kernel/mcoverlayfs/linux-3.10.0-327.36.1.el7/Makefile
- executer/kernel/mcoverlayfs/linux-4.0.9/Makefile
- executer/kernel/mcoverlayfs/linux-4.6.7/Makefile
- executer/kernel/mcoverlayfs/linux-4.18.14/Makefile
- executer/include/qlmpilib.h
- kernel/Makefile
- kernel/Makefile.build
- kernel/include/swapfmt.h
- arch/x86_64/tools/mcreboot-attached-mic.sh
- arch/x86_64/tools/mcshutdown-attached-mic.sh
- arch/x86_64/tools/mcreboot-builtin-x86.sh
- arch/x86_64/tools/mcreboot-smp-x86.sh
- arch/x86_64/tools/mcstop+release-smp-x86.sh
- arch/x86_64/tools/mcoverlay-destroy-smp-x86.sh
- arch/x86_64/tools/mcoverlay-create-smp-x86.sh
- arch/x86_64/tools/eclair-dump-backtrace.exp
- arch/x86_64/tools/mcshutdown-builtin-x86.sh
- arch/x86_64/tools/mcreboot.1:arch/x86_64/tools/mcreboot.1in
- arch/x86_64/tools/irqbalance_mck.service
- arch/x86_64/tools/irqbalance_mck.in
- tools/mcstat/mcstat.1:tools/mcstat/mcstat.1in
- tools/mcstat/Makefile
-])
-
-if test -e "${ABS_SRCDIR}/test"; then
-AC_CONFIG_FILES([
-mck_test_config.sample:test/mck_test_config.sample.in
-])
-fi
-
-if test "$TARGET" = "smp-x86"; then
-AC_CONFIG_FILES([
- arch/x86_64/kernel/Makefile.arch
-])
-fi
-
-if test "$TARGET" = "smp-arm64"; then
-AC_CONFIG_FILES([
- kernel/config/config.smp-arm64
- arch/arm64/kernel/vdso/Makefile
- arch/arm64/kernel/Makefile.arch
-])
-fi
-
-AS_IF([test "x$enable_dcfa" = xyes], [
- AC_CONFIG_FILES([kernel/Makefile.dcfa])])
-
-AC_OUTPUT
diff --git a/executer/include/qlmpilib.h.in b/executer/include/qlmpilib.h
similarity index 100%
rename from executer/include/qlmpilib.h.in
rename to executer/include/qlmpilib.h
diff --git a/executer/kernel/mcctrl/CMakeLists.txt b/executer/kernel/mcctrl/CMakeLists.txt
new file mode 100644
index 00000000..0f815ad4
--- /dev/null
+++ b/executer/kernel/mcctrl/CMakeLists.txt
@@ -0,0 +1,30 @@
+file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/arch/${ARCH})
+
+if(ARCH STREQUAL "x86_64")
+ set(ARCH_C_FLAGS "-mno-red-zone -mcmodel=kernel")
+endif()
+
+kmod(mcctrl
+ C_FLAGS
+ -I${IHK_FULL_SOURCE_DIR}/linux/include
+ -I${IHK_FULL_SOURCE_DIR}/linux/include/ihk/arch/${ARCH}
+ -I${IHK_FULL_SOURCE_DIR}/ikc/include
+ -I${IHK_FULL_SOURCE_DIR}/ikc/include/ikc/arch/${ARCH}
+ -I${IHK_FULL_SOURCE_DIR}/include
+ -I${IHK_FULL_SOURCE_DIR}/include/arch/${ARCH}
+ -I${PROJECT_SOURCE_DIR}/executer/include
+ -I${CMAKE_CURRENT_SOURCE_DIR}/arch/${ARCH}/include
+ -I${PROJECT_BINARY_DIR}
+ -I${PROJECT_SOURCE_DIR}/kernel/include
+ -DMCEXEC_PATH=\\"${CMAKE_INSTALL_FULL_BINDIR}/mcexec\\"
+ ${ARCH_C_FLAGS}
+ SOURCES
+ driver.c control.c ikc.c syscall.c procfs.c binfmt_mcexec.c
+ sysfs.c sysfs_files.c arch/${ARCH}/archdeps.c
+ EXTRA_SYMBOLS
+ ${PROJECT_BINARY_DIR}/ihk/linux/core/Module.symvers
+ DEPENDS
+ ihk_ko
+ INSTALL_DEST
+ ${KMODDIR}
+)
diff --git a/executer/kernel/mcctrl/Makefile.in b/executer/kernel/mcctrl/Makefile.in
deleted file mode 100644
index b76b6405..00000000
--- a/executer/kernel/mcctrl/Makefile.in
+++ /dev/null
@@ -1,50 +0,0 @@
-# Makefile.in COPYRIGHT FUJITSU LIMITED 2016
-KDIR ?= @KDIR@
-ARCH ?= @ARCH@
-src = @abs_srcdir@
-KMODDIR=@KMODDIR@
-BINDIR=@BINDIR@
-INCLUDEDIR=@INCLUDEDIR@
-IHK_BASE=$(src)/../../../../ihk
-
-obj-m += mcctrl.o
-
-ccflags-y := -I$(IHK_BASE)/linux/include \
- -I$(IHK_BASE)/linux/include/ihk/arch/$(ARCH) \
- -I$(IHK_BASE)/ikc/include \
- -I$(IHK_BASE)/ikc/include/ikc/arch/$(ARCH) \
- -I$(IHK_BASE)/include \
- -I$(IHK_BASE)/include/arch/$(ARCH) \
- -I$(src)/../../include \
- -I$(src)/arch/$(ARCH)/include \
- -I@abs_builddir@ \
- -I@abs_builddir@/../../../ \
- -I$(src)/../../../kernel/include \
- -DMCEXEC_PATH=\"$(BINDIR)/mcexec\"
-
-# depending arch
-include @abs_builddir@/arch/$(ARCH)/Makefile
-
-mcctrl-y := driver.o control.o ikc.o syscall.o procfs.o binfmt_mcexec.o
-mcctrl-y += sysfs.o sysfs_files.o arch/$(ARCH)/archdeps.o
-
-KBUILD_EXTRA_SYMBOLS = @abs_builddir@/../../../../ihk/linux/core/Module.symvers
-
-ifeq ($(ARCH), arm64)
-EXTRA_CFLAGS += $(foreach i, $(shell seq 6 120), $(addprefix -DPOSTK_DEBUG_ARCH_DEP_, $(i)))
-EXTRA_CFLAGS += $(foreach i, $(shell seq 6 110), $(addprefix -DPOSTK_DEBUG_TEMP_FIX_, $(i)))
-endif
-
-.PHONY: clean install modules
-
-modules:
- $(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD) ARCH=$(ARCH) modules
-
-clean:
- $(RM) .*.cmd *.mod.c *.o *.ko* Module.symvers modules.order -r .tmp*
-
-install:
- mkdir -p -m 755 $(KMODDIR)
- install -m 644 mcctrl.ko $(KMODDIR)
- mkdir -p -m 755 $(INCLUDEDIR)/mckernel
- install -m 644 $(src)/../../include/ihklib_rusage.h $(INCLUDEDIR)/mckernel/ihklib_rusage.h
diff --git a/executer/kernel/mcctrl/arch/arm64/Makefile.in b/executer/kernel/mcctrl/arch/arm64/Makefile.in
deleted file mode 100644
index 357aacdb..00000000
--- a/executer/kernel/mcctrl/arch/arm64/Makefile.in
+++ /dev/null
@@ -1,2 +0,0 @@
-# Makefile.in COPYRIGHT FUJITSU LIMITED 2016
-# dummy file
diff --git a/executer/kernel/mcctrl/arch/arm64/archdeps.c b/executer/kernel/mcctrl/arch/arm64/archdeps.c
index e4199dbe..e4c2d03a 100644
--- a/executer/kernel/mcctrl/arch/arm64/archdeps.c
+++ b/executer/kernel/mcctrl/arch/arm64/archdeps.c
@@ -3,7 +3,7 @@
#include
#include
#include
-#include "../../../config.h"
+#include "config.h"
#include "../../mcctrl.h"
//#define SC_DEBUG
diff --git a/executer/kernel/mcctrl/arch/x86_64/Makefile.in b/executer/kernel/mcctrl/arch/x86_64/Makefile.in
deleted file mode 100644
index 4d888df4..00000000
--- a/executer/kernel/mcctrl/arch/x86_64/Makefile.in
+++ /dev/null
@@ -1 +0,0 @@
-ccflags-y += -mno-red-zone -mcmodel=kernel
diff --git a/executer/kernel/mcctrl/arch/x86_64/archdeps.c b/executer/kernel/mcctrl/arch/x86_64/archdeps.c
index 9c5eb8c5..4c3d6f70 100644
--- a/executer/kernel/mcctrl/arch/x86_64/archdeps.c
+++ b/executer/kernel/mcctrl/arch/x86_64/archdeps.c
@@ -2,7 +2,7 @@
#include
#include
#include
-#include "../../../config.h"
+#include "config.h"
#include "../../mcctrl.h"
//#define SC_DEBUG
diff --git a/executer/kernel/mcctrl/syscall.c b/executer/kernel/mcctrl/syscall.c
index d6bcd6dc..78680d4b 100644
--- a/executer/kernel/mcctrl/syscall.c
+++ b/executer/kernel/mcctrl/syscall.c
@@ -46,7 +46,7 @@
#include
#include
#include
-#include "../../../config.h"
+#include "config.h"
#include "mcctrl.h"
#include
#include
diff --git a/executer/kernel/mcctrl/sysfs_files.c b/executer/kernel/mcctrl/sysfs_files.c
index f5f8da16..2f096ec8 100644
--- a/executer/kernel/mcctrl/sysfs_files.c
+++ b/executer/kernel/mcctrl/sysfs_files.c
@@ -15,7 +15,7 @@
#include
#include
#include
-#include "../../../config.h"
+#include "config.h"
#include "mcctrl.h"
#include "sysfs_msg.h"
diff --git a/executer/kernel/mcoverlayfs/CMakeLists.txt b/executer/kernel/mcoverlayfs/CMakeLists.txt
new file mode 100644
index 00000000..8a5c94b5
--- /dev/null
+++ b/executer/kernel/mcoverlayfs/CMakeLists.txt
@@ -0,0 +1,14 @@
+# LESS/GREATER_EQUAL appears somewhere in 3.7... meh compat until we stop caring about 2.x
+# ...apparently can't define macros ot use inside if, so unfold manually
+
+if(NOT (LINUX_VERSION_CODE LESS 262144) AND NOT (LINUX_VERSION_CODE GREATER 262400))
+ add_subdirectory("linux-4.0.9")
+elseif(NOT (LINUX_VERSION_CODE LESS 263680) AND NOT (LINUX_VERSION_CODE GREATER 263936))
+ add_subdirectory("linux-4.6.7")
+elseif(LINUX_VERSION_CODE EQUAL 199168)
+ add_subdirectory("linux-3.10.0-327.36.1.el7")
+else()
+ #add_subdirectory("linux-3.10.0-327.36.1.el7")
+ add_subdirectory("linux-4.18.14")
+ #message(FATAL_ERROR "mcoverlayfs enabled but kernel version not compatible")
+endif()
diff --git a/executer/kernel/mcoverlayfs/Makefile.in b/executer/kernel/mcoverlayfs/Makefile.in
deleted file mode 100644
index ff68df04..00000000
--- a/executer/kernel/mcoverlayfs/Makefile.in
+++ /dev/null
@@ -1,21 +0,0 @@
-ENABLE_MCOVERLAYFS=@ENABLE_MCOVERLAYFS@
-MCOVERLAYFS_MODULE=@MCOVERLAYFS_MODULE@
-
-.PHONY: clean install modules
-
-modules:
-ifeq ($(ENABLE_MCOVERLAYFS),yes)
- +@(cd $(MCOVERLAYFS_MODULE) && make modules)
-endif
-
-clean:
- @(cd linux-3.10.0-327.36.1.el7 && make clean)
- @(cd linux-4.0.9 && make clean)
- @(cd linux-4.6.7 && make clean)
- @(cd linux-4.18.14 && make clean)
-
-install:
-ifeq ($(ENABLE_MCOVERLAYFS),yes)
- @(cd $(MCOVERLAYFS_MODULE) && make install)
-endif
-
diff --git a/executer/kernel/mcoverlayfs/linux-3.10.0-327.36.1.el7/CMakeLists.txt b/executer/kernel/mcoverlayfs/linux-3.10.0-327.36.1.el7/CMakeLists.txt
new file mode 100644
index 00000000..65ac213d
--- /dev/null
+++ b/executer/kernel/mcoverlayfs/linux-3.10.0-327.36.1.el7/CMakeLists.txt
@@ -0,0 +1,7 @@
+kmod(mcoverlay
+ SOURCES
+ copy_up.c dir.c inode.c readdir.c super.c
+ INSTALL_DEST
+ ${KMODDIR}
+)
+
diff --git a/executer/kernel/mcoverlayfs/linux-3.10.0-327.36.1.el7/Makefile.in b/executer/kernel/mcoverlayfs/linux-3.10.0-327.36.1.el7/Makefile.in
deleted file mode 100644
index a0705727..00000000
--- a/executer/kernel/mcoverlayfs/linux-3.10.0-327.36.1.el7/Makefile.in
+++ /dev/null
@@ -1,21 +0,0 @@
-KDIR ?= @KDIR@
-ARCH ?= @ARCH@
-KMODDIR = @KMODDIR@
-src = @abs_srcdir@
-
-obj-m += mcoverlay.o
-
-mcoverlay-y := copy_up.o dir.o inode.o readdir.o super.o
-
-.PHONY: clean install modules
-
-modules:
- $(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD) ARCH=$(ARCH) modules
-
-clean:
- $(RM) .*.cmd *.mod.c *.o *.ko* Module.symvers modules.order -r .tmp*
-
-install:
- mkdir -p -m 755 $(KMODDIR)
- install -m 644 mcoverlay.ko $(KMODDIR)
-
diff --git a/executer/kernel/mcoverlayfs/linux-4.0.9/Makefile.in b/executer/kernel/mcoverlayfs/linux-4.0.9/Makefile.in
deleted file mode 100644
index a0705727..00000000
--- a/executer/kernel/mcoverlayfs/linux-4.0.9/Makefile.in
+++ /dev/null
@@ -1,21 +0,0 @@
-KDIR ?= @KDIR@
-ARCH ?= @ARCH@
-KMODDIR = @KMODDIR@
-src = @abs_srcdir@
-
-obj-m += mcoverlay.o
-
-mcoverlay-y := copy_up.o dir.o inode.o readdir.o super.o
-
-.PHONY: clean install modules
-
-modules:
- $(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD) ARCH=$(ARCH) modules
-
-clean:
- $(RM) .*.cmd *.mod.c *.o *.ko* Module.symvers modules.order -r .tmp*
-
-install:
- mkdir -p -m 755 $(KMODDIR)
- install -m 644 mcoverlay.ko $(KMODDIR)
-
diff --git a/executer/kernel/mcoverlayfs/linux-4.18.14/CMakeLists.txt b/executer/kernel/mcoverlayfs/linux-4.18.14/CMakeLists.txt
new file mode 100644
index 00000000..5ce639ec
--- /dev/null
+++ b/executer/kernel/mcoverlayfs/linux-4.18.14/CMakeLists.txt
@@ -0,0 +1,7 @@
+kmod(mcoverlay
+ SOURCES
+ copy_up.c dir.c inode.c readdir.c super.c namei.c util.c export.c
+ INSTALL_DEST
+ ${KMODDIR}
+)
+
diff --git a/executer/kernel/mcoverlayfs/linux-4.18.14/Makefile.in b/executer/kernel/mcoverlayfs/linux-4.18.14/Makefile.in
deleted file mode 100644
index 6a4749a9..00000000
--- a/executer/kernel/mcoverlayfs/linux-4.18.14/Makefile.in
+++ /dev/null
@@ -1,24 +0,0 @@
-KDIR ?= @KDIR@
-ARCH ?= @ARCH@
-# POSTK_DEBUG_ARCH_DEP_105 make install DESTDIR enable.
-# KMODDIR = @KMODDIR@
-DESTDIR ?= @DESTDIR@
-KMODDIR = $(DESTDIR)/@KMODDIR@
-src = @abs_srcdir@
-
-obj-m += mcoverlay.o
-
-mcoverlay-y := copy_up.o dir.o inode.o readdir.o super.o export.o namei.o util.o
-
-.PHONY: clean install modules
-
-modules:
- $(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD) ARCH=$(ARCH) modules
-
-clean:
- $(RM) .*.cmd *.mod.c *.o *.ko* Module.symvers modules.order -r .tmp*
-
-install:
- mkdir -p -m 755 $(KMODDIR)
- install -m 644 mcoverlay.ko $(KMODDIR)
-
diff --git a/executer/kernel/mcoverlayfs/linux-4.6.7/Makefile.in b/executer/kernel/mcoverlayfs/linux-4.6.7/Makefile.in
deleted file mode 100644
index a0705727..00000000
--- a/executer/kernel/mcoverlayfs/linux-4.6.7/Makefile.in
+++ /dev/null
@@ -1,21 +0,0 @@
-KDIR ?= @KDIR@
-ARCH ?= @ARCH@
-KMODDIR = @KMODDIR@
-src = @abs_srcdir@
-
-obj-m += mcoverlay.o
-
-mcoverlay-y := copy_up.o dir.o inode.o readdir.o super.o
-
-.PHONY: clean install modules
-
-modules:
- $(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD) ARCH=$(ARCH) modules
-
-clean:
- $(RM) .*.cmd *.mod.c *.o *.ko* Module.symvers modules.order -r .tmp*
-
-install:
- mkdir -p -m 755 $(KMODDIR)
- install -m 644 mcoverlay.ko $(KMODDIR)
-
diff --git a/executer/user/CMakeLists.txt b/executer/user/CMakeLists.txt
new file mode 100644
index 00000000..a79ff3fd
--- /dev/null
+++ b/executer/user/CMakeLists.txt
@@ -0,0 +1,83 @@
+include_directories(
+ "${CMAKE_CURRENT_BINARY_DIR}"
+ "${PROJECT_BINARY_DIR}"
+ "${IHK_FULL_SOURCE_DIR}/linux/include"
+ "${CMAKE_CURRENT_SOURCE_DIR}/arch/${ARCH}/include"
+ "${CMAKE_CURRENT_SOURCE_DIR}"
+ "${CMAKE_CURRENT_SOURCE_DIR}/arch/${ARCH}"
+ "${PROJECT_BINARY_DIR}/ihk/linux/include"
+)
+
+
+add_library(libmcexec STATIC arch/${ARCH}/archdep.S)
+SET_TARGET_PROPERTIES(libmcexec PROPERTIES OUTPUT_NAME mcexec)
+set_property(TARGET libmcexec PROPERTY POSITION_INDEPENDENT_CODE ON)
+
+add_executable(mcexec mcexec.c)
+target_link_libraries(mcexec
+ libmcexec ihklib ${LIBRT} ${LIBNUMA} $<$:${LIBMPI}> pthread)
+target_include_directories(mcexec PUBLIC "${KERNEL_DIR}")
+set_property(TARGET mcexec PROPERTY POSITION_INDEPENDENT_CODE ON)
+set_property(TARGET mcexec PROPERTY LINK_FLAGS "-fPIE -pie")
+
+add_executable(eclair eclair.c arch/${ARCH}/arch-eclair.c)
+target_link_libraries(eclair ${LIBBFD})
+
+add_library(sched_yield SHARED libsched_yield.c)
+target_link_libraries(sched_yield dl)
+set_property(TARGET sched_yield PROPERTY VERSION 1.0.0)
+
+if (ENABLE_QLMPI)
+ target_link_libraries(mcexec ${MPI_C_LIBRARIES})
+ target_include_directories(mcexec PRIVATE ${MPI_INCLUDE_PATH})
+
+ add_library(qlmpi qlmpilib.c)
+ target_link_libraries(qlmpi ${MPI_C_LIBRARIES})
+ target_include_directories(qlmpi PRIVATE ${MPI_INCLUDE_PATH})
+
+ add_library(qlfort libqlfort.c)
+ target_link_libraries(qlfort dl ${MPI_C_LIBRARIES})
+ target_include_directories(qlfort PRIVATE ${MPI_INCLUDE_PATH})
+
+ add_executable(ql_server ql_server.c)
+ add_executable(ql_talker ql_talker.c)
+
+ add_executable(ql_mpiexec_start ql_mpiexec_start.c md5.c)
+ target_link_libraries(ql_mpiexec_start pthread)
+
+ add_executable(ql_mpiexec_finalize ql_mpiexec_start.c md5.c)
+ set_target_properties(ql_mpiexec_finalize PROPERTIES COMPILE_DEFINITIONS
+ QL_MPIEXEC_FINALIZE)
+ target_link_libraries(ql_mpiexec_finalize pthread)
+
+ install(TARGETS ql_server ql_talker ql_mpiexec_start ql_mpiexec_finalize
+ DESTINATION "${CMAKE_INSTALL_BINDIR}")
+ install(TARGETS qlmpi qlfort
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+endif()
+
+if (ENABLE_UTI)
+ add_library(mck_syscall_intercept SHARED arch/${ARCH}/archdep_c.c)
+ target_link_libraries(mck_syscall_intercept ${LIBSYSCALL_INTERCEPT})
+ set_target_properties(mck_syscall_intercept PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)
+
+ install(TARGETS mck_syscall_intercept
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+endif()
+
+add_library(ldump2mcdump SHARED ldump2mcdump.c)
+
+configure_file(vmcore2mckdump.in vmcore2mckdump @ONLY)
+
+configure_file(mcexec.1in mcexec.1 @ONLY)
+
+install(TARGETS mcexec eclair
+ DESTINATION "${CMAKE_INSTALL_BINDIR}")
+install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/vmcore2mckdump"
+ DESTINATION "${CMAKE_INSTALL_BINDIR}")
+install(TARGETS sched_yield ldump2mcdump
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}")
+install(FILES "../include/ihklib_rusage.h"
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/mckernel")
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/mcexec.1"
+ DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
diff --git a/executer/user/Makefile.in b/executer/user/Makefile.in
deleted file mode 100644
index 11afaab1..00000000
--- a/executer/user/Makefile.in
+++ /dev/null
@@ -1,133 +0,0 @@
-# Makefile.in COPYRIGHT FUJITSU LIMITED 2015-2018
-CC=@CC@
-MCC=mpicc
-BINDIR=@BINDIR@
-SBINDIR=@SBINDIR@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-LIBDIR=@libdir@
-MANDIR=@MANDIR@
-MCKERNEL_INCDIR=@MCKERNEL_INCDIR@
-MCKERNEL_LIBDIR=@MCKERNEL_LIBDIR@
-KDIR ?= @KDIR@
-ARCH=@ARCH@
-CFLAGS=-Wall -O -I. -I$(VPATH)/arch/${ARCH} -I${IHKDIR} -I@abs_builddir@/../../../ihk/linux/include -I$(VPATH)/arch/${ARCH}/include
-LDFLAGS=@LDFLAGS@
-CPPFLAGS_SYSCALL_INTERCEPT=@CPPFLAGS_SYSCALL_INTERCEPT@
-LDFLAGS_SYSCALL_INTERCEPT=@LDFLAGS_SYSCALL_INTERCEPT@
-RPATH=$(shell echo $(LDFLAGS)|awk '{for(i=1;i<=NF;i++){if($$i~/^-L/){w=$$i;sub(/^-L/,"-Wl,-rpath,",w);print w}}}')
-VPATH=@abs_srcdir@
-TARGET=mcexec libsched_yield ldump2mcdump.so
-@uncomment_if_ENABLE_MEMDUMP@TARGET+=eclair
-LIBS=@LIBS@
-IHKDIR ?= $(VPATH)/../../../ihk/linux/include/
-MCEXEC_LIBS=-lmcexec -lrt -lnuma -pthread -L@abs_builddir@/../../../ihk/linux/user -lihk -Wl,-rpath,$(MCKERNEL_LIBDIR)
-ENABLE_QLMPI=@ENABLE_QLMPI@
-WITH_SYSCALL_INTERCEPT=@WITH_SYSCALL_INTERCEPT@
-
-ifeq ($(ENABLE_QLMPI),yes)
- MCEXEC_LIBS += -lmpi
- TARGET+= libqlmpi.so ql_server ql_mpiexec_start ql_mpiexec_finalize ql_talker libqlfort.so
-endif
-
-ifeq ($(WITH_SYSCALL_INTERCEPT),yes)
- TARGET += syscall_intercept.so
-endif
-
-ifeq ($(ARCH), arm64)
-CFLAGS += $(foreach i, $(shell seq 6 120), $(addprefix -DPOSTK_DEBUG_ARCH_DEP_, $(i)))
-CFLAGS += $(foreach i, $(shell seq 6 110), $(addprefix -DPOSTK_DEBUG_TEMP_FIX_, $(i)))
-
-# get HOST-kernel memory settings
-HOST_DIR=@KDIR@
-HOST_CONFIG=$(HOST_DIR)/.config
-HOST_KERNEL_64K_PAGES=$(shell grep -E "^CONFIG_ARM64_64K_PAGES=y" $(HOST_CONFIG) | sed 's|CONFIG_ARM64_64K_PAGES=||g')
-HOST_KERNEL_VA_BITS=$(shell grep -E "^CONFIG_ARM64_VA_BITS=" $(HOST_CONFIG) | sed 's|CONFIG_ARM64_VA_BITS=||g')
-
-ifeq ($(HOST_KERNEL_64K_PAGES), y)
-CFLAGS += -DCONFIG_ARM64_64K_PAGES
-endif
-CFLAGS += -DCONFIG_ARM64_VA_BITS=$(HOST_KERNEL_VA_BITS)
-
-endif
-
-all: $(TARGET)
-
-mcexec: mcexec.c libmcexec.a
- $(CC) -I${KDIR} $(CFLAGS) $(EXTRA_CFLAGS) $(LDFLAGS) -DLIBDIR=\"$(LIBDIR)\" -fPIE -pie -L. $(MCEXEC_LIBS) -o $@ $^ $(EXTRA_OBJS) $(RPATH)
-
-# POSTK_DEBUG_ARCH_DEP_34, eclair arch depend separate.
-ifeq ($(ARCH), arm64)
-eclair: eclair.c arch/$(ARCH)/arch-eclair.c
- $(CC) -I.. -I. -I./arch/$(ARCH)/include -I$(VPATH)/.. -I$(VPATH) $(CFLAGS) -o $@ $^ $(LIBS) -ldl -lz
-else
-eclair: eclair.c arch/$(ARCH)/arch-eclair.c
- $(CC) -I.. -I$(VPATH) -I$(VPATH)/arch/$(ARCH)/include $(CFLAGS) -o $@ $^ $(LIBS)
-endif
-
-ldump2mcdump.so: ldump2mcdump.c
- $(CC) $(CFLAGS) $(LDFLAGS) -shared -fPIC -o $@ $<
-
-libsched_yield: libsched_yield.c
- $(CC) -shared -fPIC -Wl,-soname,sched_yield.so.1 -o libsched_yield.so.1.0.0 $^ -lc -ldl
-
-syscall_intercept.so: syscall_intercept.c libsyscall_intercept_arch.a
- $(CC) $(CPPFLAGS_SYSCALL_INTERCEPT) -g -O2 $(LDFLAGS_SYSCALL_INTERCEPT) -lsyscall_intercept -fpic -shared -L. -lsyscall_intercept_arch $^ -o $@
-
-libsyscall_intercept_arch.a::
- +(cd arch/${ARCH}; $(MAKE))
-
-libmcexec.a::
- +(cd arch/${ARCH}; $(MAKE))
-
-libqlmpi.so: qlmpilib.c
- $(MCC) $(CFLAGS) $(LDFLAGS) -shared -fPIC -o $@ $<
-
-libqlfort.so: libqlfort.c
- $(MCC) $(CFLAGS) $(LDFLAGS) -shared -fPIC -o $@ $< -ldl
-
-ql_server: ql_server.c
- $(CC) $(CFLAGS) -o $@ $^
-
-ql_mpiexec_start: ql_mpiexec_start.o md5.o
- $(CC) $^ $(CFLAGS) -pthread -o $@
-
-ql_mpiexec_finalize.o: ql_mpiexec_start.c
- $(CC) $(CFLAGS) -DQL_MPIEXEC_FINALIZE -c -o $@ $<
-
-ql_mpiexec_finalize: ql_mpiexec_finalize.o md5.o
- $(CC) $^ $(CFLAGS) -pthread -o $@
-
-ql_talker: ql_talker.o
- $(CC) $^ $(CFLAGS) -o $@
-
-clean::
- (cd arch/${ARCH}; $(MAKE) clean)
- $(RM) $(TARGET) *.o
-
-.PHONY: all clean install
-
-install::
- (cd arch/${ARCH}; $(MAKE) install)
- mkdir -p -m 755 $(BINDIR)
- install -m 755 mcexec $(BINDIR)
- mkdir -p -m 755 $(MCKERNEL_LIBDIR)
- install -m 755 ldump2mcdump.so $(MCKERNEL_LIBDIR)
- install -m 755 libsched_yield.so.1.0.0 $(MCKERNEL_LIBDIR)
- mkdir -p -m 755 $(MANDIR)/man1
- install -m 644 mcexec.1 $(MANDIR)/man1/mcexec.1
-ifeq ($(ENABLE_QLMPI),yes)
- install -m 644 ../include/qlmpilib.h $(MCKERNEL_INCDIR)
- install -m 755 libqlmpi.so $(MCKERNEL_LIBDIR)
- install -m 755 libqlfort.so $(MCKERNEL_LIBDIR)
- install -m 755 ql_server $(SBINDIR)
- install -m 755 ql_mpiexec_start $(BINDIR)
- install -m 755 ql_mpiexec_finalize $(BINDIR)
- install -m 755 ql_talker $(SBINDIR)
-endif
-ifeq ($(WITH_SYSCALL_INTERCEPT),yes)
- install -m 755 syscall_intercept.so $(MCKERNEL_LIBDIR)
-endif
- @uncomment_if_ENABLE_MEMDUMP@install -m 755 eclair $(BINDIR)
- @uncomment_if_ENABLE_MEMDUMP@install -m 755 vmcore2mckdump $(BINDIR)
-
diff --git a/executer/user/arch/arm64/Makefile.in b/executer/user/arch/arm64/Makefile.in
deleted file mode 100644
index 8e151194..00000000
--- a/executer/user/arch/arm64/Makefile.in
+++ /dev/null
@@ -1,24 +0,0 @@
-# Makefile.in COPYRIGHT FUJITSU LIMITED 2017-2018
-CC=@CC@
-AR=ar
-BINDIR=@BINDIR@
-KDIR ?= @KDIR@
-CFLAGS=-Wall -O -I.
-VPATH=@abs_srcdir@
-TARGET=../../libmcexec.a
-LIBS=@LIBS@
-
-all: $(TARGET)
-
-../../libmcexec.a: archdep.o
- $(AR) cr ../../libmcexec.a archdep.o
-
-archdep.o: archdep.c archdep.S
- $(CC) -c -I${KDIR} $(CFLAGS) $(EXTRA_CFLAGS) -fPIE -pie -pthread $^
-
-clean:
- $(RM) $(TARGET) *.o
-
-.PHONY: all clean install
-
-install:
diff --git a/executer/user/arch/x86_64/Makefile.in b/executer/user/arch/x86_64/Makefile.in
deleted file mode 100644
index 453bd5de..00000000
--- a/executer/user/arch/x86_64/Makefile.in
+++ /dev/null
@@ -1,30 +0,0 @@
-# Makefile.in COPYRIGHT FUJITSU LIMITED 2017-2018
-CC=@CC@
-AR=ar
-BINDIR=@BINDIR@
-KDIR ?= @KDIR@
-CFLAGS=-Wall -O -I.
-VPATH=@abs_srcdir@
-TARGET=../../libmcexec.a ../../libsyscall_intercept_arch.a
-LIBS=@LIBS@
-
-all: $(TARGET)
-
-../../libmcexec.a: archdep.o
- $(AR) cr ../../libmcexec.a archdep.o
-
-archdep.o: archdep.S
- $(CC) -c -I${KDIR} $(CFLAGS) $(EXTRA_CFLAGS) -fPIE -pie -pthread $<
-
-../../libsyscall_intercept_arch.a: archdep_c.o
- $(AR) cr ../../libsyscall_intercept_arch.a archdep_c.o
-
-archdep_c.o: archdep_c.c
- $(CC) -c -I${KDIR} $(CFLAGS) $(EXTRA_CFLAGS) -fPIE -pie -pthread $<
-
-clean:
- $(RM) $(TARGET) *.o
-
-.PHONY: all clean install
-
-install:
diff --git a/executer/user/eclair.c b/executer/user/eclair.c
index a59ba9b4..420186e8 100644
--- a/executer/user/eclair.c
+++ b/executer/user/eclair.c
@@ -8,7 +8,7 @@
* Copyright (C) 2015 RIKEN AICS
*/
-#include "../config.h"
+#include "config.h"
#include
#include
#include
diff --git a/executer/user/eclair.h b/executer/user/eclair.h
index 73ee5cd4..57298f48 100644
--- a/executer/user/eclair.h
+++ b/executer/user/eclair.h
@@ -3,7 +3,7 @@
#ifndef HEADER_USER_COMMON_ECLAIR_H
#define HEADER_USER_COMMON_ECLAIR_H
-#include "../config.h"
+#include "config.h"
#include
#include
#include
diff --git a/executer/user/mcexec.c b/executer/user/mcexec.c
index cb01236d..f28316c2 100644
--- a/executer/user/mcexec.c
+++ b/executer/user/mcexec.c
@@ -2001,7 +2001,7 @@ static void ld_preload_init()
memset(envbuf, 0, PATH_MAX);
if (enable_uti) {
- LD_PRELOAD_PREPARE("syscall_intercept.so");
+ LD_PRELOAD_PREPARE("libmck_syscall_intercept.so");
LD_PRELOAD_APPEND;
}
@@ -2249,7 +2249,7 @@ int main(int argc, char **argv)
if (opendev() == -1)
exit(EXIT_FAILURE);
-#ifndef WITH_SYSCALL_INTERCEPT
+#ifndef ENABLE_UTI
if (enable_uti) {
__eprintf("ERROR: uti is not available when not configured with --with-syscall_intercept=\n");
exit(EXIT_FAILURE);
diff --git a/executer/user/ql_mpiexec_start.c b/executer/user/ql_mpiexec_start.c
index f60a9f69..124df4ec 100644
--- a/executer/user/ql_mpiexec_start.c
+++ b/executer/user/ql_mpiexec_start.c
@@ -15,7 +15,7 @@
#include
#include
#include
-#include "../../config.h"
+#include "config.h"
#include "../include/qlmpi.h"
#include "../include/md5.h"
diff --git a/ihk b/ihk
index 83d5ec53..f4c2dbbb 160000
--- a/ihk
+++ b/ihk
@@ -1 +1 @@
-Subproject commit 83d5ec53cb99d3d8db5b08efd84d8f1126ddaa39
+Subproject commit f4c2dbbb0f1ba87b2b6b33a1e683c313bd2006fa
diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt
new file mode 100644
index 00000000..43835d80
--- /dev/null
+++ b/kernel/CMakeLists.txt
@@ -0,0 +1,171 @@
+set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS)
+set(CMAKE_C_LINK_EXECUTABLE " -o ")
+set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -D__ASSEMBLY__")
+
+configure_file(include/swapfmt.h.in include/swapfmt.h)
+
+execute_process(COMMAND ${CMAKE_C_COMPILER} -print-file-name=include
+ OUTPUT_VARIABLE SYSTEM_INCLUDE OUTPUT_STRIP_TRAILING_WHITESPACE)
+add_definitions(-D__KERNEL__ -DIHK_OS_MANYCORE)
+add_compile_options(-ffreestanding -O2 -nostdinc -isystem ${SYSTEM_INCLUDE} -fno-omit-frame-pointer)
+include_directories(
+ "${CMAKE_CURRENT_BINARY_DIR}/include"
+ "include"
+ "${CMAKE_CURRENT_BINARY_DIR}"
+ "${PROJECT_BINARY_DIR}"
+ "${IHK_FULL_SOURCE_DIR}/cokernel/smp/${ARCH}/include"
+ "${IHK_FULL_SOURCE_DIR}/ikc/include"
+ "${IHK_FULL_SOURCE_DIR}/linux/include"
+ "${PROJECT_SOURCE_DIR}/lib/include"
+ "${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/include"
+)
+if (${ARCH} STREQUAL "x86_64")
+ add_compile_options(-mcmodel=large -mno-red-zone -mno-sse)
+endif()
+
+set(MCKERNEL_SRCS
+ init.c mem.c debug.c mikc.c listeners.c ap.c syscall.c cls.c host.c process.c
+ copy.c waitq.c futex.c timer.c plist.c fileobj.c shmobj.c zeroobj.c
+ procfs.c devobj.c sysfs.c xpmem.c profile.c freeze.c rbtree.c pager.c
+ gencore.c hugefileobj.c
+
+ ${IHK_FULL_SOURCE_DIR}/ikc/manycore.c
+ ${IHK_FULL_SOURCE_DIR}/ikc/master.c
+ ${IHK_FULL_SOURCE_DIR}/ikc/queue.c
+
+ ${PROJECT_SOURCE_DIR}/lib/abort.c
+ ${PROJECT_SOURCE_DIR}/lib/bitmap.c
+ ${PROJECT_SOURCE_DIR}/lib/bitops.c
+ ${PROJECT_SOURCE_DIR}/lib/page_alloc.c
+ ${PROJECT_SOURCE_DIR}/lib/string.c
+ ${PROJECT_SOURCE_DIR}/lib/vsprintf.c
+
+ ${IHK_FULL_SOURCE_DIR}/cokernel/smp/${ARCH}/dma.c
+ ${IHK_FULL_SOURCE_DIR}/cokernel/smp/${ARCH}/ikc.c
+ ${IHK_FULL_SOURCE_DIR}/cokernel/smp/${ARCH}/setup.c
+)
+
+if (BUILD_TARGET STREQUAL "smp-x86")
+ list(APPEND MCKERNEL_SRCS
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/context.S
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/coredump.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/cpu.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/interrupt.S
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/local.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/memory.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/mikc.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/perfctr.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/syscall.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/trampoline.S
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/vsyscall.c
+
+ )
+ set(LINKER_SCRIPT "smp-x86.lds")
+elseif (BUILD_TARGET STREQUAL "smp-arm64")
+
+ configure_file(${KERNEL_DIR}/include/generated/vdso-offsets.h include/vdso-offsets.h)
+
+ list(APPEND MCKERNEL_SRCS
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/assert.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/cache.S
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/context.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/coredump.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/cpu.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/cpufeature.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/cputable.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/debug-monitors.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/entry-fpsimd.S
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/entry.S
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/fault.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/fpsimd.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/head.S
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/hw_breakpoint.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/hyp-stub.S
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/imp-sysreg.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/irq-gic-v2.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/irq-gic-v3.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/local.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/memcpy.S
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/memory.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/memset.S
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/mikc.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/perfctr.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/perfctr_armv8pmu.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/proc-macros.S
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/proc.S
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/psci.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/ptrace.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/smp.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/syscall.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/timer.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/trampoline.S
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/traps.c
+ ${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/vdso.c
+
+ )
+
+ execute_process(COMMAND awk -F= "$1 == \"CONFIG_NR_CPUS\" { print $2; exit; }" "${KERNEL_DIR}/.config"
+ OUTPUT_VARIABLE CONFIG_NR_CPUS OUTPUT_STRIP_TRAILING_WHITESPACE)
+ execute_process(COMMAND awk -F= "$1 == \"CONFIG_ARM_ARCH_TIMER_EVTSTREAM\" { print $2; exit; }" "${KERNEL_DIR}/.config"
+ OUTPUT_VARIABLE CONFIG_ARM_ARCH_TIMER_EVTSTREAM OUTPUT_STRIP_TRAILING_WHITESPACE)
+ execute_process(COMMAND awk -F= "$1 == \"CONFIG_HZ\" { print $2; exit; }" "${KERNEL_DIR}/.config"
+ OUTPUT_VARIABLE CONFIG_HZ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ execute_process(COMMAND awk -F= "$1 == \"CONFIG_ARM64_VHE\" { print $2; exit; }" "${KERNEL_DIR}/.config"
+ OUTPUT_VARIABLE CONFIG_ARM64_VHE OUTPUT_STRIP_TRAILING_WHITESPACE)
+ execute_process(COMMAND awk -F= "$1 == \"CONFIG_ARM_GIC_V3\" { print $2; exit; }" "${KERNEL_DIR}/.config"
+ OUTPUT_VARIABLE CONFIG_ARM_GIC_V3 OUTPUT_STRIP_TRAILING_WHITESPACE)
+ execute_process(COMMAND awk -F= "$1 == \"CONFIG_ARM64_64K_PAGES\" { print $2; exit; }" "${KERNEL_DIR}/.config"
+ OUTPUT_VARIABLE CONFIG_ARM64_64K_PAGES OUTPUT_STRIP_TRAILING_WHITESPACE)
+ execute_process(COMMAND awk -F= "$1 == \"CONFIG_ARM64_VA_BITS\" { print $2; exit; }" "${KERNEL_DIR}/.config"
+ OUTPUT_VARIABLE CONFIG_ARM64_VA_BITS OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+ message("Host kernel CONFIG_NR_CPUS=${CONFIG_NR_CPUS}")
+ message("Host kernel CONFIG_HZ=${CONFIG_HZ}")
+ message("Host kernel CONFIG_ARM64_64K_PAGES=${CONFIG_ARM64_64K_PAGES}")
+ message("Host kernel CONFIG_ARM64_VA_BITS=${CONFIG_ARM64_VA_BITS}")
+
+ if(CONFIG_ARM64_64K_PAGES STREQUAL "y")
+ if(CONFIG_ARM64_VA_BITS STREQUAL 42)
+ add_definitions(-DCONFIG_ARM64_PGTABLE_LEVELS=2 -DCONFIG_ARM64_VA_BITS=42 -DCONFIG_ARM64_64K_PAGES)
+ set(LINKER_SCRIPT "smp-arm64_type3.lds")
+ elseif(CONFIG_ARM64_VA_BITS STREQUAL 48)
+ add_definitions(-DCONFIG_ARM64_PGTABLE_LEVELS=3 -DCONFIG_ARM64_VA_BITS=48 -DCONFIG_ARM64_64K_PAGES)
+ set(LINKER_SCRIPT "smp-arm64_type4.lds")
+ endif()
+ else(CONFIG_ARM64_64K_PAGES STREQUAL "y")
+ if(CONFIG_ARM64_VA_BITS STREQUAL 39)
+ add_definitions(-DCONFIG_ARM64_PGTABLE_LEVELS=3 -DCONFIG_ARM64_VA_BITS=39)
+ set(linker_script "smp-arm64_type1.lds")
+ elseif(CONFIG_ARM64_VA_BITS STREQUAL 48)
+ add_definitions(-DCONFIG_ARM64_PGTABLE_LEVELS=4 -DCONFIG_ARM64_VA_BITS=48)
+ set(linker_script "smp-arm64_type2.lds")
+ endif()
+ endif(CONFIG_ARM64_64K_PAGES STREQUAL "y")
+ if(CONFIG_ARM_GIC_V3 STREQUAL "y")
+ add_definitions(-DCONFIG_ARM_GIC_V3=y)
+ #add_definitions(-DCONFIG_HAS_NMI=y)
+ else(CONFIG_ARM_GIC_V3 STREQUAL "y")
+ message(FATAL_ERROR "Host kernel must have GIC v3 enabled")
+ endif(CONFIG_ARM_GIC_V3 STREQUAL "y")
+ if(CONFIG_ARM64_VHE STREQUAL "y")
+ add_definitions(-DCONFIG_ARM64_VHE)
+ endif(CONFIG_ARM64_VHE STREQUAL "y")
+ if(CONFIG_ARM_ARCH_TIMER_EVTSTREAM STREQUAL "y")
+ add_definitions(-DCONFIG_ARM_ARCH_TIMER_EVTSTREAM)
+ endif(CONFIG_ARM_ARCH_TIMER_EVTSTREAM STREQUAL "y")
+ add_definitions(-DNR_CPUS=${CONFIG_NR_CPUS} -DCONFIG_HZ=${CONFIG_HZ})
+ # Seems to have been hardcoded to 512 in old makefiles
+ add_definitions(-DCONFIG_SMP_MAX_CORES=512)
+ # Always turned on as well
+ add_definitions(-DCONFIG_ARM64_SVE)
+endif()
+
+
+add_executable(mckernel.img ${MCKERNEL_SRCS})
+
+set_target_properties(mckernel.img PROPERTIES INSTALL_RPATH "")
+set_target_properties(mckernel.img PROPERTIES LINK_FLAGS
+ "-e arch_start -T ${CMAKE_CURRENT_SOURCE_DIR}/config/${LINKER_SCRIPT} --build-id")
+
+install(TARGETS "mckernel.img"
+ DESTINATION "${MCKERNELDIR}")
diff --git a/kernel/Makefile.build.in b/kernel/Makefile.build.in
deleted file mode 100644
index 523817f2..00000000
--- a/kernel/Makefile.build.in
+++ /dev/null
@@ -1,75 +0,0 @@
-# Makefile.build.in COPYRIGHT FUJITSU LIMITED 2015-2018
-ARCH = @ARCH@
-VPATH=@abs_srcdir@
-SRC=$(VPATH)
-IHKDIR=$(IHKBASE)/$(TARGETDIR)
-OBJS = init.o mem.o debug.o mikc.o listeners.o ap.o syscall.o cls.o host.o
-OBJS += process.o copy.o waitq.o futex.o timer.o plist.o fileobj.o shmobj.o
-OBJS += zeroobj.o procfs.o devobj.o sysfs.o xpmem.o profile.o freeze.o
-OBJS += rbtree.o hugefileobj.o
-OBJS += pager.o gencore.o
-DEPSRCS=$(wildcard $(SRC)/*.c)
-
-CFLAGS += -I$(SRC)/include -I@abs_builddir@/../ -I@abs_builddir@/include -D__KERNEL__ -g -fno-omit-frame-pointer -fno-inline -fno-inline-small-functions
-ifneq ($(ARCH), arm64)
-CFLAGS += -mcmodel=large -mno-red-zone -mno-sse
-endif
-LDFLAGS += -e arch_start
-IHKOBJ = ihk/ihk.o
-
-# POSTK_DEBUG_ARCH_DEP_24
-ifeq ($(ARCH), arm64)
-default: all
-endif
-
-ifeq ($(ARCH), arm64)
-include @abs_builddir@/config/config.$(TARGET)
-else
-include $(SRC)/config/config.$(TARGET)
-endif
-include @abs_builddir@/../../ihk/cokernel/Makefile.common
-
-# CFLAGS += -I$(SRC)/../arch/$(IHKARCH)/kernel/include -I$(SRC)/../lib/include
-
-OBJDUMP ?= objdump
-OBJCOPY ?= objcopy
-
-# POSTK_DEBUG_ARCH_DEP_26
-ifeq ($(ARCH), arm64)
-SUBCMD_OPTS = TARGET=$(TARGET) O=$(CURDIR)/ihk CC=$(CC) LD=$(LD) OBJCOPY=$(OBJCOPY) SRC=$(SRC) ARCH=$(ARCH)
-else
-SUBCMD_OPTS = TARGET=$(TARGET) O=$(CURDIR)/ihk CC=$(CC) LD=$(LD) SRC=$(SRC)
-endif
-
-ld_kern_cmd_base = $(LD) $(LDFLAGS) -o $@.elf $^
-mkimage_cmd_base = [ -f $(SRC)/script/mkimage.$(TARGET) ] && CC=$(CC) LD=$(LD) LDFLAGS="$(LDFLAGS_MKIMAGE)" OBJDUMP=$(OBJDUMP) OBJCOPY=$(OBJCOPY) sh $(SRC)/script/mkimage.$(TARGET) '$@.elf' '$@' '$(SRC)' || cp $@.elf $@
-
-ld_kern_cmd = $(call echo_cmd,LDKERN,$@)$(ld_kern_cmd_base)
-mkimage_cmd = $(call echo_cmd,MKIMAGE,$@)$(mkimage_cmd_base)
-
-all: depend kernel.img
-
-kernel.img: $(OBJS) $(IHKOBJ)
- $(ld_kern_cmd)
- $(mkimage_cmd)
-
-clean:
- $(rm_cmd) $(OBJS) kernel.img kernel.img.elf Makefile.dep
- @$(submake) -C $(IHKBASE) $(SUBCMD_OPTS) clean
-
-depend: Makefile.dep
-
-Makefile.dep:
- $(call dep_cmd,$(DEPSRCS))
-
-$(IHKOBJ): FORCE
- @mkdir -p $(dir $(IHKOBJ))
- +$(call echo_cmd,BUILD IHK,$(TARGET))$(submake) -C $(IHKBASE) $(SUBCMD_OPTS) prepare
- +$(call echo_cmd,BUILD IHK,$(TARGET))$(submake) -C $(IHKBASE) $(SUBCMD_OPTS)
-
-%.o: $(SRC)/%.c
- $(cc_cmd)
-
-FORCE:
-
--include Makefile.dep
diff --git a/kernel/Makefile.dcfa.in b/kernel/Makefile.dcfa.in
deleted file mode 100644
index a7f04274..00000000
--- a/kernel/Makefile.dcfa.in
+++ /dev/null
@@ -1,97 +0,0 @@
-# Makefile.dcfa.in COPYRIGHT FUJITSU LIMITED 2013-2018
-BUILD_TARGET ?= @TARGET@
-INSTALL_KL_DIR ?= @KERNDIR@
-SRC = $(CURDIR)
-
-DCFA_MODE ?= umod
-IHKBASE ?= $(SRC)/../../ihk/cokernel
-O ?= $(CURDIR)/build
-V ?= $(VERBOSE)
-
-N ?= kernel_obj.o
-EXTRA_OBJS ?=
-
-## compile items
-
-KERNEL = kernel.img
-KERNELS = $(addsuffix /$(KERNEL),$(addprefix $(O)/,$(BUILD_TARGET)))
-
-KERNEL_OBJ = $(addsuffix /$(N),$(addprefix $(O)/,$(BUILD_TARGET)))
-KERNEL_MAKEFILE = $(addsuffix /Makefile,$(addprefix $(O)/,$(BUILD_TARGET)))
-
-## install items
-
-ifeq ("$(DCFA_MODE)", "kmod")
-KERNEL_OBJ_PUB = $(INSTALL_KL_DIR)/$(N)
-KERNEL_MAKEFILE_PUB = $(INSTALL_KL_DIR)/Makefile
-else
-KERNELS_PUB = $(INSTALL_KL_DIR)/$(KERNEL)
-KERNEL_MAKEFILE_PUB = $(INSTALL_KL_DIR)/Makefile
-endif
-
-SUBCMD_OPTS = V='$(V)'
-
-$(if $(O),,$(error Specify the compilation target directory))
-#$(if $(shell ls $(IHKBASE)/Makefile),,\
-# $(error IHK is not found in $(IHKBASE)))
-
-
-.PHONY: all kmod umod clean depend
-.SECONDARY: $(KERNEL_MAKEFILE) $(KERNEL_MAKEFILE_PUB)
-
-all: $(DCFA_MODE)
-
-install: $(DCFA_MODE)_install
-
-clean:
- rm -rf $(O)
-
-kmod: $(KERNEL_OBJ)
-
-umod: $(KERNELS)
-
-umod_install:
- @echo install $(KERNELS_PUB)
- @rm -f $(KERNELS_PUB)
- @mkdir -p $(dir $(KERNELS_PUB))
- @cp $(KERNELS) $(KERNELS_PUB)
-
-kmod_install: $(KERNEL_MAKEFILE_PUB)
- @echo install $(KERNEL_OBJ_PUB)
- @rm -f $(KERNEL_OBJ_PUB)
- @cp $(KERNEL_OBJ) $(KERNEL_OBJ_PUB)
-
-%/kernel.img: %/Makefile
- @echo 'Building for' $(dir $@)
- @make --no-print-directory -C $(dir $@) $(SUBCMD_OPTS)
-
-%/$(N): %/Makefile
- @echo 'Building for' $(dir $@)
- @make kobj --no-print-directory -C $(dir $@) $(SUBCMD_OPTS)
-
-$(KERNEL_MAKEFILE): Makefile.build.dcfa
- rm -f $@
- @mkdir -p $(dir $@)
- @echo 'SRC = $(SRC)' > $@
- @echo 'IHKBASE = $(IHKBASE)' >> $@
- @echo 'TARGET = $(notdir $(patsubst %/,%,$(dir $@)))' >> $@
- @echo 'TARGETDIR = $$(shell echo $$(TARGET) | sed "s/-/\//")' >> $@
- @echo 'DCFA_MODE = $(DCFA_MODE)' >> $@
- @echo 'KERNEL_OBJ = $(KERNEL_OBJ)' >> $@
- @echo 'EXTRA_OBJS = $(EXTRA_OBJS)' >> $@
- @echo 'EXTRA_CFLAGS = $(EXTRA_CFLAGS)' >> $@
- @cat $^ >> $@
-# @rm -f $(dir $@)/Makefile.dep
-
-$(KERNEL_MAKEFILE_PUB): Makefile.build.dcfa.public
- @echo install $@
- @rm -f $@
- @mkdir -p $(dir $@)
- @echo 'SRC = $(SRC)' > $@
- @echo 'IHKBASE = $(IHKBASE)' >> $@
- @echo 'TARGET = $(BUILD_TARGET)' >> $@
- @echo 'TARGETDIR = $$(shell echo $$(TARGET) | sed "s/-/\//")' >> $@
- @echo 'KERNEL_OBJ = $(KERNEL_OBJ_PUB)' >> $@
- @cat $^ >> $@
-
-FORCE:
diff --git a/kernel/Makefile.in b/kernel/Makefile.in
deleted file mode 100644
index 7bafb8ac..00000000
--- a/kernel/Makefile.in
+++ /dev/null
@@ -1,56 +0,0 @@
-# Makefile.in COPYRIGHT FUJITSU LIMITED 2013-2018
-BUILD_TARGET ?= @TARGET@
-KERNDIR=@KERNDIR@
-VPATH=@abs_srcdir@
-ARCH ?= @ARCH@
-
-ifeq ($(ARCH), arm64)
-vdsodir=@abs_builddir@/../arch/$(ARCH)/kernel/vdso
-endif
-
-IHKBASE ?= $(VPATH)/../../ihk/cokernel
-O ?= $(CURDIR)/build
-V ?= $(VERBOSE)
-
-KERNEL = kernel.img
-KERNELS = $(addsuffix /$(KERNEL),$(addprefix $(O)/,$(BUILD_TARGET)))
-
-SUBCMD_OPTS = V='$(V)' BUILD_IHK_COKERNEL=@abs_builddir@/../../ihk/cokernel
-
-$(if $(O),,$(error Specify the compilation target directory))
-#$(if $(shell ls $(IHKBASE)/Makefile),,\
-# $(error IHK is not found in $(IHKBASE)))
-
-.PHONY: all clean depend install
-
-all: $(O) $(KERNELS)
-
-$(O):
- mkdir -p $(O)
-
-%/kernel.img: %/Makefile $(KERNELS)
- @echo 'Building for' $(dir $@)
- +@make --no-print-directory -C $(dir $@) $(SUBCMD_OPTS)
-
-%/Makefile: Makefile.build FORCE
- @mkdir -p $(dir $@)
- @echo 'SRC = $(SRC)' > $@
- @echo 'IHKBASE = $(IHKBASE)' >> $@
- @echo 'TARGET = $(notdir $(patsubst %/,%,$(dir $@)))' >> $@
- @echo 'TARGETDIR = smp/$(ARCH)' >> $@
- @cat Makefile.build >> $@
- @rm -f $(dir $@)/Makefile.dep
-
-clean:
- rm -rf $(O)
-ifeq ($(ARCH), arm64)
- @rm -f $(vdsodir)/*.o $(vdsodir)/vdso.lds $(vdsodir)/vdso.so* $(vdsodir)/Makefile.dep
- @rm -f $(vdsodir)/../include/vdso-offsets.h $(vdsodir)/../include/vdso-so-path.h
- @if [ -d $(vdsodir)/../include ]; then rmdir --ignore-fail-on-non-empty $(vdsodir)/../include; fi
-endif
-
-install:
- mkdir -p -m 755 $(KERNDIR)
- install -m 755 $(O)/$(BUILD_TARGET)/kernel.img $(KERNDIR)/mckernel.img
-
-FORCE:
diff --git a/kernel/config/smp-arm64_type1.lds b/kernel/config/smp-arm64_type1.lds
index 41e499dc..c2cd83bd 100644
--- a/kernel/config/smp-arm64_type1.lds
+++ b/kernel/config/smp-arm64_type1.lds
@@ -26,17 +26,9 @@ SECTIONS
*(.rodata .rodata.*)
} :data
- .vdso : ALIGN(0x1000) {
- vdso_page = .;
-
- . = vdso_page + 0x0000;
- *(.vdso.data)
-
- . = vdso_page + 0x1000;
- *(.vdso.text)
-
- . = ALIGN(0x1000);
- } : data = 0xf4
+ /* force build-id position somewhere not at start... */
+ .note.gnu.build-id : {
+ }
.bss : {
*(.bss .bss.*)
diff --git a/kernel/config/smp-arm64_type2.lds b/kernel/config/smp-arm64_type2.lds
index 6d021d50..97182b3b 100644
--- a/kernel/config/smp-arm64_type2.lds
+++ b/kernel/config/smp-arm64_type2.lds
@@ -26,17 +26,9 @@ SECTIONS
*(.rodata .rodata.*)
} :data
- .vdso : ALIGN(0x1000) {
- vdso_page = .;
-
- . = vdso_page + 0x0000;
- *(.vdso.data)
-
- . = vdso_page + 0x1000;
- *(.vdso.text)
-
- . = ALIGN(0x1000);
- } : data = 0xf4
+ /* force build-id position somewhere not at start... */
+ .note.gnu.build-id : {
+ }
.bss : {
*(.bss .bss.*)
diff --git a/kernel/config/smp-arm64_type3.lds b/kernel/config/smp-arm64_type3.lds
index c0ea34da..7add4e20 100644
--- a/kernel/config/smp-arm64_type3.lds
+++ b/kernel/config/smp-arm64_type3.lds
@@ -26,17 +26,9 @@ SECTIONS
*(.rodata .rodata.*)
} :data
- .vdso : ALIGN(0x10000) {
- vdso_page = .;
-
- . = vdso_page + 0x00000;
- *(.vdso.data)
-
- . = vdso_page + 0x10000;
- *(.vdso.text)
-
- . = ALIGN(0x10000);
- } : data = 0xf4
+ /* force build-id position somewhere not at start... */
+ .note.gnu.build-id : {
+ }
.bss : {
*(.bss .bss.*)
diff --git a/kernel/config/smp-arm64_type4.lds b/kernel/config/smp-arm64_type4.lds
index bc166f30..85b97d60 100644
--- a/kernel/config/smp-arm64_type4.lds
+++ b/kernel/config/smp-arm64_type4.lds
@@ -26,17 +26,9 @@ SECTIONS
*(.rodata .rodata.*)
} :data
- .vdso : ALIGN(0x10000) {
- vdso_page = .;
-
- . = vdso_page + 0x00000;
- *(.vdso.data)
-
- . = vdso_page + 0x10000;
- *(.vdso.text)
-
- . = ALIGN(0x10000);
- } : data = 0xf4
+ /* force build-id position somewhere not at start... */
+ .note.gnu.build-id : {
+ }
.bss : {
*(.bss .bss.*)
diff --git a/kernel/config/smp-x86.lds b/kernel/config/smp-x86.lds
index e03c5da4..a8cfdc0a 100644
--- a/kernel/config/smp-x86.lds
+++ b/kernel/config/smp-x86.lds
@@ -25,6 +25,10 @@ SECTIONS
*(.rodata .rodata.*)
} :data
+ /* force build-id position somewhere not at start... */
+ .note.gnu.build-id : {
+ }
+
.vsyscall : ALIGN(0x1000) {
vsyscall_page = .;
diff --git a/scripts/mckernel.spec.in b/scripts/mckernel.spec.in
new file mode 100644
index 00000000..6b8a29a0
--- /dev/null
+++ b/scripts/mckernel.spec.in
@@ -0,0 +1,138 @@
+# mckernel spec file usage:
+# cmake /path/to/mckernel && make dist
+# rpmbuild -ta mckernel-@MCKERNEL_VERSION@.tar.gz
+#
+# for cross compilation also pass the following to rpmbuild:
+# --target aarch64 -D 'kernel_version '
+# you will need to install the target's kernel-devel package (rpm -i --ignorearch)
+# and have your environment setup as per cmake/README.cross_compilation
+
+
+%{!?kernel_version: %define kernel_version @UNAME_R@}
+%define krequires %(echo %{kernel_version} | sed "s/.%{_target_cpu}$//")
+%define ktag %(echo %{krequires} | tr '-' '_' | sed -e 's/\.el[0-9]*$//' | sed -e 's/\.\([a-zA-Z]\)/_\1/')
+
+Name: mckernel
+Version: @MCKERNEL_VERSION@
+Release: 0_%{ktag}%{?dist}
+Summary: IHK/McKernel
+License: GPLv2
+Source0: mckernel-%{version}.tar.gz
+
+BuildRequires: systemd-devel numactl-devel binutils-devel kernel-devel
+BuildRequires: %kernel_module_package_buildreqs = %{krequires}
+
+# kernel_module_package macro does not handle cross build...
+%if "%{?_host_cpu}" == "x86_64" && "%{?_target_cpu}" == "aarch64"
+%define cross_compile 1
+Requires: kernel = %{krequires}
+Requires(post): /usr/sbin/depmod
+Requires(postun): /usr/sbin/depmod
+%else
+%kernel_module_package %{?kmod_flavors}
+%endif
+
+%description
+Interface for Heterogeneous Kernels and McKernel.
+
+%prep
+%setup -q
+
+%build
+%if 0%{?cross_compile}
+%{!?toolchain_file: %define toolchain_file cmake/cross-aarch64.cmake}
+%{!?build_target: %define build_target smp-arm64}
+%{!?cmake_libdir: %define cmake_libdir /usr/lib64}
+%endif
+
+# We need to remove ld flags like relro for the final mckernel.img link, as well as remove cflags for mckernel
+# ideally mckernel should use different environment variables for the user tools and the kernel tools altogether...
+%define __global_ldflags ""
+%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -grecord-gcc-switches -mtune=generic
+
+%cmake -DCMAKE_BUILD_TYPE=Release \
+ %{?kernel_version:-DUNAME_R=%{kernel_version}} \
+ %{?kernel_version:-DKERNEL_DIR=/usr/src/kernels/%{kernel_version}} \
+ %{?cmake_libdir:-DCMAKE_INSTALL_LIBDIR=%{cmake_libdir}} \
+ %{?build_target:-DBUILD_TARGET=%{build_target}} \
+ %{?toolchain_file:-DCMAKE_TOOLCHAIN_FILE=%{toolchain_file}} \
+ .
+%make_build
+
+%install
+%make_install
+
+%files
+%ifarch x86_64
+%{_datadir}/mckernel/smp-x86/mckernel.img
+%endif
+%ifarch aarch64
+%{_datadir}/mckernel/smp-arm64/mckernel.img
+%endif
+%{_sbindir}/mcreboot.sh
+%{_sbindir}/mcstop+release.sh
+%{_sbindir}/ihkconfig
+%{_sbindir}/ihkosctl
+%{_sbindir}/ihkmond
+%{_bindir}/mcexec
+%{_bindir}/eclair
+%{_bindir}/vmcore2mckdump
+%{_bindir}/mcstat
+%{_libdir}/libihk.so
+%{_libdir}/libsched_yield.so.1.0.0
+%{_libdir}/libsched_yield.so
+%{_libdir}/libldump2mcdump.so
+%{_includedir}/ihklib.h
+%{_includedir}/ihk/affinity.h
+%{_includedir}/mckernel/ihklib_rusage.h
+%{_sysconfdir}/irqbalance_mck.in
+%{_sysconfdir}/irqbalance_mck.service
+%{_mandir}/man1/mcreboot.1.gz
+%{_mandir}/man1/ihkconfig.1.gz
+%{_mandir}/man1/ihkosctl.1.gz
+%{_mandir}/man1/mcexec.1.gz
+
+%if 0%{?cross_compile}
+/lib/modules/%{kernel_version}/extra/mckernel/ihk.ko
+/lib/modules/%{kernel_version}/extra/mckernel/mcctrl.ko
+%ifarch x86_64
+/lib/modules/%{kernel_version}/extra/mckernel/ihk-smp-x86_64.ko
+%endif
+%ifarch aarch64
+/lib/modules/%{kernel_version}/extra/mckernel/ihk-smp-arm64.ko
+%endif
+%endif
+
+
+%if 0%{?cross_compile}
+# scripts from /usr/lib/rpm/redhat/kmodtool (kernel_module_package) as well
+%post
+if [ -e "/boot/System.map-%{kernel_version}" ]; then
+ /usr/sbin/depmod -aeF "/boot/System.map-%{kernel_version}" "%{kernel_version}" > /dev/null || :
+fi
+
+modules=( $(find /lib/modules/%{kernel_version}/extra/%{name} | grep '\.ko$') )
+if [ -x "/sbin/weak-modules" ]; then
+ printf '%s\n' "${modules[@]}" \
+ | /sbin/weak-modules --add-modules
+fi
+
+%preun
+rpm -ql %{name}-%{version} | grep '\.ko$' > /var/run/rpm-kmod-%{name}-modules
+
+%postun
+if [ -e "/boot/System.map-%{kernel_version}" ]; then
+ /usr/sbin/depmod -aeF "/boot/System.map-%{kernel_version}" "%{kernel_version}" > /dev/null || :
+fi
+
+modules=( $(cat /var/run/rpm-kmod-%{name}-modules) )
+rm /var/run/rpm-kmod-%{name}-modules
+if [ -x "/sbin/weak-modules" ]; then
+ printf '%s\n' "${modules[@]}" \
+ | /sbin/weak-modules --remove-modules
+fi
+%endif
+
+%changelog
+* Tue Feb 12 2019 Dominique Martinet - 1.6.0-0
+- Initial package
diff --git a/tools/mcstat/CMakeLists.txt b/tools/mcstat/CMakeLists.txt
new file mode 100644
index 00000000..e4230676
--- /dev/null
+++ b/tools/mcstat/CMakeLists.txt
@@ -0,0 +1,15 @@
+include_directories(
+ "${CMAKE_CURRENT_BINARY_DIR}"
+ "${PROJECT_BINARY_DIR}"
+ "${PROJECT_BINARY_DIR}/ihk/linux/include/ihk"
+ "${IHK_FULL_SOURCE_DIR}/linux/include"
+ "${CMAKE_CURRENT_SOURCE_DIR}/../../executer/include"
+ "${CMAKE_CURRENT_SOURCE_DIR}"
+)
+
+
+add_executable(mcstat mcstat.c)
+target_link_libraries(mcstat ihklib)
+
+install(TARGETS mcstat
+ DESTINATION "${CMAKE_INSTALL_BINDIR}")
diff --git a/tools/mcstat/Makefile.in b/tools/mcstat/Makefile.in
deleted file mode 100644
index 1e3414c1..00000000
--- a/tools/mcstat/Makefile.in
+++ /dev/null
@@ -1,30 +0,0 @@
-CC=@CC@
-MCC=mpicc
-BINDIR=@BINDIR@
-SBINDIR=@SBINDIR@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-LIBDIR=@libdir@
-MANDIR=@MANDIR@
-KDIR ?= @KDIR@
-ARCH=@ARCH@
-VPATH=@abs_srcdir@
-IHKDIR ?= $(VPATH)/../../../ihk/linux/include/
-CFLAGS=-Wall -O -I. -I${IHKDIR} -I@abs_srcdir@/../../executer/include -I@abs_builddir@/../../../ihk/linux/include/ihk
-LDFLAGS=-L@abs_builddir@/../../../ihk/linux/user -lihk -Wl,-rpath -Wl,$(prefix)/lib @LDFLAGS@
-TARGET=mcstat
-
-.PHONY: all clean install
-
-all: $(TARGET)
-
-mcstat: mcstat.c
- $(CC) -I${KDIR} $(CFLAGS) $(EXTRA_CFLAGS) $(LDFLAGS) -o $@ $^
-
-clean::
- $(RM) $(TARGET) *.o
-
-install::
- install -m 755 -d $(MANDIR)/man1
- install -m 644 mcstat.1 $(MANDIR)/man1/mcstat.1
- install -m 755 mcstat $(BINDIR)