Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / amd64 / man / man3 / lib.3
CommitLineData
920dae64
AT
1.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
24.fi
25..
26.\" Set up some character translations and predefined strings. \*(-- will
27.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28.\" double quote, and \*(R" will give a right double quote. | will give a
29.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31.\" expand to `' in nroff, nothing in troff, for use with C<>.
32.tr \(*W-|\(bv\*(Tr
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
37. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
51.\" If the F register is turned on, we'll generate index entries on stderr for
52.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53.\" entries marked with X<> in POD. Of course, you'll have to process the
54.\" output yourself in some meaningful fashion.
55.if \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
62.\"
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
65.hy 0
66.if n .na
67.\"
68.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69.\" Fear. Run. Save yourself. No user-serviceable parts.
70. \" fudge factors for nroff and troff
71.if n \{\
72. ds #H 0
73. ds #V .8m
74. ds #F .3m
75. ds #[ \f1
76. ds #] \fP
77.\}
78.if t \{\
79. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80. ds #V .6m
81. ds #F 0
82. ds #[ \&
83. ds #] \&
84.\}
85. \" simple accents for nroff and troff
86.if n \{\
87. ds ' \&
88. ds ` \&
89. ds ^ \&
90. ds , \&
91. ds ~ ~
92. ds /
93.\}
94.if t \{\
95. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101.\}
102. \" troff and (daisy-wheel) nroff accents
103.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110.ds ae a\h'-(\w'a'u*4/10)'e
111.ds Ae A\h'-(\w'A'u*4/10)'E
112. \" corrections for vroff
113.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115. \" for low resolution devices (crt and lpr)
116.if \n(.H>23 .if \n(.V>19 \
117\{\
118. ds : e
119. ds 8 ss
120. ds o a
121. ds d- d\h'-1'\(ga
122. ds D- D\h'-1'\(hy
123. ds th \o'bp'
124. ds Th \o'LP'
125. ds ae ae
126. ds Ae AE
127.\}
128.rm #[ #] #H #V #F C
129.\" ========================================================================
130.\"
131.IX Title "lib 3"
132.TH lib 3 "2001-09-21" "perl v5.8.8" "Perl Programmers Reference Guide"
133.SH "NAME"
134lib \- manipulate @INC at compile time
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137.Vb 1
138\& use lib LIST;
139.Ve
140.PP
141.Vb 1
142\& no lib LIST;
143.Ve
144.SH "DESCRIPTION"
145.IX Header "DESCRIPTION"
146This is a small simple module which simplifies the manipulation of \f(CW@INC\fR
147at compile time.
148.PP
149It is typically used to add extra directories to perl's search path so
150that later \f(CW\*(C`use\*(C'\fR or \f(CW\*(C`require\*(C'\fR statements will find modules which are
151not located on perl's default search path.
152.ie n .Sh "Adding directories to @INC"
153.el .Sh "Adding directories to \f(CW@INC\fP"
154.IX Subsection "Adding directories to @INC"
155The parameters to \f(CW\*(C`use lib\*(C'\fR are added to the start of the perl search
156path. Saying
157.PP
158.Vb 1
159\& use lib LIST;
160.Ve
161.PP
162is \fIalmost\fR the same as saying
163.PP
164.Vb 1
165\& BEGIN { unshift(@INC, LIST) }
166.Ve
167.PP
168For each directory in \s-1LIST\s0 (called \f(CW$dir\fR here) the lib module also
169checks to see if a directory called \f(CW$dir\fR/$archname/auto exists.
170If so the \f(CW$dir\fR/$archname directory is assumed to be a corresponding
171architecture specific directory and is added to \f(CW@INC\fR in front of \f(CW$dir\fR.
172.PP
173To avoid memory leaks, all trailing duplicate entries in \f(CW@INC\fR are
174removed.
175.ie n .Sh "Deleting directories from @INC"
176.el .Sh "Deleting directories from \f(CW@INC\fP"
177.IX Subsection "Deleting directories from @INC"
178You should normally only add directories to \f(CW@INC\fR. If you need to
179delete directories from \f(CW@INC\fR take care to only delete those which you
180added yourself or which you are certain are not needed by other modules
181in your script. Other modules may have added directories which they
182need for correct operation.
183.PP
184The \f(CW\*(C`no lib\*(C'\fR statement deletes all instances of each named directory
185from \f(CW@INC\fR.
186.PP
187For each directory in \s-1LIST\s0 (called \f(CW$dir\fR here) the lib module also
188checks to see if a directory called \f(CW$dir\fR/$archname/auto exists.
189If so the \f(CW$dir\fR/$archname directory is assumed to be a corresponding
190architecture specific directory and is also deleted from \f(CW@INC\fR.
191.ie n .Sh "Restoring original @INC"
192.el .Sh "Restoring original \f(CW@INC\fP"
193.IX Subsection "Restoring original @INC"
194When the lib module is first loaded it records the current value of \f(CW@INC\fR
195in an array \f(CW@lib::ORIG_INC\fR. To restore \f(CW@INC\fR to that value you
196can say
197.PP
198.Vb 1
199\& @INC = @lib::ORIG_INC;
200.Ve
201.SH "CAVEATS"
202.IX Header "CAVEATS"
203In order to keep lib.pm small and simple, it only works with Unix
204filepaths. This doesn't mean it only works on Unix, but non-Unix
205users must first translate their file paths to Unix conventions.
206.PP
207.Vb 3
208\& # VMS users wanting to put [.stuff.moo] into
209\& # their @INC would write
210\& use lib 'stuff/moo';
211.Ve
212.SH "NOTES"
213.IX Header "NOTES"
214In the future, this module will likely use File::Spec for determining
215paths, as it does now for Mac \s-1OS\s0 (where Unix-style or Mac-style paths
216work, and Unix-style paths are converted properly to Mac-style paths
217before being added to \f(CW@INC\fR).
218.SH "SEE ALSO"
219.IX Header "SEE ALSO"
220FindBin \- optional module which deals with paths relative to the source file.
221.SH "AUTHOR"
222.IX Header "AUTHOR"
223Tim Bunce, 2nd June 1995.