diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2020-08-25 11:50:46 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2020-08-27 11:45:22 +0200 |
commit | b74244bc8847c40d5f28480d2d9f99d15b3b333c (patch) | |
tree | 61a47555ef06846b4dbaebdc3873b067631bd59f /rules | |
parent | 4e5b08ca47bd60e72b677290a4097398cfd307a0 (diff) | |
download | OSELAS.Toolchain-b74244bc8847c40d5f28480d2d9f99d15b3b333c.tar.gz OSELAS.Toolchain-b74244bc8847c40d5f28480d2d9f99d15b3b333c.tar.xz |
cross-lld: new package
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'rules')
-rw-r--r-- | rules/cross-lld.in | 35 | ||||
-rw-r--r-- | rules/cross-lld.make | 65 |
2 files changed, 100 insertions, 0 deletions
diff --git a/rules/cross-lld.in b/rules/cross-lld.in new file mode 100644 index 0000000..79e0e98 --- /dev/null +++ b/rules/cross-lld.in @@ -0,0 +1,35 @@ +menuconfig CROSS_LLD + tristate + select HOST_CMAKE + select CROSS_LLVM + depends on CROSS_CLANG + default CROSS_CLANG + prompt "lld " + help + LLD is a new, high-performance linker. It is built as a set of + reusable components which highly leverage existing libraries in + the larger LLVM Project. + +if CROSS_LLD + +config CROSS_LLD_VERSION + string + prompt "lld version" + default "${PTXCONF_CROSS_LLVM_VERSION}" + help + Specify the version of lld here. + The default ${PTXCONF_CROSS_LLVM_VERSION} is usually correct. + +config CROSS_LLD_MD5 + string + prompt "lld source md5sum" + +config CROSS_LLD_LICENSE + string + prompt "lld license" + +config CROSS_LLD_LICENSE_FILES + string + prompt "lld license files" + +endif diff --git a/rules/cross-lld.make b/rules/cross-lld.make new file mode 100644 index 0000000..97b8291 --- /dev/null +++ b/rules/cross-lld.make @@ -0,0 +1,65 @@ +# -*-makefile-*- +# +# Copyright (C) 2020 by Michael Olbrich <m.olbrich@pengutronix.de> +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +CROSS_PACKAGES-$(PTXCONF_CROSS_LLD) += cross-lld + +# +# Paths and names +# +CROSS_LLD_VERSION := $(call remove_quotes,$(PTXCONF_CROSS_LLD_VERSION)) +CROSS_LLD_MD5 := $(call remove_quotes,$(PTXCONF_CROSS_LLD_MD5)) +CROSS_LLD := lld-$(CROSS_LLD_VERSION) +CROSS_LLD_SUFFIX := src.tar.xz +CROSS_LLD_URL := \ + https://releases.llvm.org/$(CROSS_LLD).$(CROSS_LLD_SUFFIX) \ + https://github.com/llvm/llvm-project/releases/download/llvmorg-$(CROSS_LLD_VERSION)/$(CROSS_LLD).$(CROSS_LLD_SUFFIX) +CROSS_LLD_SOURCE := $(SRCDIR)/$(CROSS_LLD).$(CROSS_LLD_SUFFIX) +CROSS_LLD_DIR := $(CROSS_BUILDDIR)/$(CROSS_LLD) +CROSS_LLD_LICENSE := $(call remove_quotes,$(PTXCONF_CROSS_LLD_LICENSE)) +CROSS_LLD_LICENSE_FILES := $(call remove_quotes,$(PTXCONF_CROSS_LLD_LICENSE_FILES)) + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +# +# cmake +# +CROSS_LLD_CONF_TOOL := cmake +CROSS_LLD_CONF_OPT := \ + $(HOST_CMAKE_OPT) \ + -G Ninja \ + -DCMAKE_INSTALL_PREFIX=$(PTXCONF_PREFIX_CROSS) \ + -DCMAKE_SKIP_INSTALL_RPATH=ON \ + -DCMAKE_SKIP_RPATH=ON \ + -DLLD_USE_VTUNE=OFF \ + -DLLD_BUILD_TOOLS=ON \ + -DLLVM_CONFIG_PATH=$(CROSS_LLVM_DIR)-build/bin/llvm-config + + +CROSS_LLD_LDFLAGS := \ + -Wl,-rpath,$$ORIGIN/../lib + +# ---------------------------------------------------------------------------- +# Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/cross-lld.install: + @$(call targetinfo) + @$(call world/install, CROSS_LLD) + @install -vd -m755 \ + $(CROSS_LLD_PKGDIR)$(PTXCONF_PREFIX_CROSS)/$(PTXCONF_GNU_TARGET)/bin + @ln -sfv \ + ../../bin/lld \ + $(CROSS_LLD_PKGDIR)$(PTXCONF_PREFIX_CROSS)/$(PTXCONF_GNU_TARGET)/bin/ld.lld + @$(call touch) + +# vim: syntax=make |