Marcel Telka
2024-04-08 5d8bcb58722b250c296fc0324f9d06470fb3d7d0
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