<filename>lib/dpdk-20.08/share/dpdk/buildtools/pkg-config/set-static-linker-flags.py
#!/usr/bin/env python3
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2020 Intel Corporation

# Script to fix flags for static linking in pkgconfig files from meson
# Should be called from meson build itself
import os
import sys


def fix_ldflag(f):
    if not f.startswith('-lrte_'):
        return f
    return '-l:lib' + f[2:] + '.a'


def fix_libs_private(line):
    if not line.startswith('Libs.private'):
        return line
    ldflags = [fix_ldflag(flag) for flag in line.split()]
    return ' '.join(ldflags) + '\n'


def process_pc_file(filepath):
    print('Processing', filepath)
    with open(filepath) as src:
        lines = src.readlines()
    with open(filepath, 'w') as dst:
        dst.writelines([fix_libs_private(line) for line in lines])


if 'MESON_BUILD_ROOT' not in os.environ:
    print('This script must be called from a meson build environment')
    sys.exit(1)
for root, dirs, files in os.walk(os.environ['MESON_BUILD_ROOT']):
    pc_files = [f for f in files if f.endswith('.pc')]
    for f in pc_files:
        process_pc_file(os.path.join(root, f))

<filename>lib/dpdk-20.08/share/dpdk/buildtools/pkg-config/set-static-linker-flags.py
#!/usr/bin/env python3
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2020 Intel Corporation

# Script to fix flags for static linking in pkgconfig files from meson
# Should be called from meson build itself
import os
import sys


def fix_ldflag(f):
    if not f.startswith('-lrte_'):
        return f
    return '-l:lib' + f[2:] + '.a'


def fix_libs_private(line):
    if not line.startswith('Libs.private'):
        return line
    ldflags = [fix_ldflag(flag) for flag in line.split()]
    return ' '.join(ldflags) + '\n'


def process_pc_file(filepath):
    print('Processing', filepath)
    with open(filepath) as src:
        lines = src.readlines()
    with open(filepath, 'w') as dst:
        dst.writelines([fix_libs_private(line) for line in lines])


if 'MESON_BUILD_ROOT' not in os.environ:
    print('This script must be called from a meson build environment')
    sys.exit(1)
for root, dirs, files in os.walk(os.environ['MESON_BUILD_ROOT']):
    pc_files = [f for f in files if f.endswith('.pc')]
    for f in pc_files:
        process_pc_file(os.path.join(root, f))

#!/usr/bin/env python3 # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2020 Intel Corporation # Script to fix flags for static linking in pkgconfig files from meson # Should be called from meson build itself