# Task 02: native target dependencies and sysroot

## Problem

Extensions that name libraries or include their headers cannot currently
declare, build, locate, or link those target dependencies generically.

## Design requirement

Represent native target dependencies separately from Python runtime
dependencies and host build requirements. Each dependency must identify a
pinned source, hash, build recipe, output markers, license/provenance, and ABI
profile. The dynamic profile uses `out/sysroot-dynamic`; incompatible profiles
must never share object archives.

Add sysroot include and library search paths through generated cross-build
configuration, not ad hoc recipe flags.

## Reduced acceptance fixture

Before attempting a large external library, create a tiny static target library
with a header and one function. Build/install it through the dependency system,
then build a setuptools extension that declares the library normally and calls
it. The wheel must install and execute the function in the owned runtime.

After the reduced fixture passes, add one small real native library already
compatible with the project architecture. Do not begin with BLAS or NumPy.

## Exit gate

- Dependency closure is deterministic and cycle/error aware.
- Rebuilds are skipped only when validated output markers match inputs/profile.
- Missing dependency and wrong-profile reuse have focused negative tests.
- Reduced and real-library extensions import and run in owned CPython.

