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
+23 -15
View File
@@ -8,25 +8,33 @@ CC=clang
OS=$(shell uname) OS=$(shell uname)
ifeq ($(OS), Darwin) ifeq ($(OS), Darwin)
ARCH=$(shell uname -m) ARCH=$(shell uname -m)
LLVM_CONFIG=llvm-config 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
$(error "Requirement: llvm-config must be version llvm 13 for arm64")
endif
else else
ifneq ($(shell llvm-config --version | grep "^11\."),) # allow for x86 / amd64 all llvm versions begining from 11
LLVM_CONFIG=llvm-config LLVM_VERSIONS = "13.%.%" "12.0.1" "11.1.0" "11.0.1" "11.0.0"
else ifneq ($(shell llvm-config --version | grep "^12\."),) endif
LLVM_CONFIG=llvm-config
else ifneq ($(shell llvm-config --version | grep "^13\."),) LLVM_VERSION_PATTERN_SEPERATOR = )|(
LLVM_CONFIG=llvm-config LLVM_VERSION_PATTERNS_ESCAPED_DOT = $(subst .,\.,$(LLVM_VERSIONS))
else LLVM_VERSION_PATTERNS_REPLACE_PERCENT = $(subst %,.,$(LLVM_VERSION_PATTERNS_ESCAPED_DOT))
$(error "Requirement: llvm-config must be version llvm 11 or 12 or 13 for amd64/x86") LLVM_VERSION_PATTERN_REMOVE_ELEMENTS = $(subst " ",$(LLVM_VERSION_PATTERN_SEPERATOR),$(LLVM_VERSION_PATTERNS_REPLACE_PERCENT))
endif 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
else
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
LDFLAGS:=$(LDFLAGS) -liconv LDFLAGS:=$(LDFLAGS) -liconv