From be4260c83711fa4efe6588a7dfe43fa721ca9b8b Mon Sep 17 00:00:00 2001 From: Dan Liew Date: Fri, 21 Jul 2017 16:30:41 +0100 Subject: Remove Autoconf/Makefile build system and adjust the TravisCI configuration, TravisCI scripts and Dockerfile build appropriately. There are a bunch of clean ups this enables but this commit doesn't attempt them. We can do that in future commits. --- runtime/Intrinsic/Makefile | 32 ------------------ runtime/Makefile | 30 ----------------- runtime/POSIX/Makefile | 20 ------------ runtime/Runtest/Makefile | 78 -------------------------------------------- runtime/klee-libc/Makefile | 34 ------------------- runtime/klee-uclibc/Makefile | 54 ------------------------------ 6 files changed, 248 deletions(-) delete mode 100644 runtime/Intrinsic/Makefile delete mode 100644 runtime/Makefile delete mode 100644 runtime/POSIX/Makefile delete mode 100644 runtime/Runtest/Makefile delete mode 100755 runtime/klee-libc/Makefile delete mode 100644 runtime/klee-uclibc/Makefile (limited to 'runtime') diff --git a/runtime/Intrinsic/Makefile b/runtime/Intrinsic/Makefile deleted file mode 100644 index 49f8f9cc..00000000 --- a/runtime/Intrinsic/Makefile +++ /dev/null @@ -1,32 +0,0 @@ -#===-- runtime/Intrinsic/Makefile --------------------------*- Makefile -*--===# -# -# The KLEE Symbolic Virtual Machine -# -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -# -#===------------------------------------------------------------------------===# - -LEVEL=../.. - -# Needed for LLVM version -include $(LEVEL)/Makefile.config - -ifeq ($(shell python -c "print($(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR) >= 3.3)"), True) -# For these versions of LLVM KLEE expects kleeRuntimeIntrinsic to be a LLVM module rather than an archive -MODULE_NAME=kleeRuntimeIntrinsic -else -# KLEE built against older versions of LLVM expects a library archive instead -BYTECODE_LIBRARY=1 -LIBRARYNAME=kleeRuntimeIntrinsic -endif - -DONT_BUILD_RELINKED=1 -# Don't strip debug info from the module. -DEBUG_RUNTIME=1 -NO_PEDANTIC=1 -NO_BUILD_ARCHIVE=1 - -C.Flags += -fno-builtin - -include $(LEVEL)/Makefile.common diff --git a/runtime/Makefile b/runtime/Makefile deleted file mode 100644 index 7eb02d3f..00000000 --- a/runtime/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -#===-- runtime/Makefile ------------------------------------*- Makefile -*--===# -# -# The KLEE Symbolic Virtual Machine -# -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -# -#===------------------------------------------------------------------------===# - -# -# Relative path to the top of the source tree. -# -LEVEL=.. - -# -# List all of the subdirectories that we will compile. -# -PARALLEL_DIRS=Intrinsic klee-libc Runtest - -include $(LEVEL)/Makefile.config - -ifeq ($(ENABLE_POSIX_RUNTIME),1) -PARALLEL_DIRS += POSIX -endif - -ifeq ($(ENABLE_UCLIBC),1) -PARALLEL_DIRS += klee-uclibc -endif - -include $(LEVEL)/Makefile.common diff --git a/runtime/POSIX/Makefile b/runtime/POSIX/Makefile deleted file mode 100644 index 1e570098..00000000 --- a/runtime/POSIX/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -#===-- runtime/POSIX/Makefile ------------------------------*- Makefile -*--===# -# -# The KLEE Symbolic Virtual Machine -# -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -# -#===------------------------------------------------------------------------===# - -LEVEL=../.. - -LIBRARYNAME=kleeRuntimePOSIX -DONT_BUILD_RELINKED=1 -BYTECODE_LIBRARY=1 -# Don't strip debug info from the module. -DEBUG_RUNTIME=1 -NO_PEDANTIC=1 -NO_BUILD_ARCHIVE=1 - -include $(LEVEL)/Makefile.common diff --git a/runtime/Runtest/Makefile b/runtime/Runtest/Makefile deleted file mode 100644 index 1de3281b..00000000 --- a/runtime/Runtest/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -#===-- runtime/Runtest/Makefile ----------------------------*- Makefile -*--===# -# -# The KLEE Symbolic Virtual Machine -# -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -# -#===------------------------------------------------------------------------===# - -LEVEL=../.. - -USEDLIBS=kleeBasic.a -LIBRARYNAME=kleeRuntest -SHARED_LIBRARY=1 -LINK_LIBS_IN_SHARED = 1 -DONT_BUILD_RELINKED = 1 -NO_PEDANTIC=1 -# Increment version appropriately if ABI/API changes, more details: -# http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html#AEN135 -SHARED_VERSION=1.0 - -include $(LEVEL)/Makefile.common - -#LDFLAGS += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT) -ifeq ($(HOST_OS),Darwin) - # set dylib internal version number to llvmCore submission number - ifdef LLVM_SUBMIT_VERSION - LLVMLibsOptions := $(LLVMLibsOptions) -Wl,-current_version \ - -Wl,$(SHARED_VERSION) \ - -Wl,-compatibility_version -Wl,1 - endif - # Include everything from the .a's into the shared library. - LLVMLibsOptions := $(LLVMLibsOptions) -all_load - # extra options to override libtool defaults - LLVMLibsOptions := $(LLVMLibsOptions) \ - -Wl,-dead_strip - - # Mac OS X 10.4 and earlier tools do not allow a second -install_name on command line - DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/') - ifneq ($(DARWIN_VERS),8) - LLVMLibsOptions := $(LLVMLibsOptions) \ - -Wl,-install_name \ - -Wl,"@rpath/lib$(LIBRARYNAME)$(SHLIBEXT)" - endif -endif - -ifeq ($(HOST_OS), $(filter $(HOST_OS), DragonFly Linux FreeBSD GNU/kFreeBSD OpenBSD GNU Bitrig)) - # Include everything from the .a's into the shared library. - LLVMLibsOptions := -Wl,--whole-archive $(LLVMLibsOptions) \ - -Wl,--no-whole-archive -endif - -ifeq ($(HOST_OS), $(filter $(HOST_OS), DragonFly Linux FreeBSD GNU/kFreeBSD GNU)) - # Add soname to the library. - LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT).$(SHARED_VERSION) -endif - -ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU GNU/kFreeBSD)) - ifeq (-fsanitize=address,$(filter -fsanitize=address,$(CXXFLAGS))) - # When building with ASan the library will have undefined symbols into - # ASan's runtime. We want to allow this and not fail the build. - $(warning Allowing undefined symbols in $(LIBRARYNAME) due to ASan build) - else - # Don't allow unresolved symbols. - LLVMLibsOptions += -Wl,--no-undefined - endif -endif - -ifeq ($(HOST_OS), Linux) - # HACK: Setup symlinks that `ldconfig` would set up - # so that libkleeRuntest can be used from the build directory. - # This is needed to run tests. - sym_link_name := $(SharedLibDir)/$(SharedPrefix)$(LIBRARYNAME)$(SHLIBEXT).$(SHARED_VERSION) - -all:: $(LibName.SO) - $(Verb) [ ! -e "$(sym_link_name)" ] && ln -s $(LibName.SO) "$(sym_link_name)" || echo "" - -endif diff --git a/runtime/klee-libc/Makefile b/runtime/klee-libc/Makefile deleted file mode 100755 index d059ba8a..00000000 --- a/runtime/klee-libc/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -#===-- runtime/klee-libc/Makefile --------------------------*- Makefile -*--===# -# -# The KLEE Symbolic Virtual Machine -# -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -# -#===------------------------------------------------------------------------===# - -LEVEL=../.. - -# Needed for LLVM version -include $(LEVEL)/Makefile.config - -ifeq ($(shell python -c "print($(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR) >= 3.3)"), True) -# For these versions of LLVM KLEE expects klee-libc to be a LLVM module rather than an archive -MODULE_NAME=klee-libc -else -# KLEE built against older versions of LLVM expect a library archive instead -BYTECODE_LIBRARY=1 -LIBRARYNAME=klee-libc -endif - -#DONT_BUILD_RELINKED=1 -# Don't strip debug info from the module. -DEBUG_RUNTIME=1 -#NO_PEDANTIC=1 -NO_BUILD_ARCHIVE=1 - -# Add __NO_INLINE__ to prevent glibc from using inline definitions of some -# builtins. -C.Flags += -D__NO_INLINE__ - -include $(LEVEL)/Makefile.common diff --git a/runtime/klee-uclibc/Makefile b/runtime/klee-uclibc/Makefile deleted file mode 100644 index 1b5ea682..00000000 --- a/runtime/klee-uclibc/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -#===-- runtime/klee-uclibc/Makefile --------------------------*- Makefile -*--===# -# -# The KLEE Symbolic Virtual Machine -# -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -# -#===------------------------------------------------------------------------===# - -# Note klee-uclibc does not really live here. This makefile just manages the -# location of the klee-uclibc bitcode archive when building and when installing -# KLEE. - -LEVEL=../.. - -# We're not really building a bytecode library here -# but we need to set this so that $(BuildMode) is -# set appropriately -BYTECODE_LIBRARY=1 - -include $(LEVEL)/Makefile.common - -# The purpose of setting up this symbolic link is -# so that KLEE can always look for klee-uclibc -# in the same place it looks for all the other -# run time libraries -uclibc_symlink:=$(PROJ_OBJ_ROOT)/$(BuildMode)/lib/$(KLEE_UCLIBC_BCA_NAME) -# -# Force our extra rules to run -all-local:: $(uclibc_symlink) - -$(uclibc_symlink): - @echo "Setting up symbolic link to klee-uclibc" - -$(Verb) $(MKDIR) $(PROJ_OBJ_ROOT)/$(BuildMode)/lib - $(Verb) ln -s -f $(KLEE_UCLIBC_BCA) $(uclibc_symlink) - -# The reasons for copying over klee-uclibc on install are -# -# * KLEE can look for klee-uclibc in the same place it looks for all other run -# time libraries. -# * KLEE can be more easily distributed with klee-uclibc - -install:: copy_klee_uclibc -uninstall:: remove_klee_uclibc - -.PHONY: copy_klee_uclibc remove_klee_uclibc - -copy_klee_uclibc: - @echo "Installing klee-uclibc archive" - $(Verb) $(CP) $(KLEE_UCLIBC_BCA) $(BYTECODE_DESTINATION)/$(KLEE_UCLIBC_BCA_NAME) - -remove_klee_uclibc: - @echo "Removing klee-uclibc archive" - $(Verb) $(RM) $(BYTECODE_DESTINATION)/$(KLEE_UCLIBC_BCA_NAME) -- cgit 1.4.1