Standardize license header on in-use doc files [skip appveyor]
[scons.git] / SCons / Tool / packaging / packaging.xml
blob62ba558a5dca90bfb3ee2c32058b5166f5296e16
1 <?xml version="1.0"?>
2 <!--
3 SPDX-License-Identifier: MIT
4 SPDX-FileCopyrightText: Copyright The SCons Foundation (https://scons.org)
5 SPDX-FileType: DOCUMENTATION
7 This file is processed by the bin/SConsDoc.py module
8 -->
10 <!DOCTYPE sconsdoc [
11 <!ENTITY % scons SYSTEM '../../../doc/scons.mod'>
12 %scons;
13 <!ENTITY % builders-mod SYSTEM '../../../doc/generated/builders.mod'>
14 %builders-mod;
15 <!ENTITY % functions-mod SYSTEM '../../../doc/generated/functions.mod'>
16 %functions-mod;
17 <!ENTITY % tools-mod SYSTEM '../../../doc/generated/tools.mod'>
18 %tools-mod;
19 <!ENTITY % variables-mod SYSTEM '../../../doc/generated/variables.mod'>
20 %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="packaging">
28 <summary>
29 <para>
30 Sets construction variables for the &b-link-Package; Builder.
31 If this tool is enabled, the <option>--package-type</option>
32 command-line option is also enabled.
33 </para>
34 </summary>
35 <sets>
36 </sets>
37 <uses>
38 </uses>
39 </tool>
41 <builder name="Package">
42 <summary>
43 <para>
44 Builds software distribution packages.
45 A <firstterm>package</firstterm> is a container format which
46 includes files to install along with metadata.
47 Packaging is optional, and must be enabled by specifying
48 the &t-link-packaging; tool. For example:
49 </para>
51 <example_commands>
52 env = Environment(tools=['default', 'packaging'])
53 </example_commands>
55 <para>
56 &SCons; can build packages in a number of well known packaging formats.
57 The target package type may be selected with the
58 the &cv-link-PACKAGETYPE; construction variable
59 or the <option>--package-type</option> command line option.
60 The package type may be a list, in which case &SCons; will attempt
61 to build packages for each type in the list. Example:
62 </para>
64 <example_commands>
65 env.Package(PACKAGETYPE=['src_zip', 'src_targz'], <replaceable>...other args...</replaceable>)
66 </example_commands>
68 <para>
69 The currently supported packagers are:
70 </para>
72 <informaltable rowsep="1" colsep="1" frame="topbot">
73 <tgroup cols="2">
74 <tbody>
75 <row><entry><literal>msi</literal></entry><entry>Microsoft Installer package</entry></row>
76 <row><entry><literal>rpm</literal></entry><entry>RPM Package Manger package</entry></row>
77 <row><entry><literal>ipkg</literal></entry><entry>Itsy Package Management package</entry></row>
78 <row><entry><literal>tarbz2</literal></entry><entry>bzip2-compressed tar file</entry></row>
79 <row><entry><literal>targz</literal></entry><entry>gzip-compressed tar file</entry></row>
80 <row><entry><literal>tarxz</literal></entry><entry>xz-compressed tar file</entry></row>
81 <row><entry><literal>zip</literal></entry><entry>zip file</entry></row>
82 <row><entry><literal>src_tarbz2</literal></entry><entry>bzip2-compressed tar file suitable as source to another packager</entry></row>
83 <row><entry><literal>src_targz</literal></entry><entry>gzip-compressed tar file suitable as source to another packager</entry></row>
84 <row><entry><literal>src_tarxz</literal></entry><entry>xz-compressed tar file suitable as source to another packager</entry></row>
85 <row><entry><literal>src_zip</literal></entry><entry>zip file suitable as source to another packager</entry></row>
86 </tbody>
87 </tgroup>
88 </informaltable>
90 <para>
91 The file list to include in the package may be specified with
92 the &source; keyword argument. If omitted,
93 the &f-link-FindInstalledFiles; function is called behind the scenes
94 to select all files that have an &b-link-Install;, &b-link-InstallAs;
95 or &b-link-InstallVersionedLib; Builder attached.
96 If the &target; keyword argument is omitted, the target name(s)
97 will be deduced from the package type(s).
98 </para>
100 <para>
101 The metadata comes partly from attributes of the files to be packaged,
102 and partly from packaging <firstterm>tags</firstterm>.
103 Tags can be passed as keyword arguments
104 to the &b-Package; builder call,
105 and may also be attached to files
106 (or more accurately, Nodes representing files)
107 with the &f-link-Tag; function.
108 Some package-level tags are mandatory, and will lead to errors if omitted.
109 The mandatory tags vary depending on the package type.
110 <!-- TODO: should document which tags are mandatory for which packager -->
111 </para>
113 <para>
114 While packaging, the builder uses a temporary location named
115 by the value of the &cv-link-PACKAGEROOT; variable -
116 the package sources are copied there before packaging.
117 </para>
119 <para>
120 Packaging example:
121 </para>
123 <example_commands>
124 env = Environment(tools=["default", "packaging"])
125 env.Install("/bin/", "my_program")
126 env.Package(
127     NAME="foo",
128     VERSION="1.2.3",
129     PACKAGEVERSION=0,
130     PACKAGETYPE="rpm",
131     LICENSE="gpl",
132     SUMMARY="balalalalal",
133     DESCRIPTION="this should be really really long",
134     X_RPM_GROUP="Application/fu",
135     SOURCE_URL="https://foo.org/foo-1.2.3.tar.gz",
137 </example_commands>
139 <para>
140 In this example, the target <filename>/bin/my_program</filename>
141 created by the &b-Install; call would not be built by default
142 since it is not under the project top directory.
143 However, since no <parameter>source</parameter>
144 is specified to the &b-Package; builder,
145 it is selected for packaging by the default sources rule.
146 Since packaging is done using &cv-link-PACKAGEROOT;, no write is
147 actually done to the system's <filename>/bin</filename> directory,
148 and the target <emphasis>will</emphasis> be selected since
149 after rebasing to underneath &cv-PACKAGEROOT; it is now under
150 the top directory of the project.
151 </para>
153 </summary>
154 </builder>
156 <cvar name="ARCHITECTURE">
157 <summary>
158 <para>
159 Specifies the system architecture for which
160 the package is being built.
161 The default is the system architecture
162 of the machine on which SCons is running.
163 This is used to fill in the
164 <literal>Architecture:</literal>
165 field in an Ipkg
166 <filename>control</filename> file,
167 and the <literal>BuildArch:</literal> field
168 in the RPM <filename>.spec</filename> file,
169 as well as forming part of the name of a generated RPM package file.
170 </para>
171 <para>See the &b-link-Package; builder.</para>
172 </summary>
173 </cvar>
175 <cvar name="CHANGE_SPECFILE">
176 <summary>
177 <para>
178 A hook for modifying the file that controls the packaging build
179 (the <filename>.spec</filename> for RPM,
180 the <filename>control</filename> for Ipkg,
181 the <filename>.wxs</filename> for MSI).
182 If set, the function will be called
183 after the SCons template for the file has been written.
184 </para>
185 <para>See the &b-link-Package; builder.</para>
186 </summary>
187 </cvar>
189 <cvar name="CHANGELOG">
190 <summary>
191 <para>
192 The name of a file containing the change log text
193 to be included in the package.
194 This is included as the
195 <literal>%changelog</literal>
196 section of the RPM
197 <filename>.spec</filename> file.
198 </para>
199 <para>See the &b-link-Package; builder.</para>
200 </summary>
201 </cvar>
203 <cvar name="DESCRIPTION">
204 <summary>
205 <para>
206 A long description of the project being packaged.
207 This is included in the relevant section
208 of the file that controls the packaging build.
209 </para>
210 <para>See the &b-link-Package; builder.</para>
211 </summary>
212 </cvar>
214 <cvar name="DESCRIPTION_lang">
215 <summary>
216 <para>
217 A language-specific long description for
218 the specified <varname>lang</varname>.
219 This is used to populate a
220 <literal>%description -l</literal>
221 section of an RPM
222 <filename>.spec</filename> file.
223 </para>
224 <para>See the &b-link-Package; builder.</para>
225 </summary>
226 </cvar>
228 <cvar name="LICENSE">
229 <summary>
230 <para>
231 The abbreviated name, preferably the SPDX code, of the license under which
232 this project is released (GPL-3.0, LGPL-2.1, BSD-2-Clause etc.).
234 <ulink url="http://www.opensource.org/licenses/alphabetical">
235 http://www.opensource.org/licenses/alphabetical</ulink>
236 for a list of license names and SPDX codes.
237 </para>
238 <para>See the &b-link-Package; builder.</para>
239 </summary>
240 </cvar>
242 <cvar name="NAME">
243 <summary>
244 <para>
245 Specfies the name of the project to package.
246 </para>
247 <para>See the &b-link-Package; builder.</para>
248 </summary>
249 </cvar>
251 <cvar name="PACKAGEROOT">
252 <summary>
253 <para>
254 Specifies the directory where all files in resulting archive will be
255 placed if applicable.  The default value is <quote>&cv-NAME;-&cv-VERSION;</quote>.
256 </para>
257 <para>See the &b-link-Package; builder.</para>
258 </summary>
259 </cvar>
261 <cvar name="PACKAGETYPE">
262 <summary>
263 <para>
264 Selects the package type to build when using the &b-link-Package;
265 builder. May be a string or list of strings. See the docuentation
266 for the builder for the currently supported types.
267 </para>
269 <para>
270 &cv-PACKAGETYPE; may be overridden with the <option>--package-type</option>
271 command line option.
272 </para>
273 <para>See the &b-link-Package; builder.</para>
274 </summary>
275 </cvar>
277 <cvar name="PACKAGEVERSION">
278 <summary>
279 <para>
280 The version of the package (not the underlying project).
281 This is currently only used by the rpm packager
282 and should reflect changes in the packaging,
283 not the underlying project code itself.
284 </para>
285 <para>See the &b-link-Package; builder.</para>
286 </summary>
287 </cvar>
289 <cvar name="SOURCE_URL">
290 <summary>
291 <para>
292 The URL
293 (web address)
294 of the location from which the project was retrieved.
295 This is used to fill in the
296 <literal>Source:</literal>
297 field in the controlling information for Ipkg and RPM packages.
298 </para>
299 <para>See the &b-link-Package; builder.</para>
300 </summary>
301 </cvar>
303 <cvar name="SUMMARY">
304 <summary>
305 <para>
306 A short summary of what the project is about.
307 This is used to fill in the
308 <literal>Summary:</literal>
309 field in the controlling information for Ipkg and RPM packages,
310 and as the
311 <literal>Description:</literal>
312 field in MSI packages.
313 </para>
314 <para>See the &b-link-Package; builder.</para>
315 </summary>
316 </cvar>
318 <cvar name="VENDOR">
319 <summary>
320 <para>
321 The person or organization who supply the packaged software.
322 This is used to fill in the
323 <literal>Vendor:</literal>
324 field in the controlling information for RPM packages,
325 and the
326 <literal>Manufacturer:</literal>
327 field in the controlling information for MSI packages.
328 </para>
329 <para>See the &b-link-Package; builder.</para>
330 </summary>
331 </cvar>
333 <cvar name="VERSION">
334 <summary>
335 <para>
336 The version of the project, specified as a string.
337 </para>
338 <para>See the &b-link-Package; builder.</para>
339 </summary>
340 </cvar>
343 <cvar name="X_IPK_DEPENDS">
344 <summary>
345 <para>
346 This is used to fill in the
347 <literal>Depends:</literal>
348 field in the controlling information for Ipkg packages.
349 </para>
350 <para>See the &b-link-Package; builder.</para>
351 </summary>
352 </cvar>
354 <cvar name="X_IPK_DESCRIPTION">
355 <summary>
356 <para>
357 This is used to fill in the
358 <literal>Description:</literal>
359 field in the controlling information for Ipkg packages.
360 The default value is
361 <quote>&cv-SUMMARY;\n&cv-DESCRIPTION;</quote>
362 </para>
363 </summary>
364 </cvar>
366 <cvar name="X_IPK_MAINTAINER">
367 <summary>
368 <para>
369 This is used to fill in the
370 <literal>Maintainer:</literal>
371 field in the controlling information for Ipkg packages.
372 </para>
373 </summary>
374 </cvar>
376 <cvar name="X_IPK_PRIORITY">
377 <summary>
378 <para>
379 This is used to fill in the
380 <literal>Priority:</literal>
381 field in the controlling information for Ipkg packages.
382 </para>
383 </summary>
384 </cvar>
386 <cvar name="X_IPK_SECTION">
387 <summary>
388 <para>
389 This is used to fill in the
390 <literal>Section:</literal>
391 field in the controlling information for Ipkg packages.
392 </para>
393 </summary>
394 </cvar>
396 <cvar name="X_MSI_LANGUAGE">
397 <summary>
398 <para>
399 This is used to fill in the
400 <literal>Language:</literal>
401 attribute in the controlling information for MSI packages.
402 </para>
403 <para>See the &b-link-Package; builder.</para>
404 </summary>
405 </cvar>
407 <cvar name="X_MSI_LICENSE_TEXT">
408 <summary>
409 <para>
410 The text of the software license in RTF format.
411 Carriage return characters will be
412 replaced with the RTF equivalent \\par.
413 </para>
414 <para>See the &b-link-Package; builder.</para>
415 </summary>
416 </cvar>
418 <cvar name="X_MSI_UPGRADE_CODE">
419 <summary>
420 <para>
421 TODO
422 </para>
423 </summary>
424 </cvar>
427 <cvar name="X_RPM_AUTOREQPROV">
428 <summary>
429 <para>
430 This is used to fill in the
431 <literal>AutoReqProv:</literal>
432 field in the RPM
433 <filename>.spec</filename> file.
434 </para>
435 <para>See the &b-link-Package; builder.</para>
436 </summary>
437 </cvar>
439 <cvar name="X_RPM_BUILD">
440 <summary>
441 <para>
442 internal, but overridable
443 </para>
444 </summary>
445 </cvar>
447 <cvar name="X_RPM_BUILDREQUIRES">
448 <summary>
449 <para>
450 This is used to fill in the
451 <literal>BuildRequires:</literal>
452 field in the RPM
453 <filename>.spec</filename> file.
454 Note this should only be used on a host managed by rpm as the dependencies will not be resolvable at build time otherwise.
455 </para>
456 </summary>
457 </cvar>
459 <cvar name="X_RPM_BUILDROOT">
460 <summary>
461 <para>
462 internal, but overridable
463 </para>
464 </summary>
465 </cvar>
467 <cvar name="X_RPM_CLEAN">
468 <summary>
469 <para>
470 internal, but overridable
471 </para>
472 </summary>
473 </cvar>
475 <cvar name="X_RPM_CONFLICTS">
476 <summary>
477 <para>
478 This is used to fill in the
479 <literal>Conflicts:</literal>
480 field in the RPM
481 <filename>.spec</filename> file.
482 </para>
483 </summary>
484 </cvar>
486 <cvar name="X_RPM_DEFATTR">
487 <summary>
488 <para>
489 This value is used as the default attributes
490 for the files in the RPM package.
491 The default value is
492 <quote>(-,root,root)</quote>.
493 </para>
494 </summary>
495 </cvar>
497 <cvar name="X_RPM_DISTRIBUTION">
498 <summary>
499 <para>
500 This is used to fill in the
501 <literal>Distribution:</literal>
502 field in the RPM
503 <filename>.spec</filename> file.
504 </para>
505 </summary>
506 </cvar>
508 <cvar name="X_RPM_EPOCH">
509 <summary>
510 <para>
511 This is used to fill in the
512 <literal>Epoch:</literal>
513 field in the RPM
514 <filename>.spec</filename> file.
515 </para>
516 </summary>
517 </cvar>
519 <cvar name="X_RPM_EXCLUDEARCH">
520 <summary>
521 <para>
522 This is used to fill in the
523 <literal>ExcludeArch:</literal>
524 field in the RPM
525 <filename>.spec</filename> file.
526 </para>
527 </summary>
528 </cvar>
530 <cvar name="X_RPM_EXLUSIVEARCH">
531 <summary>
532 <para>
533 This is used to fill in the
534 <literal>ExclusiveArch:</literal>
535 field in the RPM
536 <filename>.spec</filename> file.
537 </para>
538 </summary>
539 </cvar>
541 <cvar name="X_RPM_EXTRADEFS">
542 <summary>
543 <para>
544 A list used to supply extra defintions or flags
545 to be added to the RPM <filename>.spec</filename> file.
546 Each item is added as-is with a carriage return appended.
547 This is useful if some specific RPM feature not otherwise
548 anticipated by SCons needs to be turned on or off.
549 Note if this variable is omitted, SCons will by
550 default supply the value
551 <literal>'%global debug_package %{nil}'</literal>
552 to disable debug package generation.
553 To enable debug package generation, include this
554 variable set either to None, or to a custom
555 list that does not include the default line.
556 </para>
557 <para>
558 <emphasis>New in version  3.1.</emphasis>
559 </para>
561 <example_commands>
562 env.Package(
563     NAME="foo",
564     ...
565     X_RPM_EXTRADEFS=[
566         "%define _unpackaged_files_terminate_build 0"
567         "%define _missing_doc_files_terminate_build 0"
568     ],
569     ...
571 </example_commands>
573 </summary>
574 </cvar>
576 <cvar name="X_RPM_GROUP">
577 <summary>
578 <para>
579 This is used to fill in the
580 <literal>Group:</literal>
581 field in the RPM
582 <filename>.spec</filename> file.
583 </para>
584 </summary>
585 </cvar>
587 <cvar name="X_RPM_GROUP_lang">
588 <summary>
589 <para>
590 This is used to fill in the
591 <literal>Group(lang):</literal>
592 field in the RPM
593 <filename>.spec</filename> file.
594 Note that
595 <varname>lang</varname>
596 is not literal
597 and should be replaced by
598 the appropriate language code.
599 </para>
600 </summary>
601 </cvar>
603 <cvar name="X_RPM_ICON">
604 <summary>
605 <para>
606 This is used to fill in the
607 <literal>Icon:</literal>
608 field in the RPM
609 <filename>.spec</filename> file.
610 </para>
611 </summary>
612 </cvar>
614 <cvar name="X_RPM_INSTALL">
615 <summary>
616 <para>
617 internal, but overridable
618 </para>
619 </summary>
620 </cvar>
622 <cvar name="X_RPM_PACKAGER">
623 <summary>
624 <para>
625 This is used to fill in the
626 <literal>Packager:</literal>
627 field in the RPM
628 <filename>.spec</filename> file.
629 </para>
630 </summary>
631 </cvar>
633 <cvar name="X_RPM_PROVIDES">
634 <summary>
635 <para>
636 This is used to fill in the
637 <literal>Provides:</literal>
638 field in the RPM
639 <filename>.spec</filename> file.
640 </para>
641 </summary>
642 </cvar>
644 <cvar name="X_RPM_POSTINSTALL">
645 <summary>
646 <para>
647 This is used to fill in the
648 <literal>%post:</literal>
649 section in the RPM
650 <filename>.spec</filename> file.
651 </para>
652 </summary>
653 </cvar>
655 <cvar name="X_RPM_PREINSTALL">
656 <summary>
657 <para>
658 This is used to fill in the
659 <literal>%pre:</literal>
660 section in the RPM
661 <filename>.spec</filename> file.
662 </para>
663 </summary>
664 </cvar>
666 <cvar name="X_RPM_PREFIX">
667 <summary>
668 <para>
669 This is used to fill in the
670 <literal>Prefix:</literal>
671 field in the RPM
672 <filename>.spec</filename> file.
673 </para>
674 </summary>
675 </cvar>
677 <cvar name="X_RPM_PREP">
678 <summary>
679 <para>
680 internal, but overridable
681 </para>
682 </summary>
683 </cvar>
685 <cvar name="X_RPM_POSTUNINSTALL">
686 <summary>
687 <para>
688 This is used to fill in the
689 <literal>%postun:</literal>
690 section in the RPM
691 <filename>.spec</filename> file.
692 </para>
693 </summary>
694 </cvar>
696 <cvar name="X_RPM_PREUNINSTALL">
697 <summary>
698 <para>
699 This is used to fill in the
700 <literal>%preun:</literal>
701 section in the RPM
702 <filename>.spec</filename> file.
703 </para>
704 </summary>
705 </cvar>
707 <cvar name="X_RPM_REQUIRES">
708 <summary>
709 <para>
710 This is used to fill in the
711 <literal>Requires:</literal>
712 field in the RPM
713 <filename>.spec</filename> file.
714 </para>
715 </summary>
716 </cvar>
718 <cvar name="X_RPM_SERIAL">
719 <summary>
720 <para>
721 This is used to fill in the
722 <literal>Serial:</literal>
723 field in the RPM
724 <filename>.spec</filename> file.
725 </para>
726 </summary>
727 </cvar>
729 <cvar name="X_RPM_URL">
730 <summary>
731 <para>
732 This is used to fill in the
733 <literal>Url:</literal>
734 field in the RPM
735 <filename>.spec</filename> file.
736 </para>
737 </summary>
738 </cvar>
741 <!--
743 THE FOLLOWING AREN'T CONSTRUCTION VARIABLES,
744 THEY'RE "TAGS" THAT CAN BE ATTACHED
745 TO DIFFERENT FILES OR DIRECTORIES.
746 NOT SURE YET WHAT TO DO ABOUT THESE.
748 <cvar name="CONFIG">
749 <summary>
750 <para>
751 TODO
752 </para>
753 </summary>
754 </cvar>
756 <cvar name="CONFIG_NOREPLACE">
757 <summary>
758 <para>
759 TODO
760 </para>
761 </summary>
762 </cvar>
764 <cvar name="DOC">
765 <summary>
766 <para>
767 TODO
768 </para>
769 </summary>
770 </cvar>
772 <cvar name="INSTALL_LOCATION">
773 <summary>
774 <para>
775 internal, but overridable, TODO
776 </para>
777 </summary>
778 </cvar>
780 <cvar name="LANG_lang">
781 <summary>
782 <para>
783 TODO
784 </para>
785 </summary>
786 </cvar>
788 <cvar name="UNIX_ATTR">
789 <summary>
790 <para>
791 TODO
792 </para>
793 </summary>
794 </cvar>
796 <cvar name="X_IPK_POSTINST">
797 <summary>
798 <para>
799 TODO
800 </para>
801 </summary>
802 </cvar>
804 <cvar name="X_IPK_POSTRM">
805 <summary>
806 <para>
807 TODO
808 </para>
809 </summary>
810 </cvar>
812 <cvar name="X_IPK_PREINST">
813 <summary>
814 <para>
815 TODO
816 </para>
817 </summary>
818 </cvar>
820 <cvar name="X_IPK_PRERM">
821 <summary>
822 <para>
823 TODO
824 </para>
825 </summary>
826 </cvar>
828 <cvar name="X_MSI_FEATURE">
829 <summary>
830 <para>
831 TODO
832 </para>
833 </summary>
834 </cvar>
836 <cvar name="X_MSI_FILEID">
837 <summary>
838 <para>
839 TODO
840 </para>
841 </summary>
842 </cvar>
844 <cvar name="X_MSI_LONGNAME">
845 <summary>
846 <para>
847 TODO
848 </para>
849 </summary>
850 </cvar>
852 <cvar name="X_MSI_SHORTNAME">
853 <summary>
854 <para>
855 TODO
856 </para>
857 </summary>
858 </cvar>
860 <cvar name="X_MSI_VITAL">
861 <summary>
862 <para>
863 TODO
864 </para>
865 </summary>
866 </cvar>
868 <cvar name="X_RPM_DIR">
869 <summary>
870 <para>
871 TODO
872 </para>
873 </summary>
874 </cvar>
876 <cvar name="X_RPM_DOCDIR">
877 <summary>
878 <para>
879 TODO
880 </para>
881 </summary>
882 </cvar>
884 <cvar name="X_RPM_GHOST">
885 <summary>
886 <para>
887 TODO
888 </para>
889 </summary>
890 </cvar>
892 <cvar name="X_RPM_VERIFY">
893 <summary>
894 <para>
895 TODO
896 </para>
897 </summary>
898 </cvar>
903 <scons_function name="Tag">
904 <arguments signature="global">
905 (node, tags)
906 </arguments>
907 <summary>
908 <para>
909 Annotates file or directory Nodes with
910 information about how the
911 &b-link-Package;
912 Builder should package those files or directories.
913 All Node-level tags are optional.
914 </para>
916 <para>
917 Examples:
918 </para>
920 <example_commands>
921 # makes sure the built library will be installed with 644 file access mode
922 Tag(Library('lib.c'), UNIX_ATTR="0o644")
924 # marks file2.txt to be a documentation file
925 Tag('file2.txt', DOC)
926 </example_commands>
927 </summary>
928 </scons_function>
931 <!--
932 <function name="FindSourceFiles">
933 <summary>
934 <para>
935 A convenience function which returns all leaves of the build tree.
936 </para>
937 </summary>
938 </function>
940 <builder name="FindInstalledFiles">
941 <summary>
942 <para>
943 Returns all files "built" by the &b-Install; or &b-InstallAs; builders.
944 </para>
945 </summary>
946 </function>
949 </sconsdoc>