Makefile revision 6921
2N/A# The contents of this file are subject to the terms of the 2N/A# Common Development and Distribution License (the "License"). 2N/A# You may not use this file except in compliance with the License. 2N/A# See the License for the specific language governing permissions 2N/A# and limitations under the License. 2N/A# When distributing Covered Code, include this CDDL HEADER in each 2N/A# If applicable, add the following below this CDDL HEADER, with the 2N/A# fields enclosed by brackets "[]" replaced with your own identifying 2N/A# information: Portions Copyright [yyyy] [name of copyright owner] 2N/A# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. 2N/A# We use GCC version 4.9.3, and not another version for now. # Depends on S12-only changes in gcc; might be able to deal with later, # but avoid publishing while this is under investigation. # We're building with CMake # CMake prior to 3.6.0 does not define CMAKE_HOST_SOLARIS. # In that case, we pass it in CMAKE_OPTIONS. # We need the specific C++ runtime that clang/llvm was built and # linked with, and not some random and incompatible stuff from # -O0. GCC on SPARC dies with an out-memory error in cc1plus when # building with either -O1 or -O2 (32-bit). If it manages to get # through with -O1 or -O2 (64-bit), the resulting bits are unusable. # Because LLVM's install target doesn't install everything that # Results output is slightly different on Intel vs. SPARC. # Not enabled just yet because of problems with the way opt # and FileCheck emit and parse the test case results. # Do not change the order of these regexp transforms. '-e "/Nothing to be done/d"' # -ftree-vectorize | -fno-tree-vectorize: # Enable/disable loop vectorization in optimizations. For details: # builds at some point in the future.. # -ftree-slp-vectorize | -fno-tree-slp-vectorize: # Less aggressive vectorization than -ftree-vectorize, but useful # in case -ftree-slp-vectorize misses some vectorization opportunities. # Documentation at the same URL as above. # builds at some point in the future. # -freorder-blocks | -fno-reorder-blocks # builds at some point in the future. # -ftoplevel-reorder | -fno-toplevel-reorder # Another BasiBlock depentent optimization option. # builds at some point in the future. # Enable stack smashing (stack corruption) protection and detection. # This flag should always be used in conjunction with -Wstack-protector. # -Wstack-protector acts at compile-time, -fstack-protector-all acts # at runtime. -fstack-protector-all enables linking with libssp.so. # This flag carries significant runtime overhead, but is very useful. # Always enabled for now. May be removed in the future. # -g3: Enable macro visibility in GDB. With just -g, debug builds will # not record the expanded values of macros. With -g3, the values of # expanded macros will be recorded, and macros will be observable in # -mno-unaligned-doubles: # Assume that the code does not make use of misaligned doubles on SPARC. # On SPARC, doubles must align on 8. This flag makes GCC assume that # there is no misaligned double use in the code, and GCC will not # attempt to correct such misaligned loads/stores. If, however, there # is such broken code when using this flag, the program will SIGBUS # at runtime. This is a very useful debugging flag. # Use hardware floating-point operations when available. Compilers # generally make very little use of floating-point, but this is # floating-point operations are used. No-op for quad-floating-point # and UltraSPARC-1/2/3 because on those ISA's quad-floating-point # ops are always done in software. But quad-floating-point ops in a # compiler are virtually non-existent. # Tell GCC the size of a pointer on SPARC. # When used in addition to -shared on SPARC, this tells GCC to not pass # -z text to the linker when linking a shared object. # There is some suspicious interaction happening here between GCC/GAS # and the Sun linker. Technically, and in theory, this flag should not # be needed when compiling -fPIC. However, extensive documented use # and practice has shown that it is indeed needed. The disadvantage # of using this flag is that it triggers copy-on-write relocations. # Do not use SSE3/SSSE3 instructions on Intel. These might not be # available and they always come with side-effects. # Building for Opteron - which implies SSE2 - is adequate for # CMake tries really hard to be too smart for its own good. # Always build the libLLVM and libclang shared libraries # Put this here for now until the gpatch problems are resolved. # use bash(1) to run the install recipes otherwise clang header installation # There are no master test results just yet. But there will be @
echo "Tests not yet implemented - coming soon in LLVM 3.8.1."