components/llvm/Makefile
author Binjih Lin <binjih.lin@oracle.com>
Thu, 15 Dec 2016 15:34:10 -0800
changeset 7500 38effcff0d5d
parent 7353 bfd44257c7cd
child 7687 1093e2a9adbd
permissions -rw-r--r--
17349280 Move ruby cflags disabling raw_size to libffi and disable raw_size when active 25255783 LLVM makefile libffi include dirs should use --cflags-only-I instead of --cflags
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     1
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     2
# CDDL HEADER START
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     3
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     7
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    11
# and limitations under the License.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    12
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    18
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    19
# CDDL HEADER END
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    20
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    21
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    22
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    23
# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    24
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    25
export PARFAIT_BUILD=no
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    26
BUILD_BITS=64
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    27
COMPILER=gcc
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    28
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    29
include ../../make-rules/shared-macros.mk
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    30
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 6637
diff changeset
    31
# We use GCC version 4.9.3, and not another version for now.
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 6637
diff changeset
    32
GCC_ROOT=/usr/gcc/4.9
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 6637
diff changeset
    33
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    34
COMPONENT_NAME=		llvm
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    35
COMPONENT_VERSION=	3.8.1
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    36
COMPONENT_PROJECT_URL=	http://llvm.org/
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    37
COMPONENT_SRC=		$(COMPONENT_NAME)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    38
COMPONENT_BUGDB=	utility/llvm
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    39
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    40
COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    41
COMPONENT_SRC_NAME=	$(COMPONENT_SRC).src
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    42
COMPONENT_ARCHIVE=	$(COMPONENT_SRC_NAME).tar.xz
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    43
COMPONENT_ARCHIVE_HASH=	\
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    44
    sha256:6e82ce4adb54ff3afc18053d6981b6aed1406751b8742582ed50f04b5ab475f9
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    45
COMPONENT_ARCHIVE_URL=	$(COMPONENT_PROJECT_URL)/releases/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    46
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    47
TPNO=			28049
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    48
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    49
COMPONENT_NAME_1 =	clang
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    50
COMPONENT_SRC_1 =	cfe-$(COMPONENT_VERSION).src
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    51
COMPONENT_ARCHIVE_1 =	$(COMPONENT_SRC_1).tar.xz
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    52
COMPONENT_ARCHIVE_HASH_1 = \
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    53
	sha256:4cd3836dfb4b88b597e075341cae86d61c63ce3963e45c7fe6a8bf59bb382cdf
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    54
COMPONENT_ARCHIVE_URL_1 = $(COMPONENT_PROJECT_URL)/releases/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE_1)
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    55
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    56
COMPONENT_POST_UNPACK_ACTION = \
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    57
       ( $(MV) $(COMPONENT_SRC_NAME) $(COMPONENT_SRC) )
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    58
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    59
COMPONENT_POST_UNPACK_ACTION_1 = \
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    60
	 ( $(RM) -rf $(COMPONENT_SRC)/tools/$(COMPONENT_NAME_1) ; \
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    61
	 $(CP) -rp $(COMPONENT_SRC_1) \
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    62
	    $(COMPONENT_SRC)/tools/$(COMPONENT_NAME_1) )
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    63
5458
bef489fbf0cc 22726507 do not publish llvm when BUILD_TYPE=evaluation
John Beck <John.Beck@Oracle.COM>
parents: 5437
diff changeset
    64
# Depends on S12-only changes in gcc; might be able to deal with later,
bef489fbf0cc 22726507 do not publish llvm when BUILD_TYPE=evaluation
John Beck <John.Beck@Oracle.COM>
parents: 5437
diff changeset
    65
# but avoid publishing while this is under investigation.
bef489fbf0cc 22726507 do not publish llvm when BUILD_TYPE=evaluation
John Beck <John.Beck@Oracle.COM>
parents: 5437
diff changeset
    66
ifeq ($(BUILD_TYPE), evaluation)
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    67
  BUILD_64=
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    68
  INSTALL_64=
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    69
  PUBLISH_STAMP=
5458
bef489fbf0cc 22726507 do not publish llvm when BUILD_TYPE=evaluation
John Beck <John.Beck@Oracle.COM>
parents: 5437
diff changeset
    70
endif
bef489fbf0cc 22726507 do not publish llvm when BUILD_TYPE=evaluation
John Beck <John.Beck@Oracle.COM>
parents: 5437
diff changeset
    71
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    72
BUILD_STYLE = cmake
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    73
CLONEY = echo
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    74
GNUCP = /usr/gnu/bin/cp
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    75
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5458
diff changeset
    76
