Author: jroelofs Date: Mon Nov 9 10:12:56 2015 New Revision: 252474 URL: http://llvm.org/viewvc/llvm-project?rev=252474&view=rev Log: Create install targets for scan-build and scan-view
http://reviews.llvm.org/D14403 Added: cfe/trunk/tools/scan-build/CMakeLists.txt cfe/trunk/tools/scan-build/Makefile cfe/trunk/tools/scan-view/CMakeLists.txt cfe/trunk/tools/scan-view/Makefile Modified: cfe/trunk/tools/CMakeLists.txt cfe/trunk/tools/Makefile cfe/trunk/tools/scan-build/scan-build cfe/trunk/tools/scan-view/Reporter.py cfe/trunk/tools/scan-view/ScanView.py cfe/trunk/www/analyzer/installation.html Modified: cfe/trunk/tools/CMakeLists.txt URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/CMakeLists.txt?rev=252474&r1=252473&r2=252474&view=diff ============================================================================== --- cfe/trunk/tools/CMakeLists.txt (original) +++ cfe/trunk/tools/CMakeLists.txt Mon Nov 9 10:12:56 2015 @@ -5,6 +5,8 @@ add_clang_subdirectory(driver) add_clang_subdirectory(clang-format) add_clang_subdirectory(clang-format-vs) add_clang_subdirectory(clang-fuzzer) +add_clang_subdirectory(scan-build) +add_clang_subdirectory(scan-view) add_clang_subdirectory(c-index-test) add_clang_subdirectory(libclang) Modified: cfe/trunk/tools/Makefile URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/Makefile?rev=252474&r1=252473&r2=252474&view=diff ============================================================================== --- cfe/trunk/tools/Makefile (original) +++ cfe/trunk/tools/Makefile Mon Nov 9 10:12:56 2015 @@ -15,7 +15,7 @@ DIRS := PARALLEL_DIRS := clang-format driver diagtool ifeq ($(ENABLE_CLANG_STATIC_ANALYZER), 1) - PARALLEL_DIRS += clang-check + PARALLEL_DIRS += clang-check scan-build scan-view endif ifeq ($(ENABLE_CLANG_ARCMT), 1) Added: cfe/trunk/tools/scan-build/CMakeLists.txt URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/scan-build/CMakeLists.txt?rev=252474&view=auto ============================================================================== --- cfe/trunk/tools/scan-build/CMakeLists.txt (added) +++ cfe/trunk/tools/scan-build/CMakeLists.txt Mon Nov 9 10:12:56 2015 @@ -0,0 +1,71 @@ +add_custom_target(scan-build ALL) + +option(CLANG_INSTALL_SCANBUILD "Install the scan-build tool" ON) + +if (WIN32 AND NOT CYGWIN) + set(BinFiles + scan-build.bat) + set(LibexecFiles + ccc-analyzer.bat + c++-analyzer.bat) +else() + set(BinFiles + scan-build) + set(LibexecFiles + ccc-analyzer + c++-analyzer) + if (APPLE) + set(BinFiles ${BinFiles} + set-xcode-analyzer) + endif() +endif() + +set(ManPages + scan-build.1) + +set(ResourceFiles + scanview.css + sorttable.js) + + +if(CLANG_INSTALL_SCANBUILD) + foreach(BinFile ${BinFiles}) + add_custom_command(TARGET scan-build PRE_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_BINARY_DIR}/bin + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/${BinFile} + ${CMAKE_BINARY_DIR}/bin/) + install(PROGRAMS ${BinFile} DESTINATION bin) + endforeach() + + foreach(LibexecFile ${LibexecFiles}) + add_custom_command(TARGET scan-build PRE_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_BINARY_DIR}/libexec + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/${LibexecFile} + ${CMAKE_BINARY_DIR}/libexec/) + install(PROGRAMS ${LibexecFile} DESTINATION libexec) + endforeach() + + foreach(ManPage ${ManPages}) + add_custom_command(TARGET scan-build PRE_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_BINARY_DIR}/share/man/man1 + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/${ManPage} + ${CMAKE_BINARY_DIR}/share/man/man1/) + install(PROGRAMS scan-build.1 DESTINATION share/man/man1) + endforeach() + + foreach(ResourceFile ${ResourceFiles}) + add_custom_command(TARGET scan-build PRE_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_BINARY_DIR}/bin + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/${ResourceFile} + ${CMAKE_BINARY_DIR}/bin/) + install(FILES ${ResourceFile} DESTINATION bin) + endforeach() +endif() Added: cfe/trunk/tools/scan-build/Makefile URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/scan-build/Makefile?rev=252474&view=auto ============================================================================== --- cfe/trunk/tools/scan-build/Makefile (added) +++ cfe/trunk/tools/scan-build/Makefile Mon Nov 9 10:12:56 2015 @@ -0,0 +1,53 @@ +##===- tools/scan-build/Makefile ---------------------------*- Makefile -*-===## +# +# The LLVM Compiler Infrastructure +# +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. +# +##===----------------------------------------------------------------------===## + +CLANG_LEVEL := ../.. + +include $(CLANG_LEVEL)/../../Makefile.config +include $(CLANG_LEVEL)/Makefile + +ifeq ($(HOST_OS),MingW) + Suffix := .bat +endif + +CLANG_INSTALL_SCANBUILD ?= 1 + +ifeq ($(CLANG_INSTALL_SCANBUILD), 1) + InstallTargets := $(ToolDir)/scan-build$(Suffix) \ + $(LibexecDir)/c++-analyzer$(Suffix) \ + $(LibexecDir)/ccc-analyzer$(Suffix) \ + $(ShareDir)/scan-build/scanview.css \ + $(ShareDir)/scan-build/sorttable.js \ + $(ShareDir)/man/man1/scan-build.1 + + ifeq ($(HOST_OS),Darwin) + InstallTargets := $(InstallTargets) $(ToolDir)/set-xcode-analyzer + endif +endif + +all:: $(InstallTargets) + +$(ToolDir)/%: % Makefile $(ToolDir)/.dir + $(Echo) "Copying $(notdir $<) to the 'bin' directory..." + $(Verb)cp $< $@ + $(Verb)chmod +x $@ + +$(LibexecDir)/%: % Makefile $(LibexecDir)/.dir + $(Echo) "Copying $(notdir $<) to the 'libexec' directory..." + $(Verb)cp $< $@ + $(Verb)chmod +x $@ + +$(ShareDir)/man/man1/%: % Makefile $(ShareDir)/man/man1/.dir + $(Echo) "Copying $(notdir $<) to the 'share' directory..." + $(Verb)cp $< $@ + +$(ShareDir)/scan-build/%: % Makefile $(ShareDir)/scan-build/.dir + $(Echo) "Copying $(notdir $<) to the 'share' directory..." + $(Verb)cp $< $@ + Modified: cfe/trunk/tools/scan-build/scan-build URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/scan-build/scan-build?rev=252474&r1=252473&r2=252474&view=diff ============================================================================== --- cfe/trunk/tools/scan-build/scan-build (original) +++ cfe/trunk/tools/scan-build/scan-build Mon Nov 9 10:12:56 2015 @@ -1737,8 +1737,8 @@ $Options{OutputDir} = GetHTMLRunDir($Opt # Determine the location of ccc-analyzer. my $AbsRealBin = Cwd::realpath($RealBin); -my $Cmd = "$AbsRealBin/libexec/ccc-analyzer"; -my $CmdCXX = "$AbsRealBin/libexec/c++-analyzer"; +my $Cmd = "$AbsRealBin/../libexec/ccc-analyzer"; +my $CmdCXX = "$AbsRealBin/../libexec/c++-analyzer"; # Portability: use less strict but portable check -e (file exists) instead of # non-portable -x (file is executable). On some windows ports -x just checks Added: cfe/trunk/tools/scan-view/CMakeLists.txt URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/scan-view/CMakeLists.txt?rev=252474&view=auto ============================================================================== --- cfe/trunk/tools/scan-view/CMakeLists.txt (added) +++ cfe/trunk/tools/scan-view/CMakeLists.txt Mon Nov 9 10:12:56 2015 @@ -0,0 +1,33 @@ +add_custom_target(scan-view ALL) + +option(CLANG_INSTALL_SCANVIEW "Install the scan-view tool" ON) + +set(BinFiles + Reporter.py + ScanView.py + scan-view + startfile.py) + +file(GLOB ResourceFiles Resources/*) + +if(CLANG_INSTALL_SCANVIEW) + foreach(BinFile ${BinFiles}) + add_custom_command(TARGET scan-view PRE_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_BINARY_DIR}/bin + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/${BinFile} + ${CMAKE_BINARY_DIR}/bin/) + install(PROGRAMS ${BinFile} DESTINATION bin) + endforeach() + + foreach(ResourceFile ${ResourceFiles}) + add_custom_command(TARGET scan-view PRE_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_BINARY_DIR}/share/scan-view + COMMAND ${CMAKE_COMMAND} -E copy + ${ResourceFile} + ${CMAKE_BINARY_DIR}/share/scan-view/) + install(FILES ${ResourceFile} DESTINATION share/scan-view) + endforeach() +endif() Added: cfe/trunk/tools/scan-view/Makefile URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/scan-view/Makefile?rev=252474&view=auto ============================================================================== --- cfe/trunk/tools/scan-view/Makefile (added) +++ cfe/trunk/tools/scan-view/Makefile Mon Nov 9 10:12:56 2015 @@ -0,0 +1,37 @@ +##===- tools/scan-view/Makefile ----------------------------*- Makefile -*-===## +# +# The LLVM Compiler Infrastructure +# +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. +# +##===----------------------------------------------------------------------===## + +CLANG_LEVEL := ../.. + +include $(CLANG_LEVEL)/../../Makefile.config +include $(CLANG_LEVEL)/Makefile + +CLANG_INSTALL_SCANVIEW ?= 1 + +ifeq ($(CLANG_INSTALL_SCANVIEW), 1) + InstallTargets := $(ToolDir)/Reporter.py \ + $(ToolDir)/ScanView.py \ + $(ToolDir)/scan-view \ + $(ToolDir)/startfile.py \ + $(ShareDir)/scan-view/FileRadar.scpt \ + $(ShareDir)/scan-view/GetRadarVersion.scpt \ + $(ShareDir)/scan-view/bugcatcher.ico +endif + +all:: $(InstallTargets) + +$(ToolDir)/%: % Makefile $(ToolDir)/.dir + $(Echo) "Copying $(notdir $<) to the 'bin' directory..." + $(Verb)cp $< $@ + $(Verb)chmod +x $@ + +$(ShareDir)/scan-view/%: Resources/% Makefile $(ShareDir)/scan-view/.dir + $(Echo) "Copying $(notdir $<) to the 'share' directory..." + $(Verb)cp $< $@ + Modified: cfe/trunk/tools/scan-view/Reporter.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/scan-view/Reporter.py?rev=252474&r1=252473&r2=252474&view=diff ============================================================================== --- cfe/trunk/tools/scan-view/Reporter.py (original) +++ cfe/trunk/tools/scan-view/Reporter.py Mon Nov 9 10:12:56 2015 @@ -175,7 +175,7 @@ class RadarReporter: @staticmethod def isAvailable(): # FIXME: Find this .scpt better - path = os.path.join(os.path.dirname(__file__),'Resources/GetRadarVersion.scpt') + path = os.path.join(os.path.dirname(__file__),'../share/scan-view/GetRadarVersion.scpt') try: p = subprocess.Popen(['osascript',path], stdout=subprocess.PIPE, stderr=subprocess.PIPE) @@ -206,7 +206,7 @@ class RadarReporter: if not componentVersion.strip(): componentVersion = 'X' - script = os.path.join(os.path.dirname(__file__),'Resources/FileRadar.scpt') + script = os.path.join(os.path.dirname(__file__),'../share/scan-view/FileRadar.scpt') args = ['osascript', script, component, componentVersion, classification, personID, report.title, report.description, diagnosis, config] + map(os.path.abspath, report.files) # print >>sys.stderr, args Modified: cfe/trunk/tools/scan-view/ScanView.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/scan-view/ScanView.py?rev=252474&r1=252473&r2=252474&view=diff ============================================================================== --- cfe/trunk/tools/scan-view/ScanView.py (original) +++ cfe/trunk/tools/scan-view/ScanView.py Mon Nov 9 10:12:56 2015 @@ -73,7 +73,7 @@ kReportReplacements.append((re.compile(' ### # Other simple parameters -kResources = posixpath.join(posixpath.dirname(__file__), 'Resources') +kResources = posixpath.join(posixpath.dirname(__file__), '../share/scan-view') kConfigPath = os.path.expanduser('~/.scanview.cfg') ### Modified: cfe/trunk/www/analyzer/installation.html URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/www/analyzer/installation.html?rev=252474&r1=252473&r2=252474&view=diff ============================================================================== --- cfe/trunk/www/analyzer/installation.html (original) +++ cfe/trunk/www/analyzer/installation.html Mon Nov 9 10:12:56 2015 @@ -100,11 +100,8 @@ binaries to the installation directory o <li>The locations of the <tt>scan-build</tt> and <tt>scan-view</tt> programs. -<p>Currently these are not installed using <tt>make install</tt>, and -are located in <tt>$(SRCDIR)/tools/clang/tools/scan-build</tt> and -<tt>$(SRCDIR)/tools/clang/tools/scan-view</tt> respectively (where -<tt>$(SRCDIR)</tt> is the root LLVM source directory). These locations -are subject to change.</p></li> +<p>These are installed via <tt>make install</tt> into the bin directory +when clang is built.</p></li> </ul> </div> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits