perf trace/scripting: Fix compile error when libperl not installed
[linux-2.6.git] / tools / perf / util / trace-event-perl.h
1 #ifndef __PERF_TRACE_EVENT_PERL_H
2 #define __PERF_TRACE_EVENT_PERL_H
3 #ifdef NO_LIBPERL
4 typedef int INTERP;
5 #define dSP
6 #define ENTER
7 #define SAVETMPS
8 #define PUTBACK
9 #define SPAGAIN
10 #define FREETMPS
11 #define LEAVE
12 #define SP
13 #define ERRSV
14 #define G_SCALAR                (0)
15 #define G_DISCARD               (0)
16 #define G_NOARGS                (0)
17 #define PUSHMARK(a)
18 #define SvTRUE(a)               (0)
19 #define XPUSHs(s)
20 #define sv_2mortal(a)
21 #define newSVpv(a,b)
22 #define newSVuv(a)
23 #define newSViv(a)
24 #define get_cv(a,b)             (0)
25 #define call_pv(a,b)            (0)
26 #define perl_alloc()            (0)
27 #define perl_construct(a)       (0)
28 #define perl_parse(a,b,c,d,e)   (0)
29 #define perl_run(a)             (0)
30 #define perl_destruct(a)        (0)
31 #define perl_free(a)            (0)
32 #define pTHX                    void
33 #define CV                      void
34 #define dXSUB_SYS
35 #define pTHX_
36 static inline void newXS(const char *a, void *b, const char *c) {}
37 static void boot_Perf__Trace__Context(pTHX_ CV *cv) {}
38 static void boot_DynaLoader(pTHX_ CV *cv) {}
39 #else
40 #include <EXTERN.h>
41 #include <perl.h>
42 void boot_Perf__Trace__Context(pTHX_ CV *cv);
43 void boot_DynaLoader(pTHX_ CV *cv);
44 typedef PerlInterpreter * INTERP;
45 #endif
46
47 struct scripting_context {
48         void *event_data;
49 };
50
51 int common_pc(struct scripting_context *context);
52 int common_flags(struct scripting_context *context);
53 int common_lock_depth(struct scripting_context *context);
54
55 #endif /* __PERF_TRACE_EVENT_PERL_H */