build: tell libc++ to avoid including transitive headers
And apply BOOST_*_NO_DEPRECATED to debug builds only
Change-Id: I6fdd5176bd2a84938af13c343982cd9c0e0573e3
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
index 5778e25..e324a31 100644
--- a/.github/workflows/docker.yml
+++ b/.github/workflows/docker.yml
@@ -1,12 +1,14 @@
name: Publish Docker image
-
on:
push:
branches:
- master
paths-ignore:
- '*.md'
+ - '.jenkins'
+ - '.jenkins.d/**'
- '.mailmap'
+ - 'tests/**'
workflow_dispatch:
permissions:
@@ -15,7 +17,6 @@
env:
REGISTRY: ghcr.io
- IMAGE_NAME: ${{ github.repository }}
jobs:
publish:
@@ -35,7 +36,7 @@
id: meta
uses: docker/metadata-action@v5
with:
- images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
+ images: ${{ env.REGISTRY }}/${{ github.repository }}
flavor: latest=true
- name: Build and push Docker image
diff --git a/.waf-tools/boost.py b/.waf-tools/boost.py
index a6cdabe..dab6949 100644
--- a/.waf-tools/boost.py
+++ b/.waf-tools/boost.py
@@ -1,6 +1,3 @@
-#!/usr/bin/env python
-# encoding: utf-8
-#
# partially based on boost.py written by Gernot Vormayr
# written by Ruediger Sonderfeld <ruediger@c-plusplus.de>, 2008
# modified by Bjoern Michaelsen, 2008
diff --git a/.waf-tools/coverage.py b/.waf-tools/coverage.py
index cc58165..4ca9740 100644
--- a/.waf-tools/coverage.py
+++ b/.waf-tools/coverage.py
@@ -1,5 +1,3 @@
-# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
-
from waflib import TaskGen
def options(opt):
diff --git a/.waf-tools/cross.py b/.waf-tools/cross.py
index 17b8c8f..a03171c 100644
--- a/.waf-tools/cross.py
+++ b/.waf-tools/cross.py
@@ -1,5 +1,3 @@
-# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
-
from waflib import Utils
def options(opt):
diff --git a/.waf-tools/default-compiler-flags.py b/.waf-tools/default-compiler-flags.py
index 6869097..39b3025 100644
--- a/.waf-tools/default-compiler-flags.py
+++ b/.waf-tools/default-compiler-flags.py
@@ -1,5 +1,3 @@
-# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
-
import platform
from waflib import Configure, Logs, Utils
@@ -128,16 +126,16 @@
def getGeneralFlags(self, conf):
"""Get dict of CXXFLAGS, LINKFLAGS, and DEFINES that are always needed"""
+ return {'CXXFLAGS': [], 'LINKFLAGS': [], 'DEFINES': []}
+
+ def getDebugFlags(self, conf):
+ """Get dict of CXXFLAGS, LINKFLAGS, and DEFINES that are needed only in debug mode"""
return {
'CXXFLAGS': [],
'LINKFLAGS': [],
'DEFINES': ['BOOST_ASIO_NO_DEPRECATED', 'BOOST_FILESYSTEM_NO_DEPRECATED'],
}
- def getDebugFlags(self, conf):
- """Get dict of CXXFLAGS, LINKFLAGS, and DEFINES that are needed only in debug mode"""
- return {'CXXFLAGS': [], 'LINKFLAGS': [], 'DEFINES': []}
-
def getOptimizedFlags(self, conf):
"""Get dict of CXXFLAGS, LINKFLAGS, and DEFINES that are needed only in optimized mode"""
return {'CXXFLAGS': [], 'LINKFLAGS': [], 'DEFINES': ['NDEBUG']}
@@ -246,6 +244,9 @@
elif self.getCompilerVersion(conf) >= (15, 0, 0):
# https://releases.llvm.org/15.0.0/projects/libcxx/docs/UsingLibcxx.html#enabling-the-safe-libc-mode
flags['DEFINES'] += ['_LIBCPP_ENABLE_ASSERTIONS=1']
+ # Tell libc++ to avoid including transitive headers
+ # https://libcxx.llvm.org/DesignDocs/HeaderRemovalPolicy.html
+ flags['DEFINES'] += ['_LIBCPP_REMOVE_TRANSITIVE_INCLUDES=1']
return flags
def getOptimizedFlags(self, conf):
diff --git a/.waf-tools/doxygen.py b/.waf-tools/doxygen.py
index 6d8066b..18b3292 100644
--- a/.waf-tools/doxygen.py
+++ b/.waf-tools/doxygen.py
@@ -1,9 +1,6 @@
-#! /usr/bin/env python
-# encoding: UTF-8
# Thomas Nagy 2008-2010 (ita)
"""
-
Doxygen support
Variables passed to bld():
diff --git a/.waf-tools/openssl.py b/.waf-tools/openssl.py
index 51521c4..07c3c6a 100644
--- a/.waf-tools/openssl.py
+++ b/.waf-tools/openssl.py
@@ -1,6 +1,3 @@
-#! /usr/bin/env python
-# encoding: utf-8
-
"""
When using this tool, the wscript should look like:
diff --git a/.waf-tools/osx-frameworks.py b/.waf-tools/osx-frameworks.py
index 76cd3df..a657f70 100644
--- a/.waf-tools/osx-frameworks.py
+++ b/.waf-tools/osx-frameworks.py
@@ -1,6 +1,3 @@
-#! /usr/bin/env python
-# encoding: utf-8
-
from waflib import Logs, Utils, TaskGen
from waflib.Configure import conf
diff --git a/.waf-tools/pch.py b/.waf-tools/pch.py
index 103e752..6f410b4 100644
--- a/.waf-tools/pch.py
+++ b/.waf-tools/pch.py
@@ -1,5 +1,3 @@
-#! /usr/bin/env python
-# encoding: utf-8
# Alexander Afanasyev (UCLA), 2014
"""
diff --git a/.waf-tools/sanitizers.py b/.waf-tools/sanitizers.py
index a8fe55d..c65d009 100644
--- a/.waf-tools/sanitizers.py
+++ b/.waf-tools/sanitizers.py
@@ -1,4 +1,4 @@
-# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
+# Davide Pesavento (LIP6), 2016
def options(opt):
opt.add_option('--with-sanitizer', action='store', default='', dest='sanitizers',
diff --git a/.waf-tools/sphinx_build.py b/.waf-tools/sphinx_build.py
index b44a54f..8585352 100644
--- a/.waf-tools/sphinx_build.py
+++ b/.waf-tools/sphinx_build.py
@@ -1,6 +1,3 @@
-#!/usr/bin/env python
-# encoding: utf-8
-
# inspired by code by Hans-Martin von Gaudecker, 2012
import os
diff --git a/.waf-tools/sqlite3.py b/.waf-tools/sqlite3.py
index 4f2c016..66fb945 100644
--- a/.waf-tools/sqlite3.py
+++ b/.waf-tools/sqlite3.py
@@ -1,6 +1,3 @@
-#! /usr/bin/env python
-# encoding: utf-8
-
from waflib.Configure import conf
def options(opt):