include $(WS_MAKE_RULES)/common.mk
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    77
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    78
PATCH_LEVEL := 0
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    79
DEBUG_BUILD := 0
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    80
HAVE_SPHINX := 0
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    81
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    82
export PATH=/usr/gnu/bin:/usr/bin:/usr/perl5/$(PERL_VERSION)/bin
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    83
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    84
# We're building with CMake
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    85
CMAKE=/usr/bin/cmake
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    86
CMAKE_VERSION := $(shell $(CMAKE) --version 2>&1 | head -n1 \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    87
  | $(GSED) 's/cmake version \{1,\}//g')
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    88
CMAKE_MAJOR_VERSION := $(shell echo $(CMAKE_VERSION) | cut -f1 -d'.')
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    89
CMAKE_MINOR_VERSION := $(shell echo $(CMAKE_VERSION) | cut -f2 -d'.')
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    90
CMAKE_MICRO_VERSION := $(shell echo $(CMAKE_VERSION) | cut -f3 -d'.')
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    91
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    92
# CMake prior to 3.6.0 does not define CMAKE_HOST_SOLARIS.
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    93
# In that case, we pass it in CMAKE_OPTIONS.
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    94
CMAKE_NEEDS_SOLARIS_HOST := 0
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    95
ifeq ($(shell expr $(CMAKE_MAJOR_VERSION) \<= 3 \& \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    96
		    $(CMAKE_MINOR_VERSION) \<= 5),1)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    97
  CMAKE_NEEDS_SOLARIS_HOST = 1
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    98
endif
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
    99
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   100
# All of these shoujld probably be in shared-macros.mk
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   101
CMAKE_INSTALL_BINDIR.32 = bin
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   102
CMAKE_INSTALL_BINDIR.64 = bin/$(MACH64)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   103
CMAKE_INSTALL_BINDIR = $(CMAKE_INSTALL_BINDIR.$(BITS))
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   104
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   105
CMAKE_INSTALL_LIBDIR.32 = lib
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   106
CMAKE_INSTALL_LIBDIR.64 = lib/$(MACH64)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   107
CMAKE_INSTALL_LIBDIR = $(CMAKE_INSTALL_LIBDIR.$(BITS))
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   108
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   109
CMAKE_INSTALL_LIBEXECDIR.32 = libexec
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   110
CMAKE_INSTALL_LIBEXECDIR.64 = libexec/$(MACH64)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   111
CMAKE_INSTALL_LIBEXECDIR = $(CMAKE_INSTALL_LIBEXECDIR.$(BITS))
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   112
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   113
CMAKE_INSTALL_INCLUDEDIR = include
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   114
CMAKE_INSTALL_DATADIR = share
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   115
CMAKE_INSTALL_DATAROOTDIR = share
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   116
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   117
# We need the specific C++ runtime that clang/llvm was built and
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   118
# linked with, and not some random and incompatible stuff from
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   119
# /usr/lib.
6923
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 6637
diff changeset
   120
LLVM_RUNPATH_32 = $(GCC_ROOT)/lib
338aea22bf22 24440950 GCC 4.9 should be updated to 4.9.4
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 6637
diff changeset
   121
