summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml8
-rw-r--r--Makefile3
-rwxr-xr-xscripts/linux/tidy.sh17
-rw-r--r--scripts/main.mk2
4 files changed, 29 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml
index a17163a3e6..4948faf39c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -95,6 +95,12 @@ matrix:
addons:
apt:
packages: [ 'lib32stdc++6' ]
+ - os: linux
+ env: FLAVOR=linux CXX=clang++-3.8 BUILDTYPE=Release ACTION=tidy AWS_ACCESS_KEY_ID=
+ addons:
+ apt:
+ sources: [ 'ubuntu-toolchain-r-test', 'llvm-toolchain-precise' ]
+ packages: [ 'clang-tidy-3.8', 'libgcc-4.9-dev', 'libstdc++-4.9-dev', 'libstdc++6', 'libllvm3.4', 'libclang-common-3.8-dev', 'libclang1-3.8', 'liblldb-3.8', 'libllvm3.8', 'lldb-3.8', 'llvm-3.8', 'llvm-3.8-dev', 'llvm-3.8-runtime', 'xutils-dev', 'libxxf86vm-dev', 'x11proto-xf86vidmode-dev', 'mesa-utils' ]
env:
global:
@@ -121,7 +127,7 @@ install:
- ./scripts/${FLAVOR}/install.sh
script:
-- ./scripts/${FLAVOR}/run.sh
+- ./scripts/${FLAVOR}/${ACTION:-run}.sh
after_failure:
- "[ -f ./scripts/${FLAVOR}/after_failure.sh ] && ./scripts/${FLAVOR}/after_failure.sh"
diff --git a/Makefile b/Makefile
index 6f64e2c745..40dc9be305 100644
--- a/Makefile
+++ b/Makefile
@@ -67,6 +67,9 @@ run-linux: linux ; (cd build/linux-x86_64/$(BUILDTYPE) && ./mapbox-gl)
run-valgrind-linux: linux
(cd build/linux-x86_64/$(BUILDTYPE) && valgrind --leak-check=full --suppressions=../../../scripts/valgrind.sup ./mapbox-gl)
+
+.PHONY: config compdb tidy
+config: ; $(RUN) config
# Generates a compilation database with ninja for use in clang tooling
compdb: ; $(RUN) Ninja/compdb
tidy: ; $(RUN) tidy
diff --git a/scripts/linux/tidy.sh b/scripts/linux/tidy.sh
new file mode 100755
index 0000000000..424c82c3cd
--- /dev/null
+++ b/scripts/linux/tidy.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+
+set -e
+set -o pipefail
+
+# Ensure mason is on the PATH
+export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason"
+
+BUILDTYPE=${BUILDTYPE:-Release}
+
+export CLANG_TIDY=clang-tidy-3.8
+
+mapbox_time "config" \
+make config
+
+mapbox_time "tidy" \
+make tidy
diff --git a/scripts/main.mk b/scripts/main.mk
index eab78ef626..aefd2690ed 100644
--- a/scripts/main.mk
+++ b/scripts/main.mk
@@ -65,6 +65,8 @@ config/%.gypi: $(SUBMODULES) configure $(CONFIGURE_FILES)
@printf "$(TEXT_BOLD)$(COLOR_GREEN)* Recreating project...$(FORMAT_END)\n"
$(QUIET)$(ENV) ./scripts/flock.py build/Configure.lock ./configure config/$*.gypi
+.PHONY: config
+config: config/$(HOST_SLUG).gypi
#### Build files ###############################################################