• Home
  • Raw
  • Download

Lines Matching +full:cross +full:- +full:targets

6 A read-only mirror is also available at https://github.com/google/perfetto .
12 has non-NDK depedencies into Android internals. Profilers and internal HAL/AIDL
19 [AOSP->Chromium autoroller](https://autoroll.skia.org/r/perfetto-chromium-autoroll)
33 tools/install-build-deps [--android] [--ui] [--linux-arm]
36 `--android` will pull the Android NDK, emulator and other deps required
39 `--ui` will pull NodeJS and all the NPM modules required to build the
40 Web UI. See the [UI Development](#ui-development) section below for more.
42 `--linux-arm` will pull the sysroots for cross-compiling for Linux ARM/64.
51 as primary build system. See the [Build files](#build-files) section below for
69 See the [Build Configurations](#build-configurations) and
70 [Building on Windows](#building-on-windows) sections below for more.
75 #### Build native C/C++ targets
78 # This will build all the targets.
79 tools/ninja -C out/android
81 # Alternatively, list targets explicitly.
82 tools/ninja -C out/android \
114 This command pulls the UI-related dependencies (notably, the NodeJS binary)
118 tools/install-build-deps --ui
124 # Will build into ./out/ui by default. Can be changed with --out path/
134 # ui/build before running ui/run-dev-server.
135 ui/run-dev-server
141 source file is changed it, the script will automatically re-build it and show a
149 ui/run-unittests
158 ui/run-unittests --no-build
163 Script `ui/run-unittests` also supports `--watch` parameter, which would
165 used in conjunction with `--no-build`, and on its own as well.
170 on [GN][gn-quickstart].
180 The generator has a list of root targets that will be translated into the
188 - Hermetic clang + libcxx toolchain (both following chromium's revisions)
189 - GCC-7 and libstdc++ 6
190 - Cross-compiling for arm and arm64 (more below).
194 - Android's NDK r15c (using NDK's libcxx)
195 - AOSP's in-tree clang (using in-tree libcxx)
199 - XCode 9 / clang (maintained best-effort).
203 - Windows 10 with either MSVC 2019 or clang-cl (maintained best-effort).
208 need the full IDE, just the build tools) or the LLVM clang-cl compiler.
213 clang-cl support is more stable because that build configuration is actively
215 chrome://tracing). The MSVC build is maintained best-effort.
217 The following targets are supported on Windows:
219 - `trace_processor_shell`: the trace importer and SQL query engine.
220 - `traceconv`: the trace conversion tool.
221 - `traced` and `perfetto`: the tracing service and cmdline client. They use an
222 …ternative implementation of the [inter-process tracing protocol](/docs/design-docs/api-and-abi.md#…
225 Googlers: see [go/perfetto-win](http://go/perfetto-win) for details.
226 - `perfetto_unittests` / `perfetto_integrationtests`: although they support only
233 You need all of these both for MSVC and clang-cl:
235 - [Build Tools for Visual Studio 2019](https://visualstudio.microsoft.com/downloads/#build-tools-fo…
236 - [Windows 10 SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/)
237 - [Python 3](https://www.python.org/downloads/windows/)
247 # This will download also the LLVM clang-cl prebuilt used by chromium.
248 python3 tools/install-build-deps
262 is_clang = true # Will use the hermetic clang-cl toolchain.
270 python3 tools/ninja -C out/win perfetto traced trace_processor_shell
273 ### Cross-compiling for Linux ARM/64
275 When cross-compiling for Linux you will need a sysroot. You have two options:
277 #### 1. Use the built-in sysroots based on Debian Sid
280 tools/install-build-deps --linux-arm
300 target_triplet = "aarch64-linux-gnu" # Or any other supported triplet.
303 For more details see the [Using cutom toolchains](#custom-toolchain) section
311 The following [GN args][gn-quickstart] are supported:
320 host. 32-bit host builds are not supported.
327 (i) the `-g` compiler flag; (ii) setting/unsetting `-DNDEBUG`; (iii) turning
335 On Linux, by default it uses the self-hosted clang (see `is_hermetic_clang`).
338 See also the [custom toolchain](#custom-toolchain) section below.
342 Use bundled toolchain from `buildtools/` rather than system-wide one.
346 If `is_hermetic_clang` is `false`, sets the `-stdlib` flag for clang
353 See also the [custom toolchain](#custom-toolchain) section below.
384 ### {#custom-toolchain} Using custom toolchains and CC / CXX / CFLAGS env vars
387 necessary to switch off all the built-in toolchain-related path-guessing scripts
395 cc = "/path/to/gcc-like-compiler"
396 cxx = "/path/to/g++-like-compiler"
397 linker = "" # This is passed to -fuse-ld=...
410 `is_system_compiler = true` can be used also for cross-compilation.
411 In case of cross-compilation, the GN variables have the following semantic:
418 The cross-toolchain used to build the artifacts that run on the device is
422 # Cross compilation kicks in when at least one of these three variables is set
427 target_triplet = "arm-linux-gnueabi" | "x86_64-linux-gnu" | ...
430 When integrating with GNU Makefile cross-toolchains build environments, a
463 [gn-quickstart]: https://gn.googlesource.com/gn/+/master/docs/quick_start.md
471 tools/gn gen out/default --export-compile-commands
474 After generating, it can be used in CLion (File -> Open -> Open As Project),
482 - [Clang-Format](https://marketplace.visualstudio.com/items?itemName=xaver.clang-format)
483 - [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
484 - [clangd](https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clang…
485 - [Native Debug](https://marketplace.visualstudio.com/items?itemName=webfreak.debug)
486 - [GNFormat](https://marketplace.visualstudio.com/items?itemName=persidskiy.vscode-gnformat)
487 - [ESlint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
488 - [markdownlint](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint)
496 "C_Cpp.clang_format_path": "${workspaceRoot}/buildtools/mac/clang-format",
503 "--compile-commands-dir=${workspaceFolder}/out/mac_debug",
504 "--completion-style=detailed",
505 "--header-insertion=never"
525 "args": ["--gtest_filter=TracingServiceImplTest.StopTracingTriggerRingBuffer"],
533 Then open the command palette `Meta`+`Shift`+`P` -> `Debug: Start debugging`.