File macros.python3.py of Package python3

#!/usr/bin/python3

""" generate macros.python3 file from known values """

import sys,os
from sysconfig import get_path, get_config_var

version = "{}.{}".format(*sys.version_info)
abiflags = get_config_var("ABIFLAGS")

macros = {
    "py3_ver":          version,
    "py3_prefix":       sys.prefix,
# hack-fix for bnc#787526 - get_path can't be used this way in python build dir
#    "py3_incdir":       get_path("include"),
    "py3_incdir":       "/usr/include/python" + version + abiflags,
    "py3_abiflags":     abiflags,
    "py3_soflags":      get_config_var("SOABI"),
    "python3_sitelib":  get_path("purelib"),
    "python3_sitearch": get_path("platlib"),
    "py3_compile(O)": """
find %1 -name '*.pyc' -exec rm -f {} ";"
python3 -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1
%{-O:
find %1 -name '*.pyo' -exec rm -f {} ";"
python3 -O -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1
}""",
}

for (macro,definition) in macros.items():
    definition = "\\\n".join(definition.split("\n"))
    print( "%{} {}".format(macro, definition))