LLVM_RUNPATH_64 = $(GCC_ROOT)/lib/$(MACH64)
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   122
LLVM_RUNPATH = $(LLVM_RUNPATH_$(BITS))
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   123
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   124
# -O0. GCC on SPARC dies with an out-memory error in cc1plus when
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   125
# building with either -O1 or -O2 (32-bit). If it manages to get
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   126
# through with -O1 or -O2 (64-bit), the resulting bits are unusable.
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   127
OFLAG="-O0"
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   128
GFLAG=""
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   129
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   130
ifeq ($(DEBUG_BUILD), 1)
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   131
  OFLAG="-O0"
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   132
  GFLAG="-g3"
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   133
endif
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   134
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   135
# Because LLVM's install target doesn't install everything that
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   136
# needs to be installed.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   137
EXTRA_INSTALL_BITS=llvm-lto arcmt-test c-arcmt-test c-index-test diagtool
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   138
LLVM_INSTALL_BINDIR.32=$(PROTOUSRBINDIR)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   139
LLVM_INSTALL_BINDIR.64=$(PROTOUSRBINDIR64)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   140
LLVM_INSTALL_BINDIR=$(LLVM_INSTALL_BINDIR.$(BITS))
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   141
LLVM_BINDIR=$(BUILD_DIR_$(BITS))/bin
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   142
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   143
INSTALL_CXA_FINALIZE := 0
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   144
ifeq ($(SOLARIS_11_ONLY),)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   145
  INSTALL_CXA_FINALIZE = 1
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   146
endif
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   147
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   148
SCAN_VIEW_FILES=Reporter.py ScanView.py
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   149
CLANG_FORMAT_FILES=clang-format-diff.py clang-format-sublime.py \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   150
		   clang-format.py
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   151
LLVM_MAN_FILES=FileCheck.1 bugpoint.1 clang.1 lit.1 llc.1 lli.1 \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   152
	       llvm-ar.1 llvm-as.1 llvm-bcanalyzer.1 llvm-build.1 \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   153
	       llvm-config.1 llvm-cov.1 llvm-diff.1 llvm-dis.1 \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   154
	       llvm-dwarfdump.1 llvm-extract.1 llvm-lib.1 llvm-link.1 \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   155
	       llvm-nm.1 llvm-profdata.1 llvm-readobj.1 llvm-stress.1 \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   156
	       llvm-symbolizer.1 opt.1 tblgen.1
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   157
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   158
COMPONENT_POST_BUILD_ACTION = \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   159
      if test -d $(COMPONENT_DIR)/cxa_finalize ; then \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   160
      /usr/gnu/bin/touch $(COMPONENT_DIR)/cxa_finalize/.patched ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   161
      /usr/gnu/bin/touch $(COMPONENT_DIR)/cxa_finalize/.prep ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   162
      $(GMAKE) -C $(COMPONENT_DIR)/cxa_finalize build ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   163
      /usr/gnu/bin/touch $(COMPONENT_DIR)/cxa_finalize/.built ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   164
      fi
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   165
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   166
COMPONENT_POST_INSTALL_ACTION = \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   167
	if test -d $(COMPONENT_DIR)/cxa_finalize ; then \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   168
	$(GMAKE) -C $(COMPONENT_DIR)/cxa_finalize install ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   169
	/usr/gnu/bin/touch $(COMPONENT_DIR)/cxa_finalize/.installed ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   170
	fi;
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   171
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   172
COMPONENT_POST_INSTALL_ACTION += \
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   173
	list1='$(EXTRA_INSTALL_BITS)' ; for f in $$list1 ; do \
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   174
	    $(INSTALL) --mode=755 $(LLVM_BINDIR)/$$f \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   175
			$(LLVM_INSTALL_BINDIR)/$$f ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   176
	done ;
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   177
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   178
COMPONENT_POST_INSTALL_ACTION += \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   179
	$(MKDIR) \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   180
	  $(PROTOUSRLIBDIR)/python$(PYTHON_VERSION)/vendor-packages ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   181
	list2='$(SCAN_VIEW_FILES)' ; for f in $$list2 ; do \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   182
	$(INSTALL) --mode=644 $(PROTOUSRSHAREDIR)/scan-view/$$f \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   183
	  $(PROTOUSRLIBDIR)/python$(PYTHON_VERSION)/vendor-packages/$$f ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   184
	done ;
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   185
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   186
COMPONENT_POST_INSTALL_ACTION += \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   187
	list3='$(CLANG_FORMAT_FILES)' ; for f in $$list3 ; do \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   188
	  $(INSTALL) --mode=644 $(PROTOUSRSHAREDIR)/clang/$$f \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   189
	    $(PROTOUSRLIBDIR)/python$(PYTHON_VERSION)/vendor-packages/$$f ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   190
	done ;
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   191
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   192
COMPONENT_POST_INSTALL_ACTION += \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   193
	cd $(COMPONENT_DIR) ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   194
	$(GNUCP) -rpd $(PROTOUSRLIBDIR64)/clang $(PROTOUSRLIBDIR)/ ;
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   195
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   196
COMPONENT_POST_INSTALL_ACTION += \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   197
	cd $(PROTOUSRLIBDIR) ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   198
	$(PYTHON) -m compileall . ;
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   199
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   200
COMPONENT_POST_INSTALL_ACTION += \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   201
	cd $(COMPONENT_DIR) ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   202
	$(MKDIR) $(PROTOUSRSHAREMAN1DIR) ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   203
	list4='$(LLVM_MAN_FILES)' ; for f in $$list4 ; do \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   204
	  $(INSTALL) --mode=644 $(COMPONENT_DIR)/Solaris/man1/$$f \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   205
	    $(PROTOUSRSHAREMAN1DIR)/$$f ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   206
	done ;
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   207
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   208
ifeq ($(INSTALL_CXA_FINALIZE),1)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   209
COMPONENT_POST_INSTALL_ACTION += \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   210
	$(INSTALL) --mode=644 \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   211
	  $(COMPONENT_DIR)/cxa_finalize/cxa_finalize-32.o \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   212
	  $(PROTOUSRLIBDIR)/clang/cxa_finalize.o ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   213
	$(INSTALL) --mode=644 \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   214
	  $(COMPONENT_DIR)/cxa_finalize/cxa_finalize_pic-32.o \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   215
	  $(PROTOUSRLIBDIR)/clang/cxa_finalize_pic.o ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   216
	$(INSTALL) --mode=644 \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   217
	  $(COMPONENT_DIR)/cxa_finalize/cxa_finalize-64.o \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   218
	  $(PROTOUSRLIBDIR)/clang/$(MACH64)/cxa_finalize.o ; \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   219
	$(INSTALL) --mode=644 \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   220
	  $(COMPONENT_DIR)/cxa_finalize/cxa_finalize_pic-64.o \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   221
	  $(PROTOUSRLIBDIR)/clang/$(MACH64)/cxa_finalize_pic.o ;
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   222
endif
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   223
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   224
# Results output is slightly different on Intel vs. SPARC.
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   225
# Not enabled just yet because of problems with the way opt
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   226
# and FileCheck emit and parse the test case results.
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   227
COMPONENT_TEST_MASTER = \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   228
	$(COMPONENT_TEST_RESULTS_DIR)/results-$(MACH).master
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   229
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   230
# Do not change the order of these regexp transforms.
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   231
COMPONENT_TEST_TRANSFORMS += \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   232
    '-e "/gmake -f/d"' \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   233
    '-e "/gmake/d"' \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   234
    '-e "/--color=/d"' \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   235
    '-e "/Entering/d"' \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   236
    '-e "/Leaving/d"' \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   237
    '-e "/Built target/d"' \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   238
    '-e "/Nothing to be done/d"'
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   239
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   240
# GCC options used:
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   241
# -ftree-vectorize | -fno-tree-vectorize:
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   242
# Enable/disable loop vectorization in optimizations. For details:
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   243
# https://gcc.gnu.org/projects/tree-ssa/vectorization.html
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   244
# Disabled in debug builds, will be enabled in production/optimized
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   245
# builds at some point in the future..
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   246
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   247
# -ftree-slp-vectorize | -fno-tree-slp-vectorize:
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   248
# Enable/disable Basic Block tree vectorization.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   249
# Less aggressive vectorization than -ftree-vectorize, but useful
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   250
# in case -ftree-slp-vectorize misses some vectorization opportunities.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   251
# Documentation at the same URL as above.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   252
# Disabled in debug builds, will be enabled in production/optimized
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   253
# builds at some point in the future.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   254
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   255
# -freorder-blocks | -fno-reorder-blocks
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   256
# Enable/disable BasicBlock reordering as an optimization.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   257
# Disabled in debug builds, will be enabled in production/optimized
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   258
# builds at some point in the future.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   259
# Documented here:
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   260
# https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   261
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   262
# -ftoplevel-reorder | -fno-toplevel-reorder
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   263
# Another BasiBlock depentent optimization option.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   264
# Disabled in debug builds, will be enabled in production/optimized
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   265
# builds at some point in the future.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   266
# Documented here:
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   267
# https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   268
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   269
# -fstack-protector-all:
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   270
# Enable stack smashing (stack corruption) protection and detection.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   271
# This flag should always be used in conjunction with -Wstack-protector.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   272
# -Wstack-protector acts at compile-time, -fstack-protector-all acts
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   273
# at runtime. -fstack-protector-all enables linking with libssp.so.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   274
# This flag carries significant runtime overhead, but is very useful.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   275
# Always enabled for now. May be removed in the future.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   276
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   277
# -g3: Enable macro visibility in GDB. With just -g, debug builds will
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   278
# not record the expanded values of macros. With -g3, the values of
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   279
# expanded macros will be recorded, and macros will be observable in
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   280
# GDB.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   281
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   282
# -mno-unaligned-doubles:
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   283
# Assume that the code does not make use of misaligned doubles on SPARC.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   284
# On SPARC, doubles must align on 8. This flag makes GCC assume that
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   285
# there is no misaligned double use in the code, and GCC will not
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   286
# attempt to correct such misaligned loads/stores. If, however, there
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   287
# is such broken code when using this flag, the program will SIGBUS
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   288
# at runtime. This is a very useful debugging flag.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   289
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   290
# -mhard-float:
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   291
# Use hardware floating-point operations when available. Compilers
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   292
# generally make very little use of floating-point, but this is
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   293
# a valuable/low-cost optimization for those rare cases where
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   294
# floating-point operations are used. No-op for quad-floating-point
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   295
# and UltraSPARC-1/2/3 because on those ISA's quad-floating-point
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   296
# ops are always done in software. But quad-floating-point ops in a
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   297
# compiler are virtually non-existent.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   298
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   299
# -mptr32 | -mptr64:
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   300
#  Tell GCC the size of a pointer on SPARC.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   301
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   302
# -mimpure-text:
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   303
# When used in addition to -shared on SPARC, this tells GCC to not pass
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   304
# -z text to the linker when linking a shared object.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   305
# There is some suspicious interaction happening here between GCC/GAS
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   306
# and the Sun linker. Technically, and in theory, this flag should not
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   307
# be needed when compiling -fPIC. However, extensive documented use
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   308
# and practice has shown that it is indeed needed. The disadvantage
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   309
# of using this flag is that it triggers copy-on-write relocations.
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   310
#
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   311
# -mno-sse3 -mno-ssse3:
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   312
# Do not use SSE3/SSSE3 instructions on Intel. These might not be
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   313
# available and they always come with side-effects.
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   314
# Building for Opteron - which implies SSE2 - is adequate for
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   315
# performance purposes.
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   316
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   317
CFLAGS = -m$(BITS) $(GFLAG) $(OFLAG) -pthread -std=c99 -fno-strict-aliasing
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   318
CFLAGS += -fno-tree-slp-vectorize -fno-tree-vectorize
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   319
CFLAGS += -fno-reorder-blocks -fno-toplevel-reorder
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   320
CFLAGS += -Wall -Wcast-align -Wno-long-long -Woverflow
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   321
CFLAGS += -Wstack-protector -fdata-sections -fstack-protector-all
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   322
CFLAGS += -fkeep-static-consts -ffunction-sections
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   323
CFLAGS += -Wl,-z -Wl,relax=common
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   324
CFLAGS += -Wl,-z -Wl,relax=secadj
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   325
CFLAGS += -Wl,-z -Wl,relax=transtls
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   326
CFLAGS += -Wl,-z -Wl,relax=symbound
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   327
CFLAGS += -Wl,-R -Wl,$(LLVM_RUNPATH)
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   328
CFLAGS.i386 += -mtune=opteron -mno-sse3 -mno-ssse3 -fno-common
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   329
ifeq ($(DEBUG_BUILD),1)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   330
  CFLAGS.i386 += -fno-omit-frame-pointer
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   331
endif
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   332
CFLAGS.sparc += -mtune=ultrasparc -mcpu=ultrasparc -mvis -mhard-float
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   333
CFLAGS.sparc += -mptr$(BITS) -fdata-sections -falign-functions=8
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   334
CFLAGS.sparc += -mno-unaligned-doubles -mimpure-text
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   335
CFLAGS += $(CFLAGS.$(MACH))
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   336
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   337
CXXFLAGS = -m$(BITS) $(GFLAG) $(OFLAG) -pthread -fno-strict-aliasing
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   338
CXXFLAGS += -fexceptions -frtti -fstack-protector-all
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   339
CXXFLAGS += -fno-tree-vectorize -fno-tree-slp-vectorize
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   340
CXXFLAGS += -fno-reorder-blocks -fno-toplevel-reorder
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   341
CXXFLAGS += -Wall -Wcast-align -Wno-long-long -Woverflow
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   342
CXXFLAGS += -Wstack-protector -fkeep-static-consts
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   343
CXXFLAGS += -std=c++11 -fdata-sections -ffunction-sections
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   344
CXXFLAGS += -Wl,-z -Wl,relax=common
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   345
CXXFLAGS += -Wl,-z -Wl,relax=secadj
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   346
CXXFLAGS += -Wl,-z -Wl,relax=transtls
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   347
CXXFLAGS += -Wl,-z -Wl,relax=symbound
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   348
CXXFLAGS += -Wl,-z -Wl,relax=comdat
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   349
CXXFLAGS += -Wl,-R -Wl,$(LLVM_RUNPATH)
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   350
CXXFLAGS.sparc += -mptr$(BITS)
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   351
CXXFLAGS += $(CFLAGS.$(MACH))
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   352
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   353
CPPFLAGS = -D_GNU_SOURCE -DLLVM_SOLARIS -I/usr/gnu/include
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   354
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   355
ifeq ($(DEBUG_BUILD),1)
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   356
  CPPFLAGS += -D_DEBUG
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   357
endif
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   358
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   359
CPPFLAGS += -D_REENTRANT -D_LARGEFILE64_SOURCE
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   360
CPPFLAGS += -D_FILE_OFFSET_BITS=64 -D__EXTENSIONS__=1
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   361
CPPFLAGS += -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   362
CPPFLAGS += -D__STDC_LIMIT_MACROS -DHAVE_POSIX_MEMALIGN
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   363
CPPFLAGS += -D_GLIBCXX_FULLY_DYNAMIC_STRING=1
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   364
CPPFLAGS.i386 = -DLLVM_INTEL
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   365
CPPFLAGS.sparc = -DLLVM_SPARC
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   366
CPPFLAGS += $(CPPFLAGS.$(MACH))
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   367
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   368
LLVM_LIBEXECDIR_32 = /usr/libexec
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   369
LLVM_LIBEXECDIR_64 = /usr/libexec/$(MACH64)
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   370
LLVM_LIBEXECDIR = $(LLVM_LIBEXECDIR_$(BITS))
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   371
7500
38effcff0d5d 17349280 Move ruby cflags disabling raw_size to libffi and disable raw_size when active
Binjih Lin <binjih.lin@oracle.com>
parents: 7353
diff changeset
   372
