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

Unified Diff: ppapi/tests/clang/README

Issue 5730003: Add the following Clang plugins:... (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 side-by-side diff with in-line comments
Download patch
Index: ppapi/tests/clang/README
===================================================================
--- ppapi/tests/clang/README (revision 0)
+++ ppapi/tests/clang/README (revision 0)
@@ -0,0 +1,32 @@
+This is a directory for Clang plugins that are designed to do analysis and/or manipulation of PPAPI code. Clang is an open-source C front-end that allows you to parse C, C++, or Objective-C code in to an abstract syntax tree (or AST) for processing.
David Springer 2010/12/13 21:23:08 Nit: I don't know of any Style Guide for READMEs,
+
+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:
+- http://clang.llvm.org/get_started.html
+
+To build the plugins, use the Makefile in this directory. If you want the provided Makefile to work out-of-the-box, in step 2 of the instructions at the above URL, you should do the following:
+> mkdir ~/llvm
+> cd ~/llvm
+Now continue with the svn co command to check out llvm in ~/llvm/llvm.
+
+To run a plugin, use clang with the -cc1 -load and -plugin flags and an otherwise normal build line. For example, to run liBPrintNamesAndSizes.so, if you currently build like this:
+g++ (build_options)
+Run this from the command-line instead:
+clang -cc1 -load ppapi/tests/clang/libPrintNamesAndSizes.so -plugin PrintNamesAndSizes (build_options)
+
+Plugins:
+PrintNamesAndSizes : print_names_and_sizes.cc
David Springer 2010/12/13 21:23:08 Suggestion: offset the individual plugin descripti
+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.
David Springer 2010/12/13 21:23:08 What information do I get? Example output?
+
+Example command-line:
+ python generate_ppapi_size_checks.py --ppapi-root=/usr/local/google/chrome_build/src/ppapi
+ python generate_ppapi_size_checks.py --help
David Springer 2010/12/13 21:23:08 Example output? Why would I use this particular p
+
+
+FindAffectedInterfaces : find_affected_interfaces.cc
+Given typenames as parameters, print out all types that are affected (including function pointer types and structs containing affected function pointer types) if the given type(s) change. This is meant to be used for determining what interfaces are affected by a change to a struct.
+
+Example command-line:
+ clang -cc1 -load ppapi/tests/clang/libFindAffectedInterfaces.so -plugin FindAffectedInterfaces -I. ppapi/tests/all_includes.h -plugin-arg-FindAffectedInterfaces "struct PP_VideoCompressedDataBuffer_Dev"
+ clang -cc1 -load tests/clang/libFindAffectedInterfaces.so -plugin FindAffectedInterfaces -I../ tests/all_c_includes.h -plugin-arg-FindAffectedInterfaces "struct PP_VideoCompressedDataBuffer_Dev,struct PP_Var"
+
+(This assumes that clang is in your path and you are running the plugin from the ppapi subdirectory in a chrome checkout).
David Springer 2010/12/13 21:23:08 "in a chrome checkout" - this fact is important en

Powered by Google App Engine
This is Rietveld 408576698