Skip to content

Commit

Permalink
Merge changes Ief839a13,I71c2e74b into main
Browse files Browse the repository at this point in the history
* changes:
  shared_lib: Fix macros for MSVC
  Expose perfetto shared library to Android.bp
  • Loading branch information
ddiproietto authored and Gerrit Code Review committed Aug 14, 2023
2 parents 2a5d21f + 9261194 commit c36c70c
Show file tree
Hide file tree
Showing 4 changed files with 189 additions and 4 deletions.
172 changes: 172 additions & 0 deletions Android.bp
Original file line number Diff line number Diff line change
Expand Up @@ -722,6 +722,178 @@ cc_library_shared {
],
}

// GN: //src/shared_lib:libperfetto_c
cc_library_shared {
name: "libperfetto_c",
srcs: [
":perfetto_base_default_platform",
":perfetto_include_perfetto_base_base",
":perfetto_include_perfetto_ext_base_base",
":perfetto_include_perfetto_ext_base_version",
":perfetto_include_perfetto_ext_ipc_ipc",
":perfetto_include_perfetto_ext_tracing_core_core",
":perfetto_include_perfetto_ext_tracing_ipc_ipc",
":perfetto_include_perfetto_protozero_protozero",
":perfetto_include_perfetto_public_abi_base",
":perfetto_include_perfetto_public_abi_public",
":perfetto_include_perfetto_public_base",
":perfetto_include_perfetto_public_protos_protos",
":perfetto_include_perfetto_public_protozero",
":perfetto_include_perfetto_public_public",
":perfetto_include_perfetto_tracing_core_core",
":perfetto_include_perfetto_tracing_core_forward_decls",
":perfetto_include_perfetto_tracing_tracing",
":perfetto_protos_perfetto_common_cpp_gen",
":perfetto_protos_perfetto_common_zero_gen",
":perfetto_protos_perfetto_config_android_cpp_gen",
":perfetto_protos_perfetto_config_android_zero_gen",
":perfetto_protos_perfetto_config_cpp_gen",
":perfetto_protos_perfetto_config_ftrace_cpp_gen",
":perfetto_protos_perfetto_config_ftrace_zero_gen",
":perfetto_protos_perfetto_config_gpu_cpp_gen",
":perfetto_protos_perfetto_config_gpu_zero_gen",
":perfetto_protos_perfetto_config_inode_file_cpp_gen",
":perfetto_protos_perfetto_config_inode_file_zero_gen",
":perfetto_protos_perfetto_config_interceptors_cpp_gen",
":perfetto_protos_perfetto_config_interceptors_zero_gen",
":perfetto_protos_perfetto_config_power_cpp_gen",
":perfetto_protos_perfetto_config_power_zero_gen",
":perfetto_protos_perfetto_config_process_stats_cpp_gen",
":perfetto_protos_perfetto_config_process_stats_zero_gen",
":perfetto_protos_perfetto_config_profiling_cpp_gen",
":perfetto_protos_perfetto_config_profiling_zero_gen",
":perfetto_protos_perfetto_config_statsd_cpp_gen",
":perfetto_protos_perfetto_config_statsd_zero_gen",
":perfetto_protos_perfetto_config_sys_stats_cpp_gen",
":perfetto_protos_perfetto_config_sys_stats_zero_gen",
":perfetto_protos_perfetto_config_system_info_cpp_gen",
":perfetto_protos_perfetto_config_system_info_zero_gen",
":perfetto_protos_perfetto_config_track_event_cpp_gen",
":perfetto_protos_perfetto_config_track_event_zero_gen",
":perfetto_protos_perfetto_config_zero_gen",
":perfetto_protos_perfetto_ipc_cpp_gen",
":perfetto_protos_perfetto_ipc_ipc_gen",
":perfetto_protos_perfetto_ipc_wire_protocol_cpp_gen",
":perfetto_protos_perfetto_trace_android_zero_gen",
":perfetto_protos_perfetto_trace_chrome_zero_gen",
":perfetto_protos_perfetto_trace_filesystem_zero_gen",
":perfetto_protos_perfetto_trace_ftrace_zero_gen",
":perfetto_protos_perfetto_trace_gpu_zero_gen",
":perfetto_protos_perfetto_trace_interned_data_zero_gen",
":perfetto_protos_perfetto_trace_minimal_zero_gen",
":perfetto_protos_perfetto_trace_non_minimal_zero_gen",
":perfetto_protos_perfetto_trace_perfetto_zero_gen",
":perfetto_protos_perfetto_trace_power_zero_gen",
":perfetto_protos_perfetto_trace_profiling_zero_gen",
":perfetto_protos_perfetto_trace_ps_zero_gen",
":perfetto_protos_perfetto_trace_statsd_zero_gen",
":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
":perfetto_protos_perfetto_trace_system_info_zero_gen",
":perfetto_protos_perfetto_trace_track_event_cpp_gen",
":perfetto_protos_perfetto_trace_track_event_zero_gen",
":perfetto_protos_perfetto_trace_translation_zero_gen",
":perfetto_src_android_internal_headers",
":perfetto_src_android_internal_lazy_library_loader",
":perfetto_src_android_stats_android_stats",
":perfetto_src_android_stats_perfetto_atoms",
":perfetto_src_base_base",
":perfetto_src_base_unix_socket",
":perfetto_src_base_version",
":perfetto_src_ipc_client",
":perfetto_src_ipc_common",
":perfetto_src_ipc_host",
":perfetto_src_protozero_filtering_bytecode_common",
":perfetto_src_protozero_filtering_bytecode_parser",
":perfetto_src_protozero_filtering_message_filter",
":perfetto_src_protozero_filtering_string_filter",
":perfetto_src_protozero_protozero",
":perfetto_src_shared_lib_intern_map",
":perfetto_src_shared_lib_shared_lib",
":perfetto_src_tracing_client_api_without_backends",
":perfetto_src_tracing_common",
":perfetto_src_tracing_core_core",
":perfetto_src_tracing_core_service",
":perfetto_src_tracing_in_process_backend",
":perfetto_src_tracing_ipc_common",
":perfetto_src_tracing_ipc_consumer_consumer",
":perfetto_src_tracing_ipc_default_socket",
":perfetto_src_tracing_ipc_producer_producer",
":perfetto_src_tracing_ipc_service_service",
":perfetto_src_tracing_platform_impl",
":perfetto_src_tracing_system_backend",
],
host_supported: true,
export_include_dirs: [
"include",
],
generated_headers: [
"perfetto_protos_perfetto_common_cpp_gen_headers",
"perfetto_protos_perfetto_common_zero_gen_headers",
"perfetto_protos_perfetto_config_android_cpp_gen_headers",
"perfetto_protos_perfetto_config_android_zero_gen_headers",
"perfetto_protos_perfetto_config_cpp_gen_headers",
"perfetto_protos_perfetto_config_ftrace_cpp_gen_headers",
"perfetto_protos_perfetto_config_ftrace_zero_gen_headers",
"perfetto_protos_perfetto_config_gpu_cpp_gen_headers",
"perfetto_protos_perfetto_config_gpu_zero_gen_headers",
"perfetto_protos_perfetto_config_inode_file_cpp_gen_headers",
"perfetto_protos_perfetto_config_inode_file_zero_gen_headers",
"perfetto_protos_perfetto_config_interceptors_cpp_gen_headers",
"perfetto_protos_perfetto_config_interceptors_zero_gen_headers",
"perfetto_protos_perfetto_config_power_cpp_gen_headers",
"perfetto_protos_perfetto_config_power_zero_gen_headers",
"perfetto_protos_perfetto_config_process_stats_cpp_gen_headers",
"perfetto_protos_perfetto_config_process_stats_zero_gen_headers",
"perfetto_protos_perfetto_config_profiling_cpp_gen_headers",
"perfetto_protos_perfetto_config_profiling_zero_gen_headers",
"perfetto_protos_perfetto_config_statsd_cpp_gen_headers",
"perfetto_protos_perfetto_config_statsd_zero_gen_headers",
"perfetto_protos_perfetto_config_sys_stats_cpp_gen_headers",
"perfetto_protos_perfetto_config_sys_stats_zero_gen_headers",
"perfetto_protos_perfetto_config_system_info_cpp_gen_headers",
"perfetto_protos_perfetto_config_system_info_zero_gen_headers",
"perfetto_protos_perfetto_config_track_event_cpp_gen_headers",
"perfetto_protos_perfetto_config_track_event_zero_gen_headers",
"perfetto_protos_perfetto_config_zero_gen_headers",
"perfetto_protos_perfetto_ipc_cpp_gen_headers",
"perfetto_protos_perfetto_ipc_ipc_gen_headers",
"perfetto_protos_perfetto_ipc_wire_protocol_cpp_gen_headers",
"perfetto_protos_perfetto_trace_android_zero_gen_headers",
"perfetto_protos_perfetto_trace_chrome_zero_gen_headers",
"perfetto_protos_perfetto_trace_filesystem_zero_gen_headers",
"perfetto_protos_perfetto_trace_ftrace_zero_gen_headers",
"perfetto_protos_perfetto_trace_gpu_zero_gen_headers",
"perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
"perfetto_protos_perfetto_trace_minimal_zero_gen_headers",
"perfetto_protos_perfetto_trace_non_minimal_zero_gen_headers",
"perfetto_protos_perfetto_trace_perfetto_zero_gen_headers",
"perfetto_protos_perfetto_trace_power_zero_gen_headers",
"perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
"perfetto_protos_perfetto_trace_ps_zero_gen_headers",
"perfetto_protos_perfetto_trace_statsd_zero_gen_headers",
"perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
"perfetto_protos_perfetto_trace_system_info_zero_gen_headers",
"perfetto_protos_perfetto_trace_track_event_cpp_gen_headers",
"perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
"perfetto_protos_perfetto_trace_translation_zero_gen_headers",
"perfetto_src_base_version_gen_h",
],
defaults: [
"perfetto_defaults",
],
cflags: [
"-DPERFETTO_SHLIB_SDK_IMPLEMENTATION",
],
min_sdk_version: "30",
target: {
android: {
shared_libs: [
"liblog",
],
},
},
}

