3 SPDX-FileCopyrightText: Copyright The SCons Foundation (https://scons.org)
4 SPDX-License-Identifier: MIT
5 SPDX-FileType: DOCUMENTATION
7 This file is processed by the bin/SConsDoc.py module.
11 <!ENTITY % scons SYSTEM '../../doc/scons.mod'>
13 <!ENTITY % builders-mod SYSTEM '../../doc/generated/builders.mod'>
15 <!ENTITY % functions-mod SYSTEM '../../doc/generated/functions.mod'>
17 <!ENTITY % tools-mod SYSTEM '../../doc/generated/tools.mod'>
19 <!ENTITY % variables-mod SYSTEM '../../doc/generated/variables.mod'>
23 <sconsdoc xmlns="http://www.scons.org/dbxsd/v1.0"
24 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
25 xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">
27 <tool name="applelink">
30 Sets construction variables for the Apple linker
31 (similar to the GNU linker).
35 <item>FRAMEWORKPATHPREFIX</item>
36 <item>_FRAMEWORKPATH</item>
37 <item>_FRAMEWORKS</item>
39 <item>SHLINKFLAGS</item>
40 <item>SHLINKCOM</item>
41 <item>LDMODULEPREFIX</item>
42 <item>LDMODULESUFFIX</item>
43 <item>LDMODULEFLAGS</item>
44 <item>LDMODULECOM</item>
45 <item>APPLELINK_CURRENT_VERSION</item>
46 <item>APPLELINK_COMPATIBILITY_VERSION</item>
47 <item>APPLELINK_NO_CURRENT_VERSION</item>
48 <item>APPLELINK_NO_COMPATIBILITY_VERSION</item>
49 <item>_APPLELINK_CURRENT_VERSION</item>
50 <item>_APPLELINK_COMPATIBILITY_VERSION</item>
53 <item>FRAMEWORKSFLAGS</item>
58 <cvar name="APPLELINK_COMPATIBILITY_VERSION">
61 On Mac OS X this is used to set the linker flag:
63 -compatibility_version
66 The value is specified as X[.Y[.Z]] where X is between 1 and 65535, Y can be omitted or between 1 and
67 255, Z can be omitted or between 1 and 255. This value will be derived from &cv-link-SHLIBVERSION; if
69 specified. The lowest digit will be dropped and replaced by a 0.
72 If the &cv-link-APPLELINK_NO_COMPATIBILITY_VERSION; is set then no -compatibility_version will be
75 <para>See MacOS's ld manpage for more details</para>
79 <cvar name="APPLELINK_NO_COMPATIBILITY_VERSION">
82 Set this to any True (1|True|non-empty string) value to disable adding -compatibility_version flag when
83 generating versioned shared libraries.
86 This overrides &cv-link-APPLELINK_COMPATIBILITY_VERSION;.
92 <cvar name="_APPLELINK_COMPATIBILITY_VERSION">
95 A macro (by default a generator function) used to create the linker flags to specify
96 apple's linker's -compatibility_version flag.
97 The default generator uses &cv-link-APPLELINK_COMPATIBILITY_VERSION;
98 and &cv-link-APPLELINK_NO_COMPATIBILITY_VERSION; and &cv-link-SHLIBVERSION;
99 to determine the correct flag.
105 <cvar name="APPLELINK_CURRENT_VERSION">
108 On Mac OS X this is used to set the linker flag:
113 The value is specified as X[.Y[.Z]] where X is between 1 and 65535, Y can be omitted or between 1 and
114 255, Z can be omitted or between 1 and 255. This value will be set to &cv-link-SHLIBVERSION; if not
118 If the &cv-link-APPLELINK_NO_CURRENT_VERSION; is set then no -current_version will be
121 <para>See MacOS's ld manpage for more details</para>
127 <cvar name="APPLELINK_NO_CURRENT_VERSION">
130 Set this to any True (1|True|non-empty string) value to disable adding -current_version flag when
131 generating versioned shared libraries.
134 This overrides &cv-link-APPLELINK_CURRENT_VERSION;.
139 <cvar name="_APPLELINK_CURRENT_VERSION">
142 A macro (by default a generator function) used to create the linker flags to specify apple's linker's
143 -current_version flag. The default generator uses &cv-link-APPLELINK_CURRENT_VERSION; and
144 &cv-link-APPLELINK_NO_CURRENT_VERSION; and &cv-link-SHLIBVERSION; to determine the correct flag.
150 <cvar name="FRAMEWORKSFLAGS">">
153 On Mac OS X with gcc,
154 general user-supplied frameworks options to be added at
156 line building a loadable module.
157 (This has been largely superseded by
158 the &cv-link-FRAMEWORKPATH;, &cv-link-FRAMEWORKPATHPREFIX;,
159 &cv-link-FRAMEWORKPREFIX; and &cv-link-FRAMEWORKS; variables
165 <cvar name="FRAMEWORKS">
168 On Mac OS X with gcc, a list of the framework names to be linked into a
169 program or shared library or bundle.
170 The default value is the empty list.
175 env.AppendUnique(FRAMEWORKS=Split('System Cocoa SystemConfiguration'))
181 <cvar name="FRAMEWORKPREFIX">
184 On Mac OS X with gcc,
185 the prefix to be used for linking in frameworks
186 (see &cv-link-FRAMEWORKS;).
188 <option>-framework</option>.
193 <cvar name="_FRAMEWORKS">
196 On Mac OS X with gcc,
197 an automatically-generated construction variable
198 containing the linker command-line options
199 for linking with FRAMEWORKS.
204 <cvar name="FRAMEWORKPATH">
207 On Mac OS X with gcc,
208 a list containing the paths to search for frameworks.
209 Used by the compiler to find framework-style includes like
210 #include <Fmwk/Header.h>.
211 Used by the linker to find user-specified frameworks when linking (see
212 &cv-link-FRAMEWORKS;).
217 env.AppendUnique(FRAMEWORKPATH='#myframeworkdir')
229 to the compiler and linker command lines.
234 <cvar name="FRAMEWORKPATHPREFIX">
237 On Mac OS X with gcc, the prefix to be used for the FRAMEWORKPATH entries.
238 (see &cv-link-FRAMEWORKPATH;).
245 <cvar name="_FRAMEWORKPATH">
248 On Mac OS X with gcc, an automatically-generated construction variable
249 containing the linker command-line options corresponding to
250 &cv-link-FRAMEWORKPATH;.