Skip to content

Commit

Permalink
build: tell libc++ to avoid including transitive headers
Browse files Browse the repository at this point in the history
And apply BOOST_*_NO_DEPRECATED to debug builds only

Change-Id: I6fdd5176bd2a84938af13c343982cd9c0e0573e3
  • Loading branch information
Pesa committed Feb 24, 2024
1 parent 0ecbec0 commit 682b2af
Show file tree
Hide file tree
Showing 12 changed files with 12 additions and 34 deletions.
7 changes: 4 additions & 3 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
name: Publish Docker image

on:
push:
branches:
- master
paths-ignore:
- '*.md'
- '.jenkins'
- '.jenkins.d/**'
- '.mailmap'
- 'tests/**'
workflow_dispatch:

permissions:
Expand All @@ -15,7 +17,6 @@ permissions:

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
publish:
Expand All @@ -35,7 +36,7 @@ jobs:
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
Expand Down
3 changes: 0 additions & 3 deletions .waf-tools/boost.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
#!/usr/bin/env python
# encoding: utf-8
#
# partially based on boost.py written by Gernot Vormayr
# written by Ruediger Sonderfeld <[email protected]>, 2008
# modified by Bjoern Michaelsen, 2008
Expand Down
2 changes: 0 additions & 2 deletions .waf-tools/coverage.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-

from waflib import TaskGen

def options(opt):
Expand Down
2 changes: 0 additions & 2 deletions .waf-tools/cross.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-

from waflib import Utils

def options(opt):
Expand Down
13 changes: 7 additions & 6 deletions .waf-tools/default-compiler-flags.py
Original file line number Diff line number Diff line change
@@ -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

Expand Down Expand Up @@ -128,16 +126,16 @@ def getCompilerVersion(self, conf):

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']}
Expand Down Expand Up @@ -246,6 +244,9 @@ def getDebugFlags(self, conf):
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):
Expand Down
3 changes: 0 additions & 3 deletions .waf-tools/doxygen.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
#! /usr/bin/env python
# encoding: UTF-8
# Thomas Nagy 2008-2010 (ita)

"""
Doxygen support
Variables passed to bld():
Expand Down
3 changes: 0 additions & 3 deletions .waf-tools/openssl.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
#! /usr/bin/env python
# encoding: utf-8

"""
When using this tool, the wscript should look like:
Expand Down
3 changes: 0 additions & 3 deletions .waf-tools/osx-frameworks.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
#! /usr/bin/env python
# encoding: utf-8

from waflib import Logs, Utils, TaskGen
from waflib.Configure import conf

Expand Down
2 changes: 0 additions & 2 deletions .waf-tools/pch.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
#! /usr/bin/env python
# encoding: utf-8
# Alexander Afanasyev (UCLA), 2014

"""
Expand Down
2 changes: 1 addition & 1 deletion .waf-tools/sanitizers.py
Original file line number Diff line number Diff line change
@@ -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',
Expand Down
3 changes: 0 additions & 3 deletions .waf-tools/sphinx_build.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
#!/usr/bin/env python
# encoding: utf-8

# inspired by code by Hans-Martin von Gaudecker, 2012

import os
Expand Down
3 changes: 0 additions & 3 deletions .waf-tools/sqlite3.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
#! /usr/bin/env python
# encoding: utf-8

from waflib.Configure import conf

def options(opt):
Expand Down

0 comments on commit 682b2af

Please sign in to comment.