// GN: //:libperfetto_client_experimental
cc_library_static {
name: "libperfetto_client_experimental",
Expand Down
5 changes: 4 additions & 1 deletion include/perfetto/public/te_category_macros.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,10 @@
#pragma GCC system_header
#endif

#define PERFETTO_I_TE_CAT_DESCRIPTION(D, ...) D
#define PERFETTO_I_TE_CAT_DESCRIPTION_GET(D, ...) D
#define PERFETTO_I_TE_CAT_DESCRIPTION_CALL(MACRO, ARGS) MACRO ARGS
#define PERFETTO_I_TE_CAT_DESCRIPTION(D, ...) \
PERFETTO_I_TE_CAT_DESCRIPTION_CALL(PERFETTO_I_TE_CAT_DESCRIPTION_GET, (D))

#define PERFETTO_I_TE_CAT_NUM_TAGS_(A, B, C, D, E, N, ...) N
#define PERFETTO_I_TE_CAT_NUM_TAGS(...) \
Expand Down
9 changes: 6 additions & 3 deletions include/perfetto/public/te_macros.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,14 @@
#define PERFETTO_I_TE_STATIC_ASSERT_NUM_PARAMS(...) \
PERFETTO_I_TE_STATIC_ASSERT_NUM_PARAMS_(__VA_ARGS__, 0, 0, 0, 0, 0, 0)

#define PERFETTO_I_TE_LIMIT_4(NAME_AND_TYPE1, NAME_AND_TYPE2, EXTRA1, EXTRA2, \
EXTRA3, EXTRA4, ...) \
#define PERFETTO_I_TE_LIMIT_4__(NAME_AND_TYPE1, NAME_AND_TYPE2, EXTRA1, \
EXTRA2, EXTRA3, EXTRA4, ...) \
NAME_AND_TYPE1, NAME_AND_TYPE2, EXTRA1, EXTRA2, EXTRA3, EXTRA4
#define PERFETTO_I_TE_LIMIT_4_(MACRO, ARGS) MACRO ARGS
#define PERFETTO_I_TE_LIMIT_4(...) \
PERFETTO_I_TE_LIMIT_4_(PERFETTO_I_TE_LIMIT_4__, (__VA_ARGS__))