LIBFFI_INCDIR_32 = $(shell pkg-config --cflags-only-I libffi | sed -e s,-I,,)
38effcff0d5d 17349280 Move ruby cflags disabling raw_size to libffi and disable raw_size when active
Binjih Lin <binjih.lin@oracle.com>
parents: 7353
diff changeset
   373
LIBFFI_INCDIR_64 = $(shell env PKG_CONFIG_PATH=$(PKG_CONFIG_PATH.64) pkg-config --cflags-only-I libffi | sed -e s,-I,,)
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   374
LIBFFI_INCDIR = $(LIBFFI_INCDIR_$(BITS))
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   375
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   376
LIBFFI_LIBDIR_32 = /usr/lib
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   377
LIBFFI_LIBDIR_64 = /usr/lib/$(MACH64)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   378
LIBFFI_LIBDIR = $(LIBFFI_LIBDIR_$(BITS))
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   379
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   380
# -Bdirect and -M /usr/lib/ld/map.noexbss break SPARC builds.
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   381
LD_B_DIRECT =
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   382
LD_OPTIONS = -M /usr/lib/ld/map.noexstk
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   383
LD_OPTIONS += -M /usr/lib/ld/map.pagealign
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   384
LD_OPTIONS_SO = $(LD_Z_DEFS) $(LD_DEF_LIBS)
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   385
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   386
CMAKE_OPTIONS = -DCMAKE_C_COMPILER:FILEPATH=$(CC)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   387
CMAKE_OPTIONS += -DCMAKE_CXX_COMPILER:FILEPATH=$(CXX)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   388
CMAKE_OPTIONS += -DCMAKE_C_CFLAGS:STRING="$(CPPFLAGS) $(CFLAGS)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   389
CMAKE_OPTIONS += -DCMAKE_CXX_FLAGS:STRING="$(CPPFLAGS) $(CXXFLAGS)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   390
CMAKE_OPTIONS += -DCMAKE_EXE_LINKER_FLAGS:STRING="$(LDFLAGS)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   391
CMAKE_OPTIONS += -DCMAKE_INSTALL_PREFIX:FILEPATH=$(CMAKE_PREFIX)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   392
CMAKE_OPTIONS += -DCMAKE_AR:FILEPATH=/usr/bin/ar
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   393
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   394
CMAKE_OPTIONS += -DCMAKE_INSTALL_BINDIR:STRING="$(CMAKE_INSTALL_BINDIR)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   395
CMAKE_OPTIONS += -DCMAKE_INSTALL_LIBDIR:STRING="$(CMAKE_INSTALL_LIBDIR)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   396
CMAKE_OPTIONS += -DCMAKE_INSTALL_LIBEXECDIR:STRING="$(CMAKE_INSTALL_LIBEXECDIR)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   397
CMAKE_OPTIONS += -DCMAKE_INSTALL_INCLUDEDIR:STRING="$(CMAKE_INSTALL_INCLUDEDIR)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   398
CMAKE_OPTIONS += -DCMAKE_INSTALL_DATADIR:STRING="$(CMAKE_INSTALL_DATADIR)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   399
CMAKE_OPTIONS += -DCMAKE_INSTALL_DATAROOTDIR:STRING="$(CMAKE_INSTALL_DATAROOTDIR)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   400
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   401
ifeq ($(MACH),sparc)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   402
  CMAKE_OPTIONS += -DLLVM_TARGETS_TO_BUILD:STRING="Sparc"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   403
