summaryrefslogtreecommitdiff
path: root/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules60
1 files changed, 60 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 00000000..7f76c033
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,60 @@
+#!/usr/bin/make -f
+# Copyright 2020 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+
+include /usr/share/dpkg/architecture.mk
+
+export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow reproducible=+fixfilepath
+
+# Unit tests require more than 2 GB of RAM, so disable them on mipsel.
+#
+# Disable unit tests unconditionally if nocheck is set.
+ifeq ($(DEB_HOST_ARCH),mipsel)
+ABSL_RUN_TESTS=OFF
+else ifneq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),)
+ABSL_RUN_TESTS=OFF
+else
+ABSL_RUN_TESTS=ON
+endif
+
+# Debian's RISC-V builders don't have enough resources to run tests in parallel.
+# See https://bugs.debian.org/1025221.
+ifneq ($(filter $(DEB_HOST_ARCH),riscv64),)
+ABSL_TEST_EXTRA_ARGS=--no-parallel
+endif
+
+%:
+ dh $@
+
+override_dh_auto_clean:
+ $(RM) -r $(CURDIR)/static
+ $(RM) -r $(CURDIR)/shared
+
+override_dh_auto_configure:
+ dh_auto_configure -Bstatic -- -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=ON -DABSL_BUILD_TESTING=ON -DABSL_USE_GOOGLETEST_HEAD=OFF
+ dh_auto_configure -Bshared -- -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=ON
+
+override_dh_auto_build:
+ dh_auto_build -Bstatic
+ dh_auto_build -Bshared
+
+ifeq ($(ABSL_RUN_TESTS),ON)
+override_dh_auto_test:
+ dh_auto_test -Bstatic $(ABSL_TEST_EXTRA_ARGS)
+endif
+
+override_dh_auto_install:
+ dh_auto_install -Bstatic
+ dh_auto_install -Bshared
+ find debian/tmp -type d -empty -delete