Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(183)

Side by Side Diff: ppapi/tests/clang/README

Issue 5703008: Revert 69187, http://codereview.chromium.org/5730003/. DEPS check failed due... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ppapi/tests/clang/Makefile ('k') | ppapi/tests/clang/find_affected_interfaces.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 This is a directory for Clang plugins that are designed to do analysis and/or ma nipulation of PPAPI code. Clang is an open-source C front-end that allows you t o parse C, C++, or Objective-C code in to an abstract syntax tree (or AST) for p rocessing.
2
3 To use these plugins, you will need to get Clang. Clang is rapidly changing, so you may want to download and build it yourself. See the instructions here:
4 - http://clang.llvm.org/get_started.html
5
6 To build the plugins, use the Makefile in this directory. If you want the provi ded Makefile to work out-of-the-box, in step 2 of the instructions at the above URL, you should do the following:
7 > mkdir ~/llvm
8 > cd ~/llvm
9 Now continue with the svn co command to check out llvm in ~/llvm/llvm.
10
11 To run a plugin, use clang with the -cc1 -load and -plugin flags and an otherwis e normal build line. For example, to run liBPrintNamesAndSizes.so, if you curre ntly build like this:
12 g++ (build_options)
13 Run this from the command-line instead:
14 clang -cc1 -load ppapi/tests/clang/libPrintNamesAndSizes.so -plugin PrintNamesAn dSizes (build_options)
15
16 Plugins:
17 PrintNamesAndSizes : print_names_and_sizes.cc
18 Print information about all top-level type definitions. You probably won't need to run it by itself; instead see generate_ppapi_size_checks.py, which uses the plugin.
19
20 Example command-line:
21 python generate_ppapi_size_checks.py --ppapi-root=/usr/local/google/chrome_bui ld/src/ppapi
22 python generate_ppapi_size_checks.py --help
23
24
25 FindAffectedInterfaces : find_affected_interfaces.cc
26 Given typenames as parameters, print out all types that are affected (including function pointer types and structs containing affected function pointer types) i f the given type(s) change. This is meant to be used for determining what inter faces are affected by a change to a struct.
27
28 Example command-line:
29 clang -cc1 -load ppapi/tests/clang/libFindAffectedInterfaces.so -plugin FindAf fectedInterfaces -I. ppapi/tests/all_includes.h -plugin-arg-FindAffectedInterfac es "struct PP_VideoCompressedDataBuffer_Dev"
30 clang -cc1 -load tests/clang/libFindAffectedInterfaces.so -plugin FindAffected Interfaces -I../ tests/all_c_includes.h -plugin-arg-FindAffectedInterfaces "stru ct PP_VideoCompressedDataBuffer_Dev,struct PP_Var"
31
32 (This assumes that clang is in your path and you are running the plugin from the ppapi subdirectory in a chrome checkout).
OLDNEW
« no previous file with comments | « ppapi/tests/clang/Makefile ('k') | ppapi/tests/clang/find_affected_interfaces.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698