Extra Clang Tools

blubee blubeeme gurenchan at gmail.com
Sat Sep 16 13:52:42 UTC 2017


Howdy

I made a few changes to the devel/llvm40/Makefile and added pp-trace as the
last line of EXTRA_COMMANDS

Then I rebuilt llvm40, then I noticed that the pp-trace executable is
built, here's a output of the work directory grepping for pp-trace:
/usr/local/share/doc/llvm38/clang-tools/html/_sources/pp-trace.txt
/usr/local/share/doc/llvm38/clang-tools/html/pp-trace.html
/usr/local/share/doc/llvm39/clang-tools/html/_sources/pp-trace.txt
/usr/local/share/doc/llvm39/clang-tools/html/pp-trace.html
/usr/local/share/doc/llvm40/clang-tools/html/_sources/pp-trace.txt
/usr/local/share/doc/llvm40/clang-tools/html/pp-trace.html
/usr/ports/devel/llvm40/work/.build/bin/pp-trace
/usr/ports/devel/llvm40/work/.build/tools/clang/tools/extra/docs/_doctrees-html/pp-trace.doctree
/usr/ports/devel/llvm40/work/.build/tools/clang/tools/extra/docs/_doctrees-man/pp-trace.doctree
/usr/ports/devel/llvm40/work/.build/tools/clang/tools/extra/docs/html/_sources/pp-trace.txt
/usr/ports/devel/llvm40/work/.build/tools/clang/tools/extra/docs/html/pp-trace.html
/usr/ports/devel/llvm40/work/.build/tools/clang/tools/extra/pp-trace
/usr/ports/devel/llvm40/work/.build/tools/clang/tools/extra/pp-trace/CMakeFiles
/usr/ports/devel/llvm40/work/.build/tools/clang/tools/extra/pp-trace/CMakeFiles/pp-trace.dir
/usr/ports/devel/llvm40/work/.build/tools/clang/tools/extra/pp-trace/CMakeFiles/pp-trace.dir/PPCallbacksTracker.cpp.o
/usr/ports/devel/llvm40/work/.build/tools/clang/tools/extra/pp-trace/CMakeFiles/pp-trace.dir/PPTrace.cpp.o
/usr/ports/devel/llvm40/work/.build/tools/clang/tools/extra/pp-trace/cmake_install.cmake
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/docs/pp-trace.rst
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/pp-trace
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/pp-trace/CMakeLists.txt
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/pp-trace/PPCallbacksTracker.cpp
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/pp-trace/PPCallbacksTracker.h
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/pp-trace/PPTrace.cpp
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace/Inputs
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace/Inputs/Level1A.h
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace/Inputs/Level1B.h
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace/Inputs/Level2A.h
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace/Inputs/Level2B.h
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace/Inputs/ModularizeList.txt
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace/Inputs/module.map
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace/pp-trace-conditional.cpp
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace/pp-trace-ident.cpp
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace/pp-trace-include.cpp
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace/pp-trace-macro.cpp
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace/pp-trace-modules.cpp
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma-general.cpp
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma-ms.cpp
/usr/ports/devel/llvm40/work/llvm-4.0.1.src/tools/clang/tools/extra/test/pp-trace/pp-trace-pragma-opencl.cpp
/usr/ports/devel/llvm40/work/stage/usr/local/share/doc/llvm40/clang-tools/html/_sources/pp-trace.txt
/usr/ports/devel/llvm40/work/stage/usr/local/share/doc/llvm40/clang-tools/html/pp-trace.html


So it now gets built but not installed; is it possible to have the port
updated to move these files to the proper after they are built?

I made a one line change to the Makefile:
# $FreeBSD: head/devel/llvm40/Makefile 449591 2017-09-10 20:55:38Z gerald $

EXTRAS_COMMANDS+= \
clang-apply-replacements \
clang-change-namespace \
clang-include-fixer \
clang-modernize \
clang-query \
clang-rename \
clang-reorder-fields \
clang-tidy \
find-all-symbols \
modularize \
pp-trace #===========================# My edit

Best

On Sat, Sep 16, 2017 at 2:01 PM, Shane Ambler <FreeBSD at shaneware.biz> wrote:

> On 16/09/2017 11:59, blubee blubeeme wrote:
>
>> FreeBSD switched to clang as it's compiler some time ago; was clang extra
>> tools: http://clang.llvm.org/extra/index.html ever ported over?
>>
>> If yes, where is it located?
>>
>
> You will find them included in the llvm ports with EXTRAS enabled
>
> clang-tidy is in llvm 3.8+
> clang-include-fixer is in llvm 3.9+
> modularize is in llvm 3.8+
> pp-trace doesn't appear to exist
> clang-rename is in llvm 3.8+
> clangd is in llvm-devel (5.0)
>
> Note that llvm ports append the version to the app name - they can be
> found in /usr/local/bin and /usr/local/llvm-<VERS>/bin/
>
> Building base WITH_CLANG_EXTRAS offers a different set of extras which
> are also in the llvm ports.
> As listed in 11-STABLE from /usr/src/usr.bin/clang/Makefile
>
> bugpoint clang-format llc lli llvm-ar llvm-as llvm-bcanalyzer llvm-cov
> llvm-cxxdump llvm-cxxfilt llvm-diff llvm-dis llvm-dwarfdump llvm-extract
> llvm-link llvm-lto llvm-lto2 llvm-mc llvm-modextract llvm-nm
> llvm-pdbdump llvm-profdata llvm-rtdyld llvm-symbolizer llvm-xray opt
>
>
> --
> FreeBSD - the place to B...Software Developing
>
> Shane Ambler
>
>


More information about the freebsd-ports mailing list