Sha256: c1c6c038ebdb9d694b1fac638b3534675b6dbe80e913a4cc184b9974ff9e418f

Contents?: true

Size: 1.14 KB

Versions: 68

Compression:

Stored size: 1.14 KB

Contents

import os
import sys
from setuptools import find_packages, setup
from pathlib import Path

SCRIPT_DIR = Path(__file__).resolve().parent

os.chdir(SCRIPT_DIR)

# print script_dir
print(SCRIPT_DIR)

LIB_DIR = str(SCRIPT_DIR / "../../ext/rbspy")

def build_native(spec):
    # Step 1: build the rust library
    build = spec.add_external_build(
        cmd=['cargo', 'build', '--release'],
        path=LIB_DIR
    )

    def find_dylib():
        cargo_target = os.environ.get('CARGO_BUILD_TARGET')
        if cargo_target:
            in_path = 'target/%s/release' % (cargo_target)
        else:
            in_path = 'target/release'
        return build.find_dylib('rbspy', in_path=in_path)

    # Step 2: package the compiled library
    rtld_flags = ["NOW"]
    if sys.platform == "darwin":
        rtld_flags.append("NODELETE")

    spec.add_cffi_module(module_path='rbspy._native',
            dylib=find_dylib,
            header_filename=lambda:
            build.find_header('rbspy.h',in_path='include'),
            rtld_flags=rtld_flags,
    )

setup(
    platforms="any",
    milksnake_tasks=[build_native],
    setup_requires=["milksnakex>=0.1.6"],
)

Version data entries

68 entries across 68 versions & 2 rubygems

Version Path
pyroscope-0.5.10-x86_64-darwin elflib/rbspy/setup.py
pyroscope-0.5.10-x86_64-linux elflib/rbspy/setup.py
pyroscope-0.5.10-aarch64-linux elflib/rbspy/setup.py
pyroscope-0.5.10-arm64-darwin elflib/rbspy/setup.py
pyroscope-0.5.10 elflib/rbspy/setup.py
pyroscope-0.5.9-arm64-darwin elflib/rbspy/setup.py
pyroscope-0.5.9-x86_64-linux elflib/rbspy/setup.py
pyroscope-0.5.9 elflib/rbspy/setup.py
pyroscope-0.5.9-x86_64-darwin elflib/rbspy/setup.py
pyroscope-0.5.9-aarch64-linux elflib/rbspy/setup.py
pyroscope-0.5.8-x86_64-darwin elflib/rbspy/setup.py
pyroscope-0.5.8-x86_64-linux elflib/rbspy/setup.py
pyroscope-0.5.8-arm64-darwin elflib/rbspy/setup.py
pyroscope-0.5.8 elflib/rbspy/setup.py
pyroscope-0.5.8-aarch64-linux elflib/rbspy/setup.py
pyroscope-0.5.7-x86_64-darwin elflib/rbspy/setup.py
pyroscope-0.5.7-arm64-darwin elflib/rbspy/setup.py
pyroscope-0.5.7-x86_64-linux elflib/rbspy/setup.py
pyroscope-0.5.7-aarch64-linux elflib/rbspy/setup.py
pyroscope-0.5.7 elflib/rbspy/setup.py