summaryrefslogtreecommitdiff
path: root/lang/clang
AgeCommit message (Collapse)AuthorFilesLines
2018-10-24clang: enable __float128 on netbsd/x86maya3-5/+31
While it is debatable whether we want to have this definition upstream, this is very necessary in the package for the purpose of building www/firefox once it is updated to 63.0. This is because netbsd's base libstdc++ has some __float128 in headers and otherwise we get fatal errors in clang builds, or in firefox's case, when generating bindings for Rust via clang. PR toolchain/53679 Bump PKGREVISION.
2018-08-09clang: Use the full LLVM suite on SunOS.jperkin6-2/+292
This enables compiler-rt, libcxx, and libunwind, as well as fixing various assumptions in the code about what should be set on SunOS. In bulk builds a while back this was able to compete favourably with GCC.
2018-08-07llvm: updated to 6.0.1adam3-13/+65
6.0.1: Non-comprehensive list of changes in this release Support for retpolines was added to help mitigate “branch target injection” (variant 2) of the “Spectre” speculative side channels described by Project Zero and the Spectre paper. The Redirects argument of llvm::sys::ExecuteAndWait and llvm::sys::ExecuteNoWait was changed to an ArrayRef of optional StringRef‘s to make it safer and more convenient to use. The backend name was added to the Target Registry to allow run-time information to be fed back into TableGen. Out-of-tree targets will need to add the name used in the def X : Target definition to the call to RegisterTarget. The Debugify pass was added to opt to facilitate testing of debug info preservation. This pass attaches synthetic DILocations and DIVariables to the instructions in a Module. The CheckDebugify pass determines how much of the metadata is lost. Significantly improved quality of CodeView debug info for Windows. Preliminary support for Sanitizers and sibling features on X86(_64) NetBSD (ASan, UBsan, TSan, MSan, SafeStack, libFuzzer). Changes to the LLVM IR ---------------------- The fast-math-flags (FMF) have been updated. Previously, the ‘fast’ flag indicated that floating-point reassociation was allowed and all other flags were set too. The ‘fast’ flag still exists, but there is a new flag called ‘reassoc’ to indicate specifically that reassociation is allowed. A new bit called ‘afn’ was also added to selectively allow approximations for common mathlib functions like square-root. The new flags provide more flexibility to enable/disable specific floating-point optimizations. Making the optimizer respond appropriately to these flags is an ongoing effort. Changes to the AArch64 Target ----------------------------- Enabled the new GlobalISel instruction selection framework by default at -O0. Changes to the ARM Target ------------------------- Support for enabling SjLj exception handling on platforms where it isn’t the default. Changes to the Hexagon Target ----------------------------- The Hexagon backend now supports V65 ISA. The -mhvx option now takes an optional value that specifies the ISA version of the HVX coprocessor. The available values are v60, v62 and v65. By default, the value is set to be the same as the CPU version. The compiler option -mhvx-double is deprecated and will be removed in the next release of the compiler. Programmers should use the -mhvx-length option to specify the desired vector length: -mhvx-length=64b for 64-byte vectors and -mhvx-length=128b for 128-byte vectors. While the current default vector length is 64 bytes, users should always specify the length explicitly, since the default value may change in the future. The target feature hvx-double is deprecated and will be removed in the next release. LLVM IR generators should use target features hvx-length64b and hvx-length128b to indicate the vector length. The length should always be specified when HVX code generation is enabled. Changes to the MIPS Target -------------------------- Fixed numerous bugs: fpowi on MIPS64 giving incorrect results when used with a negative integer. Usage of the asm ‘c’ constraint with the wrong datatype causing an assert/crash. Fixed a conversion bug when using the DSP ASE. Fixed an inconsistency where objects were not marked as using the microMIPS as when the micromips function attribute or the ”.set micromips” directive was used. Reordered the MIPSR6 specific hazard scheduler pass to after the delay slot filler, fixing a class of rare edge case bugs where the delay slot filler would violate ISA restrictions. Fixed a crash when using a type of unknown size with gp relative addressing. Corrected the j macro for microMIPS. Corrected the encoding of movep for microMIPS32r6. Fixed an issue with the usage of insert instructions having an invalid set of operands. Fixed an issue where TLS symbols were not marked as such. Enabled the usage of register scavenging with MSA, due to its shorter offsets for loads and stores. Corrected the ELF headers when using the DSP ASE. New features: The long branch pass now generates some R6 specific instructions when targeting MIPSR6. The delay slot filler now performs more branch conversions if delay slots cannot be filled. The MIPS MT ASE is now fully supported. Added support for the lapc pseudo instruction. Improved the selection of multiple instructions (dext, nmadd, nmsub). Further improved microMIPS codesize reduction. Deprecation notices: microMIPS64R6 support was been deprecated since 5.0, and has now been completely removed. Changes to the SystemZ Target ----------------------------- During this release the SystemZ target has: Added support for 128-bit atomic operations. Added support for the “o” constraint for inline asm statements. Changes to the X86 Target ------------------------- During this release the X86 target has: Added support for enabling SjLj exception handling on platforms where it isn’t the default. Added intrinsics for Intel Extensions: VAES, GFNI, VPCLMULQDQ, AVX512VBMI2, AVX512BITALG, AVX512VNNI. Added support for Intel Icelake CPU. Fixed some X87 codegen bugs. Added instruction scheduling information for Intel Sandy Bridge, Ivy Bridge, Haswell, Broadwell, and Skylake CPUs. Improved scheduler model for AMD Jaguar CPUs. Improved llvm-mc’s disassembler for some EVEX encoded instructions. Add support for i8 and i16 vector signed/unsigned min/max horizontal reductions. Improved codegen for memory comparisons Improved codegen for i32 vector multiplies Improved codegen for scalar integer absolute values Improved codegen for vector integer rotations (XOP and AVX512) Improved codegen of data being transferred between GPRs and K-registers. Improved codegen for vector truncations. Improved folding of address computations into gather/scatter instructions. Gained initial support recognizing variable shuffles from vector element extracts and inserts. Improved documentation for SSE/AVX intrinsics in intrin.h header files. Gained support for emitting retpolines, including automatic insertion of the necessary thunks or using external thunks.
2018-05-22llvm: updated to 5.0.2adam2-7/+7
5.0.2: Bug fix release.
2018-02-07Belatedly bump requirement. 4.0 and 5.0 are not API (nor ABI)joerg1-2/+2
compatible.
2017-12-30llvm: updated to 5.0.1adam4-27/+13
LLVM 5.0.1: This release contains bug-fixes for the LLVM 5.0.0 release. This release is API and ABI compatible with 5.0.0.
2017-12-01llvm: updated to 5.0.0adam3-10/+40
5.0.0: Non-comprehensive list of changes in this release * LLVM’s WeakVH has been renamed to WeakTrackingVH and a new WeakVH has been introduced. The new WeakVH nulls itself out on deletion, but does not track values across RAUW. * A new library named BinaryFormat has been created which holds a collection of code which previously lived in Support. This includes the file_magic structure and identify_magic functions, as well as all the structure and type definitions for DWARF, ELF, COFF, WASM, and MachO file formats. * The tool llvm-pdbdump has been renamed llvm-pdbutil to better reflect its nature as a general purpose PDB manipulation / diagnostics tool that does more than just dumping contents. * The BBVectorize pass has been removed. It was fully replaced and no longer used back in 2014 but we didn’t get around to removing it. Now it is gone. The SLP vectorizer is the suggested non-loop vectorization pass. * A new tool opt-viewer.py has been added to visualize optimization remarks in HTML. The tool processes the YAML files produced by clang with the -fsave-optimization-record option. * A new CMake macro LLVM_REVERSE_ITERATION has been added. If enabled, all supported unordered LLVM containers would be iterated in reverse order. This is useful for uncovering non-determinism caused by iteration of unordered containers. Currently, it supports reverse iteration of SmallPtrSet and DenseMap. * A new tool llvm-dlltool has been added to create short import libraries from GNU style definition files. The tool utilizes the PE COFF SPEC Import Library Format and PE COFF Auxiliary Weak Externals Format to achieve compatibility with LLD and MSVC LINK.
2017-07-11Changes 4.0.1:adam3-9/+9
This is a bug-fix release.
2017-06-01Use public SHLIB_TYPE instead of private _OPSYS_SHLIB_TYPE.jlam1-2/+2
2017-05-05Update buildlink3.mk with reality in LLVM projectskamil1-2/+2
2017-05-05Reduce diff with pkgsrc-wip/clang-gitkamil1-4/+4
This also fixes linking with libstdc++ in clang and should make it usable.
2017-05-03Convert CXXFLAGS setting C++ standard to USE_LANGUAGES.jperkin1-6/+2
2017-03-17LLVM 4.0.0:adam4-16/+26
The minimum compiler version required for building LLVM has been raised to 4.8 for GCC and 2015 for Visual Studio. The C API functions LLVMAddFunctionAttr, LLVMGetFunctionAttr, LLVMRemoveFunctionAttr, LLVMAddAttribute, LLVMRemoveAttribute, LLVMGetAttribute, LLVMAddInstrAttribute and LLVMRemoveInstrAttribute have been removed. The C API enum LLVMAttribute has been deleted. The definition and uses of LLVM_ATRIBUTE_UNUSED_RESULT in the LLVM source were replaced with LLVM_NODISCARD, which matches the C++17 [[nodiscard]] semantics rather than gcc’s __attribute__((warn_unused_result)). The Timer related APIs now expect a Name and Description. When upgrading code the previously used names should become descriptions and a short name in the style of a programming language identifier should be added. LLVM now handles invariant.group across different basic blocks, which makes it possible to devirtualize virtual calls inside loops. The aggressive dead code elimination phase (“adce”) now removes branches which do not effect program behavior. Loops are retained by default since they may be infinite but these can also be removed with LLVM option -adce-remove-loops when the loop body otherwise has no live operations. The llvm-cov tool can now export coverage data as json. Its html output mode has also improved.
2017-01-16Use the system-specific libtool on Darwin.brook1-1/+3
This fixes bugs relating to unrecognized libtool options on Darwin.
2017-01-05Changes 3.9.1:adam3-8/+9
The LLVMContext gains a new runtime check (see LLVMContext::discardValueNames()) that can be set to discard Value names (other than GlobalValue). This is intended to be used in release builds by clients that are interested in saving CPU/memory as much as possible. There is no longer a “global context” available in LLVM, except for the C API. The autoconf build system has been removed in favor of CMake. LLVM 3.9 requires CMake 3.4.3 or later to build. For information about using CMake please see the documentation on Building LLVM with CMake. For information about the CMake language there is also a CMake Primer document available. C API functions LLVMParseBitcode, LLVMParseBitcodeInContext, LLVMGetBitcodeModuleInContext and LLVMGetBitcodeModule having been removed. LLVMGetTargetMachineData has been removed (use LLVMGetDataLayout instead). The C API function LLVMLinkModules has been removed. The C API function LLVMAddTargetData has been removed. The C API function LLVMGetDataLayout is deprecated in favor of LLVMGetDataLayoutStr. The C API enum LLVMAttribute and associated API is deprecated in favor of the new LLVMAttributeRef API. The deprecated functions are LLVMAddFunctionAttr, LLVMAddTargetDependentFunctionAttr, LLVMRemoveFunctionAttr, LLVMGetFunctionAttr, LLVMAddAttribute, LLVMRemoveAttribute, LLVMGetAttribute, LLVMAddInstrAttribute, LLVMRemoveInstrAttribute and LLVMSetInstrParamAlignment. TargetFrameLowering::eliminateCallFramePseudoInstr now returns an iterator to the next instruction instead of void. Targets that previously did MBB.erase(I); return; now probably want return MBB.erase(I);. SelectionDAGISel::Select now returns void. Out-of-tree targets will need to be updated to replace the argument node and remove any dead nodes in cases where they currently return an SDNode * from this interface. Added the MemorySSA analysis, which hopes to replace MemoryDependenceAnalysis. It should provide higher-quality results than MemDep, and be algorithmically faster than MemDep. Currently, GVNHoist (which is off by default) makes use of MemorySSA. The minimum density for lowering switches with jump tables has been reduced from 40% to 10% for functions which are not marked optsize (that is, compiled with -Os).
2016-12-17Revert.joerg1-5/+1
2016-12-17Explicitly build LLVM projects with -std=c++11, it doesn't get detectedjoerg2-2/+10
automatically in all cases.
2016-11-14Update llvm packages to 3.9.0ryoon5-25/+61
* Drop CppBackend. It is removed. Changelog: * GCC ABI Tag * LLVM IR: new intrinsics etc. * Change LLVM IPO model * Support ThinLTO * Improve the ARM targets, ARMv8.2-A support etc. * Improve the MIPS targets * Improve the PowerPC target, default optim O3 to O2 * Improve the X86 target, SKylake AVX-512 etc. * Improve the AMDGPU, better support for Mesa 12
2016-07-26Update llvm and clang* to 3.8.1.wiz2-7/+7
This release contains bug-fixes for the LLVM 3.8.0 release. This release is API and ABI compatible with 3.8.0.
2016-03-10Update to clang-3.8.0. Split out llvm tools to lang/llvm.tnn15-1414/+163
Packaged in pkgsrc-wip by myself and Kamil. Remove stale pkgsrc/SunOS bread crumbs that were difficult to merge following the build framework switch. Needs to be redone. (Sorry!) Summary of significant changes in LLVM: - switch build framework from autoconf to CMake - llvm-ar now supports thin archives. - llvm doesn t produce .data.rel.ro.local or .data.rel sections anymore. - opional support for linking clang and the LLVM tools with a single libLLVM shared library pkgsrc note: we have this library in lang/libLLVM, but we don't currently use it. We may do so in the future if/when the API matures. - The optimization to move the prologue and epilogue of functions in colder code path (shrink-wrapping) is now enabled by default - new target-independent gcc-compatible emulated Thread Local Storage mode - various target specific optimizations Summary of significant changes in Clang: - new compiler flags for tuning what DWARF information is included - better strict alignment handling - better support for __builtin_object_size
2016-03-08g/c obsolete commenttnn1-5/+1
2016-03-07Do not use "-z discard-unused" linker flags on SunOS, it is only supportedjperkin2-7/+17
by the very latest Oracle Solaris release.
2016-02-25Fix library names on Darwin.jperkin1-1/+21
2016-02-22Update PLIST for current Darwin build.jperkin1-2/+3
2016-01-11Update to 3.7.1ryoon3-23/+23
Changelog: Major changes in 3.7.1 ====================== * 3.7.0 was released with an inadvertent change to the signature of the C API function: LLVMBuildLandingPad, which made the C API incompatible with prior releases. This has been corrected in LLVM 3.7.1. As a result of this change, 3.7.0 is not ABI compatible with 3.7.1. +----------------------------------------------------------------------------+ | History of the LLVMBuildLandingPad() function | +===========================+================================================+ | 3.6.2 and prior releases | LLVMBuildLandingPad(LLVMBuilderRef, | | | LLVMTypeRef, | | | LLVMValueRef, | | | unsigned, const char*) | +---------------------------+------------------------------------------------+ | 3.7.0 | LLVMBuildLandingPad(LLVMBuilderRef, | | | LLVMTypeRef, | | | unsigned, const char*) | +---------------------------+------------------------------------------------+ | 3.7.1 and future releases | LLVMBuildLandingPad(LLVMBuilderRef, | | | LLVMTypeRef, | | | LLVMValueRef, | | | unsigned, const char*) | +---------------------------+------------------------------------------------+
2015-12-30Re-add a buildlink3.mk for a future include-what-you-use package.bsiegert1-0/+15
2015-12-29Add patch comments.dholland5-9/+19
2015-11-06Remove static-analyzer option, moved into a separate package.wiz4-60/+3
2015-11-03Add SHA512 digests for distfiles for lang categoryagc1-1/+5
Problems found with existing digests: Package nhc98 distfile nhc98src-1.22.tar.gz a8adc8f22371998ee0657bc0e01058a57d876abc [recorded] 81975fcb5f1dda5efeaabc30ce8c6dceae55e591 [calculated] Problems found locating distfiles: Package gcc-aux: missing distfile ada-bootstrap.i386.dragonfly.36A.tar.bz2 Package gcc-aux: missing distfile ada-bootstrap.i386.freebsd.84.tar.bz2 Package gcc-aux: missing distfile ada-bootstrap.x86_64.dragonfly.36A.tar.bz2 Package gcc-aux: missing distfile ada-bootstrap.x86_64.freebsd.84.tar.bz2 Package gcc-aux: missing distfile ada-bootstrap.x86_64.solaris.511.tar.bz2 Package gcc5-aux: missing distfile ada-bootstrap.i386.dragonfly.36A.tar.bz2 Package gcc5-aux: missing distfile ada-bootstrap.i386.freebsd.84.tar.bz2 Package gcc5-aux: missing distfile ada-bootstrap.x86_64.dragonfly.36A.tar.bz2 Package gcc5-aux: missing distfile ada-bootstrap.x86_64.freebsd.84.tar.bz2 Package gcc5-aux: missing distfile ada-bootstrap.x86_64.solaris.511.tar.bz2 Package ghc7: missing distfile ghc-7.6.3-boot-i386-unknown-freebsd.tar.xz Package icc11: missing distfile l_cproc_p_11.1.080.tgz Package jini: missing distfile jini-1_2_1_001-src.zip Package oo2c: missing distfile oo2c_32-2.0.11.tar.bz2 Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-5-i386-20150301.tar.xz Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-6-i386-20150301.tar.xz Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-earmv6hf-20150306.tar.xz Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz Package openjdk7: missing distfile openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2 Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-5-i386-20150301.tar.xz Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-6-i386-20150301.tar.xz Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-earmv6hf-20150306.tar.xz Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz Package openjdk8: missing distfile openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2 Package oracle-jdk8: missing distfile jdk-8u60-linux-i586.tar.gz Package oracle-jdk8: missing distfile jdk-8u60-solaris-x64.tar.gz Package oracle-jre8: missing distfile jre-8u60-linux-i586.tar.gz Package oracle-jre8: missing distfile jre-8u60-solaris-x64.tar.gz Package sun-jdk6: missing distfile jdk-6u45-linux-i586.bin Package sun-jdk6: missing distfile jdk-6u45-solaris-i586.sh Package sun-jdk7: missing distfile jdk-7u72-linux-i586.tar.gz Package sun-jdk7: missing distfile jdk-7u72-solaris-i586.tar.gz Package sun-jre6: missing distfile jce_policy-6.zip Package sun-jre6: missing distfile jre-6u45-linux-x64.bin Package sun-jre6: missing distfile jre-6u45-solaris-x64.sh Package sun-jre7: missing distfile jre-7u72-linux-i586.tar.gz Package sun-jre7: missing distfile jre-7u72-solaris-i586.tar.gz Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail.
2015-09-26Update to clang-3.7.0 and libLLVM-3.7.0tnn4-63/+214
Compacted version of upstream's release notes: The LLVM C API LLVMGetTargetMachineData is deprecated DataLayout is no longer optional Comdats are now ortogonal to the linkage On ELF now supports multiple sections with the same name and comdat LLVM now lazily loads metadata in some cases Creating archives with IR files with debug info is now 25X faster llvm-ar(1) can create archives in the BSD format used by OS X LLVM received a backend for the extended Berkely Packet Filter instruction set The BPF target is now available by default Switch-case lowering was rewritten to avoid generating unbalanced search trees The debug info IR class hierarchy now inherits from Metadata Argument-less TargetMachine::getSubtarget has been removed from the tree
2015-09-25preempt any fallout by including a comment abount making sure MesaLibtnn1-1/+4
still works when updating this.
2015-09-11drop obsolete patchestnn3-31/+1
2015-07-20Changes 3.6.2:adam2-15/+15
Bug-fix release.
2015-05-28Changes 3.6.1:adam3-18/+16
* Support for AuroraUX has been removed. * Added support for a native object file-based bitcode wrapper format. * Added support for MSVC’s __vectorcall calling convention as x86_vectorcallcc. * Prefix data rework * Metadata is not a Value * Alias syntax change * The old JIT has been removed * object::Binary doesn’t own the file buffer * IR in object files is now supported * The gold plugin has been rewritten
2015-05-22Fix Linux PLIST issue.ryoon1-2/+3
Tested under Debian GNU/Linux 8.
2015-04-26Use full paths to archive files instead of -lfoo to avoid wrapper reorderingtnn2-4/+8
when linking a shared library out of .a files. This is what other packages that use -Wl,--whole-archive seem to do. This works with and without cwrappers. XXX someone please apply similar fixes for Darwin and SunOS if necessary
2015-04-07Unbreak C++ on NetBSD, by popular demand.tnn2-2/+13
Background: LLVM 3.6 upstream added support for being a native toolchain on NetBSD. This changed the default C++ runtime library from libstdc++ to libc++. Patch this in pkgsrc's clang so we continue to use libstdc++ (for now) Proper support for libc++ should be added later (perhaps w/ PKG_OPTIONs). Thanks to Joerg for explaining the problem.
2015-04-06Teach the llvm shared library build rules about NetBSD so we get a singletnn2-1/+28
shlib with whole-archive like on other platforms. Bump revision and bl3.
2015-04-03Remove shlib option. lang/libLLVM provides equivalent functionality.tnn2-146/+2
2015-03-22need zlibtnn1-1/+2
2015-03-13needs gzip(1) tool for generation of html.tar.gztnn1-2/+2
2015-03-04delete bl3.mk. It only has a handful of users in wip/, will adjust them.tnn1-13/+0
2015-03-04Makefile: move some stuff from Makefile.common heretnn3-9/+8
PLIST: unsubstitute ${MACHINE_ARCH}
2015-03-04convert to Makefile.common-style package so libLLVM can reference thistnn3-97/+105
2015-03-03Add default off shlib option for building PIC & installing shared libLLVM libs.tnn6-6/+181
I will spin this off to a libLLVM package when we have a ready use case for it. Packages that may want to use libLLVM are for example MesaLib and OpenJDK.
2015-03-03Update to clang-3.6.0 (2015-02-27)tnn3-40/+94
Non-comprehensive list of changes in this release: - Support for AuroraUX has been removed. - Added support for a native object file-based bitcode wrapper format. - Added support for MSVC?s __vectorcall calling convention as x86_vectorcallcc.
2015-01-29Changes 3.5.1:adam2-20/+18
All backends have been changed to use the MC asm printer and support for the non MC one has been removed. Clang can now successfully self-host itself on Linux/Sparc64 and on FreeBSD/Sparc64. LLVM now assumes the assembler supports .loc for generating debug line numbers. The old support for printing the debug line info directly was only used by llc and has been removed. All inline assembly is parsed by the integrated assembler when it is enabled. Previously this was only the case for object-file output. It is now the case for assembly output as well. The integrated assembler can be disabled with the -no-integrated-as option. llvm-ar now handles IR files like regular object files. In particular, a regular symbol table is created for symbols defined in IR files, including those in file scope inline assembly. LLVM now always uses cfi directives for producing most stack unwinding information. The prefix for loop vectorizer hint metadata has been changed from llvm.vectorizer to llvm.loop.vectorize. In addition, llvm.vectorizer.unroll metadata has been renamed llvm.loop.interleave.count. Some backends previously implemented Atomic NAND(x,y) as x & ~y. Now all backends implement it as ~(x & y), matching the semantics of GCC 4.4 and later.
2014-11-15This builds with gcc 4.8 too, don't make me build 4.7.riz1-2/+2
2014-10-14clang 3.5 needs gcc 4.7 and later when build with gcc.taca1-1/+2
2014-10-01Add option for installing the static analyzer.wiz5-2/+104
Default off since it depends on perl AND python.