endif
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   404
ifeq ($(MACH),i386)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   405
  CMAKE_OPTIONS += -DLLVM_TARGETS_TO_BUILD:STRING="X86"
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   406
endif
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   407
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   408
CMAKE_OPTIONS += -DCMAKE_MAKE_PROGRAM:STRING="/usr/bin/gmake"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   409
CMAKE_OPTIONS += -DCMAKE_ASM_COMPILER:STRING="/usr/gnu/bin/as"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   410
CMAKE_OPTIONS += -DCMAKE_INSTALL_RPATH:STRING="$(LLVM_RUNPATH)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   411
CMAKE_OPTIONS += -DLLVM_BUILD_TOOLS:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   412
CMAKE_OPTIONS += -DLLVM_INCLUDE_TOOLS:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   413
CMAKE_OPTIONS += -DLLVM_BUILD_TESTS:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   414
CMAKE_OPTIONS += -DLLVM_INCLUDE_TESTS:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   415
CMAKE_OPTIONS += -DLLVM_ENABLE_THREADS:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   416
CMAKE_OPTIONS += -DLLVM_BUILD_32_BITS:BOOL=OFF
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   417
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   418
# CMake tries really hard to be too smart for its own good.
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   419
ifeq ($(DEBUG_BUILD),1)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   420
  CMAKE_OPTIONS += -DCMAKE_BUILD_TYPE:STRING=Debug
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   421
  CMAKE_OPTIONS += -DCMAKE_C_FLAGS_DEBUG:STRING="$(OFLAG) $(GFLAG)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   422
  CMAKE_OPTIONS += -DCMAKE_CXX_FLAGS_DEBUG:STRING="$(OFLAG) $(GFLAG)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   423
  CMAKE_OPTIONS += -DCMAKE_ASM_FLAGS_DEBUG:STRING="$(OFLAG) $(GFLAG)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   424
  CMAKE_OPTIONS += -DCMAKE_ASM_FLAGS_RELWITHDEBINFO:STRING="$(OFLAG) $(GFLAG)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   425
  CMAKE_OPTIONS += -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="$(OFLAG) $(GFLAG)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   426
  CMAKE_OPTIONS += -DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="$(OFLAG) $(GFLAG)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   427
  CMAKE_OPTIONS += -DLLVM_BUILD_EXAMPLES:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   428
  CMAKE_OPTIONS += -DLLVM_INCLUDE_EXAMPLES:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   429
  CMAKE_OPTIONS += -DLLVM_ENABLE_ASSERTIONS:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   430
  CMAKE_OPTIONS += -DLLVM_ENABLE_EXPENSIVE_CHECKS:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   431
