summaryrefslogtreecommitdiffstats
path: root/rules/cross-lld.make
blob: e46bb86056f487cee63823a8b3e0eecf00bf1207 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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_CROSS_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