xref: /aosp_15_r20/external/trace-cmd/Android.bp (revision 58e6ee5f017f6a8912852c892d18457e4bafb554)
1*58e6ee5fSAndroid Build Coastguard Workerpackage {
2*58e6ee5fSAndroid Build Coastguard Worker    default_applicable_licenses: ["external_trace-cmd_license"],
3*58e6ee5fSAndroid Build Coastguard Worker}
4*58e6ee5fSAndroid Build Coastguard Worker
5*58e6ee5fSAndroid Build Coastguard Worker// See: http://go/android-license-faq
6*58e6ee5fSAndroid Build Coastguard Workerlicense {
7*58e6ee5fSAndroid Build Coastguard Worker    name: "external_trace-cmd_license",
8*58e6ee5fSAndroid Build Coastguard Worker
9*58e6ee5fSAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
10*58e6ee5fSAndroid Build Coastguard Worker
11*58e6ee5fSAndroid Build Coastguard Worker    license_kinds: [
12*58e6ee5fSAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL-2.0",
13*58e6ee5fSAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL-2.0-only",
14*58e6ee5fSAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL-2.0+",
15*58e6ee5fSAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL-2.0-or-later",
16*58e6ee5fSAndroid Build Coastguard Worker        "SPDX-license-identifier-LGPL-2.1+",
17*58e6ee5fSAndroid Build Coastguard Worker    ],
18*58e6ee5fSAndroid Build Coastguard Worker
19*58e6ee5fSAndroid Build Coastguard Worker    license_text: [
20*58e6ee5fSAndroid Build Coastguard Worker        "LICENSE",
21*58e6ee5fSAndroid Build Coastguard Worker    ],
22*58e6ee5fSAndroid Build Coastguard Worker}
23*58e6ee5fSAndroid Build Coastguard Worker
24*58e6ee5fSAndroid Build Coastguard Workergenrule {
25*58e6ee5fSAndroid Build Coastguard Worker    name: "tc_version_header",
26*58e6ee5fSAndroid Build Coastguard Worker    srcs: ["Makefile"],
27*58e6ee5fSAndroid Build Coastguard Worker    out: ["tc_version.h"],
28*58e6ee5fSAndroid Build Coastguard Worker    cmd: "(" +
29*58e6ee5fSAndroid Build Coastguard Worker         "VERSION=$$(grep '\\bTC_VERSION =' <$(in) | awk '{ print $$3 }') " +
30*58e6ee5fSAndroid Build Coastguard Worker         "&& PATCHLEVEL=$$(grep '\\bTC_PATCHLEVEL =' <$(in) | awk '{ print $$3 }') " +
31*58e6ee5fSAndroid Build Coastguard Worker         "&& VERSION_CODE=$$(expr $${VERSION} \\* 256 + $${PATCHLEVEL}) " +
32*58e6ee5fSAndroid Build Coastguard Worker         "&& EXTRAVERSION=$$(grep '\\bTC_EXTRAVERSION =' <$(in) | awk '{ print $$3 }') " +
33*58e6ee5fSAndroid Build Coastguard Worker         "&& echo '/* This file is automatically generated. Do not modify */' " +
34*58e6ee5fSAndroid Build Coastguard Worker         "&& echo \"#define VERSION_CODE $${VERSION_CODE}\" " +
35*58e6ee5fSAndroid Build Coastguard Worker         "&& echo \"#define EXTRAVERSION $${EXTRAVERSION}\" " +
36*58e6ee5fSAndroid Build Coastguard Worker         "&& echo '#define VERSION_STRING \"'$${VERSION}.$${PATCHLEVEL}.$${EXTRAVERSION}'\"' " +
37*58e6ee5fSAndroid Build Coastguard Worker         "&& echo '#define FILE_VERSION ' " +
38*58e6ee5fSAndroid Build Coastguard Worker         "&& echo '#define VERSION_GIT \"not-a-git-repo\"' " +
39*58e6ee5fSAndroid Build Coastguard Worker         ") > $(out)",
40*58e6ee5fSAndroid Build Coastguard Worker}
41*58e6ee5fSAndroid Build Coastguard Worker
42*58e6ee5fSAndroid Build Coastguard Workercc_library {
43*58e6ee5fSAndroid Build Coastguard Worker    name: "libtracecmd",
44*58e6ee5fSAndroid Build Coastguard Worker
45*58e6ee5fSAndroid Build Coastguard Worker    // Restrict visibility due to GPL license
46*58e6ee5fSAndroid Build Coastguard Worker    visibility: [
47*58e6ee5fSAndroid Build Coastguard Worker        "//external/trace-cmd:__subpackages__",
48*58e6ee5fSAndroid Build Coastguard Worker    ],
49*58e6ee5fSAndroid Build Coastguard Worker
50*58e6ee5fSAndroid Build Coastguard Worker    local_include_dirs: [
51*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/include/private",
52*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/include",
53*58e6ee5fSAndroid Build Coastguard Worker        "include/trace-cmd",
54*58e6ee5fSAndroid Build Coastguard Worker        "tracecmd/include",
55*58e6ee5fSAndroid Build Coastguard Worker        "include",
56*58e6ee5fSAndroid Build Coastguard Worker    ],
57*58e6ee5fSAndroid Build Coastguard Worker
58*58e6ee5fSAndroid Build Coastguard Worker    export_include_dirs: [
59*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/include",
60*58e6ee5fSAndroid Build Coastguard Worker    ],
61*58e6ee5fSAndroid Build Coastguard Worker
62*58e6ee5fSAndroid Build Coastguard Worker    srcs: [
63*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/test.c",
64*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-blk-hack.c",
65*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-compress.c",
66*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-compress-zlib.c",
67*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-filter-hash.c",
68*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-ftrace.c",
69*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-hash.c",
70*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-hooks.c",
71*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-input.c",
72*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-msg.c",
73*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-output.c",
74*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-perf.c",
75*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-plugin.c",
76*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-recorder.c",
77*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-timesync.c",
78*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-timesync-kvm.c",
79*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-timesync-ptp.c",
80*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/trace-util.c",
81*58e6ee5fSAndroid Build Coastguard Worker    ],
82*58e6ee5fSAndroid Build Coastguard Worker
83*58e6ee5fSAndroid Build Coastguard Worker    shared: {
84*58e6ee5fSAndroid Build Coastguard Worker        shared_libs: [
85*58e6ee5fSAndroid Build Coastguard Worker            "libtraceevent",
86*58e6ee5fSAndroid Build Coastguard Worker            "libtracefs",
87*58e6ee5fSAndroid Build Coastguard Worker            "libz",
88*58e6ee5fSAndroid Build Coastguard Worker        ],
89*58e6ee5fSAndroid Build Coastguard Worker        export_shared_lib_headers: [
90*58e6ee5fSAndroid Build Coastguard Worker            "libtraceevent",
91*58e6ee5fSAndroid Build Coastguard Worker            "libtracefs",
92*58e6ee5fSAndroid Build Coastguard Worker            "libz",
93*58e6ee5fSAndroid Build Coastguard Worker        ],
94*58e6ee5fSAndroid Build Coastguard Worker    },
95*58e6ee5fSAndroid Build Coastguard Worker
96*58e6ee5fSAndroid Build Coastguard Worker    static: {
97*58e6ee5fSAndroid Build Coastguard Worker        static_libs: [
98*58e6ee5fSAndroid Build Coastguard Worker            "libtraceevent",
99*58e6ee5fSAndroid Build Coastguard Worker            "libtracefs",
100*58e6ee5fSAndroid Build Coastguard Worker            "libz",
101*58e6ee5fSAndroid Build Coastguard Worker        ],
102*58e6ee5fSAndroid Build Coastguard Worker        export_static_lib_headers: [
103*58e6ee5fSAndroid Build Coastguard Worker            "libtraceevent",
104*58e6ee5fSAndroid Build Coastguard Worker            "libtracefs",
105*58e6ee5fSAndroid Build Coastguard Worker            "libz",
106*58e6ee5fSAndroid Build Coastguard Worker        ],
107*58e6ee5fSAndroid Build Coastguard Worker    },
108*58e6ee5fSAndroid Build Coastguard Worker
109*58e6ee5fSAndroid Build Coastguard Worker    generated_headers: ["tc_version_header"],
110*58e6ee5fSAndroid Build Coastguard Worker
111*58e6ee5fSAndroid Build Coastguard Worker    export_generated_headers: ["tc_version_header"],
112*58e6ee5fSAndroid Build Coastguard Worker
113*58e6ee5fSAndroid Build Coastguard Worker    cflags: [
114*58e6ee5fSAndroid Build Coastguard Worker        "-D__bswap_64=__swap64",
115*58e6ee5fSAndroid Build Coastguard Worker        "-D_GNU_SOURCE",
116*58e6ee5fSAndroid Build Coastguard Worker        "-DPERF",
117*58e6ee5fSAndroid Build Coastguard Worker        "-DVSOCK",
118*58e6ee5fSAndroid Build Coastguard Worker        "-Wno-unused-parameter",
119*58e6ee5fSAndroid Build Coastguard Worker        "-Wno-macro-redefined",
120*58e6ee5fSAndroid Build Coastguard Worker        "-Wno-unused-but-set-variable",
121*58e6ee5fSAndroid Build Coastguard Worker        "-Wno-user-defined-warnings",
122*58e6ee5fSAndroid Build Coastguard Worker        "-Wno-visibility",
123*58e6ee5fSAndroid Build Coastguard Worker        "-Wno-pointer-arith",
124*58e6ee5fSAndroid Build Coastguard Worker    ],
125*58e6ee5fSAndroid Build Coastguard Worker
126*58e6ee5fSAndroid Build Coastguard Worker    c_std: "gnu99",
127*58e6ee5fSAndroid Build Coastguard Worker}
128*58e6ee5fSAndroid Build Coastguard Worker
129*58e6ee5fSAndroid Build Coastguard Workercc_binary {
130*58e6ee5fSAndroid Build Coastguard Worker    name: "trace-cmd",
131*58e6ee5fSAndroid Build Coastguard Worker
132*58e6ee5fSAndroid Build Coastguard Worker    local_include_dirs: [
133*58e6ee5fSAndroid Build Coastguard Worker        "lib/trace-cmd/include/private",
134*58e6ee5fSAndroid Build Coastguard Worker        "include/trace-cmd",
135*58e6ee5fSAndroid Build Coastguard Worker        "tracecmd/include",
136*58e6ee5fSAndroid Build Coastguard Worker        "include",
137*58e6ee5fSAndroid Build Coastguard Worker    ],
138*58e6ee5fSAndroid Build Coastguard Worker
139*58e6ee5fSAndroid Build Coastguard Worker    srcs: ["tracecmd/*.c"],
140*58e6ee5fSAndroid Build Coastguard Worker
141*58e6ee5fSAndroid Build Coastguard Worker    static_libs: [
142*58e6ee5fSAndroid Build Coastguard Worker        "libtraceevent",
143*58e6ee5fSAndroid Build Coastguard Worker        "libtracecmd",
144*58e6ee5fSAndroid Build Coastguard Worker        "libtracefs",
145*58e6ee5fSAndroid Build Coastguard Worker    ],
146*58e6ee5fSAndroid Build Coastguard Worker
147*58e6ee5fSAndroid Build Coastguard Worker    static_executable: true,
148*58e6ee5fSAndroid Build Coastguard Worker
149*58e6ee5fSAndroid Build Coastguard Worker    cflags: [
150*58e6ee5fSAndroid Build Coastguard Worker        "-D_GNU_SOURCE",
151*58e6ee5fSAndroid Build Coastguard Worker        "-DNO_AUDIT",
152*58e6ee5fSAndroid Build Coastguard Worker        "-DVSOCK",
153*58e6ee5fSAndroid Build Coastguard Worker        "-Wno-unused-parameter",
154*58e6ee5fSAndroid Build Coastguard Worker        "-Wno-macro-redefined",
155*58e6ee5fSAndroid Build Coastguard Worker        "-Wno-visibility",
156*58e6ee5fSAndroid Build Coastguard Worker        "-Wno-pointer-arith",
157*58e6ee5fSAndroid Build Coastguard Worker    ],
158*58e6ee5fSAndroid Build Coastguard Worker
159*58e6ee5fSAndroid Build Coastguard Worker    c_std: "gnu99",
160*58e6ee5fSAndroid Build Coastguard Worker}
161