Merge tag 'v3.3.7' into 3.3/master
[zen-stable.git] / tools / perf / scripts / perl / Perf-Trace-Util / README
blob2f0c7f3043ee5d992727b50f11c404d33cfb009e
1 Perf-Trace-Util version 0.01
2 ============================
4 This module contains utility functions for use with perf script.
6 Core.pm and Util.pm are pure Perl modules; Core.pm contains routines
7 that the core perf support for Perl calls on and should always be
8 'used', while Util.pm contains useful but optional utility functions
9 that scripts may want to use.  Context.pm contains the Perl->C
10 interface that allows scripts to access data in the embedding perf
11 executable; scripts wishing to do that should 'use Context.pm'.
13 The Perl->C perf interface is completely driven by Context.xs.  If you
14 want to add new Perl functions that end up accessing C data in the
15 perf executable, you add desciptions of the new functions here.
16 scripting_context is a pointer to the perf data in the perf executable
17 that you want to access - it's passed as the second parameter,
18 $context, to all handler functions.
20 After you do that:
22   perl Makefile.PL   # to create a Makefile for the next step
23   make               # to create Context.c
25   edit Context.c to add const to the char* file = __FILE__ line in
26   XS(boot_Perf__Trace__Context) to silence a warning/error.
28   You can delete the Makefile, object files and anything else that was
29   generated e.g. blib and shared library, etc, except for of course
30   Context.c
32   You should then be able to run the normal perf make as usual.
34 INSTALLATION
36 Building perf with perf script Perl scripting should install this
37 module in the right place.
39 You should make sure libperl and ExtUtils/Embed.pm are installed first
40 e.g. apt-get install libperl-dev or yum install perl-ExtUtils-Embed.
42 DEPENDENCIES
44 This module requires these other modules and libraries:
46   None
48 COPYRIGHT AND LICENCE
50 Copyright (C) 2009 by Tom Zanussi <tzanussi@gmail.com>
52 This library is free software; you can redistribute it and/or modify
53 it under the same terms as Perl itself, either Perl version 5.10.0 or,
54 at your option, any later version of Perl 5 you may have available.
56 Alternatively, this software may be distributed under the terms of the
57 GNU General Public License ("GPL") version 2 as published by the Free
58 Software Foundation.