This should help reduce warning spew when building with newer compilers. The pybind11::module type has been renamed pybind11::module_ to avoid conflicts with c++20 modules, according to the pybind11 changelog, so this CL also updates gem5 source to use the new type. There is supposedly an alias pybind11::module which is for compatibility, but we still get linker errors without changing to pybind11::module_. Change-Id: I0acb36215b33e3a713866baec43f5af630c356ee Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/40255 Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu> Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu> Tested-by: kokoro <noreply+kokoro@google.com>
53 lines
1.1 KiB
Python
53 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import print_function
|
|
|
|
import argparse
|
|
import sys
|
|
import sysconfig
|
|
|
|
from .commands import get_include, get_cmake_dir
|
|
|
|
|
|
def print_includes():
|
|
# type: () -> None
|
|
dirs = [
|
|
sysconfig.get_path("include"),
|
|
sysconfig.get_path("platinclude"),
|
|
get_include(),
|
|
]
|
|
|
|
# Make unique but preserve order
|
|
unique_dirs = []
|
|
for d in dirs:
|
|
if d and d not in unique_dirs:
|
|
unique_dirs.append(d)
|
|
|
|
print(" ".join("-I" + d for d in unique_dirs))
|
|
|
|
|
|
def main():
|
|
# type: () -> None
|
|
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument(
|
|
"--includes",
|
|
action="store_true",
|
|
help="Include flags for both pybind11 and Python headers.",
|
|
)
|
|
parser.add_argument(
|
|
"--cmakedir",
|
|
action="store_true",
|
|
help="Print the CMake module directory, ideal for setting -Dpybind11_ROOT in CMake.",
|
|
)
|
|
args = parser.parse_args()
|
|
if not sys.argv[1:]:
|
|
parser.print_help()
|
|
if args.includes:
|
|
print_includes()
|
|
if args.cmakedir:
|
|
print(get_cmake_dir())
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|