2026-05-11 05:18:54 +00:00
import { _ as i , c as a , o as n , aj as e } from "./chunks/framework.C2AwuPrQ.js" ; const c = JSON . parse ( '{"title":"Package Model","description":"","frontmatter":{},"headers":[],"relativePath":"en/develop/package-model.md","filePath":"en/develop/package-model.md"}' ) , t = { name : "en/develop/package-model.md" } ; function l ( p , s , h , k , r , d ) { return n ( ) , a ( "div" , null , [ ... s [ 0 ] || ( s [ 0 ] = [ e ( ` <h1 id="package-model" tabindex="-1">Package Model <a class="header-anchor" href="#package-model" aria-label="Permalink to “Package Model”"> </a></h1><h2 id="package-definition" tabindex="-1">Package Definition <a class="header-anchor" href="#package-definition" aria-label="Permalink to “Package Definition”"> </a></h2><p>A Package is the core concept in StaticPHP's build system, representing a buildable/installable unit such as a PHP extension, library, or build target.</p><p>Each Package contains build information, dependencies, and build logic, forming StaticPHP's build model. Package definitions are primarily implemented through YAML/JSON configuration files. The package configuration files for the <code>core</code> registry are located in the <code>config/pkg/</code> directory, and the corresponding build classes are in the <code>src/Package/</code> directory.</p><p>Packages are primarily divided into four types:</p><ul><li><strong>php-extension</strong>: A PHP extension package containing build information and logic for a PHP extension.</li><li><strong>library</strong>: A library package containing build information and logic for build tools, dependency libraries, etc.</li><li><strong>target</strong>: A build target package representing the final build artifact, such as a PHP binary or curl binary. Inherits from the <code>library</code> package type.</li><li><strong>virtual-target</strong>: A virtual build target package representing an abstract build target that doesn't directly correspond to a build artifact, primarily used for dependency management and build scheduling.</li></ul><div class="language-yaml"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">pkg-name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}:</span></span>
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > type < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : { < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > p k g - t y p e < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > } < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > ... < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 2 i d = " a r t i f a c t - d e f i n i t i o n " t a b i n d e x = " - 1 " > A r t i f a c t D e f i n i t i o n < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # a r t i f a c t - d e f i n i t i o n " a r i a - l a b e l = " P e r m a l i n k t o “ A r t i f a c t D e f i n i t i o n ” " > < / a > < / h 2 > < p > A n A r t i f a c t i s a d e f i n i t i o n i n d e p e n d e n t o f P a c k a g e s . I t c o n t a i n s t h e s o u r c e a r c h i v e f i l e o r p r e - b u i l t b i n a r y f o r b u i l d i n g p a c k a g e s . E a c h A r t i f a c t d e f i n e s d o w n l o a d U R L s , e x t r a c t i o n m e t h o d s , a n d b u i l d a r t i f a c t f i l e p a t h s . P a c k a g e s c a n r e f e r e n c e o n e o r m o r e A r t i f a c t s v i a t h e < c o d e > a r t i f a c t < / c o d e > f i e l d t o o b t a i n t h e s o u r c e o r b i n a r i e s n e e d e d f o r b u i l d i n g . < / p > < p > I n s i m p l e t e r m s , b y d e f a u l t o n e P a c k a g e c o r r e s p o n d s t o o n e A r t i f a c t ; i f m u l t i p l e P a c k a g e s s h a r e t h e s a m e s o u r c e , y o u c a n d e f i n e a s i n g l e A r t i f a c t f o r m u l t i p l e P a c k a g e s t o r e f e r e n c e . A r t i f a c t d e f i n i t i o n s a r e l o c a t e d i n t h e < c o d e > c o n f i g / a r t i f a c t / < / c o d e > d i r e c t o r y , a n d t h e c o r r e s p o n d i n g c u s t o m d o w n l o a d / e x t r a c t l o g i c c l a s s e s a r e i n t h e < c o d e > s r c / P a c k a g e / A r t i f a c t / < / c o d e > d i r e c t o r y . F o r s p e c i a l p a c k a g e t y p e s l i k e v i r t u a l t a r g e t s a n d P H P b u i l t - i n e x t e n s i o n s , a P a c k a g e m a y a l s o o m i t t h e A r t i f a c t f i e l d e n t i r e l y . < / p > < p > A s s u m i n g < c o d e > e x a m p l e - l i b r a r y - p a c k a g e < / c o d e > i s a d e p e n d e n c y l i b r a r y w h o s e s o u r c e a r c h i v e i s h o s t e d a t < c o d e > h t t p s : / / e x a m p l e . c o m / e x a m p l e - l i b r a r y . t a r . g z < / c o d e > , i t s P a c k a g e a n d A r t i f a c t d e f i n i t i o n s w o u l d l o o k l i k e t h i s : < / p > < d i v c l a s s = " l a n g u a g e - y a m l " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > y a m l < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 e ; - - s h i k i - d a r k : # e 1 e 4 e 8 ; - - s h i k i - l i g h t - b g : # f f f ; - - s h i k i - d a r k - b g : # 2 4 2 9 2 e ; " t a b i n d e x = " 0 " d i r = " l t r " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 2 8 6 3 A ; - - s h i k i - d a r k : # 8 5 E 8 9 D ; " > e x a m p l e - l i b r a r y - p a c k a g e < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > type < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > l i b r a r y < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > artifact < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > source < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > type < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > u r l < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > url < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & # 3 9 ; h t t p s : / / e x a m p l e . c o m / e x a m p l e - l i b r a r y . t a r . g z & # 3 9 ; < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > F o r m o r e o n A r t i f a c t d e f i n i t i o n s , s e e t h e < a h r e f = " . / a r t i f a c t - m o d e l . h t m l " > A r t i f a c t M o d e l < / a > c h a p t e r . < / p > < h 2 i d = " p h p - e x t e n s i o n - p a c k a g e - t y p e " t a b i n d e x = " - 1 " > p h p - e x t e n s i o n P a c k a g e T y p e < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # p h p - e x t e n s i o n - p a c k a g e - t y p e " a r i a - l a b e l = " P e r m a l i n k t o “ p h p - e x t e n s i o n P a c k a g e T y p e ” " > < / a > < / h 2 > < p > A p h p - e x t e n s i o n p a c k a g e r e p r e s e n t s a P H P e x t e n s i o n . I t s c o n f i g u r a t i o n f i l e i s l o c a t e d i n t h e < c o d e > c o n f i g / p k g / e x t / < / c o d e > d i r e c t o r y , a n d i t s b u i l d c l a s s i n h e r i t s f r o m < c o d e > P h p E x t e n s i o n P a c k a g e < / c o d e > i n t h e < c o d e > s r c / P a c k a g e / E x t e n s i o n / < / c o d e > d i r e c t o r y . P H P e x t e n s i o n p a c k a g e c o n f i g u r a t i o n s i n c l u d e e x t e n s i o n n a m e , v e r s i o n , d e p e n d e n c i e s , b u i l d o p t i o n s , a n d m o r e . < / p > < d i v c l a s s = " l a n g u a g e - y a m l " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > y a m l < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 e ; - - s h i k i - d a r k : # e 1 e 4 e 8 ; - - s h i k i - l i g h t - b g : # f f f ; - - s h i k i - d a r k - b g : # 2 4 2 9 2 e ; " t a b i n d e x = " 0 " d i r = " l t r " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 2 8 6 3 A ; - - s h i k i - d a r k : # 8 5 E 8 9 D ; " > e x t - l z 4 < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > type < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > p h p - e x t e n s i o n < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > artifact < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > source < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > type < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > g i t < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > url < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & # 3 9 ; h t t p s : / / g i t h u b . c o m / k j d e v / p h p - e x t - l z 4 . g i t & # 3 9 ; < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > rev < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > m a s t e r < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > extract < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > p h p - s r c / e x t / l z 4 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > metadata < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > license - files < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : [ < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > L I C E N S E < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > ] < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > license < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > M I T < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > depends < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > l i b l z 4 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > php - extension < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > arg - type @ unix < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & # 3 9 ; - - e n a b l e - l z 4 = @ s h a r e d _ s u f f i x @ - - w i t h - l z 4 - i n c l u d e d i r = @ b u i l d _ r o o t _ p a t h @ & # 3 9 ; < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > arg - type @ windows < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & # 3 9 ; - - e n a b l e - l z 4 & # 3 9 ; < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > A l l o w e d f i e l d s f o r < c o d e > p h p - e x t e n s i o n < / c o d e > : < / p > < d i v c l a s s = " l a n g u a g e - y a m l " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > y a m l < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 e ; - - s h i k i - d a r k : # e 1 e 4 e 8 ; - - s h i k i - l i g h t - b g : # f f f ; - - s h i k i - d a r k - b g : # 2 4 2 9 2 e ; " t a b i n d e x = " 0 " d i r = " l t r " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 2 8 6 3 A ; - - s h i k i - d a r k : # 8 5 E 8 9 D ; " > e x t - { e x t - n a m e } < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # P a c k a g e n a m e m u s t s t a r t w i t h e x t - p r e f i x < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > type < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > p h p - e x t e n s i o n < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # ─ ─ Common Fields ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > description < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & # 3 9 ; . . & # 3 9 ; < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , h u m a n - r e a d a b l e p a c k a g e d e s c r i p t i o n < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > lang < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > c < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , i m p l e m e n t a t i o n l a n g u a g e o f t h e e x t e n s i o n ( c / c + + e t c . ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > frameworks < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : [ ] < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , l i s t o f r e l a t e d m a c O S f r a m e w o r k d e p e n d e n c i e s < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > artifact < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & # 3 9 ; { a r t i f a c t - n a m e } & # 3 9 ; < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l ; w h e n a s t r i n g , r e f e r e n c e s a n A r t i f a c t d e f i n i t i o n < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # with the same name ; when an object , is an inline Artifact < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # ( built - in extensions don & # 39 ; t need this field ) < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # depends / suggests support @ windows / @ unix / @ linux / @ macos suffixes < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > depends < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : [ ] < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , h a r d d e p e n d e n c y l i s t ( l i b r a r y n a m e s a s - i s , P H P e x t e n s i o n s n e e d e x t - p r e f i x ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > depends @ unix < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : [ ] < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , h a r d d e p e n d e n c i e s o n l y e f f e c t i v e o n U n i x p l a t f o r m s < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > depends @ windows < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : [ ] < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , h a r d d e p e n d e n c i e s o n l y e f f e c t i v e o n W i n d o w s p l a t f o r m s < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > suggests < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : [ ] < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , o p t i o n a l d e p e n d e n c y l i s t ( s a m e f o r m a t a s d e p e n d s ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > suggests @ unix < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : [ ] < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # ─ ─ php - extension Specific Fields ( nested under php - extension : object ) ─ ─ ─ ─ < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > php - extension < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # arg - type determines the form of arguments passed to . / configure , supports platform suffixes < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Supported platform suffixes : @ unix ( Linux + macOS ) , @ linux , @ macos , @ windows < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Priority ( using Linux as example ) : arg - type @ linux & gt ; arg - type @ unix & gt ; arg - type ( no suffix ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Built - in keywords : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # enable → -- enable - { extname } ( default value , used when not configured ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # enable - path → -- enable - { extname } = { buildroot } < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # with → -- with - { extname } < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # with - path → -- with - { extname } = { buildroot } < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # custom / none → Pass no arguments ( handled by the # [ CustomPhpConfigureArg ] method in the PHP class ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # You can also write the full argument string directly , supporting the following placeholders : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # @ build _root _path @ → BUILD _ROOT _PATH ( absolute path of buildroot ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # @ shared _suffix @ → Expands to = shared in shared builds , empty in static builds < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # @ shared _path _suffix @ → Expands to = shared , { buildroot } in shared builds , < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # expands to = { buildroot } in static builds < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > arg - type < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > e n a b l e < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > arg - type @ unix < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & # 3 9 ; - - e n a b l e - { e x t n a m e } = @ s h a r e d _ s u f f i x @ & # 3 9 ; < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > arg - type @ windows < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > w i t h - p a t h < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > zend - extension < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > f a l s e < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , t r u e i n d i c a t e s t h i s i s a Z e n d e x t e n s i o n ( e . g . , o p c a c h e , x d e b u g ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > build - shared < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > t r u e < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , w h e t h e r b u i l d i n g a s a s h a r e d e x t e n s i o n ( . s o ) i s a l l o w e d , d e f a u l t t r u e < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > build - static < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > t r u e < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , w h e t h e r i n l i n e s t a t i c b u i l d i n g ( c o m p i l e d i n t o P H P ) i s a l l o w e d , d e f a u l t t r u e < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > build - with - php < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > t r u e < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , t r u e m e a n s t h e e x t e n s i o n i s b u i l t t o g e t h e r v i a t h e P H P s o u r c e t r e e < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # ( used for built - in extensions ) < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # display - name affects the php -- ri argument in smoke tests and the license export display name < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # If not set , defaults to the extension name ( the part after ext - ) ; if set to empty string , skips -- ri check < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > display - name < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & # 3 9 ; M y E x t e n s i o n & # 3 9 ; < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # os restricts the extension to be available only on specified platforms ; < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # platforms not in the list will be rejected for building < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Allowed values : Linux , Darwin , Windows < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > os < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : [ < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > L i n u x < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > , < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > D a r w i n < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > ] < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 2 i d = " l i b r a r y - p a c k a g e - t y p e " t a b i n d e x = " - 1 " > l i b r a r y P a c k a g e T y p e < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # l i b r a r y - p a c k a g e - t y p e " a r i a - l a b e l = " P e r m a l i n k t o “ l i b r a r y P a c k a g e T y p e ” " > < / a > < / h 2 > < p > A l i b r a r y p a c k a g e r e p r e s e n t s a d e p e n d e n c y l i b r a r y t h a t n e e d s t o b e c o m p i l e d f r o m s o u r c e ( s u c h a s o p e n s s l , z l i b , e t c . ) . I t s c o n f i g u r a t i o n f i l e i s l o c a t e d i n t h e < c o d e > c o n f i g / p k g / l i b / < / c o d e > d i r e c t o r y , a n d i t s b u i l d c l a s s i n h e r i t s f r o m < c o d e > L i b r a r y P a c k a g e < / c o d e > i n t h e < c o d e > s r c / P a c k a g e / L i b r a r y / < / c o d e > d i r e c t o r y . < / p > < p > T a k i n g o p e n s s l a s a n e x a m p l e : < / p > < d i v c l a s s = " l a n g u a g e - y a m l " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > y a m l < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 e ; - - s h i k i - d a r k : # e 1 e 4 e 8 ; - - s h i k i - l i g h t - b g : # f f f ; - - s h i k i - d a r k - b g : # 2 4 2 9 2 e ; " t a b i n d e x = " 0 " d i r = " l t r " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 2 8 6 3 A ; - - s h i k i - d a r k : # 8 5 E 8 9 D ; " > o p e n s s l < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > type < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > l i b r a r y < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > artifact < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > source < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > type < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > g h r e l < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > repo < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > o p e n s s l / o p e n s s l < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > match < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > o p e n s s l . + \ \ . t a r \ \ . g z < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > prefer - stable < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > t r u e < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > binary < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > h o s t e d < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > metadata < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > license - files < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : [ < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > L I C E N S E . t x t < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > ] < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > license < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > O p e n S S L < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > depends < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > z l i b < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > depends @ windows < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > z l i b < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > j o m < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > headers < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > o p e n s s l < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > static - libs @ unix < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > l i b s s l . a < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > l i b c r y p t o . a < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > static - libs @ windows < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > l i b s s l . l i b < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > l i b c r y p t o . l i b < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > A l l o w e d f i e l d s f o r < c o d e > l i b r a r y < / c o d e > : < / p > < d i v c l a s s = " l a n g u a g e - y a m l " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > y a m l < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 e ; - - s h i k i - d a r k : # e 1 e 4 e 8 ; - - s h i k i - l i g h t - b g : # f f f ; - - s h i k i - d a r k - b g : # 2 4 2 9 2 e ; " t a b i n d e x = " 0 " d i r = " l t r " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > { < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > l i b - n a m e < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > } : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > type < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > l i b r a r y < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # l i b r a r y o r t a r g e t ( t a r g e t i n h e r i t s a l l f i e l d s f r o m l i b r a r y ) < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # ─ ─ Common Fields ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > description < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & # 3 9 ; . . & # 3 9 ; < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , h u m a n - r e a d a b l e p a c k a g e d e s c r i p t i o n < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > license < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > M I T < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , S P D X l i c e n s e i d e n t i f i e r ( f o r l i c e n s e e x p o r t ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > lang < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > c < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , i m p l e m e n t a t i o n l a n g u a g e o f t h e l i b r a r y ( c / c + + e t c . ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > frameworks < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : [ ] < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , l i s t o f r e l a t e d f r a m e w o r k t a g s < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > artifact < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & # 3 9 ; { a r t i f a c t - n a m e } & # 3 9 ; < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # R e q u i r e d ; w h e n a s t r i n g , r e f e r e n c e s a n A r t i f a c t d e f i n i t i o n < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # with the same name ; when an object , is an inline Artifact < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # depends / suggests support @ windows / @ unix / @ linux / @ macos suffixes < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > depends < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : [ ] < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , h a r d d e p e n d e n c y l i s t ( l i b r a r y n a m e s o r P H P e x t e n s i o n n a m e s w i t h e x t - p r e f i x ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > depends @ unix < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : [ ] < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > depends @ windows < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : [ ] < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > suggests < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : [ ] < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # O p t i o n a l , o p t i o n a l d e p e n d e n c y l i s t ( s a m e f o r m a t a s d e p e n d s ) < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # ─ ─ library / target Specific Fields ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # The following fields are used to verify that artifacts have been correctly < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # installed after the build . They support @ unix / @ windows / @ linux / @ macos suffixes . < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Verify that specified header files or directories exist under buildroot / include / < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Relative paths are based on buildroot / include / , absolute paths are used directly < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > headers < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > o p e n s s l < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # C o r r e s p o n d s t o b u i l d r o o t / i n c l u d e / o p e n s s l / < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > z l i b . h < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # C o r r e s p o n d s t o b u i l d r o o t / i n c l u d e / z l i b . h < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > headers @ unix < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > f f i . h < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Verify that specified static library files exist under buildroot / lib / < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Relative paths are based on buildroot / lib / , absolute paths are used directly < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > static - libs @ unix < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > l i b s s l . a < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > static - libs @ windows < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > l i b s s l . l i b < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Verify that specified . pc files exist under buildroot / lib / pkgconfig / < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Only checked on non - Windows platforms ( pkg - config is not applicable on Windows ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > pkg - configs < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > o p e n s s l < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # C o r r e s p o n d s t o b u i l d r o o t / l i b / p k g c o n f i g / o p e n s s l . p c < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > l i b s s l < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # A u t o - c o m p l e t e s . p c s u f f i x < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Verify that specified executable files exist under buildroot / bin / < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Relative paths are based on buildroot / bin / , absolute paths are used directly < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > static - bins < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > m y - t o o l < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # List of directories injected into the global PATH after the package is installed . < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Path placeholders are supported ( see below for details ) . < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > path < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & # 3 9 ; { p k g _ r o o t _ p a t h } / r u s t / b i n & # 3 9 ; < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Environment variables set after the package is installed ( overwrites existing values ) . < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Path placeholders are supported . < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > env < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > MY _VAR < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & # 3 9 ; { b u i l d _ r o o t _ p a t h } / l i b & # 3 9 ; < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Values appended to the end of existing environment variables after the package is installed . < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Path placeholders are supported . < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > append - env < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < / s p a n >
2026-06-23 06:37:27 +00:00
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > CFLAGS < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > : < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & # 3 9 ; - I { b u i l d _ r o o t _ p a t h } / i n c l u d e & # 3 9 ; < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > T h e f o l l o w i n g p a t h p l a c e h o l d e r s a r e s u p p o r t e d i n s t r i n g v a l u e s o f t h e < c o d e > p a t h < / c o d e > , < c o d e > e n v < / c o d e > , a n d < c o d e > a p p e n d - e n v < / c o d e > f i e l d s : < / p > < t a b l e t a b i n d e x = " 0 " > < t h e a d > < t r > < t h > P l a c e h o l d e r < / t h > < t h > A c t u a l P a t h < / t h > < / t r > < / t h e a d > < t b o d y > < t r > < t d > < c o d e > { b u i l d _ r o o t _ p a t h } < / c o d e > < / t d > < t d > b u i l d r o o t d i r e c t o r y ( < c o d e > b u i l d r o o t / < / c o d e > ) < / t d > < / t r > < t r > < t d > < c o d e > { p k g _ r o o t _ p a t h } < / c o d e > < / t d > < t d > p k g r o o t d i r e c t o r y ( < c o d e > p k g r o o t / < / c o d e > ) < / t d > < / t r > < t r > < t d > < c o d e > { w o r k i n g _ d i r } < / c o d e > < / t d > < t d > W o r k i n g d i r e c t o r y ( p r o j e c t r o o t ) < / t d > < / t r > < t r > < t d > < c o d e > { d o w n l o a d _ p a t h } < / c o d e > < / t d > < t d > D o w n l o a d c a c h e d i r e c t o r y ( < c o d e > d o w n l o a d s / < / c o d e > ) < / t d > < / t r > < t r > < t d > < c o d e > { s o u r c e _ p a t h } < / c o d e > < / t d > < t d > E x t r a c t e d s o u r c e d i r e c t o r y ( < c o d e > s o u r c e / < / c o d e > ) < / t d > < / t r > < t r > < t d > < c o d e > { s p c _ m s y s 2 _ p a t h } < / c o d e > < / t d > < t d > M S Y S 2 r o o t d i r e c t o r y ( < c o d e > m s y s 6 4 / < / c o d e > ) — W i n d o w s o n l y < / t d > < / t r > < / t b o d y > < / t a b l e > < h 2 i d = " t a r g e t - p a c k a g e - t y p e " t a b i n d e x = " - 1 " > t a r g e t P a c k a g e T y p e < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # t a r g e t - p a c k a g e - t y p e " a r i a - l a b e l = " P e r m a l i n k t o “ t a r g e t P a c k a g e T y p e ” " > < / a > < / h 2 > < p > A < c o d e > t a r g e t < / c o d e > p a c k a g e r e p r e s e n t s a f i n a l b u i l d a r t i f a c t . I t i n h e r i t s f r o m < c o d e > l i b r a r y < / c o d e > , s o i t i n c l u d e s a l l d e f i n i t i o n f i e l d s o f < c o d e > l i b r a r y < / c o d e > . T h e c o n f i g u r a t i o n f i l e f o r < c o d e > t a r g e t < / c o d e > p a c k a g e s i s l o c a t e d i n t h e < c o d e > c o n f i g / p k g / t a r g e t / < / c o d e > d i r e c t o r y , a n d i t s b u i l d c l a s s i n h e r i t s f r o m < c o d e > T a r g e t P a c k a g e < / c o d e > i n t h e < c o d e > s r c / P a c k a g e / T a r g e t / < / c o d e > d i r e c t o r y . < / p > < p > T h e o n l y d i f f e r e n c e f r o m < c o d e > l i b r a r y < / c o d e > i s t h a t a < c o d e > t a r g e t < / c o d e > p a c k a g e c a n b e r e g i s t e r e d a s a b u i l d t a r g e t a n d a u t o m a t i c a l l y r e g i s t e r s t h e b u i l d c o m m a n d < c o d e > s p c b u i l d : { t a r g e t - n a m e } < / c o d e > . < / p > < h 2 i d = " v i r t u a l - t a r g e t - p a c k a g e - t y p e " t a b i n d e x = " - 1 " > v i r t u a l - t a r g e t P a c k a g e T y p e < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # v i r t u a l - t a r g e t - p a c k a g e - t y p e " a r i a - l a b e l = " P e r m a l i n k t o “ v i r t u a l - t a r g e t P a c k a g e T y p e ” " > < / a > < / h 2 > < p > U n l i k e < c o d e > t a r g e t < / c o d e > , a < c o d e > v i r t u a l - t a r g e t < / c o d e > m a y n o t i n c l u d e a n < c o d e > a r t i f a c t < / c o d e > , m e a n i n g i t d o e s n & # 3 9 ; t d i r e c t l y c o r r e s p o n d t o a b u i l d a b l e e n t i t y b u t i s i n s t e a d a n a b s t r a c t b u i l d t a r g e t , p r i m a r i l y u s e d f o r d e p e n d e n c y m a n a g e m e n t a n d b u i l d s c h e d u l i n g . T h e c o n f i g u r a t i o n f i l e f o r < c o d e > v i r t u a l - t a r g e t < / c o d e > i s l o c a t e d i n t h e < c o d e > c o n f i g / p k g / t a r g e t / < / c o d e > d i r e c t o r y , a n d i t s b u i l d c l a s s i n h e r i t s f r o m < c o d e > T a r g e t P a c k a g e < / c o d e > i n t h e < c o d e > s r c / P a c k a g e / T a r g e t / < / c o d e > d i r e c t o r y . I t s d e f i n i t i o n i s e s s e n t i a l l y t h e s a m e a s < c o d e > t a r g e t < / c o d e > , b u t t h e < c o d e > a r t i f a c t < / c o d e > f i e l d i s o p t i o n a l a n d t y p i c a l l y n o t s e t . < c o d e > v i r t u a l - t a r g e t < / c o d e > i s p r i m a r i l y u s e d i n t h e f o l l o w i n g s c e n a r i o s : < / p > < u l > < l i > D e f i n i n g a n a b s t r a c t b u i l d t a r g e t f o r o t h e r p a c k a g e s t o d e p e n d o n , w i t h o u t d i r e c t l y c o r r e s p o n d i n g t o a b u i l d a b l e e n t i t y . < / l i > < l i > S e r v i n g a s a c o m m o n d e p e n d e n c y f o r m u l t i p l e < c o d e > t a r g e t < / c o d e > p a c k a g e s , s i m p l i f y i n g d e p e n d e n c y m a n a g e m e n t . < / l i > < / u l > < p > A t y p i c a l e x a m p l e i s t h e < c o d e > p h p - c l i < / c o d e > , < c o d e > p h p - f p m < / c o d e > b u i l d t a r g e t s f o r P H P . T h e y h a v e n o i n d e p e n d e n t s o u r c e c o d e a n d d e p e n d o n < c o d e > p h p - s r c < / c o d e > , w i t h t h e f i n a l b u i l d o u t c o m e ( C L I o r F P M b i n a r y ) d e t e r m i n e d t h r o u g h b u i l d s c h e d u l i n g . < / p > ` , 3 3 ) ] ) ] ) } c o n s t g = i ( t , [ [ " r e n d e r " , l ] ] ) ; e x p o r t { c a s _ _ p a g e D a t a , g a s d e f a u l t } ;