blob: 0f8ddac6ca9f14a4262efd108d03f56b09ff1903 [file] [log] [blame]
#!/bin/bash -eu
# Copyright 2025 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
if [[ $# -lt 1 ]]; then
echo "Usage: ./no_modules_compile_command.sh <gn output directory> <os (optional, default linux)>"
exit 1
fi
src="../../build/modules/modularize/no_modules.cc"
# Ensure all the dependencies are present on disk.
autoninja -C "$1" -offline "${src}^" 1>&2
# Outputs a generic command to compile an arbitrary cc file.
siso query commands -C "$1" "${src}^" | \
tail -1 | \
sed -E 's~ -MMD -MF [^ ]* ~ ~' | \
sed 's~ /showIncludes:user ~ ~' | \
sed -E "s~ (-o |/Fo)[^ ]* ~ ~" | \
sed 's~ /TP ~ ~' | \
sed "s~ ${src} ~ ~g" | \
sed 's~ ~ ~g' | \
tr -d '\n'
# This specifically needs to go at the end.
# Otherwise Windows attempts to compile to /dev/null.obj
echo " -o /dev/null"