Added pattern function so we can match whatever llvm versions we want

Right now we match every version that is 13 something for arm64 on macOS
And for x86 we allow any above 11 and including 11
This commit is contained in:
Platin21
2022-01-22 20:29:57 +01:00
parent 0e06383620
commit 9c1e1a63a2
+20 -12
View File
@@ -8,24 +8,32 @@ CC=clang
OS=$(shell uname) OS=$(shell uname)
ifeq ($(OS), Darwin) ifeq ($(OS), Darwin)
ARCH=$(shell uname -m)
LLVM_CONFIG=llvm-config
ARCH=$(shell uname -m)
LLVM_CONFIG=
# allow for arm only llvm's with version 13
ifeq ($(ARCH), arm64) ifeq ($(ARCH), arm64)
ifneq ($(shell llvm-config --version | grep "^13\."),) LLVM_VERSIONS = "13.%.%"
LLVM_CONFIG=llvm-config
else else
$(error "Requirement: llvm-config must be version llvm 13 for arm64") # allow for x86 / amd64 all llvm versions begining from 11
LLVM_VERSIONS = "13.%.%" "12.0.1" "11.1.0" "11.0.1" "11.0.0"
endif endif
else
ifneq ($(shell llvm-config --version | grep "^11\."),) LLVM_VERSION_PATTERN_SEPERATOR = )|(
LLVM_CONFIG=llvm-config LLVM_VERSION_PATTERNS_ESCAPED_DOT = $(subst .,\.,$(LLVM_VERSIONS))
else ifneq ($(shell llvm-config --version | grep "^12\."),) LLVM_VERSION_PATTERNS_REPLACE_PERCENT = $(subst %,.,$(LLVM_VERSION_PATTERNS_ESCAPED_DOT))
LLVM_CONFIG=llvm-config LLVM_VERSION_PATTERN_REMOVE_ELEMENTS = $(subst " ",$(LLVM_VERSION_PATTERN_SEPERATOR),$(LLVM_VERSION_PATTERNS_REPLACE_PERCENT))
else ifneq ($(shell llvm-config --version | grep "^13\."),) LLMV_VERSION_PATTERN_REMOVE_SINGLE_STR = $(subst ",,$(LLVM_VERSION_PATTERN_REMOVE_ELEMENTS))
LLVM_VERSION_PATTERN = "^(($(LLMV_VERSION_PATTERN_REMOVE_SINGLE_STR)))"
ifneq ($(shell llvm-config --version | grep -E $(LLVM_VERSION_PATTERN)),)
LLVM_CONFIG=llvm-config LLVM_CONFIG=llvm-config
else else
$(error "Requirement: llvm-config must be version llvm 11 or 12 or 13 for amd64/x86") ifeq ($(ARCH), arm64)
$(error "Requirement: llvm-config must be base version 13 for arm64")
else
$(error "Requirement: llvm-config must be base version greater than 11 for amd64/x86")
endif endif
endif endif