// In C we have to use a compund literal. In C++ we can use a regular
// In C we have to use a compound literal. In C++ we can use a regular
// initializer.
#ifndef __cplusplus
#define PERFETTO_I_TE_HL_MACRO_PARAMS_PREAMBLE (struct PerfettoTeHlMacroParams)
Expand Down
7 changes: 7 additions & 0 deletions tools/gen_android_bp
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ default_targets = [
'//protos/perfetto/trace:perfetto_trace_protos',
'//src/android_internal:libperfetto_android_internal',
'//src/base:perfetto_base_default_platform',
'//src/shared_lib:libperfetto_c',
'//src/perfetto_cmd:perfetto',
'//src/perfetto_cmd:trigger_perfetto',
'//src/profiling/memory:heapprofd_client',
Expand Down Expand Up @@ -102,6 +103,7 @@ target_host_supported = [
'//:libperfetto',
'//:libperfetto_client_experimental',
'//protos/perfetto/trace:perfetto_trace_protos',
'//src/shared_lib:libperfetto_c',
'//src/trace_processor:demangle',
'//src/trace_processor:trace_processor_shell',
'//src/traced/probes:traced_probes',
Expand Down Expand Up @@ -262,6 +264,11 @@ additional_args = {
('shared_libs', {'liblog'}),
('export_include_dirs', {'include', buildflags_dir}),
],
'libperfetto_c': [
('min_sdk_version', '30'),
('export_include_dirs', {'include'}),
('cflags', {'-DPERFETTO_SHLIB_SDK_IMPLEMENTATION'}),
],
'perfetto_trace_protos': [
('apex_available', {
'//apex_available:platform', 'com.android.art',
Expand Down

0 comments on commit c36c70c

Please sign in to comment.