If you want to build the Android client then you will need to follow instructions here to sync Android related code as well.
There are two different build configurations depending on what you want to build, either the client or the engine.
Regardless of which you build, it is helpful to setup the following environment variable in your shell to get a better view of how the build is progressing:
export NINJA_STATUS="[%r %f/%s/%u/%t] "
It will give you a count for the following values:
[RUNNING FINISHED/STARTED/NOT_STARTED/TOTAL]. See the ninja manual for a full list of template values.
Create an out-directory and set the GN args:
mkdir -p out-android/Debug echo "import(\"//build/args/blimp_client.gn\")" > out-android/Debug/args.gn gn gen out-android/Debug
ninja -C out-android/Debug blimp chrome_public_apk_incremental
This will also generate an incremental APK, which you can install with this command:
During development, it might be beneficial to put these two commands together like this:
ninja -C out-android/Debug blimp chrome_public_apk_incremental && \ out-android/Debug/bin/install_chrome_public_apk_incremental
To add your own build preferences:
gn args out-android/Debug
For example, you can build
x86 APK by adding
target_cpu = "x86" to the
Create another out-directory and set the GN args:
mkdir -p out-linux/Debug echo "import(\"//build/args/blimp_engine.gn\")" > out-linux/Debug/args.gn gn gen out-linux/Debug
ninja -C out-linux/Debug blimp
To add your own build preferences
gn args out-linux/Debug
Adding new build arguments should be fairly rare. Arguments first need to be declared.
They can then be used to change how the binary is built or passed through to code as a defines.
Finally the Blimp argument templates should be updated to reflect the (non-default for Chrome) behavior desired by Blimp (see below).
These can be updated as in the same manner as your personal
args.gn files to override default argument values.