From 1fa2e6e4304b18bf53692061f19b0484c8e653b9 Mon Sep 17 00:00:00 2001 From: Josh Berdine Date: Wed, 24 Mar 2021 14:16:59 -0700 Subject: [PATCH] [sledge] Update build of sledge models to use vendored cxxabi Reviewed By: jvillard Differential Revision: D27188300 fbshipit-source-id: 4fa552104 --- sledge/.gitignore | 2 ++ sledge/model/Makefile | 19 +++++++++---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/sledge/.gitignore b/sledge/.gitignore index 753c265b3..eafd1b195 100644 --- a/sledge/.gitignore +++ b/sledge/.gitignore @@ -1,6 +1,8 @@ .llvm_build .llvm_install /llvm/ +/model/cxxabi.bc +/model/lib_fuzzer_main.bc /test/**/*.bc /test/**/*.err /test/**/*.out diff --git a/sledge/model/Makefile b/sledge/model/Makefile index 273ea2a29..100618fa8 100644 --- a/sledge/model/Makefile +++ b/sledge/model/Makefile @@ -7,23 +7,22 @@ OPT_ARGS?=-Os CLANG_ARGS?=-g $(OPT_ARGS) -# select llvm and clang -SWITCH?=$(shell opam switch show) ROOT?=.. -LLVM=$(ROOT)/.llvm_install/$(SWITCH) +LIBCXXABI=$(ROOT)/vendor/llvm-dune/llvm-project/libcxxabi -LIBCXXABI=$(ROOT)/llvm/projects/libcxxabi +llvm-config=$(shell opam config var conf-llvm:config) +LLVM_BIN=$(shell ${llvm-config} --bindir) +LLVM_INCLUDE=$(shell ${llvm-config} --includedir) +LLVM_CFLAGS=$(shell ${llvm-config} --cflags) +LLVM_CXXFLAGS=$(shell ${llvm-config} --cxxflags) -PLATFORM=$(shell uname) -ifeq ($(PLATFORM),Linux) -CLANG_ARGS += --sysroot=/usr -endif +default: cxxabi.bc lib_fuzzer_main.bc cxxabi.bc : cxxabi.cpp - $(LLVM)/bin/clang $(CLANG_ARGS) -D_LIBCXXABI_HAS_NO_THREADS -I$(LLVM)/include/c++/v1 -I$(LIBCXXABI)/include -I$(LIBCXXABI)/src -c -emit-llvm cxxabi.cpp + $(LLVM_BIN)/clang $(LLVM_CXXFLAGS) $(CLANG_ARGS) -D_LIBCXXABI_HAS_NO_THREADS -I$(LIBCXXABI)/include -I$(LIBCXXABI)/src -c -emit-llvm cxxabi.cpp lib_fuzzer_main.bc : lib_fuzzer_main.c - $(LLVM)/bin/clang $(CLANG_ARGS) -c -emit-llvm -o $@ $< + $(LLVM_BIN)/clang $(LLVM_CFLAGS) $(CLANG_ARGS) -c -emit-llvm -o $@ $< clean: rm -f cxxabi.bc lib_fuzzer_main.bc