| 1 | diff --git a/cmake/Modules/FindLLVM.cmake b/cmake/Modules/FindLLVM.cmake |
| 2 | index a6a0b0b7..06d6c1c1 100644 |
| 3 | --- a/cmake/Modules/FindLLVM.cmake |
| 4 | +++ b/cmake/Modules/FindLLVM.cmake |
| 5 | @@ -35,11 +35,12 @@ set(llvm_config_names llvm-config-5.0 llvm-config50 |
| 6 | llvm-config-3.8 llvm-config38 |
| 7 | llvm-config-3.7 llvm-config37 |
| 8 | llvm-config) |
| 9 | -find_program(LLVM_CONFIG |
| 10 | - NAMES ${llvm_config_names} |
| 11 | - PATHS ${LLVM_ROOT_DIR}/bin NO_DEFAULT_PATH |
| 12 | - DOC "Path to llvm-config tool.") |
| 13 | -find_program(LLVM_CONFIG NAMES ${llvm_config_names}) |
| 14 | +set(LLVM_CONFIG "/bin/ls") |
| 15 | +#find_program(LLVM_CONFIG |
| 16 | +# NAMES ${llvm_config_names} |
| 17 | +# PATHS ${LLVM_ROOT_DIR}/bin NO_DEFAULT_PATH |
| 18 | +# DOC "Path to llvm-config tool.") |
| 19 | +#find_program(LLVM_CONFIG NAMES ${llvm_config_names}) |
| 20 | |
| 21 | # Prints a warning/failure message depending on the required/quiet flags. Copied |
| 22 | # from FindPackageHandleStandardArgs.cmake because it doesn't seem to be exposed. |
| 23 | @@ -175,12 +176,12 @@ else() |
| 24 | endif() |
| 25 | endmacro() |
| 26 | |
| 27 | - llvm_set(VERSION_STRING version) |
| 28 | - llvm_set(CXXFLAGS cxxflags) |
| 29 | - llvm_set(HOST_TARGET host-target) |
| 30 | - llvm_set(INCLUDE_DIRS includedir true) |
| 31 | - llvm_set(ROOT_DIR prefix true) |
| 32 | - llvm_set(ENABLE_ASSERTIONS assertion-mode) |
| 33 | + set(LLVM_VERSION_STRING "4.0.1") |
| 34 | + set(LLVM_CXXFLAGS "-I@TERMUX_PKG_SRC@/llvm/include -I@TERMUX_PKG_BUILD@/llvm/include -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -Werror=date-time -std=c++11 -ffunction-sections -fdata-sections -O3 -DNDEBUG -fno-exceptions -fno-rtti -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS") |
| 35 | + set(LLVM_HOST_TARGET "armv7-none-linux-android") |
| 36 | + set(LLVM_INCLUDE_DIRS "@TERMUX_PKG_SRC@/llvm/include") |
| 37 | + set(LLVM_ROOT_DIR "@TERMUX_PKG_BUILD@/llvm") |
| 38 | + set(LLVM_ENABLE_ASSERTIONS "OFF") |
| 39 | |
| 40 | if(${LLVM_VERSION_STRING} MATCHES "^3\\.[0-8][\\.0-9A-Za-z]*") |
| 41 | # Versions below 3.9 do not support components debuginfocodeview, globalisel |
| 42 | @@ -207,13 +208,13 @@ else() |
| 43 | list(REMOVE_ITEM LLVM_FIND_COMPONENTS "debuginfomsf" index) |
| 44 | endif() |
| 45 | |
| 46 | - llvm_set(LDFLAGS ldflags) |
| 47 | + set(LLVM_LIBRARY_DIRS "${LLVM_ROOT_DIR}/lib") |
| 48 | + set(LLVM_LDFLAGS "-L${LLVM_LIBRARY_DIRS}") |
| 49 | # In LLVM 3.5+, the system library dependencies (e.g. "-lz") are accessed |
| 50 | # using the separate "--system-libs" flag. |
| 51 | - llvm_set(SYSTEM_LIBS system-libs) |
| 52 | + set(LLVM_SYSTEM_LIBS "-ldl -lncurses -lz -lm") |
| 53 | string(REPLACE "\n" " " LLVM_LDFLAGS "${LLVM_LDFLAGS} ${LLVM_SYSTEM_LIBS}") |
| 54 | - llvm_set(LIBRARY_DIRS libdir true) |
| 55 | - llvm_set_libs(LIBRARIES libs) |
| 56 | + set(LLVM_LIBRARIES "-lLLVMTableGen;-lLLVMLibDriver;-lLLVMOption;-lLLVMSymbolize;-lLLVMDebugInfoPDB;-lLLVMDebugInfoDWARF;-lLLVMAArch64Disassembler;-lLLVMAArch64CodeGen;-lLLVMAArch64AsmParser;-lLLVMAArch64Desc;-lLLVMAArch64Info;-lLLVMAArch64AsmPrinter;-lLLVMAArch64Utils;-lLLVMARMDisassembler;-lLLVMARMCodeGen;-lLLVMARMAsmParser;-lLLVMARMDesc;-lLLVMARMInfo;-lLLVMARMAsmPrinter;-lLLVMLineEditor;-lLLVMMIRParser;-lLLVMLTO;-lLLVMPasses;-lLLVMObjCARCOpts;-lLLVMOrcJIT;-lLLVMInterpreter;-lLLVMObjectYAML;-lLLVMX86Disassembler;-lLLVMX86AsmParser;-lLLVMX86CodeGen;-lLLVMGlobalISel;-lLLVMSelectionDAG;-lLLVMAsmPrinter;-lLLVMDebugInfoCodeView;-lLLVMDebugInfoMSF;-lLLVMCodeGen;-lLLVMX86Desc;-lLLVMMCDisassembler;-lLLVMX86Info;-lLLVMX86AsmPrinter;-lLLVMX86Utils;-lLLVMMCJIT;-lLLVMExecutionEngine;-lLLVMTarget;-lLLVMRuntimeDyld;-lgtest_main;-lgtest;-lLLVMCoroutines;-lLLVMipo;-lLLVMInstrumentation;-lLLVMVectorize;-lLLVMScalarOpts;-lLLVMLinker;-lLLVMIRReader;-lLLVMAsmParser;-lLLVMInstCombine;-lLLVMTransformUtils;-lLLVMBitWriter;-lLLVMAnalysis;-lLLVMCoverage;-lLLVMProfileData;-lLLVMObject;-lLLVMMCParser;-lLLVMMC;-lLLVMBitReader;-lLLVMCore;-lLLVMSupport;-lLLVMDemangle") |
| 57 | # LLVM bug: llvm-config --libs tablegen returns -lLLVM-3.8.0 |
| 58 | # but code for it is not in shared library |
| 59 | if("${LLVM_FIND_COMPONENTS}" MATCHES "tablegen") |
| 60 | @@ -223,7 +224,7 @@ else() |
| 61 | set(LLVM_LIBRARIES "${LLVM_LIBRARIES};-lLLVMTableGen") |
| 62 | endif() |
| 63 | endif() |
| 64 | - llvm_set(TARGETS_TO_BUILD targets-built) |
| 65 | + set(LLVM_TARGETS_TO_BUILD "AArch64 ARM X86") |
| 66 | string(REGEX MATCHALL "${pattern}[^ ]+" LLVM_TARGETS_TO_BUILD ${LLVM_TARGETS_TO_BUILD}) |
| 67 | endif() |
| 68 | |