tor/scripts/maint/gen_ccls_file.sh
skaluzka 82168e5e8b
Align and fix indentations in several maint scripts
Use 4 spaces indentations, convert tabs to spaces.
No real code changes.
2021-09-07 23:44:44 +02:00

32 lines
978 B
Bash
Executable File

#!/bin/sh
##############################################################################
# THIS MUST BE CALLED FROM THE ROOT DIRECTORY. IT IS USED BY THE MAKEFILE SO #
# IN THEORY, YOU SHOULD NEVER CALL THIS. #
##############################################################################
set -e
CCLS_FILE=".ccls"
# Get all #define *_PRIVATE from our source. We need to list them in our .ccls
# file and enable them otherwise ccls will not find their definition thinking
# that they are dead code.
PRIVATE_DEFS=$(grep -r --include \*.h "_PRIVATE" | grep "#ifdef" | cut -d' ' -f2 | sort | uniq)
echo "clang" > "$CCLS_FILE"
# Add these include so the ccls server can properly check new files that are
# not in the compile_commands.json yet
{
echo "-I."
echo "-I./src"
echo "-I./src/ext"
echo "-I./src/ext/trunnel"
} >> "$CCLS_FILE"
# Add all defines (-D).
for p in $PRIVATE_DEFS; do
echo "-D$p" >> "$CCLS_FILE"
done