commit | author | age
|
c52d78
|
1 |
# |
K |
2 |
# This file and its contents are supplied under the terms of the |
|
3 |
# Common Development and Distribution License ("CDDL"), version 1.0. |
|
4 |
# You may only use this file in accordance with the terms of version |
|
5 |
# 1.0 of the CDDL. |
|
6 |
# |
|
7 |
# A full copy of the text of the CDDL should have accompanied this |
|
8 |
# source. A copy of the CDDL is also available via the Internet at |
|
9 |
# http://www.illumos.org/license/CDDL. |
|
10 |
# |
|
11 |
|
|
12 |
# |
|
13 |
# Copyright 2016 Aurelien Larcher. All rights reserved. |
|
14 |
# Copyright 2019 Alexander Pyhalov |
|
15 |
# Copyright 2019 Michal Nowak |
|
16 |
# Copyright 2019 Till Wegmüller |
|
17 |
# Copyright 2022 Klaus Ziegler |
|
18 |
# |
|
19 |
|
49a2d2
|
20 |
BUILD_BITS= 64 |
AW |
21 |
BUILD_STYLE= cmake |
c52d78
|
22 |
include ../../../make-rules/shared-macros.mk |
K |
23 |
|
4f7ce3
|
24 |
COMPONENT_MJR_VERSION= 13 |
AW |
25 |
COMPONENT_BASE_VERSION= $(COMPONENT_MJR_VERSION).0 |
|
26 |
COMPONENT_NAME= clang-$(COMPONENT_MJR_VERSION) |
|
27 |
COMPONENT_VERSION= $(COMPONENT_BASE_VERSION).1 |
49a2d2
|
28 |
COMPONENT_REVISION= 1 |
4f7ce3
|
29 |
COMPONENT_SUMMARY= LLVM tools and Clang compiler |
AW |
30 |
COMPONENT_PROJECT_URL= https://llvm.org/ |
c52d78
|
31 |
COMPONENT_SRC= $(LLVM_NAME)-$(COMPONENT_VERSION).src |
K |
32 |
COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.xz |
4f7ce3
|
33 |
COMPONENT_ARCHIVE_HASH= sha256:ec6b80d82c384acad2dc192903a6cf2cdbaffb889b84bfb98da9d71e630fc834 |
c52d78
|
34 |
COMPONENT_ARCHIVE_URL= https://github.com/llvm/llvm-project/releases/download/llvmorg-$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE) |
4f7ce3
|
35 |
COMPONENT_FMRI= developer/$(COMPONENT_NAME) |
AW |
36 |
COMPONENT_CLASSIFICATION= Development/C |
c52d78
|
37 |
COMPONENT_LICENSE= BSD |
K |
38 |
COMPONENT_LICENSE_FILE= LICENSE.TXT |
|
39 |
|
49a2d2
|
40 |
LLVM_NAME= llvm |
AW |
41 |
CLANG_NAME= clang |
4f7ce3
|
42 |
|
c52d78
|
43 |
COMPONENT_ARCHIVE_1= $(CLANG_NAME)-$(COMPONENT_VERSION).src.tar.xz |
4f7ce3
|
44 |
COMPONENT_ARCHIVE_HASH_1= sha256:787a9e2d99f5c8720aa1773e4be009461cd30d3bd40fdd24591e473467c917c9 |
c52d78
|
45 |
COMPONENT_ARCHIVE_URL_1= https://github.com/llvm/llvm-project/releases/download/llvmorg-$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE_1) |
K |
46 |
|
|
47 |
include $(WS_MAKE_RULES)/common.mk |
|
48 |
|
4f7ce3
|
49 |
CMAKE_PREFIX= /usr/clang/$(COMPONENT_BASE_VERSION) |
c52d78
|
50 |
|
K |
51 |
PKG_MACROS += GCC_VERSION=$(GCC_VERSION) |
|
52 |
|
|
53 |
COMPONENT_POST_UNPACK_ACTION += \ |
|
54 |
$(UNPACK) $(USERLAND_ARCHIVES)$(COMPONENT_ARCHIVE_1) && \ |
|
55 |
mv $(CLANG_NAME)-$(COMPONENT_VERSION).src $(COMPONENT_SRC)/tools/clang |
|
56 |
|
|
57 |
COMPONENT_PRE_CONFIGURE_ACTION = (cp -a $(SOURCE_DIR)/* $(@D)) |
|
58 |
|
|
59 |
COMPONENT_POST_INSTALL_ACTION = \ |
|
60 |
for file in `echo $(PROTO_DIR)/$(CMAKE_PREFIX)/bin/*`; do \ |
|
61 |
elfedit -e 'dyn:runpath $(GCC_LIBDIR):$(CMAKE_PREFIX)/lib' $$file ; \ |
|
62 |
done && \ |
|
63 |
for file in \ |
|
64 |
`ggrep -rlh '^\#!*/usr/bin/env python' $(PROTO_DIR)/$(CMAKE_PREFIX)`; do \ |
|
65 |
sed -i -e 's,^\#!*/usr/bin/env python,\#!$(PYTHON),' $$file; \ |
|
66 |
done |
|
67 |
|
|
68 |
COMPONENT_TEST_CMD = $(GMAKE) |
|
69 |
COMPONENT_TEST_TARGETS = check-all |
|
70 |
COMPONENT_TEST_ENV += PATH=$(PATH.gnu) |
|
71 |
|
|
72 |
# Do not change the order of these regexp transforms. |
|
73 |
COMPONENT_TEST_TRANSFORMS += \ |
|
74 |
'-e "/^Testing Time: .*$$/d" ' \ |
|
75 |
'-e "/^make.*$$/d" ' \ |
|
76 |
'-e "/^Failed Tests /,/Unexpected Passed:/p" ' \ |
|
77 |
'-e "" ' \ |
|
78 |
'-e "/.*/d" ' |
|
79 |
|
|
80 |
TESTSUITE_MAKE = $(GMAKE) |
|
81 |
|
|
82 |
CMAKE_OPTIONS += -DCMAKE_C_COMPILER=$(CC) |
|
83 |
CMAKE_OPTIONS += -DCMAKE_CXX_COMPILER=$(CXX) |
|
84 |
CMAKE_OPTIONS += -DGCC_INSTALL_PREFIX=$(GCC_ROOT) |
|
85 |
CMAKE_OPTIONS += -DCMAKE_CXX_LINK_FLAGS="-L$(GCC_LIBDIR) -Wl,-rpath,$(GCC_LIBDIR)" |
|
86 |
CMAKE_OPTIONS += -DCMAKE_BUILD_TYPE=Release |
|
87 |
CMAKE_OPTIONS += -DCLANG_DEFAULT_LINKER="/usr/bin/ld" |
|
88 |
CMAKE_OPTIONS += -DLLVM_LINK_LLVM_DYLIB=ON |
|
89 |
CMAKE_OPTIONS += -DLLVM_INSTALL_UTILS=ON |
|
90 |
CMAKE_OPTIONS += -DCLANG_DEFAULT_RTLIB=libgcc |
|
91 |
CMAKE_OPTIONS += -DCLANG_DEFAULT_CXX_STDLIB=libstdc++ |
|
92 |
CMAKE_OPTIONS += -DPYTHON_EXECUTABLE="$(PYTHON)" |
|
93 |
|
|
94 |
# Auto-generated dependencies |
|
95 |
REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG) |
|
96 |
REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG) |
|
97 |
REQUIRED_PACKAGES += library/libedit |
|
98 |
REQUIRED_PACKAGES += library/libxml2 |
|
99 |
REQUIRED_PACKAGES += library/zlib |
|
100 |
REQUIRED_PACKAGES += runtime/python-39 |
|
101 |
REQUIRED_PACKAGES += SUNWcs |
|
102 |
REQUIRED_PACKAGES += system/library |
|
103 |
REQUIRED_PACKAGES += system/library/math |