else
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   432
  CMAKE_OPTIONS += -DCMAKE_BUILD_TYPE:STRING=Release
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   433
  CMAKE_OPTIONS += -DCMAKE_C_FLAGS_DEBUG:STRING="$(OFLAG)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   434
  CMAKE_OPTIONS += -DCMAKE_CXX_FLAGS_DEBUG:STRING="$(OFLAG)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   435
  CMAKE_OPTIONS += -DCMAKE_ASM_FLAGS_DEBUG:STRING="$(OFLAG)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   436
  CMAKE_OPTIONS += -DCMAKE_ASM_FLAGS_RELWITHDEBINFO:STRING="$(OFLAG)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   437
  CMAKE_OPTIONS += -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="$(OFLAG)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   438
  CMAKE_OPTIONS += -DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="$(OFLAG)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   439
  CMAKE_OPTIONS += -DLLVM_BUILD_EXAMPLES:BOOL=OFF
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   440
  CMAKE_OPTIONS += -DLLVM_INCLUDE_EXAMPLES:BOOL=OFF
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   441
  CMAKE_OPTIONS += -DLLVM_ENABLE_ASSERTIONS:BOOL=OFF
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   442
  CMAKE_OPTIONS += -DLLVM_ENABLE_EXPENSIVE_CHECKS:BOOL=OFF
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   443
endif
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   444
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   445
CMAKE_OPTIONS += -DLLVM_ENABLE_EH:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   446
CMAKE_OPTIONS += -DLLVM_ENABLE_PIC:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   447
CMAKE_OPTIONS += -DLLVM_ENABLE_RTTI:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   448
CMAKE_OPTIONS += -DLLVM_ENABLE_WARNINGS:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   449
CMAKE_OPTIONS += -DLLVM_ENABLE_PEDANTIC:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   450
CMAKE_OPTIONS += -DLLVM_ABI_BREAKING_CHECKS:STRING="FORCE_OFF"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   451
CMAKE_OPTIONS += -DLLVM_ENABLE_ZLIB:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   452
CMAKE_OPTIONS += -DLLVM_ENABLE_FFI:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   453
CMAKE_OPTIONS += -DFFI_INCLUDE_DIR:STRING=$(LIBFFI_INCDIR)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   454
CMAKE_OPTIONS += -DFFI_LIBRARY_DIR:STRING=$(LIBFFI_LIBDIR)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   455
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   456
ifeq ($(HAVE_SPHINX),1)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   457
  CMAKE_OPTIONS += -DSPHINX_EXECUTABLE:STRING="/usr/bin/sphinx-build"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   458
  CMAKE_OPTIONS += -DLLVM_ENABLE_SPHINX:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   459
  CMAKE_OPTIONS += -DLLVM_BUILD_DOCS:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   460
  CMAKE_OPTIONS += -DSPHINX_OUTPUT_HTML:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   461
  CMAKE_OPTIONS += -DSPHINX_OUTPUT_MAN:BOOL=ON
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   462
endif
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   463
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   464
# Always build the libLLVM and libclang shared libraries
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   465
CMAKE_OPTIONS += -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   466
CMAKE_OPTIONS += -DLLVM_LINK_LLVM_DYLIB:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   467
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   468
CMAKE_OPTIONS += -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   469
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   470
CMAKE_OPTIONS += -DLLVM_COMPILER_IS_GCC_COMPATIBLE:BOOL=ON
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   471
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   472
ifeq ($(CMAKE_NEEDS_SOLARIS_HOST),1)
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   473
  CMAKE_OPTIONS += -DCMAKE_HOST_SOLARIS:BOOL=TRUE
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   474
endif
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   475
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   476
COMPONENT_BUILD_ENV = CC="$(CC)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   477
COMPONENT_BUILD_ENV += CXX="$(CXX)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   478
COMPONENT_BUILD_ENV += CFLAGS="$(CFLAGS)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   479
COMPONENT_BUILD_ENV += CXXFLAGS="$(CXXFLAGS)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   480
COMPONENT_BUILD_ENV += LDFLAGS="$(LDFLAGS)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   481
COMPONENT_BUILD_ENV += LD_OPTIONS="$(LD_OPTIONS)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   482
COMPONENT_BUILD_ENV += PATH="$(PATH)"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   483
COMPONENT_BUILD_ENV += LANG="C"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   484
COMPONENT_BUILD_ENV += LC_ALL="C"
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   485
COMPONENT_BUILD_ENV += LD_EXEC_OPTIONS="-zaslr=disable"
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   486
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   487
# Put this here for now until the gpatch problems are resolved.
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   488
COMPONENT_BUILD_ARGS += -j4
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   489
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   490
# use bash(1) to run the install recipes otherwise clang header installation
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   491
# fails
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   492
COMPONENT_INSTALL_ARGS += SHELL=/bin/bash
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   493
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   494
COMPONENT_PRE_BUILD_ACTION += cd $(@D) ;
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   495
COMPONENT_PRE_BUILD_ACTION += echo BITS: $(BITS) ;
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   496
COMPONENT_PRE_BUILD_ACTION += echo Running cmake with $(CMAKE_OPTIONS) ;
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   497
COMPONENT_PRE_BUILD_ACTION += /usr/bin/env - $(COMPONENT_BUILD_ENV) \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   498
			      $(CMAKE) $(CMAKE_OPTIONS) \
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   499
			      $(COMPONENT_DIR)/$(COMPONENT_SRC) ;
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   500
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   501
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   502
# There are no master test results just yet. But there will be
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   503
# very soon.
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   504
test:
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   505
	@echo "Tests not yet implemented - coming soon in LLVM 3.8.1."
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   506
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   507
system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   508
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   509
REQUIRED_PACKAGES += developer/gcc-4/gcc-common-49
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   510
REQUIRED_PACKAGES += developer/gnu-binutils
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   511
REQUIRED_PACKAGES += library/libedit
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   512
REQUIRED_PACKAGES += library/libffi
6637
22d5f6c97e6f 24378340 clang -fopenmp must include the path to the omp.h header file
Stefan Teleman <stefan.teleman@oracle.com>
parents: 6512
diff changeset
   513
