From 037283c3b3e425193eebb766c17336ee55aa0384 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 30 Apr 2016 17:17:59 -0700 Subject: [PATCH] build: link against libLLVM.so if available readme: better instructions for finding native libc headers --- README.md | 8 ++++---- cmake/Findllvm.cmake | 6 ++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index cef0d874a..367afa76d 100644 --- a/README.md +++ b/README.md @@ -75,14 +75,14 @@ compromises backward compatibility. ### Debug / Development Build -If you have gcc or clang installed, you can find out what `ZIG_LIBC_LIB_DIR` -and `ZIG_LIBC_STATIC_LIB_DIR` should be set to (example below). -`ZIG_LIBC_INCLUDE_DIR` likely can be set to `/usr/include`. +If you have gcc or clang installed, you can find out what `ZIG_LIBC_LIB_DIR`, +`ZIG_LIBC_STATIC_LIB_DIR`, and `ZIG_LIBC_INCLUDE_DIR` should be set to +(example below). ``` mkdir build cd build -cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd) -DZIG_LIBC_LIB_DIR=$(dirname $(cc -print-file-name=crt1.o)) -DZIG_LIBC_INCLUDE_DIR=/usr/include -DZIG_LIBC_STATIC_LIB_DIR=$(dirname $(cc -print-file-name=crtbegin.o)) +cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd) -DZIG_LIBC_LIB_DIR=$(dirname $(cc -print-file-name=crt1.o)) -DZIG_LIBC_INCLUDE_DIR=$(echo -n | cc -E -x c - -v 2>&1 | grep -B1 "End of search list." | head -n1 | cut -c 2-) -DZIG_LIBC_STATIC_LIB_DIR=$(dirname $(cc -print-file-name=crtbegin.o)) make make install ./run_tests diff --git a/cmake/Findllvm.cmake b/cmake/Findllvm.cmake index 66a18560a..4216ed868 100644 --- a/cmake/Findllvm.cmake +++ b/cmake/Findllvm.cmake @@ -29,6 +29,12 @@ execute_process( OUTPUT_VARIABLE LLVM_INCLUDE_DIR OUTPUT_STRIP_TRAILING_WHITESPACE) +find_library(LLVM_LIBRARY NAMES LLVM) + +if(LLVM_LIBRARY) + set(LLVM_LIBRARIES ${LLVM_LIBRARY}) +endif() + set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS})