null
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
325N/A#
325N/A# CDDL HEADER START
325N/A#
325N/A# The contents of this file are subject to the terms of the
325N/A# Common Development and Distribution License (the "License").
325N/A# You may not use this file except in compliance with the License.
325N/A#
325N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
325N/A# or http://www.opensolaris.org/os/licensing.
325N/A# See the License for the specific language governing permissions
325N/A# and limitations under the License.
325N/A#
325N/A# When distributing Covered Code, include this CDDL HEADER in each
325N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
325N/A# If applicable, add the following below this CDDL HEADER, with the
325N/A# fields enclosed by brackets "[]" replaced with your own identifying
325N/A# information: Portions Copyright [yyyy] [name of copyright owner]
325N/A#
325N/A# CDDL HEADER END
325N/A#
325N/A
325N/A#
325N/A# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
325N/A#
325N/ABUILD_BITS=64
325N/A# Currently only builds with gcc
325N/ACOMPILER= gcc
325N/Ainclude ../../make-rules/shared-macros.mk
325N/A
325N/ACOMPONENT_NAME= cmake
325N/ACOMPONENT_VERSION= 3.5.2
325N/ACOMPONENT_ARCHIVE_HASH= \
325N/A sha256:92d8410d3d981bb881dfff2aed466da55a58d34c7390d50449aa59b32bb5e62a
325N/ACOMPONENT_ARCHIVE_URL= http://www.cmake.org/files/v3.5/$(COMPONENT_ARCHIVE)
325N/ACOMPONENT_PROJECT_URL= http://www.cmake.org/
325N/A
325N/ATPNO= 29071
325N/A
325N/A# configure in cmake does not accept many of the options set in
325N/A# configure.mk (CC=, CXX=, --bindir, --libdir, --sbindir).
325N/ACONFIGURE_DEFAULT_DIRS= no
325N/A
325N/A# expected failure for test: CTestTestUpload
325N/ASYSTEM_TEST_TARGET= build $(SYSTEM_TEST_64)
325N/A
325N/Ainclude $(WS_MAKE_RULES)/common.mk
325N/A
325N/A# Remove undesriable /opt/csw lines from the Modules/*.cmake files.
325N/ACOMPONENT_PREP_ACTION += \
325N/A cd $(COMPONENT_SRC)/Modules; $(GNU_GREP) -l '/opt/csw' *.cmake | /usr/bin/xargs -I \{\} $(GSED) -i -e '/^[ ]*\/opt\/csw/d' \{\}
325N/A
325N/A# The default -O3 is *MUCH* too aggressive and will break things,
325N/A# not just in CMake but everywhere.
325N/A# CMake sets its own Language Standard flags in the Makefile it
325N/A# generates for itself. The Userland default Language Standard flags
325N/A# contradict cmake.
325N/Agcc_OPT = -O2
325N/A
325N/AHTTP_PROXY = http://www-proxy.us.oracle.com:80/
325N/AHTTPS_PROXY = https://www-proxy.us.oracle.com:80/
325N/A
325N/A# Need to remove this option from LD_OPTIONS (only affects sparc build);
325N/A# it causes a SegFault failure in kwsys/testSystemInformation
325N/A# when testing on sparc
325N/ALD_MAP_NOEXBSS.sparc=
325N/A
325N/A# map.noexbss has the side effect of making the heap non executable.
325N/A# Reflect the setting above explicitly disabling NXHEAP.
325N/ANXHEAP_MODE = $(NXHEAP_DISABLE)
325N/A
325N/A
325N/A# We need these in the environment, although they are already passed
325N/A# as CONFIGURE_OPTIONS; otherwise the correct compilers are not used
325N/ACONFIGURE_ENV += MAKE="$(GMAKE)"
325N/ACONFIGURE_ENV += CFLAGS="$(CFLAGS)"
325N/ACONFIGURE_ENV += CXXFLAGS="$(CXXFLAGS)"
325N/ACONFIGURE_ENV += LDFLAGS="$(LDFLAGS)"
325N/A
325N/A# Use system-installed third-party libraries, rather than the private
325N/A# copies in the cmake source.
325N/ACONFIGURE_OPTIONS =
325N/ACONFIGURE_OPTIONS += --prefix=$(CONFIGURE_PREFIX)
325N/ACONFIGURE_OPTIONS += --mandir=$(CONFIGURE_MANDIR)
325N/ACONFIGURE_OPTIONS += --system-curl
325N/ACONFIGURE_OPTIONS += --system-expat
325N/ACONFIGURE_OPTIONS += --system-zlib
325N/ACONFIGURE_OPTIONS += --system-bzip2
325N/ACONFIGURE_OPTIONS += --system-libarchive
325N/ACONFIGURE_OPTIONS += --system-liblzma
325N/A
325N/ACOMPONENT_BUILD_ENV += CC="$(CC)"
325N/ACOMPONENT_BUILD_ENV += CXX="$(CXX)"
325N/ACOMPONENT_BUILD_ENV += LDFLAGS="$(LDFLAGS)"
325N/ACOMPONENT_BUILD_ENV += MAKE="$(GMAKE)"
325N/ACOMPONENT_BUILD_ENV += CFLAGS="$(CFLAGS)"
325N/ACOMPONENT_BUILD_ENV += CXXFLAGS="$(CXXFLAGS)"
325N/ACOMPONENT_BUILD_TARGETS = all
325N/A
325N/A# Need C and C++ compiler locations for cmake tests
325N/ACOMPONENT_TEST_ENV += CC="$(CC)"
325N/ACOMPONENT_TEST_ENV += CXX="$(CXX)"
325N/ACOMPONENT_TEST_ENV += CFLAGS="$(CFLAGS)"
325N/ACOMPONENT_TEST_ENV += CXXFLAGS="$(CXXFLAGS)"
325N/ACOMPONENT_TEST_ENV += LDFLAGS="$(LDFLAGS)"
325N/ACOMPONENT_TEST_ENV += http_proxy="$(HTTP_PROXY)"
325N/ACOMPONENT_TEST_ENV += https_proxy="$(HTTPS_PROXY)"
325N/ACOMPONENT_TEST_ENV += HTTP_PROXY="$(HTTP_PROXY)"
325N/ACOMPONENT_TEST_ENV += HTTPS_PROXY="$(HTTPS_PROXY)"
325N/A
325N/A# Results output is different on Intel vs. SPARC.
325N/ACOMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-$(MACH).master
325N/A
325N/ACOMPONENT_TEST_TARGETS = test
325N/A
325N/ACOMPONENT_TEST_TRANSFORMS += \
325N/A '-e "s/\s\s*[0-9][0-9]*\.[0-9][0-9]* sec/ SEC sec/"' \
325N/A '-e "s/\][0-9][0-9]*\.[0-9][0-9]* sec/\]SEC sec/"' \
325N/A '-e "/bin/ctest/d"' \
325N/A '-e "/Test project/d"' \
325N/A '-e "/^[mM]ake/d"' \
325N/A '-e "s|^make.*: Leaving directory.*$$|XXX_REMOVE_XXX|g" ' \
325N/A '-e "s|^make.*: Entering directory.*$$|XXX_REMOVE_XXX|g" ' \
325N/A '-e "/^XXX_REMOVE_XXX$$/d" '
325N/A
325N/ACOMPONENT_SYSTEM_TEST_ENV += CC="$(CC)"
325N/ACOMPONENT_SYSTEM_TEST_ENV += CXX="$(CXX)"
325N/ACOMPONENT_SYSTEM_TEST_ENV += CFLAGS="$(CFLAGS)"
325N/ACOMPONENT_SYSTEM_TEST_ENV += CXXFLAGS="$(CXXFLAGS)"
325N/ACOMPONENT_SYSTEM_TEST_ENV += LDFLAGS="$(LDFLAGS)"
325N/ACOMPONENT_SYSTEM_TEST_ENV += http_proxy="$(HTTP_PROXY)"
325N/ACOMPONENT_SYSTEM_TEST_ENV += https_proxy="$(HTTPS_PROXY)"
325N/ACOMPONENT_SYSTEM_TEST_ENV += HTTP_PROXY="$(HTTP_PROXY)"
325N/ACOMPONENT_SYSTEM_TEST_ENV += HTTPS_PROXY="$(HTTPS_PROXY)"
325N/A
325N/ACOMPONENT_SYSTEM_TEST_TARGETS = test
325N/A
325N/A# Install the man pages this way because we do not have Sphinx.
325N/ACOMPONENT_POST_INSTALL_ACTION += \
325N/A ( $(MKDIR) -p $(PROTO_DIR)/usr/share ; \
325N/A $(CP) -r $(COMPONENT_DIR)/files/man1 $(PROTO_DIR)/usr/share/ ; \
325N/A $(CP) -r $(COMPONENT_DIR)/files/man7 $(PROTO_DIR)/usr/share/ )
325N/A
325N/A# Built binaries are moved aside and replaced with
325N/A# symlinks to the system-installed binaries in /usr/bin,
325N/A# which will be executed for the system-test target
325N/ACOMPONENT_PRE_SYSTEM_TEST_ACTION += \
325N/A $(MV) $(BUILD_DIR_64)/bin $(BUILD_DIR_64)/bin-save; \
325N/A $(MKDIR) $(BUILD_DIR_64)/bin; cd $(BUILD_DIR_64)/bin; \
325N/A $(LN) -s $(USRBINDIR)/cmake; $(LN) -s /usr/bin/ctest; \
325N/A $(LN) -s $(USRBINDIR)/ccmake; $(LN) -s /usr/bin/cpack
325N/A
325N/A# Restore the built binaries after system-test is done
325N/ACOMPONENT_POST_SYSTEM_TEST_ACTION += \
325N/A $(RM) -r $(BUILD_DIR_64)/bin; \
325N/A $(MV) $(BUILD_DIR_64)/bin-save $(BUILD_DIR_64)/bin
325N/A
325N/AREQUIRED_PACKAGES += compress/bzip2
325N/AREQUIRED_PACKAGES += compress/xz
325N/AREQUIRED_PACKAGES += library/expat
325N/AREQUIRED_PACKAGES += library/libarchive
325N/AREQUIRED_PACKAGES += library/ncurses
325N/AREQUIRED_PACKAGES += library/zlib
325N/AREQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime
325N/AREQUIRED_PACKAGES += system/library/gcc/gcc-c++-runtime
325N/AREQUIRED_PACKAGES += system/library/math
325N/AREQUIRED_PACKAGES += web/curl
325N/A