REQUIRED_PACKAGES += library/libiomp5
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   514
REQUIRED_PACKAGES += library/libxml2
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   515
REQUIRED_PACKAGES += library/zlib
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   516
REQUIRED_PACKAGES += runtime/perl-522
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   517
REQUIRED_PACKAGES += library/perl-5/xml-libxml
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   518
REQUIRED_PACKAGES += library/perl-5/xml-namespacesupport
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   519
REQUIRED_PACKAGES += library/perl-5/xml-parser
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   520
REQUIRED_PACKAGES += library/perl-5/xml-sax
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   521
REQUIRED_PACKAGES += library/perl-5/xml-sax-base
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   522
REQUIRED_PACKAGES += library/perl-5/xml-simple
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   523
REQUIRED_PACKAGES += runtime/python-27
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   524
REQUIRED_PACKAGES += system/core-os
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   525
REQUIRED_PACKAGES += system/header
5437
449f3459d285 15777690 clang/llvm compiler infrastructure in Solaris (fix publishing)
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5434
diff changeset
   526
REQUIRED_PACKAGES += system/library/gcc/gcc-runtime-49
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   527
REQUIRED_PACKAGES += system/library/gcc/gcc-c++-runtime-49
5437
449f3459d285 15777690 clang/llvm compiler infrastructure in Solaris (fix publishing)
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5434
diff changeset
   528
REQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime-49
449f3459d285 15777690 clang/llvm compiler infrastructure in Solaris (fix publishing)
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5434
diff changeset
   529
REQUIRED_PACKAGES += system/library/gcc/gcc-gobjc-runtime-49
5434
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   530
REQUIRED_PACKAGES += system/library/math
9f55c805ce9d PSARC/2013/188 Clang/LLVM
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
   531
REQUIRED_PACKAGES += system/linker
6512
92717ce71105 24326140 upgrade LLVM to 3.8.1
Stefan Teleman <stefan.teleman@oracle.com>
parents: 5682
diff changeset
   532