Codebase list policykit-1-gnome / upstream/0.94
Imported Upstream version 0.94 Michael Biebl 14 years ago
183 changed file(s) with 29940 addition(s) and 47850 deletion(s). Raw diff Collapse all Expand all
0
1 The polkit-gnome library (polkit-gnome/*) is licensed to you under the
2 GNU Lesser General Public License version 2 or later. The PolicyKit
3 GNOME authentication D-Bus service (src/*) and authorization tool
4 (tools/*) is licensed to you under the GNU General Public License
5 version 2 or later.
6
7 Both licenses are included here. Each source code file is marked with
8 the proper copyright and license information.
9
10 -- GPL BEGIN --
11
12 GNU GENERAL PUBLIC LICENSE
13 Version 2, June 1991
14
15 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
16 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 Everyone is permitted to copy and distribute verbatim copies
18 of this license document, but changing it is not allowed.
19
20 Preamble
21
22 The licenses for most software are designed to take away your
23 freedom to share and change it. By contrast, the GNU General Public
24 License is intended to guarantee your freedom to share and change free
25 software--to make sure the software is free for all its users. This
26 General Public License applies to most of the Free Software
27 Foundation's software and to any other program whose authors commit to
28 using it. (Some other Free Software Foundation software is covered by
29 the GNU Library General Public License instead.) You can apply it to
30 your programs, too.
31
32 When we speak of free software, we are referring to freedom, not
33 price. Our General Public Licenses are designed to make sure that you
34 have the freedom to distribute copies of free software (and charge for
35 this service if you wish), that you receive source code or can get it
36 if you want it, that you can change the software or use pieces of it
37 in new free programs; and that you know you can do these things.
38
39 To protect your rights, we need to make restrictions that forbid
40 anyone to deny you these rights or to ask you to surrender the rights.
41 These restrictions translate to certain responsibilities for you if you
42 distribute copies of the software, or if you modify it.
43
44 For example, if you distribute copies of such a program, whether
45 gratis or for a fee, you must give the recipients all the rights that
46 you have. You must make sure that they, too, receive or can get the
47 source code. And you must show them these terms so they know their
48 rights.
49
50 We protect your rights with two steps: (1) copyright the software, and
51 (2) offer you this license which gives you legal permission to copy,
52 distribute and/or modify the software.
53
54 Also, for each author's protection and ours, we want to make certain
55 that everyone understands that there is no warranty for this free
56 software. If the software is modified by someone else and passed on, we
57 want its recipients to know that what they have is not the original, so
58 that any problems introduced by others will not reflect on the original
59 authors' reputations.
60
61 Finally, any free program is threatened constantly by software
62 patents. We wish to avoid the danger that redistributors of a free
63 program will individually obtain patent licenses, in effect making the
64 program proprietary. To prevent this, we have made it clear that any
65 patent must be licensed for everyone's free use or not licensed at all.
66
67 The precise terms and conditions for copying, distribution and
68 modification follow.
69
70 GNU GENERAL PUBLIC LICENSE
71 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
72
73 0. This License applies to any program or other work which contains
74 a notice placed by the copyright holder saying it may be distributed
75 under the terms of this General Public License. The "Program", below,
76 refers to any such program or work, and a "work based on the Program"
77 means either the Program or any derivative work under copyright law:
78 that is to say, a work containing the Program or a portion of it,
79 either verbatim or with modifications and/or translated into another
80 language. (Hereinafter, translation is included without limitation in
81 the term "modification".) Each licensee is addressed as "you".
82
83 Activities other than copying, distribution and modification are not
84 covered by this License; they are outside its scope. The act of
85 running the Program is not restricted, and the output from the Program
86 is covered only if its contents constitute a work based on the
87 Program (independent of having been made by running the Program).
88 Whether that is true depends on what the Program does.
89
90 1. You may copy and distribute verbatim copies of the Program's
91 source code as you receive it, in any medium, provided that you
92 conspicuously and appropriately publish on each copy an appropriate
93 copyright notice and disclaimer of warranty; keep intact all the
94 notices that refer to this License and to the absence of any warranty;
95 and give any other recipients of the Program a copy of this License
96 along with the Program.
97
98 You may charge a fee for the physical act of transferring a copy, and
99 you may at your option offer warranty protection in exchange for a fee.
100
101 2. You may modify your copy or copies of the Program or any portion
102 of it, thus forming a work based on the Program, and copy and
103 distribute such modifications or work under the terms of Section 1
104 above, provided that you also meet all of these conditions:
105
106 a) You must cause the modified files to carry prominent notices
107 stating that you changed the files and the date of any change.
108
109 b) You must cause any work that you distribute or publish, that in
110 whole or in part contains or is derived from the Program or any
111 part thereof, to be licensed as a whole at no charge to all third
112 parties under the terms of this License.
113
114 c) If the modified program normally reads commands interactively
115 when run, you must cause it, when started running for such
116 interactive use in the most ordinary way, to print or display an
117 announcement including an appropriate copyright notice and a
118 notice that there is no warranty (or else, saying that you provide
119 a warranty) and that users may redistribute the program under
120 these conditions, and telling the user how to view a copy of this
121 License. (Exception: if the Program itself is interactive but
122 does not normally print such an announcement, your work based on
123 the Program is not required to print an announcement.)
124
125 These requirements apply to the modified work as a whole. If
126 identifiable sections of that work are not derived from the Program,
127 and can be reasonably considered independent and separate works in
128 themselves, then this License, and its terms, do not apply to those
129 sections when you distribute them as separate works. But when you
130 distribute the same sections as part of a whole which is a work based
131 on the Program, the distribution of the whole must be on the terms of
132 this License, whose permissions for other licensees extend to the
133 entire whole, and thus to each and every part regardless of who wrote it.
134
135 Thus, it is not the intent of this section to claim rights or contest
136 your rights to work written entirely by you; rather, the intent is to
137 exercise the right to control the distribution of derivative or
138 collective works based on the Program.
139
140 In addition, mere aggregation of another work not based on the Program
141 with the Program (or with a work based on the Program) on a volume of
142 a storage or distribution medium does not bring the other work under
143 the scope of this License.
144
145 3. You may copy and distribute the Program (or a work based on it,
146 under Section 2) in object code or executable form under the terms of
147 Sections 1 and 2 above provided that you also do one of the following:
148
149 a) Accompany it with the complete corresponding machine-readable
150 source code, which must be distributed under the terms of Sections
151 1 and 2 above on a medium customarily used for software interchange; or,
152
153 b) Accompany it with a written offer, valid for at least three
154 years, to give any third party, for a charge no more than your
155 cost of physically performing source distribution, a complete
156 machine-readable copy of the corresponding source code, to be
157 distributed under the terms of Sections 1 and 2 above on a medium
158 customarily used for software interchange; or,
159
160 c) Accompany it with the information you received as to the offer
161 to distribute corresponding source code. (This alternative is
162 allowed only for noncommercial distribution and only if you
163 received the program in object code or executable form with such
164 an offer, in accord with Subsection b above.)
165
166 The source code for a work means the preferred form of the work for
167 making modifications to it. For an executable work, complete source
168 code means all the source code for all modules it contains, plus any
169 associated interface definition files, plus the scripts used to
170 control compilation and installation of the executable. However, as a
171 special exception, the source code distributed need not include
172 anything that is normally distributed (in either source or binary
173 form) with the major components (compiler, kernel, and so on) of the
174 operating system on which the executable runs, unless that component
175 itself accompanies the executable.
176
177 If distribution of executable or object code is made by offering
178 access to copy from a designated place, then offering equivalent
179 access to copy the source code from the same place counts as
180 distribution of the source code, even though third parties are not
181 compelled to copy the source along with the object code.
182
183 4. You may not copy, modify, sublicense, or distribute the Program
184 except as expressly provided under this License. Any attempt
185 otherwise to copy, modify, sublicense or distribute the Program is
186 void, and will automatically terminate your rights under this License.
187 However, parties who have received copies, or rights, from you under
188 this License will not have their licenses terminated so long as such
189 parties remain in full compliance.
190
191 5. You are not required to accept this License, since you have not
192 signed it. However, nothing else grants you permission to modify or
193 distribute the Program or its derivative works. These actions are
194 prohibited by law if you do not accept this License. Therefore, by
195 modifying or distributing the Program (or any work based on the
196 Program), you indicate your acceptance of this License to do so, and
197 all its terms and conditions for copying, distributing or modifying
198 the Program or works based on it.
199
200 6. Each time you redistribute the Program (or any work based on the
201 Program), the recipient automatically receives a license from the
202 original licensor to copy, distribute or modify the Program subject to
203 these terms and conditions. You may not impose any further
204 restrictions on the recipients' exercise of the rights granted herein.
205 You are not responsible for enforcing compliance by third parties to
206 this License.
207
208 7. If, as a consequence of a court judgment or allegation of patent
209 infringement or for any other reason (not limited to patent issues),
210 conditions are imposed on you (whether by court order, agreement or
211 otherwise) that contradict the conditions of this License, they do not
212 excuse you from the conditions of this License. If you cannot
213 distribute so as to satisfy simultaneously your obligations under this
214 License and any other pertinent obligations, then as a consequence you
215 may not distribute the Program at all. For example, if a patent
216 license would not permit royalty-free redistribution of the Program by
217 all those who receive copies directly or indirectly through you, then
218 the only way you could satisfy both it and this License would be to
219 refrain entirely from distribution of the Program.
220
221 If any portion of this section is held invalid or unenforceable under
222 any particular circumstance, the balance of the section is intended to
223 apply and the section as a whole is intended to apply in other
224 circumstances.
225
226 It is not the purpose of this section to induce you to infringe any
227 patents or other property right claims or to contest validity of any
228 such claims; this section has the sole purpose of protecting the
229 integrity of the free software distribution system, which is
230 implemented by public license practices. Many people have made
231 generous contributions to the wide range of software distributed
232 through that system in reliance on consistent application of that
233 system; it is up to the author/donor to decide if he or she is willing
234 to distribute software through any other system and a licensee cannot
235 impose that choice.
236
237 This section is intended to make thoroughly clear what is believed to
238 be a consequence of the rest of this License.
239
240 8. If the distribution and/or use of the Program is restricted in
241 certain countries either by patents or by copyrighted interfaces, the
242 original copyright holder who places the Program under this License
243 may add an explicit geographical distribution limitation excluding
244 those countries, so that distribution is permitted only in or among
245 countries not thus excluded. In such case, this License incorporates
246 the limitation as if written in the body of this License.
247
248 9. The Free Software Foundation may publish revised and/or new versions
249 of the General Public License from time to time. Such new versions will
250 be similar in spirit to the present version, but may differ in detail to
251 address new problems or concerns.
252
253 Each version is given a distinguishing version number. If the Program
254 specifies a version number of this License which applies to it and "any
255 later version", you have the option of following the terms and conditions
256 either of that version or of any later version published by the Free
257 Software Foundation. If the Program does not specify a version number of
258 this License, you may choose any version ever published by the Free Software
259 Foundation.
260
261 10. If you wish to incorporate parts of the Program into other free
262 programs whose distribution conditions are different, write to the author
263 to ask for permission. For software which is copyrighted by the Free
264 Software Foundation, write to the Free Software Foundation; we sometimes
265 make exceptions for this. Our decision will be guided by the two goals
266 of preserving the free status of all derivatives of our free software and
267 of promoting the sharing and reuse of software generally.
268
269 NO WARRANTY
270
271 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
272 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
273 OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
274 PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
275 OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
276 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
277 TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
278 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
279 REPAIR OR CORRECTION.
280
281 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
282 WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
283 REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
284 INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
285 OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
286 TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
287 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
288 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
289 POSSIBILITY OF SUCH DAMAGES.
290
291 END OF TERMS AND CONDITIONS
292
293 How to Apply These Terms to Your New Programs
294
295 If you develop a new program, and you want it to be of the greatest
296 possible use to the public, the best way to achieve this is to make it
297 free software which everyone can redistribute and change under these terms.
298
299 To do so, attach the following notices to the program. It is safest
300 to attach them to the start of each source file to most effectively
301 convey the exclusion of warranty; and each file should have at least
302 the "copyright" line and a pointer to where the full notice is found.
303
304 <one line to give the program's name and a brief idea of what it does.>
305 Copyright (C) 19yy <name of author>
306
307 This program is free software; you can redistribute it and/or modify
308 it under the terms of the GNU General Public License as published by
309 the Free Software Foundation; either version 2 of the License, or
310 (at your option) any later version.
311
312 This program is distributed in the hope that it will be useful,
313 but WITHOUT ANY WARRANTY; without even the implied warranty of
314 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
315 GNU General Public License for more details.
316
317 You should have received a copy of the GNU General Public License
318 along with this program; if not, write to the Free Software
319 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
320
321
322 Also add information on how to contact you by electronic and paper mail.
323
324 If the program is interactive, make it output a short notice like this
325 when it starts in an interactive mode:
326
327 Gnomovision version 69, Copyright (C) 19yy name of author
328 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
329 This is free software, and you are welcome to redistribute it
330 under certain conditions; type `show c' for details.
331
332 The hypothetical commands `show w' and `show c' should show the appropriate
333 parts of the General Public License. Of course, the commands you use may
334 be called something other than `show w' and `show c'; they could even be
335 mouse-clicks or menu items--whatever suits your program.
336
337 You should also get your employer (if you work as a programmer) or your
338 school, if any, to sign a "copyright disclaimer" for the program, if
339 necessary. Here is a sample; alter the names:
340
341 Yoyodyne, Inc., hereby disclaims all copyright interest in the program
342 `Gnomovision' (which makes passes at compilers) written by James Hacker.
343
344 <signature of Ty Coon>, 1 April 1989
345 Ty Coon, President of Vice
346
347 This General Public License does not permit incorporating your program into
348 proprietary programs. If your program is a subroutine library, you may
349 consider it more useful to permit linking proprietary applications with the
350 library. If this is what you want to do, use the GNU Library General
351 Public License instead of this License.
352
353 -- GPL END --
354
355 -- LGPL BEGIN --
3560 GNU LIBRARY GENERAL PUBLIC LICENSE
3571 Version 2, June 1991
3582
3593 Copyright (C) 1991 Free Software Foundation, Inc.
360 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
4 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
3615 Everyone is permitted to copy and distribute verbatim copies
3626 of this license document, but changing it is not allowed.
3637
818462 Library General Public License for more details.
819463
820464 You should have received a copy of the GNU Library General Public
821 License along with this library; if not, write to the
822 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
823 Boston, MA 02111-1307 USA.
465 License along with this library; if not, write to the
466 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
467 Boston, MA 02110-1301, USA
824468
825469 Also add information on how to contact you by electronic and paper mail.
826470
835479 Ty Coon, President of Vice
836480
837481 That's all there is to it!
838 -- LGPL END --
+0
-394
ChangeLog less more
0 2008-08-21 02:01 David Zeuthen <davidz@redhat.com>
1
2 * configure.ac: Bump version to 0.9.2 and require the right polkit
3 versions
4
5 2008-08-21 01:11 David Zeuthen <davidz@redhat.com>
6
7 * NEWS: update NEWS for release
8
9 2008-08-21 01:09 David Zeuthen <davidz@redhat.com>
10
11 * src/polkit-gnome-auth-dialog.c, src/sexy-url-label.c,
12 tools/sexy-url-label.c: Don't rely on libsexy headers. Patch from
13 Michael Biebl <mbiebl@gmail.com>.
14
15 2008-08-20 01:56 David Zeuthen <davidz@redhat.com>
16
17 * NEWS: Update NEWS
18
19 2008-08-20 01:56 David Zeuthen <davidz@redhat.com>
20
21 * NEWS, configure.ac, src/Makefile.am,
22 src/polkit-gnome-auth-dialog.c, tools/Makefile.am,
23 tools/polkit-gnome-authorization.c: drop gnome-vfs dep in favor
24 of new gtk+ dep
25
26 2008-08-20 01:35 David Zeuthen <davidz@redhat.com>
27
28 * configure.ac: bump version to 0.9.1
29
30 2008-08-20 01:34 David Zeuthen <davidz@redhat.com>
31
32 * COPYING: mention license for authorization tool
33
34 2008-08-20 01:33 David Zeuthen <davidz@redhat.com>
35
36 * configure.ac, src/Makefile.am, src/sexy-url-label.c,
37 src/sexy-url-label.h, tools/Makefile.am,
38 tools/polkit-gnome-authorization.c, tools/sexy-url-label.c,
39 tools/sexy-url-label.h: don't link against libsexy; use local
40 copies instead
41
42 2008-08-14 00:50 tomaszd
43
44 * po/ChangeLog, po/pl.po: Updated Polish translation
45
46 2008-08-09 10:23 djihed
47
48 * po/ChangeLog, po/ar.po: Updated Arabic Translation by Khaled
49 Hosny.
50
51 2008-08-08 14:52 matthiasc
52
53 * polkit-gnome/polkit-gnome-toggle-action.c: Use standard icon
54 names for the default icons, since gnome-icon-theme
55 has stopped shipping the legacy symlinks.
56
57 2008-08-04 14:20 aihana
58
59 * po/ChangeLog, po/ja.po: 2008-08-04 Takeshi AIHANA
60 <takeshi.aihana@gmail.com>
61
62 * ja.po: Updated Japanese translation.
63
64 2008-08-04 00:32 dnloreto
65
66 * po/ChangeLog, po/pt.po: 2008-08-04 Duarte Loreto
67 <happyguy_pt@hotmail.com>
68
69 * pt.po: Updated Portuguese translation by António Lima
70 <amrlima@gmail.com>.
71
72 2008-07-31 10:42 djihed
73
74 * po/ChangeLog, po/LINGUAS, po/ar.po: Updated Arabic Translation by
75 Khaled Hosny.
76
77 2008-07-30 00:32 leonardof
78
79 * po/ChangeLog, po/pt_BR.po: 2008-07-29 Leonardo Ferreira
80 Fontenelle <leonardof@gnome.org>
81
82 * pt_BR.po: Translation updated by Igor Pires Soares. (Yes,
83 again!)
84
85 2008-07-22 18:05 David Zeuthen <davidz@redhat.com>
86
87 * Makefile.am: fix ChangeLog generation
88
89 2008-07-22 17:59 David Zeuthen <davidz@redhat.com>
90
91 * NEWS: update NEWS
92
93 2008-07-22 17:51 David Zeuthen <davidz@redhat.com>
94
95 * Makefile.am, examples/Makefile.am: fix 'make distcheck'
96
97 2008-07-22 17:30 David Zeuthen <davidz@redhat.com>
98
99 * AUTHORS, Makefile.am: use svn2cl for ChangeLog generation now
100 that we're no longer using git :-/
101
102 2008-07-22 17:07 David Zeuthen <davidz@redhat.com>
103
104 * README: also mention the "Manage Authorizations" capplet in
105 README
106
107 2008-07-22 16:57 David Zeuthen <davidz@redhat.com>
108
109 * NEWS, README, configure.ac: late bump to 0.9, update NEWS and
110 write README
111
112 2008-07-21 04:33 leonardof
113
114 * po/ChangeLog, po/pt_BR.po: 2008-07-21 Leonardo Ferreira
115 Fontenelle <leonardof@gnome.org>
116
117 * pt_BR.po: Translation updated by Igor Pires Soares.
118
119 2008-07-19 15:53 denisw
120
121 * po/ChangeLog, po/de.po: 2008-07-19 Denis Washington
122 <dwashington@gmx.net>
123
124 * de.po: Updated German translation.
125
126 2008-07-19 15:29 denisw
127
128 * po/ChangeLog, po/LINGUAS, po/de.po: 2008-07-19 Denis Washington
129 <dwashington@gmx.net>
130
131 * de.po: Added German translation.
132 * LINGUAS: Added "de".
133
134 2008-07-18 14:05 David Zeuthen <davidz@redhat.com>
135
136 * data/polkit-gnome.schemas.in, src/polkit-gnome-auth-dialog.c,
137 src/polkit-gnome-auth-dialog.h, src/polkit-gnome-manager.c: add
138 two gconf keys to control whether to check the "remember authz"
139 by default
140
141 See
142
143 http://lists.freedesktop.org/archives/polkit-devel/2008-July/000022.html
144
145 and surrounding messages in that thread for details.
146
147 2008-07-02 08:09 ganlu
148
149 * po/ChangeLog, po/LINGUAS, po/zh_CN.po: Add Simplified Chinese
150 tranlation.
151
152 2008-06-28 20:45 David Zeuthen <davidz@redhat.com>
153
154 * src/polkit-gnome-auth-dialog.c: dup the pixbuf since we're
155 modifying it
156
157 2008-06-25 17:40 jwendell
158
159 * po/ChangeLog, po/LINGUAS, po/pt_BR.po: 2008-06-25 Jonh Wendell
160 <jwendell@gnome.org>
161
162 * pt_BR.po, LINGUAS: Added Brazilian Portuguese translation by
163 Laudeci Oliveira.
164
165 2008-06-21 11:43 pmkovar
166
167 * po/ChangeLog, po/LINGUAS, po/cs.po: cs.po: Added Czech
168 translation by Adrian Gunis (bug #538982). LINGUAS: Added 'cs'.
169
170 2008-06-20 21:07 chpe
171
172 * src/polkit-gnome-auth-dialog.h: Don't use deprecated gtk type
173 macros. Bug #539284.
174
175 2008-06-20 21:06 chpe
176
177 * gtk-doc.make: Remove autogen'd file from svn. Bug #539285
178
179 2008-06-19 05:01 marcel
180
181 * po/ChangeLog, po/LINGUAS, po/sk.po: 2008-06-19 Marcel Telka
182 <marcel@telka.sk>
183
184 * sk.po: Added Slovak translation by Pavol Šimo.
185 * LINGUAS: Added sk.
186
187 2008-06-08 17:23 lkanter
188
189 * po/ru.po: Fix Russian translation
190
191 2008-06-08 17:18 lkanter
192
193 * po/ChangeLog, po/LINGUAS, po/ru.po: Added Russian translation
194
195 2008-05-31 08:59 yairhr
196
197 * po/ChangeLog, po/he.po: updated hebrew translation
198
199 2008-05-26 20:15 wadimd
200
201 * po/ChangeLog, po/pl.po: 2008-05-26 Wadim Dziedzic
202 <wadimd@svn.gnome.org>
203
204 * pl.po: Updated polish translation
205
206 2008-05-25 20:16 dnloreto
207
208 * po/ChangeLog, po/LINGUAS, po/pt.po: 2008-05-25 Duarte Loreto
209 <happyguy_pt@hotmail.com>
210
211 * pt.po: Added Portuguese translation by António Lima
212 <amrlima@gmail.com>.
213 * LINGUAS: Added Portuguese (pt).
214
215 2008-05-25 10:34 jorgegonz
216
217 * po/ChangeLog, po/es.po: Updated Spanish translation
218
219 2008-05-18 11:59 wadimd
220
221 * po/pl.po: 2008-05-18 Wadim Dziedzic <wadimd@svn.gnome.org>
222
223 * pl.po: Added Polish translation
224
225 2008-05-18 11:40 wadimd
226
227 * po/ChangeLog, po/LINGUAS: 2008-05-18 Wadim Dziedzic
228 <wadimd@svn.gnome.org>
229
230 * pl.po: Added Polish translation
231
232 2008-05-13 19:46 gforcada
233
234 * po/ChangeLog, po/LINGUAS, po/ca.po: Added Catalan translation by
235 David Planella
236
237 2008-05-12 18:35 David Zeuthen <davidz@redhat.com>
238
239 * configure.ac, data/Makefile.am, data/polkit-gnome.schemas.in,
240 po/POTFILES.in, src/polkit-gnome-manager.c: don't grab the
241 pointer when popping up the auth dialog
242
243 Patch from Federico Mena Quintero <federico@gnu.org>. Resolves
244 http://bugzilla.gnome.org/show_bug.cgi?id=531609
245
246 Signed-off-by: Federico Mena Quintero <federico@gnu.org>
247
248 2008-05-10 19:02 jorgegonz
249
250 * po/ChangeLog, po/es.po: Updated Spanish translation
251
252 2008-04-21 18:00 David Zeuthen <davidz@redhat.com>
253
254 * src/polkit-gnome-manager.c: use polkit function instead of Linux
255 specific code for getting exe name
256
257 2008-04-21 17:48 David Zeuthen <davidz@redhat.com>
258
259 * examples/Makefile.am,
260 examples/org.gnome.policykit.examples.policy.in,
261 examples/polkit-gnome-example.policy.in, gtk-doc.make,
262 po/POTFILES.in: rename policy file to adhere to PolicyKit
263 guidelines
264
265 See
266
267 http://gitweb.freedesktop.org/?p=PolicyKit.git;a=commit;h=2b1a2a69f6366534609a0671f3f2e92369cb3fa1
268
269 for more details
270
271 2008-04-21 17:20 David Zeuthen <davidz@redhat.com>
272
273 * HACKING, NEWS, examples/Makefile.am, src/polkit-gnome-manager.c,
274 tools/polkit-gnome-authorization.c: update to latest from git and
275 start using SVN as the upstream SCM system
276
277 2008-04-20 16:03 jorgegonz
278
279 * po/ChangeLog, po/es.po: Updated Spanish translation
280
281 2008-04-17 10:24 tjyrinki
282
283 * po/fi.po: small terminology change of Ohjelma (program) ->
284 Sovellus (application)
285
286 2008-04-13 04:02 aihana
287
288 * po/ChangeLog, po/LINGUAS, po/ja.po: 2008-04-13 Takeshi AIHANA
289 <takeshi.aihana@gmail.com>
290
291 * ja.po: Added Japanese translation.
292 * LINGUAS: Added 'ja' (Japanese).
293
294 2008-04-09 11:05 kelemeng
295
296 * po/ChangeLog, po/LINGUAS, po/hu.po: 2008-04-09 Gabor Kelemen
297 <kelemeng@gnome.hu>
298
299 * hu.po: Translation added by Máté Őry
300 * LINGUAS: Added hu
301
302 2008-04-07 22:07 yairhr
303
304 * po/he.po: added hebrew translation
305
306 2008-04-07 22:07 yairhr
307
308 * po/ChangeLog, po/LINGUAS: added hebrew translation
309
310 2008-04-06 08:36 jorgegonz
311
312 * po/ChangeLog, po/es.po: Added Spanish translation
313
314 2008-04-05 13:53 jorgegonz
315
316 * po/ChangeLog, po/LINGUAS: Updated Spanish translation
317
318 2008-04-05 09:38 ituohela
319
320 * po/ChangeLog, po/LINGUAS, po/fi.po: Added Finnish translation
321
322 2008-04-04 10:53 dnylande
323
324 * po/ChangeLog, po/LINGUAS, po/sv.po: * sv.po: Added Swedish
325 translation
326 * LINGUAS: Added sv
327
328 2008-04-04 09:15 simos
329
330 * po/ChangeLog, po/LINGUAS, po/el.po: Added Greek translation
331
332 2008-04-04 08:13 pwithnall
333
334 * po/ChangeLog, po/LINGUAS, po/en_GB.po: 2008-04-04 Philip Withnall
335 <pwithnall@svn.gnome.org>
336
337 * LINGUAS: Added en_GB (British English).
338 * en_GB.po: Added British English translation.
339
340 2008-04-04 07:35 claudep
341
342 * po/ChangeLog, po/LINGUAS, po/fr.po: 2008-04-04 Claude Paroz
343 <claude@2xlibre.net>
344
345 * fr.po: Added French translation.
346 * LINGUAS: Added fr.
347
348 2008-04-04 06:12 David Zeuthen <davidz@redhat.com>
349
350 * README: test commit
351
352 2008-04-04 06:08 David Zeuthen <davidz@redhat.com>
353
354 * MAINTAINERS: update MAINTAINERS
355
356 2008-04-04 06:02 David Zeuthen <davidz@redhat.com>
357
358 * AUTHORS, COPYING, HACKING, MAINTAINERS, Makefile.am, NEWS,
359 README, TODO, autogen.sh, configure.ac, data, data/Makefile.am,
360 data/gnome-org.freedesktop.PolicyKit.AuthenticationAgent.service.in,
361 data/org.gnome.PolicyKit.AuthorizationManager.service.in,
362 data/org.gnome.PolicyKit.service.in,
363 data/polkit-gnome-authorization.desktop.in,
364 data/polkit-gnome.pc.in, doc, doc/Makefile.am,
365 doc/auth-details.png, doc/auth-retain-always.png,
366 doc/auth-retain-session.png, doc/auth-root.png,
367 doc/auth-self.png, doc/auth-wheel-group-1.png,
368 doc/auth-wheel-group-2.png, doc/polkit-gnome-docs.xml,
369 doc/polkit-gnome-example-auth-dialog-twiddle.png,
370 doc/polkit-gnome-example-screenshot-authorized.png,
371 doc/polkit-gnome-example-screenshot.png, doc/version.xml.in,
372 examples, examples/Makefile.am, examples/polkit-gnome-example.c,
373 examples/polkit-gnome-example.policy.in, gtk-doc.make, po,
374 po/ChangeLog, po/LINGUAS, po/POTFILES.in, po/da.po, polkit-gnome,
375 polkit-gnome/Makefile.am, polkit-gnome/polkit-gnome-action.c,
376 polkit-gnome/polkit-gnome-action.h,
377 polkit-gnome/polkit-gnome-auth.c,
378 polkit-gnome/polkit-gnome-auth.h,
379 polkit-gnome/polkit-gnome-context.c,
380 polkit-gnome/polkit-gnome-context.h,
381 polkit-gnome/polkit-gnome-toggle-action.c,
382 polkit-gnome/polkit-gnome-toggle-action.h,
383 polkit-gnome/polkit-gnome.h, src, src/Makefile.am,
384 src/inotify_local.h, src/main.c, src/polkit-gnome-auth-dialog.c,
385 src/polkit-gnome-auth-dialog.h, src/polkit-gnome-manager.c,
386 src/polkit-gnome-manager.h, src/polkit-gnome-manager.xml, tools,
387 tools/Makefile.am, tools/polkit-gnome-authorization.c,
388 tools/single-instance.xml: Merge ../PolicyKit-gnome
389
390 2007-08-06 18:06 root
391
392 * .: Initial project roots
393
0 SUBDIRS = data src polkit-gnome tools
1
2 if BUILD_EXAMPLES
3 SUBDIRS += examples
4 endif
5
6 # Need to build docs after examples because the docs include generated files
7 SUBDIRS += doc po
8
9 # Creating ChangeLog from git log (taken from cairo/Makefile.am):
10 ChangeLog: $(srcdir)/ChangeLog
11
12 $(srcdir)/ChangeLog:
13 if test -d $(srcdir)/.svn ; then \
14 svn up && svn2cl --authors=AUTHORS -o $(srcdir)/ChangeLog ; \
15 fi
16
17 .PHONY: ChangeLog $(srcdir)/ChangeLog
18
0 SUBDIRS = polkitgtk src po docs
191
202 EXTRA_DIST = \
213 autogen.sh \
224 TODO \
23 HACKING \
24 ChangeLog
5 HACKING
256
267 clean-local :
278 rm -f *~ po/*~
0 # Makefile.in generated by automake 1.10.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
56 # This Makefile.in is free software; the Free Software Foundation
67 # gives unlimited permission to copy and/or distribute it,
78 # with or without modifications, as long as this notice is preserved.
1415 @SET_MAKE@
1516 VPATH = @srcdir@
1617 pkgdatadir = $(datadir)/@PACKAGE@
18 pkgincludedir = $(includedir)/@PACKAGE@
1719 pkglibdir = $(libdir)/@PACKAGE@
18 pkgincludedir = $(includedir)/@PACKAGE@
20 pkglibexecdir = $(libexecdir)/@PACKAGE@
1921 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
2022 install_sh_DATA = $(install_sh) -c -m 644
2123 install_sh_PROGRAM = $(install_sh) -c
3032 POST_UNINSTALL = :
3133 build_triplet = @build@
3234 host_triplet = @host@
33 @BUILD_EXAMPLES_TRUE@am__append_1 = examples
3435 subdir = .
3536 DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
3637 $(srcdir)/Makefile.in $(srcdir)/config.h.in \
37 $(top_srcdir)/configure AUTHORS COPYING ChangeLog NEWS TODO \
38 config.guess config.sub depcomp install-sh ltmain.sh missing \
39 mkinstalldirs
38 $(top_srcdir)/configure AUTHORS COPYING NEWS TODO config.guess \
39 config.sub depcomp install-sh ltmain.sh missing mkinstalldirs
4040 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
4141 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
4242 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
4646 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
4747 CONFIG_HEADER = config.h
4848 CONFIG_CLEAN_FILES =
49 CONFIG_CLEAN_VPATH_FILES =
4950 SOURCES =
5051 DIST_SOURCES =
5152 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
5758 ps-recursive uninstall-recursive
5859 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
5960 distclean-recursive maintainer-clean-recursive
61 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
62 $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
63 distdir dist dist-all distcheck
6064 ETAGS = etags
6165 CTAGS = ctags
62 DIST_SUBDIRS = data src polkit-gnome tools examples doc po
66 DIST_SUBDIRS = $(SUBDIRS)
6367 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
6468 distdir = $(PACKAGE)-$(VERSION)
6569 top_distdir = $(distdir)
6670 am__remove_distdir = \
67 { test ! -d $(distdir) \
68 || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
69 && rm -fr $(distdir); }; }
71 { test ! -d "$(distdir)" \
72 || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
73 && rm -fr "$(distdir)"; }; }
74 am__relativize = \
75 dir0=`pwd`; \
76 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
77 sed_rest='s,^[^/]*/*,,'; \
78 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
79 sed_butlast='s,/*[^/]*$$,,'; \
80 while test -n "$$dir1"; do \
81 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
82 if test "$$first" != "."; then \
83 if test "$$first" = ".."; then \
84 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
85 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
86 else \
87 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
88 if test "$$first2" = "$$first"; then \
89 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
90 else \
91 dir2="../$$dir2"; \
92 fi; \
93 dir0="$$dir0"/"$$first"; \
94 fi; \
95 fi; \
96 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
97 done; \
98 reldir="$$dir2"
7099 GZIP_ENV = --best
71100 DIST_ARCHIVES = $(distdir).tar.bz2
72101 distuninstallcheck_listfiles = find . -type f -print
91120 CFLAGS = @CFLAGS@
92121 CPP = @CPP@
93122 CPPFLAGS = @CPPFLAGS@
94 CXX = @CXX@
95 CXXCPP = @CXXCPP@
96 CXXDEPMODE = @CXXDEPMODE@
97 CXXFLAGS = @CXXFLAGS@
98123 CYGPATH_W = @CYGPATH_W@
99124 DATADIRNAME = @DATADIRNAME@
100 DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@
101 DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@
102125 DEFS = @DEFS@
103126 DEPDIR = @DEPDIR@
104127 DISABLE_DEPRECATED = @DISABLE_DEPRECATED@
105 DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
106 DOC_USER_FORMATS = @DOC_USER_FORMATS@
107128 DSYMUTIL = @DSYMUTIL@
108 ECHO = @ECHO@
129 DUMPBIN = @DUMPBIN@
109130 ECHO_C = @ECHO_C@
110131 ECHO_N = @ECHO_N@
111132 ECHO_T = @ECHO_T@
112133 EGREP = @EGREP@
113134 EXEEXT = @EXEEXT@
114 F77 = @F77@
115 FFLAGS = @FFLAGS@
116 GCONFTOOL = @GCONFTOOL@
117 GCONF_CFLAGS = @GCONF_CFLAGS@
118 GCONF_LIBS = @GCONF_LIBS@
119 GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
120 GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
135 FGREP = @FGREP@
121136 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
122137 GMOFILES = @GMOFILES@
123138 GMSGFMT = @GMSGFMT@
125140 GTKDOC_CHECK = @GTKDOC_CHECK@
126141 GTK_CFLAGS = @GTK_CFLAGS@
127142 GTK_LIBS = @GTK_LIBS@
128 HELP_DIR = @HELP_DIR@
129143 HTML_DIR = @HTML_DIR@
130144 INSTALL = @INSTALL@
131145 INSTALL_DATA = @INSTALL_DATA@
134148 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
135149 INSTOBJEXT = @INSTOBJEXT@
136150 INTLLIBS = @INTLLIBS@
137 INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
138 INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
139 INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
140151 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
141 INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@
142 INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
143152 INTLTOOL_MERGE = @INTLTOOL_MERGE@
144 INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
145153 INTLTOOL_PERL = @INTLTOOL_PERL@
146 INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@
147 INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
148 INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
149 INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
150 INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
151 INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
152 INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
153 INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
154 INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
155 INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
156154 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
157 INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
158 INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@
159 INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
155 LD = @LD@
160156 LDFLAGS = @LDFLAGS@
161157 LIBOBJS = @LIBOBJS@
162158 LIBS = @LIBS@
163159 LIBTOOL = @LIBTOOL@
160 LIPO = @LIPO@
164161 LN_S = @LN_S@
165162 LTLIBOBJS = @LTLIBOBJS@
166163 LT_AGE = @LT_AGE@
173170 MSGFMT = @MSGFMT@
174171 MSGFMT_OPTS = @MSGFMT_OPTS@
175172 MSGMERGE = @MSGMERGE@
173 NM = @NM@
176174 NMEDIT = @NMEDIT@
175 OBJDUMP = @OBJDUMP@
177176 OBJEXT = @OBJEXT@
178 OMF_DIR = @OMF_DIR@
177 OTOOL = @OTOOL@
178 OTOOL64 = @OTOOL64@
179179 PACKAGE = @PACKAGE@
180180 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
181181 PACKAGE_NAME = @PACKAGE_NAME@
185185 PATH_SEPARATOR = @PATH_SEPARATOR@
186186 PKG_CONFIG = @PKG_CONFIG@
187187 POFILES = @POFILES@
188 POLKIT_DBUS_CFLAGS = @POLKIT_DBUS_CFLAGS@
189 POLKIT_DBUS_LIBS = @POLKIT_DBUS_LIBS@
190 POLKIT_GRANT_CFLAGS = @POLKIT_GRANT_CFLAGS@
191 POLKIT_GRANT_LIBS = @POLKIT_GRANT_LIBS@
192 POLKIT_POLICY_FILE_VALIDATE = @POLKIT_POLICY_FILE_VALIDATE@
188 POLKIT_AGENT_CFLAGS = @POLKIT_AGENT_CFLAGS@
189 POLKIT_AGENT_LIBS = @POLKIT_AGENT_LIBS@
190 POLKIT_GOBJECT_CFLAGS = @POLKIT_GOBJECT_CFLAGS@
191 POLKIT_GOBJECT_LIBS = @POLKIT_GOBJECT_LIBS@
193192 POSUB = @POSUB@
194193 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
195194 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
207206 abs_top_builddir = @abs_top_builddir@
208207 abs_top_srcdir = @abs_top_srcdir@
209208 ac_ct_CC = @ac_ct_CC@
210 ac_ct_CXX = @ac_ct_CXX@
211 ac_ct_F77 = @ac_ct_F77@
209 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
212210 am__include = @am__include@
213211 am__leading_dot = @am__leading_dot@
214212 am__quote = @am__quote@
239237 libexecdir = @libexecdir@
240238 localedir = @localedir@
241239 localstatedir = @localstatedir@
240 lt_ECHO = @lt_ECHO@
242241 mandir = @mandir@
243242 mkdir_p = @mkdir_p@
244243 oldincludedir = @oldincludedir@
254253 top_build_prefix = @top_build_prefix@
255254 top_builddir = @top_builddir@
256255 top_srcdir = @top_srcdir@
257
258 # Need to build docs after examples because the docs include generated files
259 SUBDIRS = data src polkit-gnome tools $(am__append_1) doc po
256 SUBDIRS = polkitgtk src po docs
260257 EXTRA_DIST = \
261258 autogen.sh \
262259 TODO \
263 HACKING \
264 ChangeLog
260 HACKING
265261
266262 all: config.h
267263 $(MAKE) $(AM_MAKEFLAGS) all-recursive
273269 @for dep in $?; do \
274270 case '$(am__configure_deps)' in \
275271 *$$dep*) \
276 echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
277 cd $(srcdir) && $(AUTOMAKE) --foreign \
272 echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
273 $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
278274 && exit 0; \
279275 exit 1;; \
280276 esac; \
281277 done; \
282 echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
283 cd $(top_srcdir) && \
284 $(AUTOMAKE) --foreign Makefile
278 echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
279 $(am__cd) $(top_srcdir) && \
280 $(AUTOMAKE) --foreign Makefile
285281 .PRECIOUS: Makefile
286282 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
287283 @case '$?' in \
297293 $(SHELL) ./config.status --recheck
298294
299295 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
300 cd $(srcdir) && $(AUTOCONF)
296 $(am__cd) $(srcdir) && $(AUTOCONF)
301297 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
302 cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
298 $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
299 $(am__aclocal_m4_deps):
303300
304301 config.h: stamp-h1
305302 @if test ! -f $@; then \
311308 @rm -f stamp-h1
312309 cd $(top_builddir) && $(SHELL) ./config.status config.h
313310 $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
314 cd $(top_srcdir) && $(AUTOHEADER)
311 ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
315312 rm -f stamp-h1
316313 touch $@
317314
325322 -rm -rf .libs _libs
326323
327324 distclean-libtool:
328 -rm -f libtool
325 -rm -f libtool config.lt
329326
330327 # This directory's subdirectories are mostly independent; you can cd
331328 # into them and run `make' without going through this Makefile.
351348 else \
352349 local_target="$$target"; \
353350 fi; \
354 (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
351 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
355352 || eval $$failcom; \
356353 done; \
357354 if test "$$dot_seen" = "no"; then \
385382 else \
386383 local_target="$$target"; \
387384 fi; \
388 (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
385 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
389386 || eval $$failcom; \
390387 done && test -z "$$fail"
391388 tags-recursive:
392389 list='$(SUBDIRS)'; for subdir in $$list; do \
393 test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
390 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
394391 done
395392 ctags-recursive:
396393 list='$(SUBDIRS)'; for subdir in $$list; do \
397 test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
394 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
398395 done
399396
400397 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
402399 unique=`for i in $$list; do \
403400 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
404401 done | \
405 $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
402 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
406403 END { if (nonempty) { for (i in files) print i; }; }'`; \
407404 mkid -fID $$unique
408405 tags: TAGS
409406
410407 TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
411408 $(TAGS_FILES) $(LISP)
412 tags=; \
409 set x; \
413410 here=`pwd`; \
414411 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
415412 include_option=--etags-include; \
421418 list='$(SUBDIRS)'; for subdir in $$list; do \
422419 if test "$$subdir" = .; then :; else \
423420 test ! -f $$subdir/TAGS || \
424 tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
421 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
425422 fi; \
426423 done; \
427424 list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
430427 done | \
431428 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
432429 END { if (nonempty) { for (i in files) print i; }; }'`; \
433 if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
430 shift; \
431 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
434432 test -n "$$unique" || unique=$$empty_fix; \
435 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
436 $$tags $$unique; \
433 if test $$# -gt 0; then \
434 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
435 "$$@" $$unique; \
436 else \
437 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
438 $$unique; \
439 fi; \
437440 fi
438441 ctags: CTAGS
439442 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
440443 $(TAGS_FILES) $(LISP)
441 tags=; \
442444 list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
443445 unique=`for i in $$list; do \
444446 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
445447 done | \
446448 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
447449 END { if (nonempty) { for (i in files) print i; }; }'`; \
448 test -z "$(CTAGS_ARGS)$$tags$$unique" \
450 test -z "$(CTAGS_ARGS)$$unique" \
449451 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
450 $$tags $$unique
452 $$unique
451453
452454 GTAGS:
453455 here=`$(am__cd) $(top_builddir) && pwd` \
454 && cd $(top_srcdir) \
455 && gtags -i $(GTAGS_ARGS) $$here
456 && $(am__cd) $(top_srcdir) \
457 && gtags -i $(GTAGS_ARGS) "$$here"
456458
457459 distclean-tags:
458460 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
459461
460462 distdir: $(DISTFILES)
461463 $(am__remove_distdir)
462 test -d $(distdir) || mkdir $(distdir)
464 test -d "$(distdir)" || mkdir "$(distdir)"
463465 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
464466 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
465467 list='$(DISTFILES)'; \
475477 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
476478 if test -d $$d/$$file; then \
477479 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
480 if test -d "$(distdir)/$$file"; then \
481 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
482 fi; \
478483 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
479 cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
484 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
485 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
480486 fi; \
481 cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
487 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
482488 else \
483 test -f $(distdir)/$$file \
484 || cp -p $$d/$$file $(distdir)/$$file \
489 test -f "$(distdir)/$$file" \
490 || cp -p $$d/$$file "$(distdir)/$$file" \
485491 || exit 1; \
486492 fi; \
487493 done
488 list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
494 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
489495 if test "$$subdir" = .; then :; else \
490496 test -d "$(distdir)/$$subdir" \
491497 || $(MKDIR_P) "$(distdir)/$$subdir" \
492498 || exit 1; \
493 distdir=`$(am__cd) $(distdir) && pwd`; \
494 top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
495 (cd $$subdir && \
499 fi; \
500 done
501 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
502 if test "$$subdir" = .; then :; else \
503 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
504 $(am__relativize); \
505 new_distdir=$$reldir; \
506 dir1=$$subdir; dir2="$(top_distdir)"; \
507 $(am__relativize); \
508 new_top_distdir=$$reldir; \
509 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
510 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
511 ($(am__cd) $$subdir && \
496512 $(MAKE) $(AM_MAKEFLAGS) \
497 top_distdir="$$top_distdir" \
498 distdir="$$distdir/$$subdir" \
513 top_distdir="$$new_top_distdir" \
514 distdir="$$new_distdir" \
499515 am__remove_distdir=: \
500516 am__skip_length_check=: \
517 am__skip_mode_fix=: \
501518 distdir) \
502519 || exit 1; \
503520 fi; \
504521 done
505 -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
522 -test -n "$(am__skip_mode_fix)" \
523 || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
506524 ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
507525 ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
508526 ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
509 || chmod -R a+r $(distdir)
527 || chmod -R a+r "$(distdir)"
510528 dist-gzip: distdir
511529 tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
512530 $(am__remove_distdir)
516534
517535 dist-lzma: distdir
518536 tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
537 $(am__remove_distdir)
538
539 dist-xz: distdir
540 tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
519541 $(am__remove_distdir)
520542
521543 dist-tarZ: distdir
546568 bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
547569 *.tar.lzma*) \
548570 unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
571 *.tar.xz*) \
572 xz -dc $(distdir).tar.xz | $(am__untar) ;;\
549573 *.tar.Z*) \
550574 uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
551575 *.shar.gz*) \
557581 mkdir $(distdir)/_build
558582 mkdir $(distdir)/_inst
559583 chmod a-w $(distdir)
584 test -d $(distdir)/_build || exit 0; \
560585 dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
561586 && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
562 && cd $(distdir)/_build \
587 && am__cwd=`pwd` \
588 && $(am__cd) $(distdir)/_build \
563589 && ../configure --srcdir=.. --prefix="$$dc_install_base" \
564590 $(DISTCHECK_CONFIGURE_FLAGS) \
565591 && $(MAKE) $(AM_MAKEFLAGS) \
581607 && rm -rf "$$dc_destdir" \
582608 && $(MAKE) $(AM_MAKEFLAGS) dist \
583609 && rm -rf $(DIST_ARCHIVES) \
584 && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
610 && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
611 && cd "$$am__cwd" \
612 || exit 1
585613 $(am__remove_distdir)
586614 @(echo "$(distdir) archives ready for distribution: "; \
587615 list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
588616 sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
589617 distuninstallcheck:
590 @cd $(distuninstallcheck_dir) \
618 @$(am__cd) '$(distuninstallcheck_dir)' \
591619 && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
592620 || { echo "ERROR: files left after uninstall:" ; \
593621 if test -n "$(DESTDIR)"; then \
629657
630658 distclean-generic:
631659 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
660 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
632661
633662 maintainer-clean-generic:
634663 @echo "This command is intended for maintainers to use"
649678
650679 html: html-recursive
651680
681 html-am:
682
652683 info: info-recursive
653684
654685 info-am:
657688
658689 install-dvi: install-dvi-recursive
659690
691 install-dvi-am:
692
660693 install-exec-am:
661694
662695 install-html: install-html-recursive
663696
697 install-html-am:
698
664699 install-info: install-info-recursive
665700
701 install-info-am:
702
666703 install-man:
667704
668705 install-pdf: install-pdf-recursive
669706
707 install-pdf-am:
708
670709 install-ps: install-ps-recursive
710
711 install-ps-am:
671712
672713 installcheck-am:
673714
691732
692733 uninstall-am:
693734
694 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
695 install-strip
735 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
736 ctags-recursive install-am install-strip tags-recursive
696737
697738 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
698739 all all-am am--refresh check check-am clean clean-generic \
699740 clean-libtool clean-local ctags ctags-recursive dist dist-all \
700 dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ dist-zip \
701 distcheck distclean distclean-generic distclean-hdr \
741 dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ dist-xz \
742 dist-zip distcheck distclean distclean-generic distclean-hdr \
702743 distclean-libtool distclean-tags distcleancheck distdir \
703744 distuninstallcheck dvi dvi-am html html-am info info-am \
704745 install install-am install-data install-data-am install-dvi \
711752 ps ps-am tags tags-recursive uninstall uninstall-am
712753
713754
714 # Creating ChangeLog from git log (taken from cairo/Makefile.am):
715 ChangeLog: $(srcdir)/ChangeLog
716
717 $(srcdir)/ChangeLog:
718 if test -d $(srcdir)/.svn ; then \
719 svn up && svn2cl --authors=AUTHORS -o $(srcdir)/ChangeLog ; \
720 fi
721
722 .PHONY: ChangeLog $(srcdir)/ChangeLog
723
724755 clean-local :
725756 rm -f *~ po/*~
757
726758 # Tell versions [3.59,3.63) of GNU make to not export all variables.
727759 # Otherwise a system limit (for SysV at least) may be exceeded.
728760 .NOEXPORT:
0 ==========
1 polkit-gnome 0.94
2 ==========
3
4 This is polkit-gnome version 0.94.
5
6 Build requirements
7
8 polkit >= 0.94
9 gtk+-2.0 >= 2.17.1
10
11 Changes since 0.93:
12
13 David Zeuthen (5):
14 Post-release version bump to 0.94
15 Add libpolkit-gtk-1 with a PolkitLockButton widget
16 Make use of new API to better cope with one-shot authorizations
17 Clarify docs for PolkitLockButton
18 Update NEWS for release
19
20 David Zeuthen,
21 August 12, 2009
22
23 ==========
24 polkit-gnome 0.93
25 ==========
26
27 This is polkit-gnome version 0.93.
28
29 Build requirements
30
31 polkit >= 0.93
32 gtk+-2.0 >= 2.17.1
33
34 Changes since 0.92:
35
36 David Zeuthen (8):
37 Post-release version bump to 0.93
38 Fix desktop file
39 Nuke unused stuff
40 Bug 584847 – Get rid of libsexy, use new GtkLabel link support
41 Display a status icon if we have temporary authorizations
42 Bug 589150 – Install autostart desktop files in /etc/xdg/autostart
43 Require polkit version 0.93 since the API changed slightly
44 Update NEWS for release
45
46 David Zeuthen,
47 July 20th, 2009
48
49 ==========
50 polkit-gnome 0.92
51 ==========
52
53 This is PolicyKit-gnome version 0.92.
54
55 Build requirements
56
57 PolicyKit >= 0.92
58 gtk+-2.0 >= 2.14
59
60 Changes since 0.91:
61
62 David Zeuthen (9):
63 post release version bump to 0.92
64 Update for changes in PolicyKit API
65 Catch up with latest polkit API changes
66 Handle non-standard PAM stacks like fprintd
67 Bug 541945 – Parse gecos field (i.e. don't show username commas)
68 Change license to LGPLv2
69 Do not depend on EggDBus
70 Rip out stuff no longer needed for PolicyKit 1.0
71 Update NEWS
72
73 David Zeuthen,
74 June 8, 2009
75
076 ==========
177 PolicyKit-gnome 0.9.2
278 ==========
0 PolicyKit-gnome provides
1
2 - An Authentication Agent for PolicyKit that integrates well with the
3 GNOME desktop environment
4
5 - A shared library to easily integrate usage of PolicyKit into GTK+
6 applications
7
8 - A proof-of-concept applet (that is subject to change) for managing
9 authorizations
0 PolicyKit-gnome provides an Authentication Agent for PolicyKit that
1 integrates well with the GNOME desktop environment
102
113 See http://www.freedesktop.org/wiki/Software/PolicyKit for lots of
124 documentation, mailing lists, etc. about PolicyKit.
1911 http://bugzilla.gnome.org/
2012
2113 against the policykit-gnome product.
14
+5514
-4159
aclocal.m4 less more
0 # generated automatically by aclocal 1.10.1 -*- Autoconf -*-
0 # generated automatically by aclocal 1.11 -*- Autoconf -*-
11
22 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
3 # 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
3 # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
44 # This file is free software; the Free Software Foundation
55 # gives unlimited permission to copy and/or distribute it,
66 # with or without modifications, as long as this notice is preserved.
1212
1313 m4_ifndef([AC_AUTOCONF_VERSION],
1414 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
15 m4_if(AC_AUTOCONF_VERSION, [2.62],,
16 [m4_warning([this file was generated for autoconf 2.62.
15 m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
16 [m4_warning([this file was generated for autoconf 2.63.
1717 You have another version of autoconf. It may work, but is not guaranteed to.
1818 If you have problems, you may need to regenerate the build system entirely.
1919 To do so, use the procedure documented by the package, typically `autoreconf'.])])
20
21 dnl AM_GCONF_SOURCE_2
22 dnl Defines GCONF_SCHEMA_CONFIG_SOURCE which is where you should install schemas
23 dnl (i.e. pass to gconftool-2
24 dnl Defines GCONF_SCHEMA_FILE_DIR which is a filesystem directory where
25 dnl you should install foo.schemas files
26 dnl
27
28 AC_DEFUN([AM_GCONF_SOURCE_2],
29 [
30 if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then
31 GCONF_SCHEMA_CONFIG_SOURCE=`gconftool-2 --get-default-source`
32 else
33 GCONF_SCHEMA_CONFIG_SOURCE=$GCONF_SCHEMA_INSTALL_SOURCE
34 fi
35
36 AC_ARG_WITH([gconf-source],
37 AC_HELP_STRING([--with-gconf-source=sourceaddress],
38 [Config database for installing schema files.]),
39 [GCONF_SCHEMA_CONFIG_SOURCE="$withval"],)
40
41 AC_SUBST(GCONF_SCHEMA_CONFIG_SOURCE)
42 AC_MSG_RESULT([Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation])
43
44 if test "x$GCONF_SCHEMA_FILE_DIR" = "x"; then
45 GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas'
46 fi
47
48 AC_ARG_WITH([gconf-schema-file-dir],
49 AC_HELP_STRING([--with-gconf-schema-file-dir=dir],
50 [Directory for installing schema files.]),
51 [GCONF_SCHEMA_FILE_DIR="$withval"],)
52
53 AC_SUBST(GCONF_SCHEMA_FILE_DIR)
54 AC_MSG_RESULT([Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files])
55
56 AC_ARG_ENABLE(schemas-install,
57 [ --disable-schemas-install Disable the schemas installation],
58 [case ${enableval} in
59 yes|no) ;;
60 *) AC_MSG_ERROR(bad value ${enableval} for --enable-schemas-install) ;;
61 esac])
62 AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL], [test "$enable_schemas_install" != no])
63 ])
6420
6521 # Copyright (C) 1995-2002 Free Software Foundation, Inc.
6622 # Copyright (C) 2001-2003,2004 Red Hat, Inc.
536492 AC_REQUIRE([AM_MAINTAINER_MODE])
537493
538494 if test $USE_MAINTAINER_MODE = yes; then
539 DISABLE_DEPRECATED="-DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGCONF_DISABLE_DEPRECATED -DBONOBO_DISABLE_DEPRECATED -DBONOBO_UI_DISABLE_DEPRECATED -DGNOME_VFS_DISABLE_DEPRECATED -DGNOME_DISABLE_DEPRECATED -DLIBGLADE_DISABLE_DEPRECATED"
495 DISABLE_DEPRECATED="-DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGCONF_DISABLE_DEPRECATED -DBONOBO_DISABLE_DEPRECATED -DBONOBO_UI_DISABLE_DEPRECATED -DGNOME_VFS_DISABLE_DEPRECATED -DGNOME_DISABLE_DEPRECATED -DLIBGLADE_DISABLE_DEPRECATED -DWNCK_DISABLE_DEPRECATED -DLIBSOUP_DISABLE_DEPRECATED"
540496 else
541497 DISABLE_DEPRECATED=""
542498 fi
685641 AC_SUBST(WARN_CXXFLAGS)
686642 ])
687643
688 dnl Do not call GNOME_DOC_DEFINES directly. It is split out from
689 dnl GNOME_DOC_INIT to allow gnome-doc-utils to bootstrap off itself.
690 AC_DEFUN([GNOME_DOC_DEFINES],
691 [
692 AC_ARG_WITH([help-dir],
693 AC_HELP_STRING([--with-help-dir=DIR], [path to help docs]),,
694 [with_help_dir='${datadir}/gnome/help'])
695 HELP_DIR="$with_help_dir"
696 AC_SUBST(HELP_DIR)
697
698 AC_ARG_WITH([omf-dir],
699 AC_HELP_STRING([--with-omf-dir=DIR], [path to OMF files]),,
700 [with_omf_dir='${datadir}/omf'])
701 OMF_DIR="$with_omf_dir"
702 AC_SUBST(OMF_DIR)
703
704 AC_ARG_WITH([help-formats],
705 AC_HELP_STRING([--with-help-formats=FORMATS], [list of formats]),,
706 [with_help_formats=''])
707 DOC_USER_FORMATS="$with_help_formats"
708 AC_SUBST(DOC_USER_FORMATS)
709
710 AC_ARG_ENABLE([scrollkeeper],
711 [AC_HELP_STRING([--disable-scrollkeeper],
712 [do not make updates to the scrollkeeper database])],,
713 enable_scrollkeeper=yes)
714 AM_CONDITIONAL([ENABLE_SK],[test "$gdu_cv_have_gdu" = "yes" -a "$enable_scrollkeeper" = "yes"])
715
716 dnl disable scrollkeeper automatically for distcheck
717 DISTCHECK_CONFIGURE_FLAGS="--disable-scrollkeeper $DISTCHECK_CONFIGURE_FLAGS"
718 AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
719
720 AM_CONDITIONAL([HAVE_GNOME_DOC_UTILS],[test "$gdu_cv_have_gdu" = "yes"])
721 ])
722
723 # GNOME_DOC_INIT ([MINIMUM-VERSION],[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
724 #
725 AC_DEFUN([GNOME_DOC_INIT],
726 [
727 ifelse([$1],,[gdu_cv_version_required=0.3.2],[gdu_cv_version_required=$1])
728
729 PKG_CHECK_EXISTS([gnome-doc-utils >= $gdu_cv_version_required],
730 [gdu_cv_have_gdu=yes],[gdu_cv_have_gdu=no])
731
732 if test "$gdu_cv_have_gdu" = "yes"; then
733 ifelse([$2],,[:],[$2])
734 else
735 ifelse([$3],,[AC_MSG_ERROR([gnome-doc-utils >= $gdu_cv_version_required not found])],[$3])
736 fi
737
738 GNOME_DOC_DEFINES
739 ])
740
741644 dnl -*- mode: autoconf -*-
742645
743646 # serial 1
781684
782685 dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml])
783686 # serial 40 IT_PROG_INTLTOOL
784 AC_DEFUN([IT_PROG_INTLTOOL],
785 [AC_PREREQ([2.50])dnl
687 AC_DEFUN([IT_PROG_INTLTOOL], [
688 AC_PREREQ([2.50])dnl
689 AC_REQUIRE([AM_NLS])dnl
786690
787691 case "$am__api_version" in
788692 1.[01234])
831735 INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
832736 INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
833737
834 AC_SUBST(INTLTOOL_DESKTOP_RULE)
835 AC_SUBST(INTLTOOL_DIRECTORY_RULE)
836 AC_SUBST(INTLTOOL_KEYS_RULE)
837 AC_SUBST(INTLTOOL_PROP_RULE)
838 AC_SUBST(INTLTOOL_OAF_RULE)
839 AC_SUBST(INTLTOOL_PONG_RULE)
840 AC_SUBST(INTLTOOL_SERVER_RULE)
841 AC_SUBST(INTLTOOL_SHEET_RULE)
842 AC_SUBST(INTLTOOL_SOUNDLIST_RULE)
843 AC_SUBST(INTLTOOL_UI_RULE)
844 AC_SUBST(INTLTOOL_XAM_RULE)
845 AC_SUBST(INTLTOOL_KBD_RULE)
846 AC_SUBST(INTLTOOL_XML_RULE)
847 AC_SUBST(INTLTOOL_XML_NOMERGE_RULE)
848 AC_SUBST(INTLTOOL_CAVES_RULE)
849 AC_SUBST(INTLTOOL_SCHEMAS_RULE)
850 AC_SUBST(INTLTOOL_THEME_RULE)
851 AC_SUBST(INTLTOOL_SERVICE_RULE)
852 AC_SUBST(INTLTOOL_POLICY_RULE)
738 _IT_SUBST(INTLTOOL_DESKTOP_RULE)
739 _IT_SUBST(INTLTOOL_DIRECTORY_RULE)
740 _IT_SUBST(INTLTOOL_KEYS_RULE)
741 _IT_SUBST(INTLTOOL_PROP_RULE)
742 _IT_SUBST(INTLTOOL_OAF_RULE)
743 _IT_SUBST(INTLTOOL_PONG_RULE)
744 _IT_SUBST(INTLTOOL_SERVER_RULE)
745 _IT_SUBST(INTLTOOL_SHEET_RULE)
746 _IT_SUBST(INTLTOOL_SOUNDLIST_RULE)
747 _IT_SUBST(INTLTOOL_UI_RULE)
748 _IT_SUBST(INTLTOOL_XAM_RULE)
749 _IT_SUBST(INTLTOOL_KBD_RULE)
750 _IT_SUBST(INTLTOOL_XML_RULE)
751 _IT_SUBST(INTLTOOL_XML_NOMERGE_RULE)
752 _IT_SUBST(INTLTOOL_CAVES_RULE)
753 _IT_SUBST(INTLTOOL_SCHEMAS_RULE)
754 _IT_SUBST(INTLTOOL_THEME_RULE)
755 _IT_SUBST(INTLTOOL_SERVICE_RULE)
756 _IT_SUBST(INTLTOOL_POLICY_RULE)
853757
854758 # Check the gettext tools to make sure they are GNU
855759 AC_PATH_PROG(XGETTEXT, xgettext)
856760 AC_PATH_PROG(MSGMERGE, msgmerge)
857761 AC_PATH_PROG(MSGFMT, msgfmt)
762 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
858763 if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
859764 AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
860765 fi
865770 AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
866771 fi
867772
868 AC_PATH_PROG(INTLTOOL_PERL, [perl])
773 AC_PATH_PROG(INTLTOOL_PERL, perl)
869774 if test -z "$INTLTOOL_PERL"; then
870 AC_MSG_ERROR([perl not found; required for intltool])
775 AC_MSG_ERROR([perl not found])
871776 fi
872 if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then
873 AC_MSG_ERROR([perl 5.x required for intltool])
777 AC_MSG_CHECKING([for perl >= 5.8.1])
778 $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1
779 if test $? -ne 0; then
780 AC_MSG_ERROR([perl 5.8.1 is required for intltool])
781 else
782 IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`"
783 AC_MSG_RESULT([$IT_PERL_VERSION])
874784 fi
875785 if test "x$2" != "xno-xml"; then
876786 AC_MSG_CHECKING([for XML::Parser])
926836 dnl of config.status.
927837 AC_CONFIG_COMMANDS_PRE([
928838 AC_CONFIG_COMMANDS([$1/stamp-it], [
839 if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then
840 AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.])
841 fi
929842 rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp"
930843 >"$1/stamp-it.tmp"
931844 [sed '/^#/d
934847 '"s|^| $ac_top_srcdir/|" \
935848 "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES"
936849 ]
937 if test ! -f "$1/Makefile"; then
938 AC_MSG_ERROR([$1/Makefile is not ready.])
939 fi
940 mv "$1/Makefile" "$1/Makefile.tmp"
941850 [sed '/^POTFILES =/,/[^\\]$/ {
942851 /^POTFILES =/!d
943852 r $1/POTFILES
944853 }
945 ' "$1/Makefile.tmp" >"$1/Makefile"]
854 ' "$1/Makefile.in" >"$1/Makefile"]
946855 rm -f "$1/Makefile.tmp"
947856 mv "$1/stamp-it.tmp" "$1/stamp-it"
948857 ])
949858 ])dnl
950859 ])
951860
861 # _IT_SUBST(VARIABLE)
862 # -------------------
863 # Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
864 #
865 AC_DEFUN([_IT_SUBST],
866 [
867 AC_SUBST([$1])
868 m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])])
869 ]
870 )
952871
953872 # deprecated macros
954873 AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL])
957876
958877
959878 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
960
961 # serial 52 AC_PROG_LIBTOOL
962
963
964 # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
965 # -----------------------------------------------------------
966 # If this macro is not defined by Autoconf, define it here.
967 m4_ifdef([AC_PROVIDE_IFELSE],
968 [],
969 [m4_define([AC_PROVIDE_IFELSE],
970 [m4_ifdef([AC_PROVIDE_$1],
971 [$2], [$3])])])
972
973
974 # AC_PROG_LIBTOOL
975 # ---------------
976 AC_DEFUN([AC_PROG_LIBTOOL],
977 [AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
978 dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
979 dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
980 AC_PROVIDE_IFELSE([AC_PROG_CXX],
981 [AC_LIBTOOL_CXX],
982 [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
983 ])])
984 dnl And a similar setup for Fortran 77 support
985 AC_PROVIDE_IFELSE([AC_PROG_F77],
986 [AC_LIBTOOL_F77],
987 [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
988 ])])
989
990 dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
991 dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
992 dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
993 AC_PROVIDE_IFELSE([AC_PROG_GCJ],
994 [AC_LIBTOOL_GCJ],
995 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
996 [AC_LIBTOOL_GCJ],
997 [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
998 [AC_LIBTOOL_GCJ],
999 [ifdef([AC_PROG_GCJ],
1000 [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
1001 ifdef([A][M_PROG_GCJ],
1002 [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
1003 ifdef([LT_AC_PROG_GCJ],
1004 [define([LT_AC_PROG_GCJ],
1005 defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
1006 ])])# AC_PROG_LIBTOOL
1007
1008
1009 # _AC_PROG_LIBTOOL
1010 # ----------------
1011 AC_DEFUN([_AC_PROG_LIBTOOL],
1012 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
1013 AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
1014 AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
1015 AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
879 #
880 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
881 # 2006, 2007, 2008 Free Software Foundation, Inc.
882 # Written by Gordon Matzigkeit, 1996
883 #
884 # This file is free software; the Free Software Foundation gives
885 # unlimited permission to copy and/or distribute it, with or without
886 # modifications, as long as this notice is preserved.
887
888 m4_define([_LT_COPYING], [dnl
889 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
890 # 2006, 2007, 2008 Free Software Foundation, Inc.
891 # Written by Gordon Matzigkeit, 1996
892 #
893 # This file is part of GNU Libtool.
894 #
895 # GNU Libtool is free software; you can redistribute it and/or
896 # modify it under the terms of the GNU General Public License as
897 # published by the Free Software Foundation; either version 2 of
898 # the License, or (at your option) any later version.
899 #
900 # As a special exception to the GNU General Public License,
901 # if you distribute this file as part of a program or library that
902 # is built using GNU Libtool, you may include this file under the
903 # same distribution terms that you use for the rest of that program.
904 #
905 # GNU Libtool is distributed in the hope that it will be useful,
906 # but WITHOUT ANY WARRANTY; without even the implied warranty of
907 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
908 # GNU General Public License for more details.
909 #
910 # You should have received a copy of the GNU General Public License
911 # along with GNU Libtool; see the file COPYING. If not, a copy
912 # can be downloaded from http://www.gnu.org/licenses/gpl.html, or
913 # obtained by writing to the Free Software Foundation, Inc.,
914 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
915 ])
916
917 # serial 56 LT_INIT
918
919
920 # LT_PREREQ(VERSION)
921 # ------------------
922 # Complain and exit if this libtool version is less that VERSION.
923 m4_defun([LT_PREREQ],
924 [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
925 [m4_default([$3],
926 [m4_fatal([Libtool version $1 or higher is required],
927 63)])],
928 [$2])])
929
930
931 # _LT_CHECK_BUILDDIR
932 # ------------------
933 # Complain if the absolute build directory name contains unusual characters
934 m4_defun([_LT_CHECK_BUILDDIR],
935 [case `pwd` in
936 *\ * | *\ *)
937 AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
938 esac
939 ])
940
941
942 # LT_INIT([OPTIONS])
943 # ------------------
944 AC_DEFUN([LT_INIT],
945 [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
946 AC_BEFORE([$0], [LT_LANG])dnl
947 AC_BEFORE([$0], [LT_OUTPUT])dnl
948 AC_BEFORE([$0], [LTDL_INIT])dnl
949 m4_require([_LT_CHECK_BUILDDIR])dnl
950
951 dnl Autoconf doesn't catch unexpanded LT_ macros by default:
952 m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
953 m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
954 dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
955 dnl unless we require an AC_DEFUNed macro:
956 AC_REQUIRE([LTOPTIONS_VERSION])dnl
957 AC_REQUIRE([LTSUGAR_VERSION])dnl
958 AC_REQUIRE([LTVERSION_VERSION])dnl
959 AC_REQUIRE([LTOBSOLETE_VERSION])dnl
960 m4_require([_LT_PROG_LTMAIN])dnl
961
962 dnl Parse OPTIONS
963 _LT_SET_OPTIONS([$0], [$1])
1016964
1017965 # This can be used to rebuild libtool when needed
1018 LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
966 LIBTOOL_DEPS="$ltmain"
1019967
1020968 # Always use our own libtool.
1021969 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
1022970 AC_SUBST(LIBTOOL)dnl
1023971
1024 # Prevent multiple expansion
1025 define([AC_PROG_LIBTOOL], [])
1026 ])# _AC_PROG_LIBTOOL
1027
1028
1029 # AC_LIBTOOL_SETUP
1030 # ----------------
1031 AC_DEFUN([AC_LIBTOOL_SETUP],
1032 [AC_PREREQ(2.50)dnl
1033 AC_REQUIRE([AC_ENABLE_SHARED])dnl
1034 AC_REQUIRE([AC_ENABLE_STATIC])dnl
1035 AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
1036 AC_REQUIRE([AC_CANONICAL_HOST])dnl
972 _LT_SETUP
973
974 # Only expand once:
975 m4_define([LT_INIT])
976 ])# LT_INIT
977
978 # Old names:
979 AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
980 AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
981 dnl aclocal-1.4 backwards compatibility:
982 dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
983 dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
984
985
986 # _LT_CC_BASENAME(CC)
987 # -------------------
988 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
989 m4_defun([_LT_CC_BASENAME],
990 [for cc_temp in $1""; do
991 case $cc_temp in
992 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
993 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
994 \-*) ;;
995 *) break;;
996 esac
997 done
998 cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
999 ])
1000
1001
1002 # _LT_FILEUTILS_DEFAULTS
1003 # ----------------------
1004 # It is okay to use these file commands and assume they have been set
1005 # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
1006 m4_defun([_LT_FILEUTILS_DEFAULTS],
1007 [: ${CP="cp -f"}
1008 : ${MV="mv -f"}
1009 : ${RM="rm -f"}
1010 ])# _LT_FILEUTILS_DEFAULTS
1011
1012
1013 # _LT_SETUP
1014 # ---------
1015 m4_defun([_LT_SETUP],
1016 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
10371017 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
1018 _LT_DECL([], [host_alias], [0], [The host system])dnl
1019 _LT_DECL([], [host], [0])dnl
1020 _LT_DECL([], [host_os], [0])dnl
1021 dnl
1022 _LT_DECL([], [build_alias], [0], [The build system])dnl
1023 _LT_DECL([], [build], [0])dnl
1024 _LT_DECL([], [build_os], [0])dnl
1025 dnl
10381026 AC_REQUIRE([AC_PROG_CC])dnl
1039 AC_REQUIRE([AC_PROG_LD])dnl
1040 AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
1041 AC_REQUIRE([AC_PROG_NM])dnl
1042
1027 AC_REQUIRE([LT_PATH_LD])dnl
1028 AC_REQUIRE([LT_PATH_NM])dnl
1029 dnl
10431030 AC_REQUIRE([AC_PROG_LN_S])dnl
1044 AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
1045 # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
1046 AC_REQUIRE([AC_OBJEXT])dnl
1047 AC_REQUIRE([AC_EXEEXT])dnl
1031 test -z "$LN_S" && LN_S="ln -s"
1032 _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
10481033 dnl
1049 AC_LIBTOOL_SYS_MAX_CMD_LEN
1050 AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
1051 AC_LIBTOOL_OBJDIR
1052
1053 AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
1054 _LT_AC_PROG_ECHO_BACKSLASH
1034 AC_REQUIRE([LT_CMD_MAX_LEN])dnl
1035 _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
1036 _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
1037 dnl
1038 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1039 m4_require([_LT_CHECK_SHELL_FEATURES])dnl
1040 m4_require([_LT_CMD_RELOAD])dnl
1041 m4_require([_LT_CHECK_MAGIC_METHOD])dnl
1042 m4_require([_LT_CMD_OLD_ARCHIVE])dnl
1043 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
1044
1045 _LT_CONFIG_LIBTOOL_INIT([
1046 # See if we are running on zsh, and set the options which allow our
1047 # commands through without removal of \ escapes INIT.
1048 if test -n "\${ZSH_VERSION+set}" ; then
1049 setopt NO_GLOB_SUBST
1050 fi
1051 ])
1052 if test -n "${ZSH_VERSION+set}" ; then
1053 setopt NO_GLOB_SUBST
1054 fi
1055
1056 _LT_CHECK_OBJDIR
1057
1058 m4_require([_LT_TAG_COMPILER])dnl
1059 _LT_PROG_ECHO_BACKSLASH
10551060
10561061 case $host_os in
10571062 aix3*)
10671072
10681073 # Sed substitution that helps us do robust quoting. It backslashifies
10691074 # metacharacters that are still active within double-quoted strings.
1070 Xsed='sed -e 1s/^X//'
1071 [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
1075 sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
10721076
10731077 # Same as above, but do not quote variable references.
1074 [double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
1078 double_quote_subst='s/\([["`\\]]\)/\\\1/g'
10751079
10761080 # Sed substitution to delay expansion of an escaped shell variable in a
10771081 # double_quote_subst'ed string.
10781082 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
10791083
1084 # Sed substitution to delay expansion of an escaped single quote.
1085 delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
1086
10801087 # Sed substitution to avoid accidental globbing in evaled expressions
10811088 no_glob_subst='s/\*/\\\*/g'
10821089
1083 # Constants:
1084 rm="rm -f"
1085
10861090 # Global variables:
1087 default_ofile=libtool
1091 ofile=libtool
10881092 can_build_shared=yes
10891093
10901094 # All known linkers require a `.a' archive for static linking (except MSVC,
10911095 # which needs '.lib').
10921096 libext=a
1093 ltmain="$ac_aux_dir/ltmain.sh"
1094 ofile="$default_ofile"
1097
10951098 with_gnu_ld="$lt_cv_prog_gnu_ld"
1096
1097 AC_CHECK_TOOL(AR, ar, false)
1098 AC_CHECK_TOOL(RANLIB, ranlib, :)
1099 AC_CHECK_TOOL(STRIP, strip, :)
11001099
11011100 old_CC="$CC"
11021101 old_CFLAGS="$CFLAGS"
11031102
11041103 # Set sane defaults for various variables
1105 test -z "$AR" && AR=ar
1106 test -z "$AR_FLAGS" && AR_FLAGS=cru
1107 test -z "$AS" && AS=as
11081104 test -z "$CC" && CC=cc
11091105 test -z "$LTCC" && LTCC=$CC
11101106 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
1111 test -z "$DLLTOOL" && DLLTOOL=dlltool
11121107 test -z "$LD" && LD=ld
1113 test -z "$LN_S" && LN_S="ln -s"
1108 test -z "$ac_objext" && ac_objext=o
1109
1110 _LT_CC_BASENAME([$compiler])
1111
1112 # Only perform the check for file, if the check method requires it
11141113 test -z "$MAGIC_CMD" && MAGIC_CMD=file
1115 test -z "$NM" && NM=nm
1116 test -z "$SED" && SED=sed
1117 test -z "$OBJDUMP" && OBJDUMP=objdump
1118 test -z "$RANLIB" && RANLIB=:
1119 test -z "$STRIP" && STRIP=:
1120 test -z "$ac_objext" && ac_objext=o
1121
1122 # Determine commands to create old-style static archives.
1123 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1124 old_postinstall_cmds='chmod 644 $oldlib'
1125 old_postuninstall_cmds=
1126
1127 if test -n "$RANLIB"; then
1128 case $host_os in
1129 openbsd*)
1130 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
1131 ;;
1132 *)
1133 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
1134 ;;
1135 esac
1136 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
1137 fi
1138
1139 _LT_CC_BASENAME([$compiler])
1140
1141 # Only perform the check for file, if the check method requires it
11421114 case $deplibs_check_method in
11431115 file_magic*)
11441116 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
1145 AC_PATH_MAGIC
1117 _LT_PATH_MAGIC
11461118 fi
11471119 ;;
11481120 esac
11491121
1150 _LT_REQUIRED_DARWIN_CHECKS
1151
1152 AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
1153 AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
1154 enable_win32_dll=yes, enable_win32_dll=no)
1155
1156 AC_ARG_ENABLE([libtool-lock],
1157 [AC_HELP_STRING([--disable-libtool-lock],
1158 [avoid locking (might break parallel builds)])])
1159 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1160
1161 AC_ARG_WITH([pic],
1162 [AC_HELP_STRING([--with-pic],
1163 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
1164 [pic_mode="$withval"],
1165 [pic_mode=default])
1166 test -z "$pic_mode" && pic_mode=default
1167
11681122 # Use C for the default configuration in the libtool script
1169 tagname=
1170 AC_LIBTOOL_LANG_C_CONFIG
1171 _LT_AC_TAGCONFIG
1172 ])# AC_LIBTOOL_SETUP
1173
1174
1175 # _LT_AC_SYS_COMPILER
1123 LT_SUPPORTED_TAG([CC])
1124 _LT_LANG_C_CONFIG
1125 _LT_LANG_DEFAULT_CONFIG
1126 _LT_CONFIG_COMMANDS
1127 ])# _LT_SETUP
1128
1129
1130 # _LT_PROG_LTMAIN
1131 # ---------------
1132 # Note that this code is called both from `configure', and `config.status'
1133 # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
1134 # `config.status' has no value for ac_aux_dir unless we are using Automake,
1135 # so we pass a copy along to make sure it has a sensible value anyway.
1136 m4_defun([_LT_PROG_LTMAIN],
1137 [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
1138 _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
1139 ltmain="$ac_aux_dir/ltmain.sh"
1140 ])# _LT_PROG_LTMAIN
1141
1142
1143
1144 # So that we can recreate a full libtool script including additional
1145 # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
1146 # in macros and then make a single call at the end using the `libtool'
1147 # label.
1148
1149
1150 # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
1151 # ----------------------------------------
1152 # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
1153 m4_define([_LT_CONFIG_LIBTOOL_INIT],
1154 [m4_ifval([$1],
1155 [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
1156 [$1
1157 ])])])
1158
1159 # Initialize.
1160 m4_define([_LT_OUTPUT_LIBTOOL_INIT])
1161
1162
1163 # _LT_CONFIG_LIBTOOL([COMMANDS])
1164 # ------------------------------
1165 # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
1166 m4_define([_LT_CONFIG_LIBTOOL],
1167 [m4_ifval([$1],
1168 [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
1169 [$1
1170 ])])])
1171
1172 # Initialize.
1173 m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
1174
1175
1176 # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
1177 # -----------------------------------------------------
1178 m4_defun([_LT_CONFIG_SAVE_COMMANDS],
1179 [_LT_CONFIG_LIBTOOL([$1])
1180 _LT_CONFIG_LIBTOOL_INIT([$2])
1181 ])
1182
1183
1184 # _LT_FORMAT_COMMENT([COMMENT])
1185 # -----------------------------
1186 # Add leading comment marks to the start of each line, and a trailing
1187 # full-stop to the whole comment if one is not present already.
1188 m4_define([_LT_FORMAT_COMMENT],
1189 [m4_ifval([$1], [
1190 m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
1191 [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
1192 )])
1193
1194
1195
1196
1197
1198 # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
1199 # -------------------------------------------------------------------
1200 # CONFIGNAME is the name given to the value in the libtool script.
1201 # VARNAME is the (base) name used in the configure script.
1202 # VALUE may be 0, 1 or 2 for a computed quote escaped value based on
1203 # VARNAME. Any other value will be used directly.
1204 m4_define([_LT_DECL],
1205 [lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
1206 [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
1207 [m4_ifval([$1], [$1], [$2])])
1208 lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
1209 m4_ifval([$4],
1210 [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
1211 lt_dict_add_subkey([lt_decl_dict], [$2],
1212 [tagged?], [m4_ifval([$5], [yes], [no])])])
1213 ])
1214
1215
1216 # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
1217 # --------------------------------------------------------
1218 m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
1219
1220
1221 # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
1222 # ------------------------------------------------
1223 m4_define([lt_decl_tag_varnames],
1224 [_lt_decl_filter([tagged?], [yes], $@)])
1225
1226
1227 # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
1228 # ---------------------------------------------------------
1229 m4_define([_lt_decl_filter],
1230 [m4_case([$#],
1231 [0], [m4_fatal([$0: too few arguments: $#])],
1232 [1], [m4_fatal([$0: too few arguments: $#: $1])],
1233 [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
1234 [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
1235 [lt_dict_filter([lt_decl_dict], $@)])[]dnl
1236 ])
1237
1238
1239 # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
1240 # --------------------------------------------------
1241 m4_define([lt_decl_quote_varnames],
1242 [_lt_decl_filter([value], [1], $@)])
1243
1244
1245 # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
1246 # ---------------------------------------------------
1247 m4_define([lt_decl_dquote_varnames],
1248 [_lt_decl_filter([value], [2], $@)])
1249
1250
1251 # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
1252 # ---------------------------------------------------
1253 m4_define([lt_decl_varnames_tagged],
1254 [m4_assert([$# <= 2])dnl
1255 _$0(m4_quote(m4_default([$1], [[, ]])),
1256 m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
1257 m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
1258 m4_define([_lt_decl_varnames_tagged],
1259 [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
1260
1261
1262 # lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
1263 # ------------------------------------------------
1264 m4_define([lt_decl_all_varnames],
1265 [_$0(m4_quote(m4_default([$1], [[, ]])),
1266 m4_if([$2], [],
1267 m4_quote(lt_decl_varnames),
1268 m4_quote(m4_shift($@))))[]dnl
1269 ])
1270 m4_define([_lt_decl_all_varnames],
1271 [lt_join($@, lt_decl_varnames_tagged([$1],
1272 lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
1273 ])
1274
1275
1276 # _LT_CONFIG_STATUS_DECLARE([VARNAME])
1277 # ------------------------------------
1278 # Quote a variable value, and forward it to `config.status' so that its
1279 # declaration there will have the same value as in `configure'. VARNAME
1280 # must have a single quote delimited value for this to work.
1281 m4_define([_LT_CONFIG_STATUS_DECLARE],
1282 [$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
1283
1284
1285 # _LT_CONFIG_STATUS_DECLARATIONS
1286 # ------------------------------
1287 # We delimit libtool config variables with single quotes, so when
1288 # we write them to config.status, we have to be sure to quote all
1289 # embedded single quotes properly. In configure, this macro expands
1290 # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
1291 #
1292 # <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
1293 m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
1294 [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
1295 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
1296
1297
1298 # _LT_LIBTOOL_TAGS
1299 # ----------------
1300 # Output comment and list of tags supported by the script
1301 m4_defun([_LT_LIBTOOL_TAGS],
1302 [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
1303 available_tags="_LT_TAGS"dnl
1304 ])
1305
1306
1307 # _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
1308 # -----------------------------------
1309 # Extract the dictionary values for VARNAME (optionally with TAG) and
1310 # expand to a commented shell variable setting:
1311 #
1312 # # Some comment about what VAR is for.
1313 # visible_name=$lt_internal_name
1314 m4_define([_LT_LIBTOOL_DECLARE],
1315 [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
1316 [description])))[]dnl
1317 m4_pushdef([_libtool_name],
1318 m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
1319 m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
1320 [0], [_libtool_name=[$]$1],
1321 [1], [_libtool_name=$lt_[]$1],
1322 [2], [_libtool_name=$lt_[]$1],
1323 [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
1324 m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
1325 ])
1326
1327
1328 # _LT_LIBTOOL_CONFIG_VARS
1329 # -----------------------
1330 # Produce commented declarations of non-tagged libtool config variables
1331 # suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
1332 # script. Tagged libtool config variables (even for the LIBTOOL CONFIG
1333 # section) are produced by _LT_LIBTOOL_TAG_VARS.
1334 m4_defun([_LT_LIBTOOL_CONFIG_VARS],
1335 [m4_foreach([_lt_var],
1336 m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
1337 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
1338
1339
1340 # _LT_LIBTOOL_TAG_VARS(TAG)
1341 # -------------------------
1342 m4_define([_LT_LIBTOOL_TAG_VARS],
1343 [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
1344 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
1345
1346
1347 # _LT_TAGVAR(VARNAME, [TAGNAME])
1348 # ------------------------------
1349 m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
1350
1351
1352 # _LT_CONFIG_COMMANDS
11761353 # -------------------
1177 AC_DEFUN([_LT_AC_SYS_COMPILER],
1354 # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
1355 # variables for single and double quote escaping we saved from calls
1356 # to _LT_DECL, we can put quote escaped variables declarations
1357 # into `config.status', and then the shell code to quote escape them in
1358 # for loops in `config.status'. Finally, any additional code accumulated
1359 # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
1360 m4_defun([_LT_CONFIG_COMMANDS],
1361 [AC_PROVIDE_IFELSE([LT_OUTPUT],
1362 dnl If the libtool generation code has been placed in $CONFIG_LT,
1363 dnl instead of duplicating it all over again into config.status,
1364 dnl then we will have config.status run $CONFIG_LT later, so it
1365 dnl needs to know what name is stored there:
1366 [AC_CONFIG_COMMANDS([libtool],
1367 [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
1368 dnl If the libtool generation code is destined for config.status,
1369 dnl expand the accumulated commands and init code now:
1370 [AC_CONFIG_COMMANDS([libtool],
1371 [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
1372 ])#_LT_CONFIG_COMMANDS
1373
1374
1375 # Initialize.
1376 m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
1377 [
1378
1379 # The HP-UX ksh and POSIX shell print the target directory to stdout
1380 # if CDPATH is set.
1381 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
1382
1383 sed_quote_subst='$sed_quote_subst'
1384 double_quote_subst='$double_quote_subst'
1385 delay_variable_subst='$delay_variable_subst'
1386 _LT_CONFIG_STATUS_DECLARATIONS
1387 LTCC='$LTCC'
1388 LTCFLAGS='$LTCFLAGS'
1389 compiler='$compiler_DEFAULT'
1390
1391 # Quote evaled strings.
1392 for var in lt_decl_all_varnames([[ \
1393 ]], lt_decl_quote_varnames); do
1394 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
1395 *[[\\\\\\\`\\"\\\$]]*)
1396 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
1397 ;;
1398 *)
1399 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
1400 ;;
1401 esac
1402 done
1403
1404 # Double-quote double-evaled strings.
1405 for var in lt_decl_all_varnames([[ \
1406 ]], lt_decl_dquote_varnames); do
1407 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
1408 *[[\\\\\\\`\\"\\\$]]*)
1409 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
1410 ;;
1411 *)
1412 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
1413 ;;
1414 esac
1415 done
1416
1417 # Fix-up fallback echo if it was mangled by the above quoting rules.
1418 case \$lt_ECHO in
1419 *'\\\[$]0 --fallback-echo"')dnl "
1420 lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
1421 ;;
1422 esac
1423
1424 _LT_OUTPUT_LIBTOOL_INIT
1425 ])
1426
1427
1428 # LT_OUTPUT
1429 # ---------
1430 # This macro allows early generation of the libtool script (before
1431 # AC_OUTPUT is called), incase it is used in configure for compilation
1432 # tests.
1433 AC_DEFUN([LT_OUTPUT],
1434 [: ${CONFIG_LT=./config.lt}
1435 AC_MSG_NOTICE([creating $CONFIG_LT])
1436 cat >"$CONFIG_LT" <<_LTEOF
1437 #! $SHELL
1438 # Generated by $as_me.
1439 # Run this file to recreate a libtool stub with the current configuration.
1440
1441 lt_cl_silent=false
1442 SHELL=\${CONFIG_SHELL-$SHELL}
1443 _LTEOF
1444
1445 cat >>"$CONFIG_LT" <<\_LTEOF
1446 AS_SHELL_SANITIZE
1447 _AS_PREPARE
1448
1449 exec AS_MESSAGE_FD>&1
1450 exec AS_MESSAGE_LOG_FD>>config.log
1451 {
1452 echo
1453 AS_BOX([Running $as_me.])
1454 } >&AS_MESSAGE_LOG_FD
1455
1456 lt_cl_help="\
1457 \`$as_me' creates a local libtool stub from the current configuration,
1458 for use in further configure time tests before the real libtool is
1459 generated.
1460
1461 Usage: $[0] [[OPTIONS]]
1462
1463 -h, --help print this help, then exit
1464 -V, --version print version number, then exit
1465 -q, --quiet do not print progress messages
1466 -d, --debug don't remove temporary files
1467
1468 Report bugs to <bug-libtool@gnu.org>."
1469
1470 lt_cl_version="\
1471 m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
1472 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
1473 configured by $[0], generated by m4_PACKAGE_STRING.
1474
1475 Copyright (C) 2008 Free Software Foundation, Inc.
1476 This config.lt script is free software; the Free Software Foundation
1477 gives unlimited permision to copy, distribute and modify it."
1478
1479 while test $[#] != 0
1480 do
1481 case $[1] in
1482 --version | --v* | -V )
1483 echo "$lt_cl_version"; exit 0 ;;
1484 --help | --h* | -h )
1485 echo "$lt_cl_help"; exit 0 ;;
1486 --debug | --d* | -d )
1487 debug=: ;;
1488 --quiet | --q* | --silent | --s* | -q )
1489 lt_cl_silent=: ;;
1490
1491 -*) AC_MSG_ERROR([unrecognized option: $[1]
1492 Try \`$[0] --help' for more information.]) ;;
1493
1494 *) AC_MSG_ERROR([unrecognized argument: $[1]
1495 Try \`$[0] --help' for more information.]) ;;
1496 esac
1497 shift
1498 done
1499
1500 if $lt_cl_silent; then
1501 exec AS_MESSAGE_FD>/dev/null
1502 fi
1503 _LTEOF
1504
1505 cat >>"$CONFIG_LT" <<_LTEOF
1506 _LT_OUTPUT_LIBTOOL_COMMANDS_INIT
1507 _LTEOF
1508
1509 cat >>"$CONFIG_LT" <<\_LTEOF
1510 AC_MSG_NOTICE([creating $ofile])
1511 _LT_OUTPUT_LIBTOOL_COMMANDS
1512 AS_EXIT(0)
1513 _LTEOF
1514 chmod +x "$CONFIG_LT"
1515
1516 # configure is writing to config.log, but config.lt does its own redirection,
1517 # appending to config.log, which fails on DOS, as config.log is still kept
1518 # open by configure. Here we exec the FD to /dev/null, effectively closing
1519 # config.log, so it can be properly (re)opened and appended to by config.lt.
1520 if test "$no_create" != yes; then
1521 lt_cl_success=:
1522 test "$silent" = yes &&
1523 lt_config_lt_args="$lt_config_lt_args --quiet"
1524 exec AS_MESSAGE_LOG_FD>/dev/null
1525 $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
1526 exec AS_MESSAGE_LOG_FD>>config.log
1527 $lt_cl_success || AS_EXIT(1)
1528 fi
1529 ])# LT_OUTPUT
1530
1531
1532 # _LT_CONFIG(TAG)
1533 # ---------------
1534 # If TAG is the built-in tag, create an initial libtool script with a
1535 # default configuration from the untagged config vars. Otherwise add code
1536 # to config.status for appending the configuration named by TAG from the
1537 # matching tagged config vars.
1538 m4_defun([_LT_CONFIG],
1539 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1540 _LT_CONFIG_SAVE_COMMANDS([
1541 m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
1542 m4_if(_LT_TAG, [C], [
1543 # See if we are running on zsh, and set the options which allow our
1544 # commands through without removal of \ escapes.
1545 if test -n "${ZSH_VERSION+set}" ; then
1546 setopt NO_GLOB_SUBST
1547 fi
1548
1549 cfgfile="${ofile}T"
1550 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
1551 $RM "$cfgfile"
1552
1553 cat <<_LT_EOF >> "$cfgfile"
1554 #! $SHELL
1555
1556 # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
1557 # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
1558 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
1559 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
1560 #
1561 _LT_COPYING
1562 _LT_LIBTOOL_TAGS
1563
1564 # ### BEGIN LIBTOOL CONFIG
1565 _LT_LIBTOOL_CONFIG_VARS
1566 _LT_LIBTOOL_TAG_VARS
1567 # ### END LIBTOOL CONFIG
1568
1569 _LT_EOF
1570
1571 case $host_os in
1572 aix3*)
1573 cat <<\_LT_EOF >> "$cfgfile"
1574 # AIX sometimes has problems with the GCC collect2 program. For some
1575 # reason, if we set the COLLECT_NAMES environment variable, the problems
1576 # vanish in a puff of smoke.
1577 if test "X${COLLECT_NAMES+set}" != Xset; then
1578 COLLECT_NAMES=
1579 export COLLECT_NAMES
1580 fi
1581 _LT_EOF
1582 ;;
1583 esac
1584
1585 _LT_PROG_LTMAIN
1586
1587 # We use sed instead of cat because bash on DJGPP gets confused if
1588 # if finds mixed CR/LF and LF-only lines. Since sed operates in
1589 # text mode, it properly converts lines to CR/LF. This bash problem
1590 # is reportedly fixed, but why not run on old versions too?
1591 sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
1592 || (rm -f "$cfgfile"; exit 1)
1593
1594 _LT_PROG_XSI_SHELLFNS
1595
1596 sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
1597 || (rm -f "$cfgfile"; exit 1)
1598
1599 mv -f "$cfgfile" "$ofile" ||
1600 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
1601 chmod +x "$ofile"
1602 ],
1603 [cat <<_LT_EOF >> "$ofile"
1604
1605 dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
1606 dnl in a comment (ie after a #).
1607 # ### BEGIN LIBTOOL TAG CONFIG: $1
1608 _LT_LIBTOOL_TAG_VARS(_LT_TAG)
1609 # ### END LIBTOOL TAG CONFIG: $1
1610 _LT_EOF
1611 ])dnl /m4_if
1612 ],
1613 [m4_if([$1], [], [
1614 PACKAGE='$PACKAGE'
1615 VERSION='$VERSION'
1616 TIMESTAMP='$TIMESTAMP'
1617 RM='$RM'
1618 ofile='$ofile'], [])
1619 ])dnl /_LT_CONFIG_SAVE_COMMANDS
1620 ])# _LT_CONFIG
1621
1622
1623 # LT_SUPPORTED_TAG(TAG)
1624 # ---------------------
1625 # Trace this macro to discover what tags are supported by the libtool
1626 # --tag option, using:
1627 # autoconf --trace 'LT_SUPPORTED_TAG:$1'
1628 AC_DEFUN([LT_SUPPORTED_TAG], [])
1629
1630
1631 # C support is built-in for now
1632 m4_define([_LT_LANG_C_enabled], [])
1633 m4_define([_LT_TAGS], [])
1634
1635
1636 # LT_LANG(LANG)
1637 # -------------
1638 # Enable libtool support for the given language if not already enabled.
1639 AC_DEFUN([LT_LANG],
1640 [AC_BEFORE([$0], [LT_OUTPUT])dnl
1641 m4_case([$1],
1642 [C], [_LT_LANG(C)],
1643 [C++], [_LT_LANG(CXX)],
1644 [Java], [_LT_LANG(GCJ)],
1645 [Fortran 77], [_LT_LANG(F77)],
1646 [Fortran], [_LT_LANG(FC)],
1647 [Windows Resource], [_LT_LANG(RC)],
1648 [m4_ifdef([_LT_LANG_]$1[_CONFIG],
1649 [_LT_LANG($1)],
1650 [m4_fatal([$0: unsupported language: "$1"])])])dnl
1651 ])# LT_LANG
1652
1653
1654 # _LT_LANG(LANGNAME)
1655 # ------------------
1656 m4_defun([_LT_LANG],
1657 [m4_ifdef([_LT_LANG_]$1[_enabled], [],
1658 [LT_SUPPORTED_TAG([$1])dnl
1659 m4_append([_LT_TAGS], [$1 ])dnl
1660 m4_define([_LT_LANG_]$1[_enabled], [])dnl
1661 _LT_LANG_$1_CONFIG($1)])dnl
1662 ])# _LT_LANG
1663
1664
1665 # _LT_LANG_DEFAULT_CONFIG
1666 # -----------------------
1667 m4_defun([_LT_LANG_DEFAULT_CONFIG],
1668 [AC_PROVIDE_IFELSE([AC_PROG_CXX],
1669 [LT_LANG(CXX)],
1670 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
1671
1672 AC_PROVIDE_IFELSE([AC_PROG_F77],
1673 [LT_LANG(F77)],
1674 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
1675
1676 AC_PROVIDE_IFELSE([AC_PROG_FC],
1677 [LT_LANG(FC)],
1678 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
1679
1680 dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
1681 dnl pulling things in needlessly.
1682 AC_PROVIDE_IFELSE([AC_PROG_GCJ],
1683 [LT_LANG(GCJ)],
1684 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
1685 [LT_LANG(GCJ)],
1686 [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
1687 [LT_LANG(GCJ)],
1688 [m4_ifdef([AC_PROG_GCJ],
1689 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
1690 m4_ifdef([A][M_PROG_GCJ],
1691 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
1692 m4_ifdef([LT_PROG_GCJ],
1693 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
1694
1695 AC_PROVIDE_IFELSE([LT_PROG_RC],
1696 [LT_LANG(RC)],
1697 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
1698 ])# _LT_LANG_DEFAULT_CONFIG
1699
1700 # Obsolete macros:
1701 AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
1702 AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
1703 AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
1704 AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
1705 dnl aclocal-1.4 backwards compatibility:
1706 dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
1707 dnl AC_DEFUN([AC_LIBTOOL_F77], [])
1708 dnl AC_DEFUN([AC_LIBTOOL_FC], [])
1709 dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
1710
1711
1712 # _LT_TAG_COMPILER
1713 # ----------------
1714 m4_defun([_LT_TAG_COMPILER],
11781715 [AC_REQUIRE([AC_PROG_CC])dnl
1716
1717 _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
1718 _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
1719 _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
1720 _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
11791721
11801722 # If no C compiler was specified, use CC.
11811723 LTCC=${LTCC-"$CC"}
11851727
11861728 # Allow CC to be a program name with arguments.
11871729 compiler=$CC
1188 ])# _LT_AC_SYS_COMPILER
1189
1190
1191 # _LT_CC_BASENAME(CC)
1192 # -------------------
1193 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
1194 AC_DEFUN([_LT_CC_BASENAME],
1195 [for cc_temp in $1""; do
1196 case $cc_temp in
1197 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
1198 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
1199 \-*) ;;
1200 *) break;;
1201 esac
1202 done
1203 cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
1204 ])
1730 ])# _LT_TAG_COMPILER
12051731
12061732
12071733 # _LT_COMPILER_BOILERPLATE
12081734 # ------------------------
12091735 # Check for compiler boilerplate output or warnings with
12101736 # the simple compiler test code.
1211 AC_DEFUN([_LT_COMPILER_BOILERPLATE],
1212 [AC_REQUIRE([LT_AC_PROG_SED])dnl
1737 m4_defun([_LT_COMPILER_BOILERPLATE],
1738 [m4_require([_LT_DECL_SED])dnl
12131739 ac_outfile=conftest.$ac_objext
12141740 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
12151741 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
12161742 _lt_compiler_boilerplate=`cat conftest.err`
1217 $rm conftest*
1743 $RM conftest*
12181744 ])# _LT_COMPILER_BOILERPLATE
12191745
12201746
12221748 # ----------------------
12231749 # Check for linker boilerplate output or warnings with
12241750 # the simple link test code.
1225 AC_DEFUN([_LT_LINKER_BOILERPLATE],
1226 [AC_REQUIRE([LT_AC_PROG_SED])dnl
1751 m4_defun([_LT_LINKER_BOILERPLATE],
1752 [m4_require([_LT_DECL_SED])dnl
12271753 ac_outfile=conftest.$ac_objext
12281754 echo "$lt_simple_link_test_code" >conftest.$ac_ext
12291755 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
12301756 _lt_linker_boilerplate=`cat conftest.err`
1231 $rm -r conftest*
1757 $RM -r conftest*
12321758 ])# _LT_LINKER_BOILERPLATE
12331759
12341760 # _LT_REQUIRED_DARWIN_CHECKS
1235 # --------------------------
1236 # Check for some things on darwin
1237 AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
1761 # -------------------------
1762 m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
12381763 case $host_os in
12391764 rhapsody* | darwin*)
12401765 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
12411766 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
1767 AC_CHECK_TOOL([LIPO], [lipo], [:])
1768 AC_CHECK_TOOL([OTOOL], [otool], [:])
1769 AC_CHECK_TOOL([OTOOL64], [otool64], [:])
1770 _LT_DECL([], [DSYMUTIL], [1],
1771 [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
1772 _LT_DECL([], [NMEDIT], [1],
1773 [Tool to change global to local symbols on Mac OS X])
1774 _LT_DECL([], [LIPO], [1],
1775 [Tool to manipulate fat objects and archives on Mac OS X])
1776 _LT_DECL([], [OTOOL], [1],
1777 [ldd/readelf like tool for Mach-O binaries on Mac OS X])
1778 _LT_DECL([], [OTOOL64], [1],
1779 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
12421780
12431781 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
12441782 [lt_cv_apple_cc_single_mod=no
12451783 if test -z "${LT_MULTI_MODULE}"; then
1246 # By default we will add the -single_module flag. You can override
1247 # by either setting the environment variable LT_MULTI_MODULE
1248 # non-empty at configure time, or by adding -multi_module to the
1249 # link flags.
1250 echo "int foo(void){return 1;}" > conftest.c
1251 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1252 -dynamiclib ${wl}-single_module conftest.c
1253 if test -f libconftest.dylib; then
1254 lt_cv_apple_cc_single_mod=yes
1255 rm -rf libconftest.dylib*
1256 fi
1257 rm conftest.c
1784 # By default we will add the -single_module flag. You can override
1785 # by either setting the environment variable LT_MULTI_MODULE
1786 # non-empty at configure time, or by adding -multi_module to the
1787 # link flags.
1788 rm -rf libconftest.dylib*
1789 echo "int foo(void){return 1;}" > conftest.c
1790 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1791 -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
1792 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1793 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
1794 _lt_result=$?
1795 if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
1796 lt_cv_apple_cc_single_mod=yes
1797 else
1798 cat conftest.err >&AS_MESSAGE_LOG_FD
1799 fi
1800 rm -rf libconftest.dylib*
1801 rm -f conftest.*
12581802 fi])
12591803 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
12601804 [lt_cv_ld_exported_symbols_list],
12631807 echo "_main" > conftest.sym
12641808 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
12651809 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
1266 [lt_cv_ld_exported_symbols_list=yes],
1267 [lt_cv_ld_exported_symbols_list=no])
1268 LDFLAGS="$save_LDFLAGS"
1810 [lt_cv_ld_exported_symbols_list=yes],
1811 [lt_cv_ld_exported_symbols_list=no])
1812 LDFLAGS="$save_LDFLAGS"
12691813 ])
12701814 case $host_os in
1271 rhapsody* | darwin1.[[0123]])
1815 rhapsody* | darwin1.[[012]])
12721816 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
12731817 darwin1.*)
1274 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1275 darwin*)
1818 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1819 darwin*) # darwin 5.x on
12761820 # if running on 10.5 or later, the deployment target defaults
12771821 # to the OS version, if on x86, and 10.4, the deployment
12781822 # target defaults to 10.4. Don't you love it?
12791823 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1280 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
1281 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1282 10.[[012]]*)
1283 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1284 10.*)
1285 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1824 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
1825 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1826 10.[[012]]*)
1827 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1828 10.*)
1829 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
12861830 esac
12871831 ;;
12881832 esac
12921836 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
12931837 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
12941838 else
1295 _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
1839 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
12961840 fi
12971841 if test "$DSYMUTIL" != ":"; then
1298 _lt_dsymutil="~$DSYMUTIL \$lib || :"
1842 _lt_dsymutil='~$DSYMUTIL $lib || :'
12991843 else
13001844 _lt_dsymutil=
13011845 fi
13031847 esac
13041848 ])
13051849
1306 # _LT_AC_SYS_LIBPATH_AIX
1307 # ----------------------
1850
1851 # _LT_DARWIN_LINKER_FEATURES
1852 # --------------------------
1853 # Checks for linker and compiler features on darwin
1854 m4_defun([_LT_DARWIN_LINKER_FEATURES],
1855 [
1856 m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1857 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1858 _LT_TAGVAR(hardcode_direct, $1)=no
1859 _LT_TAGVAR(hardcode_automatic, $1)=yes
1860 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1861 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1862 _LT_TAGVAR(link_all_deplibs, $1)=yes
1863 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
1864 case $cc_basename in
1865 ifort*) _lt_dar_can_shared=yes ;;
1866 *) _lt_dar_can_shared=$GCC ;;
1867 esac
1868 if test "$_lt_dar_can_shared" = "yes"; then
1869 output_verbose_link_cmd=echo
1870 _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
1871 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1872 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
1873 _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
1874 m4_if([$1], [CXX],
1875 [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1876 _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
1877 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
1878 fi
1879 ],[])
1880 else
1881 _LT_TAGVAR(ld_shlibs, $1)=no
1882 fi
1883 ])
1884
1885 # _LT_SYS_MODULE_PATH_AIX
1886 # -----------------------
13081887 # Links a minimal program and checks the executable
13091888 # for the system default hardcoded library path. In most cases,
13101889 # this is /usr/lib:/lib, but when the MPI compilers are used
13111890 # the location of the communication and MPI libs are included too.
13121891 # If we don't find anything, use the default library path according
13131892 # to the aix ld manual.
1314 AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
1315 [AC_REQUIRE([LT_AC_PROG_SED])dnl
1893 m4_defun([_LT_SYS_MODULE_PATH_AIX],
1894 [m4_require([_LT_DECL_SED])dnl
13161895 AC_LINK_IFELSE(AC_LANG_PROGRAM,[
13171896 lt_aix_libpath_sed='
13181897 /Import File Strings/,/^$/ {
13271906 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
13281907 fi],[])
13291908 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
1330 ])# _LT_AC_SYS_LIBPATH_AIX
1331
1332
1333 # _LT_AC_SHELL_INIT(ARG)
1334 # ----------------------
1335 AC_DEFUN([_LT_AC_SHELL_INIT],
1909 ])# _LT_SYS_MODULE_PATH_AIX
1910
1911
1912 # _LT_SHELL_INIT(ARG)
1913 # -------------------
1914 m4_define([_LT_SHELL_INIT],
13361915 [ifdef([AC_DIVERSION_NOTICE],
13371916 [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
13381917 [AC_DIVERT_PUSH(NOTICE)])
13391918 $1
13401919 AC_DIVERT_POP
1341 ])# _LT_AC_SHELL_INIT
1342
1343
1344 # _LT_AC_PROG_ECHO_BACKSLASH
1345 # --------------------------
1920 ])# _LT_SHELL_INIT
1921
1922
1923 # _LT_PROG_ECHO_BACKSLASH
1924 # -----------------------
13461925 # Add some code to the start of the generated configure script which
13471926 # will find an echo command which doesn't interpret backslashes.
1348 AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
1349 [_LT_AC_SHELL_INIT([
1927 m4_defun([_LT_PROG_ECHO_BACKSLASH],
1928 [_LT_SHELL_INIT([
13501929 # Check that we are running under the correct shell.
13511930 SHELL=${CONFIG_SHELL-/bin/sh}
13521931
1353 case X$ECHO in
1932 case X$lt_ECHO in
13541933 X*--fallback-echo)
13551934 # Remove one level of quotation (which was required for Make).
1356 ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
1935 ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
13571936 ;;
13581937 esac
13591938
1360 echo=${ECHO-echo}
1939 ECHO=${lt_ECHO-echo}
13611940 if test "X[$]1" = X--no-reexec; then
13621941 # Discard the --no-reexec flag, and continue.
13631942 shift
13641943 elif test "X[$]1" = X--fallback-echo; then
13651944 # Avoid inline document here, it may be left over
13661945 :
1367 elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
1368 # Yippee, $echo works!
1946 elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
1947 # Yippee, $ECHO works!
13691948 :
13701949 else
13711950 # Restart under the correct shell.
13751954 if test "X[$]1" = X--fallback-echo; then
13761955 # used as fallback echo
13771956 shift
1378 cat <<EOF
1957 cat <<_LT_EOF
13791958 [$]*
1380 EOF
1959 _LT_EOF
13811960 exit 0
13821961 fi
13831962
13851964 # if CDPATH is set.
13861965 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
13871966
1388 if test -z "$ECHO"; then
1389 if test "X${echo_test_string+set}" != Xset; then
1390 # find a string as large as possible, as long as the shell can cope with it
1391 for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
1392 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
1393 if (echo_test_string=`eval $cmd`) 2>/dev/null &&
1394 echo_test_string=`eval $cmd` &&
1395 (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
1396 then
1397 break
1398 fi
1399 done
1400 fi
1401
1402 if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
1403 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
1404 test "X$echo_testing_string" = "X$echo_test_string"; then
1405 :
1406 else
1407 # The Solaris, AIX, and Digital Unix default echo programs unquote
1408 # backslashes. This makes it impossible to quote backslashes using
1409 # echo "$something" | sed 's/\\/\\\\/g'
1410 #
1411 # So, first we look for a working echo in the user's PATH.
1412
1413 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1414 for dir in $PATH /usr/ucb; do
1967 if test -z "$lt_ECHO"; then
1968 if test "X${echo_test_string+set}" != Xset; then
1969 # find a string as large as possible, as long as the shell can cope with it
1970 for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
1971 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
1972 if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
1973 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
1974 then
1975 break
1976 fi
1977 done
1978 fi
1979
1980 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1981 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1982 test "X$echo_testing_string" = "X$echo_test_string"; then
1983 :
1984 else
1985 # The Solaris, AIX, and Digital Unix default echo programs unquote
1986 # backslashes. This makes it impossible to quote backslashes using
1987 # echo "$something" | sed 's/\\/\\\\/g'
1988 #
1989 # So, first we look for a working echo in the user's PATH.
1990
1991 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1992 for dir in $PATH /usr/ucb; do
1993 IFS="$lt_save_ifs"
1994 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
1995 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
1996 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
1997 test "X$echo_testing_string" = "X$echo_test_string"; then
1998 ECHO="$dir/echo"
1999 break
2000 fi
2001 done
14152002 IFS="$lt_save_ifs"
1416 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
1417 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
1418 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
1419 test "X$echo_testing_string" = "X$echo_test_string"; then
1420 echo="$dir/echo"
1421 break
1422 fi
1423 done
1424 IFS="$lt_save_ifs"
1425
1426 if test "X$echo" = Xecho; then
1427 # We didn't find a better echo, so look for alternatives.
1428 if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
1429 echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
1430 test "X$echo_testing_string" = "X$echo_test_string"; then
1431 # This shell has a builtin print -r that does the trick.
1432 echo='print -r'
1433 elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
1434 test "X$CONFIG_SHELL" != X/bin/ksh; then
1435 # If we have ksh, try running configure again with it.
1436 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1437 export ORIGINAL_CONFIG_SHELL
1438 CONFIG_SHELL=/bin/ksh
1439 export CONFIG_SHELL
1440 exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
1441 else
1442 # Try using printf.
1443 echo='printf %s\n'
1444 if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
1445 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
1446 test "X$echo_testing_string" = "X$echo_test_string"; then
1447 # Cool, printf works
1448 :
1449 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1450 test "X$echo_testing_string" = 'X\t' &&
1451 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
2003
2004 if test "X$ECHO" = Xecho; then
2005 # We didn't find a better echo, so look for alternatives.
2006 if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
2007 echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
2008 test "X$echo_testing_string" = "X$echo_test_string"; then
2009 # This shell has a builtin print -r that does the trick.
2010 ECHO='print -r'
2011 elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
2012 test "X$CONFIG_SHELL" != X/bin/ksh; then
2013 # If we have ksh, try running configure again with it.
2014 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
2015 export ORIGINAL_CONFIG_SHELL
2016 CONFIG_SHELL=/bin/ksh
2017 export CONFIG_SHELL
2018 exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
2019 else
2020 # Try using printf.
2021 ECHO='printf %s\n'
2022 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
2023 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
14522024 test "X$echo_testing_string" = "X$echo_test_string"; then
1453 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
1454 export CONFIG_SHELL
1455 SHELL="$CONFIG_SHELL"
1456 export SHELL
1457 echo="$CONFIG_SHELL [$]0 --fallback-echo"
1458 elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1459 test "X$echo_testing_string" = 'X\t' &&
1460 echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1461 test "X$echo_testing_string" = "X$echo_test_string"; then
1462 echo="$CONFIG_SHELL [$]0 --fallback-echo"
1463 else
1464 # maybe with a smaller string...
1465 prev=:
1466
1467 for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
1468 if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
1469 then
1470 break
2025 # Cool, printf works
2026 :
2027 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
2028 test "X$echo_testing_string" = 'X\t' &&
2029 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
2030 test "X$echo_testing_string" = "X$echo_test_string"; then
2031 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
2032 export CONFIG_SHELL
2033 SHELL="$CONFIG_SHELL"
2034 export SHELL
2035 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
2036 elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
2037 test "X$echo_testing_string" = 'X\t' &&
2038 echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
2039 test "X$echo_testing_string" = "X$echo_test_string"; then
2040 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
2041 else
2042 # maybe with a smaller string...
2043 prev=:
2044
2045 for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
2046 if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
2047 then
2048 break
2049 fi
2050 prev="$cmd"
2051 done
2052
2053 if test "$prev" != 'sed 50q "[$]0"'; then
2054 echo_test_string=`eval $prev`
2055 export echo_test_string
2056 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
2057 else
2058 # Oops. We lost completely, so just stick with echo.
2059 ECHO=echo
14712060 fi
1472 prev="$cmd"
1473 done
1474
1475 if test "$prev" != 'sed 50q "[$]0"'; then
1476 echo_test_string=`eval $prev`
1477 export echo_test_string
1478 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
1479 else
1480 # Oops. We lost completely, so just stick with echo.
1481 echo=echo
1482 fi
2061 fi
14832062 fi
14842063 fi
14852064 fi
14862065 fi
1487 fi
14882066
14892067 # Copy echo and quote the copy suitably for passing to libtool from
14902068 # the Makefile, instead of quoting the original, which is used later.
1491 ECHO=$echo
1492 if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
1493 ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
2069 lt_ECHO=$ECHO
2070 if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
2071 lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
14942072 fi
14952073
1496 AC_SUBST(ECHO)
1497 ])])# _LT_AC_PROG_ECHO_BACKSLASH
1498
1499
1500 # _LT_AC_LOCK
1501 # -----------
1502 AC_DEFUN([_LT_AC_LOCK],
2074 AC_SUBST(lt_ECHO)
2075 ])
2076 _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
2077 _LT_DECL([], [ECHO], [1],
2078 [An echo program that does not interpret backslashes])
2079 ])# _LT_PROG_ECHO_BACKSLASH
2080
2081
2082 # _LT_ENABLE_LOCK
2083 # ---------------
2084 m4_defun([_LT_ENABLE_LOCK],
15032085 [AC_ARG_ENABLE([libtool-lock],
1504 [AC_HELP_STRING([--disable-libtool-lock],
1505 [avoid locking (might break parallel builds)])])
2086 [AS_HELP_STRING([--disable-libtool-lock],
2087 [avoid locking (might break parallel builds)])])
15062088 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
15072089
15082090 # Some flags need to be propagated to the compiler or linker for good
15132095 echo 'int i;' > conftest.$ac_ext
15142096 if AC_TRY_EVAL(ac_compile); then
15152097 case `/usr/bin/file conftest.$ac_objext` in
1516 *ELF-32*)
1517 HPUX_IA64_MODE="32"
1518 ;;
1519 *ELF-64*)
1520 HPUX_IA64_MODE="64"
1521 ;;
2098 *ELF-32*)
2099 HPUX_IA64_MODE="32"
2100 ;;
2101 *ELF-64*)
2102 HPUX_IA64_MODE="64"
2103 ;;
15222104 esac
15232105 fi
15242106 rm -rf conftest*
15272109 # Find out which ABI we are using.
15282110 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
15292111 if AC_TRY_EVAL(ac_compile); then
1530 if test "$lt_cv_prog_gnu_ld" = yes; then
1531 case `/usr/bin/file conftest.$ac_objext` in
1532 *32-bit*)
1533 LD="${LD-ld} -melf32bsmip"
1534 ;;
1535 *N32*)
1536 LD="${LD-ld} -melf32bmipn32"
1537 ;;
1538 *64-bit*)
1539 LD="${LD-ld} -melf64bmip"
1540 ;;
1541 esac
1542 else
1543 case `/usr/bin/file conftest.$ac_objext` in
1544 *32-bit*)
1545 LD="${LD-ld} -32"
1546 ;;
1547 *N32*)
1548 LD="${LD-ld} -n32"
1549 ;;
1550 *64-bit*)
1551 LD="${LD-ld} -64"
1552 ;;
1553 esac
1554 fi
2112 if test "$lt_cv_prog_gnu_ld" = yes; then
2113 case `/usr/bin/file conftest.$ac_objext` in
2114 *32-bit*)
2115 LD="${LD-ld} -melf32bsmip"
2116 ;;
2117 *N32*)
2118 LD="${LD-ld} -melf32bmipn32"
2119 ;;
2120 *64-bit*)
2121 LD="${LD-ld} -melf64bmip"
2122 ;;
2123 esac
2124 else
2125 case `/usr/bin/file conftest.$ac_objext` in
2126 *32-bit*)
2127 LD="${LD-ld} -32"
2128 ;;
2129 *N32*)
2130 LD="${LD-ld} -n32"
2131 ;;
2132 *64-bit*)
2133 LD="${LD-ld} -64"
2134 ;;
2135 esac
2136 fi
15552137 fi
15562138 rm -rf conftest*
15572139 ;;
15582140
15592141 x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1560 s390*-*linux*|sparc*-*linux*)
2142 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
15612143 # Find out which ABI we are using.
15622144 echo 'int i;' > conftest.$ac_ext
15632145 if AC_TRY_EVAL(ac_compile); then
15642146 case `/usr/bin/file conftest.o` in
1565 *32-bit*)
1566 case $host in
1567 x86_64-*kfreebsd*-gnu)
1568 LD="${LD-ld} -m elf_i386_fbsd"
1569 ;;
1570 x86_64-*linux*)
1571 LD="${LD-ld} -m elf_i386"
1572 ;;
1573 ppc64-*linux*|powerpc64-*linux*)
1574 LD="${LD-ld} -m elf32ppclinux"
1575 ;;
1576 s390x-*linux*)
1577 LD="${LD-ld} -m elf_s390"
1578 ;;
1579 sparc64-*linux*)
1580 LD="${LD-ld} -m elf32_sparc"
1581 ;;
1582 esac
1583 ;;
1584 *64-bit*)
1585 libsuff=64
1586 case $host in
1587 x86_64-*kfreebsd*-gnu)
1588 LD="${LD-ld} -m elf_x86_64_fbsd"
1589 ;;
1590 x86_64-*linux*)
1591 LD="${LD-ld} -m elf_x86_64"
1592 ;;
1593 ppc*-*linux*|powerpc*-*linux*)
1594 LD="${LD-ld} -m elf64ppc"
1595 ;;
1596 s390*-*linux*)
1597 LD="${LD-ld} -m elf64_s390"
1598 ;;
1599 sparc*-*linux*)
1600 LD="${LD-ld} -m elf64_sparc"
1601 ;;
1602 esac
1603 ;;
2147 *32-bit*)
2148 case $host in
2149 x86_64-*kfreebsd*-gnu)
2150 LD="${LD-ld} -m elf_i386_fbsd"
2151 ;;
2152 x86_64-*linux*)
2153 LD="${LD-ld} -m elf_i386"
2154 ;;
2155 ppc64-*linux*|powerpc64-*linux*)
2156 LD="${LD-ld} -m elf32ppclinux"
2157 ;;
2158 s390x-*linux*)
2159 LD="${LD-ld} -m elf_s390"
2160 ;;
2161 sparc64-*linux*)
2162 LD="${LD-ld} -m elf32_sparc"
2163 ;;
2164 esac
2165 ;;
2166 *64-bit*)
2167 case $host in
2168 x86_64-*kfreebsd*-gnu)
2169 LD="${LD-ld} -m elf_x86_64_fbsd"
2170 ;;
2171 x86_64-*linux*)
2172 LD="${LD-ld} -m elf_x86_64"
2173 ;;
2174 ppc*-*linux*|powerpc*-*linux*)
2175 LD="${LD-ld} -m elf64ppc"
2176 ;;
2177 s390*-*linux*|s390*-*tpf*)
2178 LD="${LD-ld} -m elf64_s390"
2179 ;;
2180 sparc*-*linux*)
2181 LD="${LD-ld} -m elf64_sparc"
2182 ;;
2183 esac
2184 ;;
16042185 esac
16052186 fi
16062187 rm -rf conftest*
16122193 CFLAGS="$CFLAGS -belf"
16132194 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
16142195 [AC_LANG_PUSH(C)
1615 AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
2196 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
16162197 AC_LANG_POP])
16172198 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
16182199 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
16282209 case $lt_cv_prog_gnu_ld in
16292210 yes*) LD="${LD-ld} -m elf64_sparc" ;;
16302211 *)
1631 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
2212 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
16322213 LD="${LD-ld} -64"
16332214 fi
16342215 ;;
16382219 fi
16392220 rm -rf conftest*
16402221 ;;
1641
1642 AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
1643 [*-*-cygwin* | *-*-mingw* | *-*-pw32*)
1644 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
1645 AC_CHECK_TOOL(AS, as, false)
1646 AC_CHECK_TOOL(OBJDUMP, objdump, false)
1647 ;;
1648 ])
16492222 esac
16502223
16512224 need_locks="$enable_libtool_lock"
1652
1653 ])# _LT_AC_LOCK
1654
1655
1656 # AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
2225 ])# _LT_ENABLE_LOCK
2226
2227
2228 # _LT_CMD_OLD_ARCHIVE
2229 # -------------------
2230 m4_defun([_LT_CMD_OLD_ARCHIVE],
2231 [AC_CHECK_TOOL(AR, ar, false)
2232 test -z "$AR" && AR=ar
2233 test -z "$AR_FLAGS" && AR_FLAGS=cru
2234 _LT_DECL([], [AR], [1], [The archiver])
2235 _LT_DECL([], [AR_FLAGS], [1])
2236
2237 AC_CHECK_TOOL(STRIP, strip, :)
2238 test -z "$STRIP" && STRIP=:
2239 _LT_DECL([], [STRIP], [1], [A symbol stripping program])
2240
2241 AC_CHECK_TOOL(RANLIB, ranlib, :)
2242 test -z "$RANLIB" && RANLIB=:
2243 _LT_DECL([], [RANLIB], [1],
2244 [Commands used to install an old-style archive])
2245
2246 # Determine commands to create old-style static archives.
2247 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
2248 old_postinstall_cmds='chmod 644 $oldlib'
2249 old_postuninstall_cmds=
2250
2251 if test -n "$RANLIB"; then
2252 case $host_os in
2253 openbsd*)
2254 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
2255 ;;
2256 *)
2257 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
2258 ;;
2259 esac
2260 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
2261 fi
2262 _LT_DECL([], [old_postinstall_cmds], [2])
2263 _LT_DECL([], [old_postuninstall_cmds], [2])
2264 _LT_TAGDECL([], [old_archive_cmds], [2],
2265 [Commands used to build an old-style archive])
2266 ])# _LT_CMD_OLD_ARCHIVE
2267
2268
2269 # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
16572270 # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
16582271 # ----------------------------------------------------------------
16592272 # Check whether the given compiler option works
1660 AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
1661 [AC_REQUIRE([LT_AC_PROG_SED])
2273 AC_DEFUN([_LT_COMPILER_OPTION],
2274 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2275 m4_require([_LT_DECL_SED])dnl
16622276 AC_CACHE_CHECK([$1], [$2],
16632277 [$2=no
1664 ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
2278 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
16652279 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
16662280 lt_compiler_flag="$3"
16672281 # Insert the option either (1) after the last *FLAGS variable, or
16812295 if (exit $ac_status) && test -s "$ac_outfile"; then
16822296 # The compiler can only warn and ignore the option if not recognized
16832297 # So say no if there are warnings other than the usual output.
1684 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
2298 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
16852299 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
16862300 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
16872301 $2=yes
16882302 fi
16892303 fi
1690 $rm conftest*
2304 $RM conftest*
16912305 ])
16922306
16932307 if test x"[$]$2" = xyes; then
1694 ifelse([$5], , :, [$5])
2308 m4_if([$5], , :, [$5])
16952309 else
1696 ifelse([$6], , :, [$6])
2310 m4_if([$6], , :, [$6])
16972311 fi
1698 ])# AC_LIBTOOL_COMPILER_OPTION
1699
1700
1701 # AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1702 # [ACTION-SUCCESS], [ACTION-FAILURE])
1703 # ------------------------------------------------------------
1704 # Check whether the given compiler option works
1705 AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
1706 [AC_REQUIRE([LT_AC_PROG_SED])dnl
2312 ])# _LT_COMPILER_OPTION
2313
2314 # Old name:
2315 AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
2316 dnl aclocal-1.4 backwards compatibility:
2317 dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
2318
2319
2320 # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
2321 # [ACTION-SUCCESS], [ACTION-FAILURE])
2322 # ----------------------------------------------------
2323 # Check whether the given linker option works
2324 AC_DEFUN([_LT_LINKER_OPTION],
2325 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2326 m4_require([_LT_DECL_SED])dnl
17072327 AC_CACHE_CHECK([$1], [$2],
17082328 [$2=no
17092329 save_LDFLAGS="$LDFLAGS"
17152335 if test -s conftest.err; then
17162336 # Append any errors to the config.log.
17172337 cat conftest.err 1>&AS_MESSAGE_LOG_FD
1718 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
2338 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
17192339 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
17202340 if diff conftest.exp conftest.er2 >/dev/null; then
17212341 $2=yes
17242344 $2=yes
17252345 fi
17262346 fi
1727 $rm -r conftest*
2347 $RM -r conftest*
17282348 LDFLAGS="$save_LDFLAGS"
17292349 ])
17302350
17312351 if test x"[$]$2" = xyes; then
1732 ifelse([$4], , :, [$4])
2352 m4_if([$4], , :, [$4])
17332353 else
1734 ifelse([$5], , :, [$5])
2354 m4_if([$5], , :, [$5])
17352355 fi
1736 ])# AC_LIBTOOL_LINKER_OPTION
1737
1738
1739 # AC_LIBTOOL_SYS_MAX_CMD_LEN
1740 # --------------------------
1741 AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
1742 [# find the maximum length of command line arguments
2356 ])# _LT_LINKER_OPTION
2357
2358 # Old name:
2359 AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
2360 dnl aclocal-1.4 backwards compatibility:
2361 dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
2362
2363
2364 # LT_CMD_MAX_LEN
2365 #---------------
2366 AC_DEFUN([LT_CMD_MAX_LEN],
2367 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
2368 # find the maximum length of command line arguments
17432369 AC_MSG_CHECKING([the maximum length of command line arguments])
17442370 AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
17452371 i=0
17612387 lt_cv_sys_max_cmd_len=-1;
17622388 ;;
17632389
1764 cygwin* | mingw*)
2390 cygwin* | mingw* | cegcc*)
17652391 # On Win9x/ME, this test blows up -- it succeeds, but takes
17662392 # about 5 minutes as the teststring grows exponentially.
17672393 # Worse, since 9x/ME are not pre-emptively multitasking,
18162442 sysv5* | sco5v6* | sysv4.2uw2*)
18172443 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
18182444 if test -n "$kargmax"; then
1819 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
2445 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
18202446 else
18212447 lt_cv_sys_max_cmd_len=32768
18222448 fi
18272453 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
18282454 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
18292455 else
2456 # Make teststring a little bigger before we do anything with it.
2457 # a 1K string should be a reasonable start.
2458 for i in 1 2 3 4 5 6 7 8 ; do
2459 teststring=$teststring$teststring
2460 done
18302461 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1831 while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
1832 = "XX$teststring") >/dev/null 2>&1 &&
1833 new_result=`expr "X$teststring" : ".*" 2>&1` &&
1834 lt_cv_sys_max_cmd_len=$new_result &&
2462 # If test is not a shell built-in, we'll probably end up computing a
2463 # maximum length that is only half of the actual maximum length, but
2464 # we can't tell.
2465 while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
2466 = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
18352467 test $i != 17 # 1/2 MB should be enough
18362468 do
18372469 i=`expr $i + 1`
18382470 teststring=$teststring$teststring
18392471 done
2472 # Only check the string length outside the loop.
2473 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
18402474 teststring=
1841 # Add a significant safety factor because C++ compilers can tack on massive
1842 # amounts of additional arguments before passing them to the linker.
1843 # It appears as though 1/2 is a usable value.
2475 # Add a significant safety factor because C++ compilers can tack on
2476 # massive amounts of additional arguments before passing them to the
2477 # linker. It appears as though 1/2 is a usable value.
18442478 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
18452479 fi
18462480 ;;
18512485 else
18522486 AC_MSG_RESULT(none)
18532487 fi
1854 ])# AC_LIBTOOL_SYS_MAX_CMD_LEN
1855
1856
1857 # _LT_AC_CHECK_DLFCN
1858 # ------------------
1859 AC_DEFUN([_LT_AC_CHECK_DLFCN],
1860 [AC_CHECK_HEADERS(dlfcn.h)dnl
1861 ])# _LT_AC_CHECK_DLFCN
1862
1863
1864 # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1865 # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1866 # ---------------------------------------------------------------------
1867 AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
1868 [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
2488 max_cmd_len=$lt_cv_sys_max_cmd_len
2489 _LT_DECL([], [max_cmd_len], [0],
2490 [What is the maximum length of a command?])
2491 ])# LT_CMD_MAX_LEN
2492
2493 # Old name:
2494 AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
2495 dnl aclocal-1.4 backwards compatibility:
2496 dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
2497
2498
2499 # _LT_HEADER_DLFCN
2500 # ----------------
2501 m4_defun([_LT_HEADER_DLFCN],
2502 [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
2503 ])# _LT_HEADER_DLFCN
2504
2505
2506 # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
2507 # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
2508 # ----------------------------------------------------------------
2509 m4_defun([_LT_TRY_DLOPEN_SELF],
2510 [m4_require([_LT_HEADER_DLFCN])dnl
18692511 if test "$cross_compiling" = yes; then :
18702512 [$4]
18712513 else
18722514 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
18732515 lt_status=$lt_dlunknown
1874 cat > conftest.$ac_ext <<EOF
2516 cat > conftest.$ac_ext <<_LT_EOF
18752517 [#line __oline__ "configure"
18762518 #include "confdefs.h"
18772519
19132555 # endif
19142556 #endif
19152557
1916 #ifdef __cplusplus
1917 extern "C" void exit (int);
1918 #endif
1919
19202558 void fnord() { int i=42;}
19212559 int main ()
19222560 {
19322570 else
19332571 puts (dlerror ());
19342572
1935 exit (status);
2573 return status;
19362574 }]
1937 EOF
2575 _LT_EOF
19382576 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
19392577 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
19402578 lt_status=$?
19492587 fi
19502588 fi
19512589 rm -fr conftest*
1952 ])# _LT_AC_TRY_DLOPEN_SELF
1953
1954
1955 # AC_LIBTOOL_DLOPEN_SELF
1956 # ----------------------
1957 AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
1958 [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
2590 ])# _LT_TRY_DLOPEN_SELF
2591
2592
2593 # LT_SYS_DLOPEN_SELF
2594 # ------------------
2595 AC_DEFUN([LT_SYS_DLOPEN_SELF],
2596 [m4_require([_LT_HEADER_DLFCN])dnl
19592597 if test "x$enable_dlopen" != xyes; then
19602598 enable_dlopen=unknown
19612599 enable_dlopen_self=unknown
19712609 lt_cv_dlopen_self=yes
19722610 ;;
19732611
1974 mingw* | pw32*)
2612 mingw* | pw32* | cegcc*)
19752613 lt_cv_dlopen="LoadLibrary"
19762614 lt_cv_dlopen_libs=
1977 ;;
2615 ;;
19782616
19792617 cygwin*)
19802618 lt_cv_dlopen="dlopen"
19812619 lt_cv_dlopen_libs=
1982 ;;
2620 ;;
19832621
19842622 darwin*)
19852623 # if libdl is installed we need to link against it
19892627 lt_cv_dlopen_libs=
19902628 lt_cv_dlopen_self=yes
19912629 ])
1992 ;;
2630 ;;
19932631
19942632 *)
19952633 AC_CHECK_FUNC([shl_load],
20312669
20322670 AC_CACHE_CHECK([whether a program can dlopen itself],
20332671 lt_cv_dlopen_self, [dnl
2034 _LT_AC_TRY_DLOPEN_SELF(
2672 _LT_TRY_DLOPEN_SELF(
20352673 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
20362674 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
20372675 ])
20392677 if test "x$lt_cv_dlopen_self" = xyes; then
20402678 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
20412679 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
2042 lt_cv_dlopen_self_static, [dnl
2043 _LT_AC_TRY_DLOPEN_SELF(
2680 lt_cv_dlopen_self_static, [dnl
2681 _LT_TRY_DLOPEN_SELF(
20442682 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
20452683 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
20462684 ])
20622700 *) enable_dlopen_self_static=unknown ;;
20632701 esac
20642702 fi
2065 ])# AC_LIBTOOL_DLOPEN_SELF
2066
2067
2068 # AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
2069 # ---------------------------------
2070 # Check to see if options -c and -o are simultaneously supported by compiler
2071 AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
2072 [AC_REQUIRE([LT_AC_PROG_SED])dnl
2073 AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
2703 _LT_DECL([dlopen_support], [enable_dlopen], [0],
2704 [Whether dlopen is supported])
2705 _LT_DECL([dlopen_self], [enable_dlopen_self], [0],
2706 [Whether dlopen of programs is supported])
2707 _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
2708 [Whether dlopen of statically linked programs is supported])
2709 ])# LT_SYS_DLOPEN_SELF
2710
2711 # Old name:
2712 AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
2713 dnl aclocal-1.4 backwards compatibility:
2714 dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
2715
2716
2717 # _LT_COMPILER_C_O([TAGNAME])
2718 # ---------------------------
2719 # Check to see if options -c and -o are simultaneously supported by compiler.
2720 # This macro does not hard code the compiler like AC_PROG_CC_C_O.
2721 m4_defun([_LT_COMPILER_C_O],
2722 [m4_require([_LT_DECL_SED])dnl
2723 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2724 m4_require([_LT_TAG_COMPILER])dnl
20742725 AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
2075 [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
2076 [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
2077 $rm -r conftest 2>/dev/null
2726 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
2727 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
2728 $RM -r conftest 2>/dev/null
20782729 mkdir conftest
20792730 cd conftest
20802731 mkdir out
20982749 then
20992750 # The compiler can only warn and ignore the option if not recognized
21002751 # So say no if there are warnings
2101 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
2752 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
21022753 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
21032754 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2104 _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2755 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
21052756 fi
21062757 fi
21072758 chmod u+w . 2>&AS_MESSAGE_LOG_FD
2108 $rm conftest*
2759 $RM conftest*
21092760 # SGI C++ compiler will create directory out/ii_files/ for
21102761 # template instantiation
2111 test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
2112 $rm out/* && rmdir out
2762 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2763 $RM out/* && rmdir out
21132764 cd ..
2114 rmdir conftest
2115 $rm conftest*
2765 $RM -r conftest
2766 $RM conftest*
21162767 ])
2117 ])# AC_LIBTOOL_PROG_CC_C_O
2118
2119
2120 # AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
2121 # -----------------------------------------
2768 _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2769 [Does compiler simultaneously support -c and -o options?])
2770 ])# _LT_COMPILER_C_O
2771
2772
2773 # _LT_COMPILER_FILE_LOCKS([TAGNAME])
2774 # ----------------------------------
21222775 # Check to see if we can do hard links to lock some files if needed
2123 AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
2124 [AC_REQUIRE([_LT_AC_LOCK])dnl
2776 m4_defun([_LT_COMPILER_FILE_LOCKS],
2777 [m4_require([_LT_ENABLE_LOCK])dnl
2778 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2779 _LT_COMPILER_C_O([$1])
21252780
21262781 hard_links="nottested"
2127 if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
2782 if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
21282783 # do not overwrite the value of need_locks provided by the user
21292784 AC_MSG_CHECKING([if we can lock with hard links])
21302785 hard_links=yes
2131 $rm conftest*
2786 $RM conftest*
21322787 ln conftest.a conftest.b 2>/dev/null && hard_links=no
21332788 touch conftest.a
21342789 ln conftest.a conftest.b 2>&5 || hard_links=no
21412796 else
21422797 need_locks=no
21432798 fi
2144 ])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
2145
2146
2147 # AC_LIBTOOL_OBJDIR
2148 # -----------------
2149 AC_DEFUN([AC_LIBTOOL_OBJDIR],
2799 _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2800 ])# _LT_COMPILER_FILE_LOCKS
2801
2802
2803 # _LT_CHECK_OBJDIR
2804 # ----------------
2805 m4_defun([_LT_CHECK_OBJDIR],
21502806 [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
21512807 [rm -f .libs 2>/dev/null
21522808 mkdir .libs 2>/dev/null
21582814 fi
21592815 rmdir .libs 2>/dev/null])
21602816 objdir=$lt_cv_objdir
2161 ])# AC_LIBTOOL_OBJDIR
2162
2163
2164 # AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
2165 # ----------------------------------------------
2817 _LT_DECL([], [objdir], [0],
2818 [The name of the directory that contains temporary libtool files])dnl
2819 m4_pattern_allow([LT_OBJDIR])dnl
2820 AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
2821 [Define to the sub-directory in which libtool stores uninstalled libraries.])
2822 ])# _LT_CHECK_OBJDIR
2823
2824
2825 # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2826 # --------------------------------------
21662827 # Check hardcoding attributes.
2167 AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
2828 m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
21682829 [AC_MSG_CHECKING([how to hardcode library paths into programs])
2169 _LT_AC_TAGVAR(hardcode_action, $1)=
2170 if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
2171 test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
2172 test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
2173
2174 # We can hardcode non-existant directories.
2175 if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
2830 _LT_TAGVAR(hardcode_action, $1)=
2831 if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2832 test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2833 test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
2834
2835 # We can hardcode non-existent directories.
2836 if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
21762837 # If the only mechanism to avoid hardcoding is shlibpath_var, we
21772838 # have to relink, otherwise we might link with an installed library
21782839 # when we should be linking with a yet-to-be-installed one
2179 ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
2180 test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
2840 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
2841 test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
21812842 # Linking always hardcodes the temporary library directory.
2182 _LT_AC_TAGVAR(hardcode_action, $1)=relink
2843 _LT_TAGVAR(hardcode_action, $1)=relink
21832844 else
21842845 # We can link without hardcoding, and we can hardcode nonexisting dirs.
2185 _LT_AC_TAGVAR(hardcode_action, $1)=immediate
2846 _LT_TAGVAR(hardcode_action, $1)=immediate
21862847 fi
21872848 else
21882849 # We cannot hardcode anything, or else we can only hardcode existing
21892850 # directories.
2190 _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
2851 _LT_TAGVAR(hardcode_action, $1)=unsupported
21912852 fi
2192 AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
2193
2194 if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
2853 AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2854
2855 if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
2856 test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
21952857 # Fast installation is not supported
21962858 enable_fast_install=no
21972859 elif test "$shlibpath_overrides_runpath" = yes ||
21992861 # Fast installation is not necessary
22002862 enable_fast_install=needless
22012863 fi
2202 ])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
2203
2204
2205 # AC_LIBTOOL_SYS_LIB_STRIP
2206 # ------------------------
2207 AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
2208 [striplib=
2864 _LT_TAGDECL([], [hardcode_action], [0],
2865 [How to hardcode a shared library path into an executable])
2866 ])# _LT_LINKER_HARDCODE_LIBPATH
2867
2868
2869 # _LT_CMD_STRIPLIB
2870 # ----------------
2871 m4_defun([_LT_CMD_STRIPLIB],
2872 [m4_require([_LT_DECL_EGREP])
2873 striplib=
22092874 old_striplib=
22102875 AC_MSG_CHECKING([whether stripping libraries is possible])
2211 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
2876 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
22122877 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
22132878 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
22142879 AC_MSG_RESULT([yes])
22152880 else
22162881 # FIXME - insert some real tests, host_os isn't really good enough
22172882 case $host_os in
2218 darwin*)
2219 if test -n "$STRIP" ; then
2220 striplib="$STRIP -x"
2221 old_striplib="$STRIP -S"
2222 AC_MSG_RESULT([yes])
2223 else
2224 AC_MSG_RESULT([no])
2225 fi
2226 ;;
2227 *)
2228 AC_MSG_RESULT([no])
2883 darwin*)
2884 if test -n "$STRIP" ; then
2885 striplib="$STRIP -x"
2886 old_striplib="$STRIP -S"
2887 AC_MSG_RESULT([yes])
2888 else
2889 AC_MSG_RESULT([no])
2890 fi
2891 ;;
2892 *)
2893 AC_MSG_RESULT([no])
22292894 ;;
22302895 esac
22312896 fi
2232 ])# AC_LIBTOOL_SYS_LIB_STRIP
2233
2234
2235 # AC_LIBTOOL_SYS_DYNAMIC_LINKER
2897 _LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2898 _LT_DECL([], [striplib], [1])
2899 ])# _LT_CMD_STRIPLIB
2900
2901
2902 # _LT_SYS_DYNAMIC_LINKER([TAG])
22362903 # -----------------------------
22372904 # PORTME Fill in your ld.so characteristics
2238 AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
2239 [AC_REQUIRE([LT_AC_PROG_SED])dnl
2905 m4_defun([_LT_SYS_DYNAMIC_LINKER],
2906 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
2907 m4_require([_LT_DECL_EGREP])dnl
2908 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2909 m4_require([_LT_DECL_OBJDUMP])dnl
2910 m4_require([_LT_DECL_SED])dnl
22402911 AC_MSG_CHECKING([dynamic linker characteristics])
2241 library_names_spec=
2242 libname_spec='lib$name'
2243 soname_spec=
2244 shrext_cmds=".so"
2245 postinstall_cmds=
2246 postuninstall_cmds=
2247 finish_cmds=
2248 finish_eval=
2249 shlibpath_var=
2250 shlibpath_overrides_runpath=unknown
2251 version_type=none
2252 dynamic_linker="$host_os ld.so"
2253 sys_lib_dlsearch_path_spec="/lib /usr/lib"
2254 m4_if($1,[],[
2912 m4_if([$1],
2913 [], [
22552914 if test "$GCC" = yes; then
22562915 case $host_os in
22572916 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
22582917 *) lt_awk_arg="/^libraries:/" ;;
22592918 esac
22602919 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2261 if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
2920 if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
22622921 # if the path contains ";" then we assume it to be the separator
22632922 # otherwise default to the standard path separator (i.e. ":") - it is
22642923 # assumed that no part of a normal pathname contains ";" but that should
22652924 # okay in the real world where ";" in dirpaths is itself problematic.
2266 lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
2925 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
22672926 else
2268 lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2927 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
22692928 fi
22702929 # Ok, now we have the path, separated by spaces, we can step through it
22712930 # and add multilib dir if necessary.
22792938 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
22802939 fi
22812940 done
2282 lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
2941 lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
22832942 BEGIN {RS=" "; FS="/|\n";} {
22842943 lt_foo="";
22852944 lt_count=0;
22992958 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
23002959 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
23012960 }'`
2302 sys_lib_search_path_spec=`echo $lt_search_path_spec`
2961 sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
23032962 else
23042963 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
23052964 fi])
2965 library_names_spec=
2966 libname_spec='lib$name'
2967 soname_spec=
2968 shrext_cmds=".so"
2969 postinstall_cmds=
2970 postuninstall_cmds=
2971 finish_cmds=
2972 finish_eval=
2973 shlibpath_var=
2974 shlibpath_overrides_runpath=unknown
2975 version_type=none
2976 dynamic_linker="$host_os ld.so"
2977 sys_lib_dlsearch_path_spec="/lib /usr/lib"
23062978 need_lib_prefix=unknown
23072979 hardcode_into_libs=no
23082980
23393011 aix4 | aix4.[[01]] | aix4.[[01]].*)
23403012 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
23413013 echo ' yes '
2342 echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
3014 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
23433015 :
23443016 else
23453017 can_build_shared=no
23653037 ;;
23663038
23673039 amigaos*)
2368 library_names_spec='$libname.ixlibrary $libname.a'
2369 # Create ${libname}_ixlibrary.a entries in /sys/libs.
2370 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
3040 case $host_cpu in
3041 powerpc)
3042 # Since July 2007 AmigaOS4 officially supports .so libraries.
3043 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
3044 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
3045 ;;
3046 m68k)
3047 library_names_spec='$libname.ixlibrary $libname.a'
3048 # Create ${libname}_ixlibrary.a entries in /sys/libs.
3049 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
3050 ;;
3051 esac
23713052 ;;
23723053
23733054 beos*)
23903071 # libtool to hard-code these into programs
23913072 ;;
23923073
2393 cygwin* | mingw* | pw32*)
3074 cygwin* | mingw* | pw32* | cegcc*)
23943075 version_type=windows
23953076 shrext_cmds=".dll"
23963077 need_version=no
23973078 need_lib_prefix=no
23983079
23993080 case $GCC,$host_os in
2400 yes,cygwin* | yes,mingw* | yes,pw32*)
3081 yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
24013082 library_names_spec='$libname.dll.a'
24023083 # DLL is installed to $(libdir)/../bin by postinstall_cmds
24033084 postinstall_cmds='base_file=`basename \${file}`~
2404 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
3085 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
24053086 dldir=$destdir/`dirname \$dlpath`~
24063087 test -d \$dldir || mkdir -p \$dldir~
24073088 $install_prog $dir/$dlname \$dldir/$dlname~
2408 chmod a+x \$dldir/$dlname'
3089 chmod a+x \$dldir/$dlname~
3090 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
3091 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
3092 fi'
24093093 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
24103094 dlpath=$dir/\$dldll~
2411 $rm \$dlpath'
3095 $RM \$dlpath'
24123096 shlibpath_overrides_runpath=yes
24133097
24143098 case $host_os in
24173101 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
24183102 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
24193103 ;;
2420 mingw*)
3104 mingw* | cegcc*)
24213105 # MinGW DLLs use traditional 'lib' prefix
24223106 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2423 sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2424 if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
3107 sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
3108 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
24253109 # It is most probably a Windows format PATH printed by
24263110 # mingw gcc, but we are running on Cygwin. Gcc prints its search
24273111 # path with ; separators, and with drive letters. We can handle the
24283112 # drive letters (cygwin fileutils understands them), so leave them,
24293113 # especially as we might pass files found there to a mingw objdump,
24303114 # which wouldn't understand a cygwinified path. Ahh.
2431 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
3115 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
24323116 else
2433 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
3117 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
24343118 fi
24353119 ;;
24363120 pw32*)
24543138 version_type=darwin
24553139 need_lib_prefix=no
24563140 need_version=no
2457 library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
3141 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
24583142 soname_spec='${libname}${release}${major}$shared_ext'
24593143 shlibpath_overrides_runpath=yes
24603144 shlibpath_var=DYLD_LIBRARY_PATH
24613145 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2462 m4_if([$1], [],[
2463 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
3146 m4_if([$1], [],[
3147 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
24643148 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
24653149 ;;
24663150
25533237 fi
25543238 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
25553239 ;;
2556 hppa*64*)
2557 shrext_cmds='.sl'
2558 hardcode_into_libs=yes
2559 dynamic_linker="$host_os dld.sl"
2560 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2561 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2562 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2563 soname_spec='${libname}${release}${shared_ext}$major'
2564 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2565 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2566 ;;
2567 *)
3240 hppa*64*)
3241 shrext_cmds='.sl'
3242 hardcode_into_libs=yes
3243 dynamic_linker="$host_os dld.sl"
3244 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
3245 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
3246 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
3247 soname_spec='${libname}${release}${shared_ext}$major'
3248 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
3249 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
3250 ;;
3251 *)
25683252 shrext_cmds='.sl'
25693253 dynamic_linker="$host_os dld.sl"
25703254 shlibpath_var=SHLIB_PATH
26413325 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
26423326 shlibpath_var=LD_LIBRARY_PATH
26433327 shlibpath_overrides_runpath=no
3328 # Some binutils ld are patched to set DT_RUNPATH
3329 save_LDFLAGS=$LDFLAGS
3330 save_libdir=$libdir
3331 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
3332 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
3333 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
3334 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
3335 [shlibpath_overrides_runpath=yes])])
3336 LDFLAGS=$save_LDFLAGS
3337 libdir=$save_libdir
3338
26443339 # This implies no fast_install, which is unacceptable.
26453340 # Some rework will be needed to allow for fast_install
26463341 # before this can be enabled.
26473342 hardcode_into_libs=yes
2648 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2649 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
3343
3344 # Add ABI-specific directories to the system library path.
3345 sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
26503346
26513347 # Append ld.so.conf contents to the search path
26523348 if test -f /etc/ld.so.conf; then
2653 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
3349 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
26543350 sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
26553351 fi
26563352
26673363 version_type=sunos
26683364 need_lib_prefix=no
26693365 need_version=no
2670 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
3366 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
26713367 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
26723368 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
26733369 dynamic_linker='NetBSD (a.out) ld.so'
26883384 shlibpath_overrides_runpath=yes
26893385 ;;
26903386
2691 nto-qnx*)
2692 version_type=linux
3387 *nto* | *qnx*)
3388 version_type=qnx
26933389 need_lib_prefix=no
26943390 need_version=no
26953391 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
26963392 soname_spec='${libname}${release}${shared_ext}$major'
26973393 shlibpath_var=LD_LIBRARY_PATH
2698 shlibpath_overrides_runpath=yes
3394 shlibpath_overrides_runpath=no
3395 hardcode_into_libs=yes
3396 dynamic_linker='ldqnx.so'
26993397 ;;
27003398
27013399 openbsd*)
27043402 need_lib_prefix=no
27053403 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
27063404 case $host_os in
2707 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
2708 *) need_version=no ;;
3405 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
3406 *) need_version=no ;;
27093407 esac
27103408 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
27113409 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
27123410 shlibpath_var=LD_LIBRARY_PATH
2713 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3411 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
27143412 case $host_os in
27153413 openbsd2.[[89]] | openbsd2.[[89]].*)
27163414 shlibpath_overrides_runpath=no
27823480 sni)
27833481 shlibpath_overrides_runpath=no
27843482 need_lib_prefix=no
2785 export_dynamic_flag_spec='${wl}-Blargedynsym'
27863483 runpath_var=LD_RUN_PATH
27873484 ;;
27883485 siemens)
28133510 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
28143511 soname_spec='${libname}${release}${shared_ext}$major'
28153512 shlibpath_var=LD_LIBRARY_PATH
3513 shlibpath_overrides_runpath=yes
28163514 hardcode_into_libs=yes
28173515 if test "$with_gnu_ld" = yes; then
28183516 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
2819 shlibpath_overrides_runpath=no
28203517 else
28213518 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
2822 shlibpath_overrides_runpath=yes
28233519 case $host_os in
28243520 sco3.2v5*)
28253521 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
28293525 sys_lib_dlsearch_path_spec='/usr/lib'
28303526 ;;
28313527
3528 tpf*)
3529 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
3530 version_type=linux
3531 need_lib_prefix=no
3532 need_version=no
3533 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
3534 shlibpath_var=LD_LIBRARY_PATH
3535 shlibpath_overrides_runpath=no
3536 hardcode_into_libs=yes
3537 ;;
3538
28323539 uts4*)
28333540 version_type=linux
28343541 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
28433550 AC_MSG_RESULT([$dynamic_linker])
28443551 test "$dynamic_linker" = no && can_build_shared=no
28453552
2846 AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
2847 [lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
2848 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
2849 AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
2850 [lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
2851 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2852
28533553 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
28543554 if test "$GCC" = yes; then
28553555 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
28563556 fi
2857 ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
2858
2859
2860 # _LT_AC_TAGCONFIG
2861 # ----------------
2862 AC_DEFUN([_LT_AC_TAGCONFIG],
2863 [AC_REQUIRE([LT_AC_PROG_SED])dnl
2864 AC_ARG_WITH([tags],
2865 [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
2866 [include additional configurations @<:@automatic@:>@])],
2867 [tagnames="$withval"])
2868
2869 if test -f "$ltmain" && test -n "$tagnames"; then
2870 if test ! -f "${ofile}"; then
2871 AC_MSG_WARN([output file `$ofile' does not exist])
2872 fi
2873
2874 if test -z "$LTCC"; then
2875 eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
2876 if test -z "$LTCC"; then
2877 AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
2878 else
2879 AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
2880 fi
2881 fi
2882 if test -z "$LTCFLAGS"; then
2883 eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
2884 fi
2885
2886 # Extract list of available tagged configurations in $ofile.
2887 # Note that this assumes the entire list is on one line.
2888 available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
2889
2890 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
2891 for tagname in $tagnames; do
2892 IFS="$lt_save_ifs"
2893 # Check whether tagname contains only valid characters
2894 case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
2895 "") ;;
2896 *) AC_MSG_ERROR([invalid tag name: $tagname])
2897 ;;
2898 esac
2899
2900 if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
2901 then
2902 AC_MSG_ERROR([tag name \"$tagname\" already exists])
2903 fi
2904
2905 # Update the list of available tags.
2906 if test -n "$tagname"; then
2907 echo appending configuration tag \"$tagname\" to $ofile
2908
2909 case $tagname in
2910 CXX)
2911 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
2912 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
2913 (test "X$CXX" != "Xg++"))) ; then
2914 AC_LIBTOOL_LANG_CXX_CONFIG
2915 else
2916 tagname=""
2917 fi
2918 ;;
2919
2920 F77)
2921 if test -n "$F77" && test "X$F77" != "Xno"; then
2922 AC_LIBTOOL_LANG_F77_CONFIG
2923 else
2924 tagname=""
2925 fi
2926 ;;
2927
2928 GCJ)
2929 if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
2930 AC_LIBTOOL_LANG_GCJ_CONFIG
2931 else
2932 tagname=""
2933 fi
2934 ;;
2935
2936 RC)
2937 AC_LIBTOOL_LANG_RC_CONFIG
2938 ;;
2939
2940 *)
2941 AC_MSG_ERROR([Unsupported tag name: $tagname])
2942 ;;
2943 esac
2944
2945 # Append the new tag name to the list of available tags.
2946 if test -n "$tagname" ; then
2947 available_tags="$available_tags $tagname"
2948 fi
2949 fi
2950 done
2951 IFS="$lt_save_ifs"
2952
2953 # Now substitute the updated list of available tags.
2954 if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
2955 mv "${ofile}T" "$ofile"
2956 chmod +x "$ofile"
2957 else
2958 rm -f "${ofile}T"
2959 AC_MSG_ERROR([unable to update list of available tagged configurations.])
2960 fi
3557
3558 if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
3559 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
29613560 fi
2962 ])# _LT_AC_TAGCONFIG
2963
2964
2965 # AC_LIBTOOL_DLOPEN
2966 # -----------------
2967 # enable checks for dlopen support
2968 AC_DEFUN([AC_LIBTOOL_DLOPEN],
2969 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
2970 ])# AC_LIBTOOL_DLOPEN
2971
2972
2973 # AC_LIBTOOL_WIN32_DLL
2974 # --------------------
2975 # declare package support for building win32 DLLs
2976 AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
2977 [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
2978 ])# AC_LIBTOOL_WIN32_DLL
2979
2980
2981 # AC_ENABLE_SHARED([DEFAULT])
2982 # ---------------------------
2983 # implement the --enable-shared flag
2984 # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
2985 AC_DEFUN([AC_ENABLE_SHARED],
2986 [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
2987 AC_ARG_ENABLE([shared],
2988 [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
2989 [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
2990 [p=${PACKAGE-default}
2991 case $enableval in
2992 yes) enable_shared=yes ;;
2993 no) enable_shared=no ;;
2994 *)
2995 enable_shared=no
2996 # Look at the argument we got. We use all the common list separators.
2997 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
2998 for pkg in $enableval; do
2999 IFS="$lt_save_ifs"
3000 if test "X$pkg" = "X$p"; then
3001 enable_shared=yes
3002 fi
3003 done
3004 IFS="$lt_save_ifs"
3005 ;;
3006 esac],
3007 [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
3008 ])# AC_ENABLE_SHARED
3009
3010
3011 # AC_DISABLE_SHARED
3012 # -----------------
3013 # set the default shared flag to --disable-shared
3014 AC_DEFUN([AC_DISABLE_SHARED],
3015 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3016 AC_ENABLE_SHARED(no)
3017 ])# AC_DISABLE_SHARED
3018
3019
3020 # AC_ENABLE_STATIC([DEFAULT])
3021 # ---------------------------
3022 # implement the --enable-static flag
3023 # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
3024 AC_DEFUN([AC_ENABLE_STATIC],
3025 [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
3026 AC_ARG_ENABLE([static],
3027 [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
3028 [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
3029 [p=${PACKAGE-default}
3030 case $enableval in
3031 yes) enable_static=yes ;;
3032 no) enable_static=no ;;
3033 *)
3034 enable_static=no
3035 # Look at the argument we got. We use all the common list separators.
3036 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
3037 for pkg in $enableval; do
3038 IFS="$lt_save_ifs"
3039 if test "X$pkg" = "X$p"; then
3040 enable_static=yes
3041 fi
3042 done
3043 IFS="$lt_save_ifs"
3044 ;;
3045 esac],
3046 [enable_static=]AC_ENABLE_STATIC_DEFAULT)
3047 ])# AC_ENABLE_STATIC
3048
3049
3050 # AC_DISABLE_STATIC
3051 # -----------------
3052 # set the default static flag to --disable-static
3053 AC_DEFUN([AC_DISABLE_STATIC],
3054 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3055 AC_ENABLE_STATIC(no)
3056 ])# AC_DISABLE_STATIC
3057
3058
3059 # AC_ENABLE_FAST_INSTALL([DEFAULT])
3060 # ---------------------------------
3061 # implement the --enable-fast-install flag
3062 # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
3063 AC_DEFUN([AC_ENABLE_FAST_INSTALL],
3064 [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
3065 AC_ARG_ENABLE([fast-install],
3066 [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
3067 [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
3068 [p=${PACKAGE-default}
3069 case $enableval in
3070 yes) enable_fast_install=yes ;;
3071 no) enable_fast_install=no ;;
3072 *)
3073 enable_fast_install=no
3074 # Look at the argument we got. We use all the common list separators.
3075 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
3076 for pkg in $enableval; do
3077 IFS="$lt_save_ifs"
3078 if test "X$pkg" = "X$p"; then
3079 enable_fast_install=yes
3080 fi
3081 done
3082 IFS="$lt_save_ifs"
3083 ;;
3084 esac],
3085 [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
3086 ])# AC_ENABLE_FAST_INSTALL
3087
3088
3089 # AC_DISABLE_FAST_INSTALL
3090 # -----------------------
3091 # set the default to --disable-fast-install
3092 AC_DEFUN([AC_DISABLE_FAST_INSTALL],
3093 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3094 AC_ENABLE_FAST_INSTALL(no)
3095 ])# AC_DISABLE_FAST_INSTALL
3096
3097
3098 # AC_LIBTOOL_PICMODE([MODE])
3561 if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
3562 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
3563 fi
3564
3565 _LT_DECL([], [variables_saved_for_relink], [1],
3566 [Variables whose values should be saved in libtool wrapper scripts and
3567 restored at link time])
3568 _LT_DECL([], [need_lib_prefix], [0],
3569 [Do we need the "lib" prefix for modules?])
3570 _LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
3571 _LT_DECL([], [version_type], [0], [Library versioning type])
3572 _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
3573 _LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
3574 _LT_DECL([], [shlibpath_overrides_runpath], [0],
3575 [Is shlibpath searched before the hard-coded library search path?])
3576 _LT_DECL([], [libname_spec], [1], [Format of library name prefix])
3577 _LT_DECL([], [library_names_spec], [1],
3578 [[List of archive names. First name is the real one, the rest are links.
3579 The last name is the one that the linker finds with -lNAME]])
3580 _LT_DECL([], [soname_spec], [1],
3581 [[The coded name of the library, if different from the real name]])
3582 _LT_DECL([], [postinstall_cmds], [2],
3583 [Command to use after installation of a shared archive])
3584 _LT_DECL([], [postuninstall_cmds], [2],
3585 [Command to use after uninstallation of a shared archive])
3586 _LT_DECL([], [finish_cmds], [2],
3587 [Commands used to finish a libtool library installation in a directory])
3588 _LT_DECL([], [finish_eval], [1],
3589 [[As "finish_cmds", except a single script fragment to be evaled but
3590 not shown]])
3591 _LT_DECL([], [hardcode_into_libs], [0],
3592 [Whether we should hardcode library paths into libraries])
3593 _LT_DECL([], [sys_lib_search_path_spec], [2],
3594 [Compile-time system search path for libraries])
3595 _LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
3596 [Run-time system search path for libraries])
3597 ])# _LT_SYS_DYNAMIC_LINKER
3598
3599
3600 # _LT_PATH_TOOL_PREFIX(TOOL)
30993601 # --------------------------
3100 # implement the --with-pic flag
3101 # MODE is either `yes' or `no'. If omitted, it defaults to `both'.
3102 AC_DEFUN([AC_LIBTOOL_PICMODE],
3103 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3104 pic_mode=ifelse($#,1,$1,default)
3105 ])# AC_LIBTOOL_PICMODE
3106
3107
3108 # AC_PROG_EGREP
3109 # -------------
3110 # This is predefined starting with Autoconf 2.54, so this conditional
3111 # definition can be removed once we require Autoconf 2.54 or later.
3112 m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
3113 [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
3114 [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
3115 then ac_cv_prog_egrep='grep -E'
3116 else ac_cv_prog_egrep='egrep'
3117 fi])
3118 EGREP=$ac_cv_prog_egrep
3119 AC_SUBST([EGREP])
3120 ])])
3121
3122
3123 # AC_PATH_TOOL_PREFIX
3124 # -------------------
31253602 # find a file program which can recognize shared library
3126 AC_DEFUN([AC_PATH_TOOL_PREFIX],
3127 [AC_REQUIRE([AC_PROG_EGREP])dnl
3603 AC_DEFUN([_LT_PATH_TOOL_PREFIX],
3604 [m4_require([_LT_DECL_EGREP])dnl
31283605 AC_MSG_CHECKING([for $1])
31293606 AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
31303607 [case $MAGIC_CMD in
31373614 dnl $ac_dummy forces splitting on constant user-supplied paths.
31383615 dnl POSIX.2 word splitting is done only on the output of word expansions,
31393616 dnl not every word. This closes a longstanding sh security hole.
3140 ac_dummy="ifelse([$2], , $PATH, [$2])"
3617 ac_dummy="m4_if([$2], , $PATH, [$2])"
31413618 for ac_dir in $ac_dummy; do
31423619 IFS="$lt_save_ifs"
31433620 test -z "$ac_dir" && ac_dir=.
31523629 $EGREP "$file_magic_regex" > /dev/null; then
31533630 :
31543631 else
3155 cat <<EOF 1>&2
3632 cat <<_LT_EOF 1>&2
31563633
31573634 *** Warning: the command libtool uses to detect shared libraries,
31583635 *** $file_magic_cmd, produces output that libtool cannot recognize.
31633640 *** may want to report the problem to your system manager and/or to
31643641 *** bug-libtool@gnu.org
31653642
3166 EOF
3643 _LT_EOF
31673644 fi ;;
31683645 esac
31693646 fi
31803657 else
31813658 AC_MSG_RESULT(no)
31823659 fi
3183 ])# AC_PATH_TOOL_PREFIX
3184
3185
3186 # AC_PATH_MAGIC
3187 # -------------
3660 _LT_DECL([], [MAGIC_CMD], [0],
3661 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
3662 ])# _LT_PATH_TOOL_PREFIX
3663
3664 # Old name:
3665 AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
3666 dnl aclocal-1.4 backwards compatibility:
3667 dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
3668
3669
3670 # _LT_PATH_MAGIC
3671 # --------------
31883672 # find a file program which can recognize a shared library
3189 AC_DEFUN([AC_PATH_MAGIC],
3190 [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3673 m4_defun([_LT_PATH_MAGIC],
3674 [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
31913675 if test -z "$lt_cv_path_MAGIC_CMD"; then
31923676 if test -n "$ac_tool_prefix"; then
3193 AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3677 _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
31943678 else
31953679 MAGIC_CMD=:
31963680 fi
31973681 fi
3198 ])# AC_PATH_MAGIC
3199
3200
3201 # AC_PROG_LD
3682 ])# _LT_PATH_MAGIC
3683
3684
3685 # LT_PATH_LD
32023686 # ----------
32033687 # find the pathname to the GNU or non-GNU linker
3204 AC_DEFUN([AC_PROG_LD],
3205 [AC_ARG_WITH([gnu-ld],
3206 [AC_HELP_STRING([--with-gnu-ld],
3688 AC_DEFUN([LT_PATH_LD],
3689 [AC_REQUIRE([AC_PROG_CC])dnl
3690 AC_REQUIRE([AC_CANONICAL_HOST])dnl
3691 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3692 m4_require([_LT_DECL_SED])dnl
3693 m4_require([_LT_DECL_EGREP])dnl
3694
3695 AC_ARG_WITH([gnu-ld],
3696 [AS_HELP_STRING([--with-gnu-ld],
32073697 [assume the C compiler uses GNU ld @<:@default=no@:>@])],
32083698 [test "$withval" = no || with_gnu_ld=yes],
3209 [with_gnu_ld=no])
3210 AC_REQUIRE([LT_AC_PROG_SED])dnl
3211 AC_REQUIRE([AC_PROG_CC])dnl
3212 AC_REQUIRE([AC_CANONICAL_HOST])dnl
3213 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3699 [with_gnu_ld=no])dnl
3700
32143701 ac_prog=ld
32153702 if test "$GCC" = yes; then
32163703 # Check if gcc -print-prog-name=ld gives a path.
32273714 [[\\/]]* | ?:[[\\/]]*)
32283715 re_direlt='/[[^/]][[^/]]*/\.\./'
32293716 # Canonicalize the pathname of ld
3230 ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
3231 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
3232 ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
3717 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
3718 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
3719 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
32333720 done
32343721 test -z "$LD" && LD="$ac_prog"
32353722 ;;
32793766 AC_MSG_RESULT(no)
32803767 fi
32813768 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3282 AC_PROG_LD_GNU
3283 ])# AC_PROG_LD
3284
3285
3286 # AC_PROG_LD_GNU
3287 # --------------
3288 AC_DEFUN([AC_PROG_LD_GNU],
3289 [AC_REQUIRE([AC_PROG_EGREP])dnl
3290 AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3769 _LT_PATH_LD_GNU
3770 AC_SUBST([LD])
3771
3772 _LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3773 ])# LT_PATH_LD
3774
3775 # Old names:
3776 AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3777 AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3778 dnl aclocal-1.4 backwards compatibility:
3779 dnl AC_DEFUN([AM_PROG_LD], [])
3780 dnl AC_DEFUN([AC_PROG_LD], [])
3781
3782
3783 # _LT_PATH_LD_GNU
3784 #- --------------
3785 m4_defun([_LT_PATH_LD_GNU],
3786 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
32913787 [# I'd rather use --version here, but apparently some GNU lds only accept -v.
32923788 case `$LD -v 2>&1 </dev/null` in
32933789 *GNU* | *'with BFD'*)
32983794 ;;
32993795 esac])
33003796 with_gnu_ld=$lt_cv_prog_gnu_ld
3301 ])# AC_PROG_LD_GNU
3302
3303
3304 # AC_PROG_LD_RELOAD_FLAG
3305 # ----------------------
3797 ])# _LT_PATH_LD_GNU
3798
3799
3800 # _LT_CMD_RELOAD
3801 # --------------
33063802 # find reload flag for linker
33073803 # -- PORTME Some linkers may need a different reload flag.
3308 AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
3804 m4_defun([_LT_CMD_RELOAD],
33093805 [AC_CACHE_CHECK([for $LD option to reload object files],
33103806 lt_cv_ld_reload_flag,
33113807 [lt_cv_ld_reload_flag='-r'])
33243820 fi
33253821 ;;
33263822 esac
3327 ])# AC_PROG_LD_RELOAD_FLAG
3328
3329
3330 # AC_DEPLIBS_CHECK_METHOD
3331 # -----------------------
3823 _LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3824 _LT_DECL([], [reload_cmds], [2])dnl
3825 ])# _LT_CMD_RELOAD
3826
3827
3828 # _LT_CHECK_MAGIC_METHOD
3829 # ----------------------
33323830 # how to check for library dependencies
33333831 # -- PORTME fill in with the dynamic library characteristics
3334 AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
3335 [AC_CACHE_CHECK([how to recognize dependent libraries],
3832 m4_defun([_LT_CHECK_MAGIC_METHOD],
3833 [m4_require([_LT_DECL_EGREP])
3834 m4_require([_LT_DECL_OBJDUMP])
3835 AC_CACHE_CHECK([how to recognize dependent libraries],
33363836 lt_cv_deplibs_check_method,
33373837 [lt_cv_file_magic_cmd='$MAGIC_CMD'
33383838 lt_cv_file_magic_test_file=
33823882 fi
33833883 ;;
33843884
3885 cegcc)
3886 # use the weaker test based on 'objdump'. See mingw*.
3887 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3888 lt_cv_file_magic_cmd='$OBJDUMP -f'
3889 ;;
3890
33853891 darwin* | rhapsody*)
33863892 lt_cv_deplibs_check_method=pass_all
33873893 ;;
33883894
33893895 freebsd* | dragonfly*)
3390 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
3896 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
33913897 case $host_cpu in
33923898 i*86 )
33933899 # Not sure whether the presence of OpenBSD here was a mistake.
34453951 ;;
34463952
34473953 netbsd*)
3448 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
3954 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
34493955 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
34503956 else
34513957 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
34583964 lt_cv_file_magic_test_file=/usr/lib/libnls.so
34593965 ;;
34603966
3461 nto-qnx*)
3462 lt_cv_deplibs_check_method=unknown
3967 *nto* | *qnx*)
3968 lt_cv_deplibs_check_method=pass_all
34633969 ;;
34643970
34653971 openbsd*)
3466 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3972 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
34673973 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
34683974 else
34693975 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
34793985 ;;
34803986
34813987 solaris*)
3988 lt_cv_deplibs_check_method=pass_all
3989 ;;
3990
3991 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
34823992 lt_cv_deplibs_check_method=pass_all
34833993 ;;
34843994
35094019 esac
35104020 ;;
35114021
3512 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
4022 tpf*)
35134023 lt_cv_deplibs_check_method=pass_all
35144024 ;;
35154025 esac
35174027 file_magic_cmd=$lt_cv_file_magic_cmd
35184028 deplibs_check_method=$lt_cv_deplibs_check_method
35194029 test -z "$deplibs_check_method" && deplibs_check_method=unknown
3520 ])# AC_DEPLIBS_CHECK_METHOD
3521
3522
3523 # AC_PROG_NM
4030
4031 _LT_DECL([], [deplibs_check_method], [1],
4032 [Method to check whether dependent libraries are shared objects])
4033 _LT_DECL([], [file_magic_cmd], [1],
4034 [Command to use when deplibs_check_method == "file_magic"])
4035 ])# _LT_CHECK_MAGIC_METHOD
4036
4037
4038 # LT_PATH_NM
35244039 # ----------
3525 # find the pathname to a BSD-compatible name lister
3526 AC_DEFUN([AC_PROG_NM],
3527 [AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
4040 # find the pathname to a BSD- or MS-compatible name lister
4041 AC_DEFUN([LT_PATH_NM],
4042 [AC_REQUIRE([AC_PROG_CC])dnl
4043 AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
35284044 [if test -n "$NM"; then
35294045 # Let the user override the test.
35304046 lt_cv_path_NM="$NM"
35664082 done
35674083 IFS="$lt_save_ifs"
35684084 done
3569 test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
4085 : ${lt_cv_path_NM=no}
35704086 fi])
3571 NM="$lt_cv_path_NM"
3572 ])# AC_PROG_NM
3573
3574
3575 # AC_CHECK_LIBM
3576 # -------------
4087 if test "$lt_cv_path_NM" != "no"; then
4088 NM="$lt_cv_path_NM"
4089 else
4090 # Didn't find any BSD compatible name lister, look for dumpbin.
4091 AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
4092 AC_SUBST([DUMPBIN])
4093 if test "$DUMPBIN" != ":"; then
4094 NM="$DUMPBIN"
4095 fi
4096 fi
4097 test -z "$NM" && NM=nm
4098 AC_SUBST([NM])
4099 _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
4100
4101 AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
4102 [lt_cv_nm_interface="BSD nm"
4103 echo "int some_variable = 0;" > conftest.$ac_ext
4104 (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
4105 (eval "$ac_compile" 2>conftest.err)
4106 cat conftest.err >&AS_MESSAGE_LOG_FD
4107 (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
4108 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
4109 cat conftest.err >&AS_MESSAGE_LOG_FD
4110 (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
4111 cat conftest.out >&AS_MESSAGE_LOG_FD
4112 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
4113 lt_cv_nm_interface="MS dumpbin"
4114 fi
4115 rm -f conftest*])
4116 ])# LT_PATH_NM
4117
4118 # Old names:
4119 AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
4120 AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
4121 dnl aclocal-1.4 backwards compatibility:
4122 dnl AC_DEFUN([AM_PROG_NM], [])
4123 dnl AC_DEFUN([AC_PROG_NM], [])
4124
4125
4126 # LT_LIB_M
4127 # --------
35774128 # check for math library
3578 AC_DEFUN([AC_CHECK_LIBM],
4129 AC_DEFUN([LT_LIB_M],
35794130 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
35804131 LIBM=
35814132 case $host in
35904141 AC_CHECK_LIB(m, cos, LIBM="-lm")
35914142 ;;
35924143 esac
3593 ])# AC_CHECK_LIBM
3594
3595
3596 # AC_LIBLTDL_CONVENIENCE([DIRECTORY])
3597 # -----------------------------------
3598 # sets LIBLTDL to the link flags for the libltdl convenience library and
3599 # LTDLINCL to the include flags for the libltdl header and adds
3600 # --enable-ltdl-convenience to the configure arguments. Note that
3601 # AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
3602 # it is assumed to be `libltdl'. LIBLTDL will be prefixed with
3603 # '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
3604 # (note the single quotes!). If your package is not flat and you're not
3605 # using automake, define top_builddir and top_srcdir appropriately in
3606 # the Makefiles.
3607 AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
3608 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3609 case $enable_ltdl_convenience in
3610 no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
3611 "") enable_ltdl_convenience=yes
3612 ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
3613 esac
3614 LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
3615 LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
3616 # For backwards non-gettext consistent compatibility...
3617 INCLTDL="$LTDLINCL"
3618 ])# AC_LIBLTDL_CONVENIENCE
3619
3620
3621 # AC_LIBLTDL_INSTALLABLE([DIRECTORY])
3622 # -----------------------------------
3623 # sets LIBLTDL to the link flags for the libltdl installable library and
3624 # LTDLINCL to the include flags for the libltdl header and adds
3625 # --enable-ltdl-install to the configure arguments. Note that
3626 # AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
3627 # and an installed libltdl is not found, it is assumed to be `libltdl'.
3628 # LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
3629 # '${top_srcdir}/' (note the single quotes!). If your package is not
3630 # flat and you're not using automake, define top_builddir and top_srcdir
3631 # appropriately in the Makefiles.
3632 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
3633 AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
3634 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
3635 AC_CHECK_LIB(ltdl, lt_dlinit,
3636 [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
3637 [if test x"$enable_ltdl_install" = xno; then
3638 AC_MSG_WARN([libltdl not installed, but installation disabled])
3639 else
3640 enable_ltdl_install=yes
3641 fi
3642 ])
3643 if test x"$enable_ltdl_install" = x"yes"; then
3644 ac_configure_args="$ac_configure_args --enable-ltdl-install"
3645 LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
3646 LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
3647 else
3648 ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
3649 LIBLTDL="-lltdl"
3650 LTDLINCL=
3651 fi
3652 # For backwards non-gettext consistent compatibility...
3653 INCLTDL="$LTDLINCL"
3654 ])# AC_LIBLTDL_INSTALLABLE
3655
3656
3657 # AC_LIBTOOL_CXX
3658 # --------------
3659 # enable support for C++ libraries
3660 AC_DEFUN([AC_LIBTOOL_CXX],
3661 [AC_REQUIRE([_LT_AC_LANG_CXX])
3662 ])# AC_LIBTOOL_CXX
3663
3664
3665 # _LT_AC_LANG_CXX
3666 # ---------------
3667 AC_DEFUN([_LT_AC_LANG_CXX],
3668 [AC_REQUIRE([AC_PROG_CXX])
3669 AC_REQUIRE([_LT_AC_PROG_CXXCPP])
3670 _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
3671 ])# _LT_AC_LANG_CXX
3672
3673 # _LT_AC_PROG_CXXCPP
3674 # ------------------
3675 AC_DEFUN([_LT_AC_PROG_CXXCPP],
3676 [
3677 AC_REQUIRE([AC_PROG_CXX])
3678 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
3679 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
3680 (test "X$CXX" != "Xg++"))) ; then
3681 AC_PROG_CXXCPP
3682 fi
3683 ])# _LT_AC_PROG_CXXCPP
3684
3685 # AC_LIBTOOL_F77
3686 # --------------
3687 # enable support for Fortran 77 libraries
3688 AC_DEFUN([AC_LIBTOOL_F77],
3689 [AC_REQUIRE([_LT_AC_LANG_F77])
3690 ])# AC_LIBTOOL_F77
3691
3692
3693 # _LT_AC_LANG_F77
3694 # ---------------
3695 AC_DEFUN([_LT_AC_LANG_F77],
3696 [AC_REQUIRE([AC_PROG_F77])
3697 _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
3698 ])# _LT_AC_LANG_F77
3699
3700
3701 # AC_LIBTOOL_GCJ
3702 # --------------
3703 # enable support for GCJ libraries
3704 AC_DEFUN([AC_LIBTOOL_GCJ],
3705 [AC_REQUIRE([_LT_AC_LANG_GCJ])
3706 ])# AC_LIBTOOL_GCJ
3707
3708
3709 # _LT_AC_LANG_GCJ
3710 # ---------------
3711 AC_DEFUN([_LT_AC_LANG_GCJ],
3712 [AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
3713 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
3714 [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
3715 [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
3716 [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
3717 [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
3718 _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
3719 ])# _LT_AC_LANG_GCJ
3720
3721
3722 # AC_LIBTOOL_RC
3723 # -------------
3724 # enable support for Windows resource files
3725 AC_DEFUN([AC_LIBTOOL_RC],
3726 [AC_REQUIRE([LT_AC_PROG_RC])
3727 _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
3728 ])# AC_LIBTOOL_RC
3729
3730
3731 # AC_LIBTOOL_LANG_C_CONFIG
3732 # ------------------------
3733 # Ensure that the configuration vars for the C compiler are
3734 # suitably defined. Those variables are subsequently used by
3735 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
3736 AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
3737 AC_DEFUN([_LT_AC_LANG_C_CONFIG],
3738 [lt_save_CC="$CC"
3739 AC_LANG_PUSH(C)
3740
3741 # Source file extension for C test sources.
3742 ac_ext=c
3743
3744 # Object file extension for compiled C test sources.
3745 objext=o
3746 _LT_AC_TAGVAR(objext, $1)=$objext
3747
3748 # Code to be used in simple compile tests
3749 lt_simple_compile_test_code="int some_variable = 0;"
3750
3751 # Code to be used in simple link tests
3752 lt_simple_link_test_code='int main(){return(0);}'
3753
3754 _LT_AC_SYS_COMPILER
3755
3756 # save warnings/boilerplate of simple test code
3757 _LT_COMPILER_BOILERPLATE
3758 _LT_LINKER_BOILERPLATE
3759
3760 AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
3761 AC_LIBTOOL_PROG_COMPILER_PIC($1)
3762 AC_LIBTOOL_PROG_CC_C_O($1)
3763 AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
3764 AC_LIBTOOL_PROG_LD_SHLIBS($1)
3765 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
3766 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
3767 AC_LIBTOOL_SYS_LIB_STRIP
3768 AC_LIBTOOL_DLOPEN_SELF
3769
3770 # Report which library types will actually be built
3771 AC_MSG_CHECKING([if libtool supports shared libraries])
3772 AC_MSG_RESULT([$can_build_shared])
3773
3774 AC_MSG_CHECKING([whether to build shared libraries])
3775 test "$can_build_shared" = "no" && enable_shared=no
3776
3777 # On AIX, shared libraries and static libraries use the same namespace, and
3778 # are all built from PIC.
3779 case $host_os in
3780 aix3*)
3781 test "$enable_shared" = yes && enable_static=no
3782 if test -n "$RANLIB"; then
3783 archive_cmds="$archive_cmds~\$RANLIB \$lib"
3784 postinstall_cmds='$RANLIB $lib'
3785 fi
3786 ;;
3787
3788 aix[[4-9]]*)
3789 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
3790 test "$enable_shared" = yes && enable_static=no
3791 fi
3792 ;;
3793 esac
3794 AC_MSG_RESULT([$enable_shared])
3795
3796 AC_MSG_CHECKING([whether to build static libraries])
3797 # Make sure either enable_shared or enable_static is yes.
3798 test "$enable_shared" = yes || enable_static=yes
3799 AC_MSG_RESULT([$enable_static])
3800
3801 AC_LIBTOOL_CONFIG($1)
3802
3803 AC_LANG_POP
3804 CC="$lt_save_CC"
3805 ])# AC_LIBTOOL_LANG_C_CONFIG
3806
3807
3808 # AC_LIBTOOL_LANG_CXX_CONFIG
3809 # --------------------------
3810 # Ensure that the configuration vars for the C compiler are
3811 # suitably defined. Those variables are subsequently used by
3812 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
3813 AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
3814 AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
3815 [AC_LANG_PUSH(C++)
3816 AC_REQUIRE([AC_PROG_CXX])
3817 AC_REQUIRE([_LT_AC_PROG_CXXCPP])
3818
3819 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
3820 _LT_AC_TAGVAR(allow_undefined_flag, $1)=
3821 _LT_AC_TAGVAR(always_export_symbols, $1)=no
3822 _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
3823 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
3824 _LT_AC_TAGVAR(hardcode_direct, $1)=no
3825 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
3826 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
3827 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
3828 _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
3829 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
3830 _LT_AC_TAGVAR(hardcode_automatic, $1)=no
3831 _LT_AC_TAGVAR(module_cmds, $1)=
3832 _LT_AC_TAGVAR(module_expsym_cmds, $1)=
3833 _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
3834 _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
3835 _LT_AC_TAGVAR(no_undefined_flag, $1)=
3836 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
3837 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
3838
3839 # Dependencies to place before and after the object being linked:
3840 _LT_AC_TAGVAR(predep_objects, $1)=
3841 _LT_AC_TAGVAR(postdep_objects, $1)=
3842 _LT_AC_TAGVAR(predeps, $1)=
3843 _LT_AC_TAGVAR(postdeps, $1)=
3844 _LT_AC_TAGVAR(compiler_lib_search_path, $1)=
3845 _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
3846
3847 # Source file extension for C++ test sources.
3848 ac_ext=cpp
3849
3850 # Object file extension for compiled C++ test sources.
3851 objext=o
3852 _LT_AC_TAGVAR(objext, $1)=$objext
3853
3854 # Code to be used in simple compile tests
3855 lt_simple_compile_test_code="int some_variable = 0;"
3856
3857 # Code to be used in simple link tests
3858 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
3859
3860 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
3861 _LT_AC_SYS_COMPILER
3862
3863 # save warnings/boilerplate of simple test code
3864 _LT_COMPILER_BOILERPLATE
3865 _LT_LINKER_BOILERPLATE
3866
3867 # Allow CC to be a program name with arguments.
3868 lt_save_CC=$CC
3869 lt_save_LD=$LD
3870 lt_save_GCC=$GCC
3871 GCC=$GXX
3872 lt_save_with_gnu_ld=$with_gnu_ld
3873 lt_save_path_LD=$lt_cv_path_LD
3874 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
3875 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
3876 else
3877 $as_unset lt_cv_prog_gnu_ld
3878 fi
3879 if test -n "${lt_cv_path_LDCXX+set}"; then
3880 lt_cv_path_LD=$lt_cv_path_LDCXX
3881 else
3882 $as_unset lt_cv_path_LD
3883 fi
3884 test -z "${LDCXX+set}" || LD=$LDCXX
3885 CC=${CXX-"c++"}
3886 compiler=$CC
3887 _LT_AC_TAGVAR(compiler, $1)=$CC
3888 _LT_CC_BASENAME([$compiler])
3889
3890 # We don't want -fno-exception wen compiling C++ code, so set the
3891 # no_builtin_flag separately
3892 if test "$GXX" = yes; then
3893 _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
3894 else
3895 _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3896 fi
3897
3898 if test "$GXX" = yes; then
3899 # Set up default GNU C++ configuration
3900
3901 AC_PROG_LD
3902
3903 # Check if GNU C++ uses GNU ld as the underlying linker, since the
3904 # archiving commands below assume that GNU ld is being used.
3905 if test "$with_gnu_ld" = yes; then
3906 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
3907 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
3908
3909 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
3910 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
3911
3912 # If archive_cmds runs LD, not CC, wlarc should be empty
3913 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
3914 # investigate it a little bit more. (MM)
3915 wlarc='${wl}'
3916
3917 # ancient GNU ld didn't support --whole-archive et. al.
3918 if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
3919 grep 'no-whole-archive' > /dev/null; then
3920 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
3921 else
3922 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
3923 fi
3924 else
3925 with_gnu_ld=no
3926 wlarc=
3927
3928 # A generic and very simple default shared library creation
3929 # command for GNU C++ for the case where it uses the native
3930 # linker, instead of GNU ld. If possible, this setting should
3931 # overridden to take advantage of the native linker features on
3932 # the platform it is being used on.
3933 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
3934 fi
3935
3936 # Commands to make compiler produce verbose output that lists
3937 # what "hidden" libraries, object files and flags are used when
3938 # linking a shared library.
3939 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
3940
3941 else
3942 GXX=no
3943 with_gnu_ld=no
3944 wlarc=
3945 fi
3946
3947 # PORTME: fill in a description of your system's C++ link characteristics
3948 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
3949 _LT_AC_TAGVAR(ld_shlibs, $1)=yes
3950 case $host_os in
3951 aix3*)
3952 # FIXME: insert proper C++ library support
3953 _LT_AC_TAGVAR(ld_shlibs, $1)=no
3954 ;;
3955 aix[[4-9]]*)
3956 if test "$host_cpu" = ia64; then
3957 # On IA64, the linker does run time linking by default, so we don't
3958 # have to do anything special.
3959 aix_use_runtimelinking=no
3960 exp_sym_flag='-Bexport'
3961 no_entry_flag=""
3962 else
3963 aix_use_runtimelinking=no
3964
3965 # Test if we are trying to use run time linking or normal
3966 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
3967 # need to do runtime linking.
3968 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
3969 for ld_flag in $LDFLAGS; do
3970 case $ld_flag in
3971 *-brtl*)
3972 aix_use_runtimelinking=yes
3973 break
3974 ;;
3975 esac
3976 done
3977 ;;
3978 esac
3979
3980 exp_sym_flag='-bexport'
3981 no_entry_flag='-bnoentry'
3982 fi
3983
3984 # When large executables or shared objects are built, AIX ld can
3985 # have problems creating the table of contents. If linking a library
3986 # or program results in "error TOC overflow" add -mminimal-toc to
3987 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
3988 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
3989
3990 _LT_AC_TAGVAR(archive_cmds, $1)=''
3991 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
3992 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
3993 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
3994
3995 if test "$GXX" = yes; then
3996 case $host_os in aix4.[[012]]|aix4.[[012]].*)
3997 # We only want to do this on AIX 4.2 and lower, the check
3998 # below for broken collect2 doesn't work under 4.3+
3999 collect2name=`${CC} -print-prog-name=collect2`
4000 if test -f "$collect2name" && \
4001 strings "$collect2name" | grep resolve_lib_name >/dev/null
4002 then
4003 # We have reworked collect2
4004 :
4005 else
4006 # We have old collect2
4007 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
4008 # It fails to find uninstalled libraries when the uninstalled
4009 # path is not listed in the libpath. Setting hardcode_minus_L
4010 # to unsupported forces relinking
4011 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
4012 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4013 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
4014 fi
4015 ;;
4016 esac
4017 shared_flag='-shared'
4018 if test "$aix_use_runtimelinking" = yes; then
4019 shared_flag="$shared_flag "'${wl}-G'
4020 fi
4021 else
4022 # not using gcc
4023 if test "$host_cpu" = ia64; then
4024 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
4025 # chokes on -Wl,-G. The following line is correct:
4026 shared_flag='-G'
4027 else
4028 if test "$aix_use_runtimelinking" = yes; then
4029 shared_flag='${wl}-G'
4030 else
4031 shared_flag='${wl}-bM:SRE'
4032 fi
4033 fi
4034 fi
4035
4036 # It seems that -bexpall does not export symbols beginning with
4037 # underscore (_), so it is better to generate a list of symbols to export.
4038 _LT_AC_TAGVAR(always_export_symbols, $1)=yes
4039 if test "$aix_use_runtimelinking" = yes; then
4040 # Warning - without using the other runtime loading flags (-brtl),
4041 # -berok will link without error, but may produce a broken library.
4042 _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
4043 # Determine the default libpath from the value encoded in an empty executable.
4044 _LT_AC_SYS_LIBPATH_AIX
4045 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4046
4047 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
4048 else
4049 if test "$host_cpu" = ia64; then
4050 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
4051 _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
4052 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
4053 else
4054 # Determine the default libpath from the value encoded in an empty executable.
4055 _LT_AC_SYS_LIBPATH_AIX
4056 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4057 # Warning - without using the other run time loading flags,
4058 # -berok will link without error, but may produce a broken library.
4059 _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
4060 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
4061 # Exported symbols can be pulled into shared objects from archives
4062 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
4063 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
4064 # This is similar to how AIX traditionally builds its shared libraries.
4065 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
4066 fi
4067 fi
4068 ;;
4069
4070 beos*)
4071 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
4072 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4073 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4074 # support --undefined. This deserves some investigation. FIXME
4075 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4076 else
4077 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4078 fi
4079 ;;
4080
4081 chorus*)
4082 case $cc_basename in
4083 *)
4084 # FIXME: insert proper C++ library support
4085 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4086 ;;
4087 esac
4088 ;;
4089
4090 cygwin* | mingw* | pw32*)
4091 # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
4092 # as there is no search path for DLLs.
4093 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4094 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
4095 _LT_AC_TAGVAR(always_export_symbols, $1)=no
4096 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4097
4098 if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
4099 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4100 # If the export-symbols file already is a .def file (1st line
4101 # is EXPORTS), use it as is; otherwise, prepend...
4102 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
4103 cp $export_symbols $output_objdir/$soname.def;
4104 else
4105 echo EXPORTS > $output_objdir/$soname.def;
4106 cat $export_symbols >> $output_objdir/$soname.def;
4107 fi~
4108 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4109 else
4110 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4111 fi
4112 ;;
4113 darwin* | rhapsody*)
4114 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4115 _LT_AC_TAGVAR(hardcode_direct, $1)=no
4116 _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
4117 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4118 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
4119 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4120 _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
4121 if test "$GXX" = yes ; then
4122 output_verbose_link_cmd='echo'
4123 _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
4124 _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
4125 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
4126 _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
4127 if test "$lt_cv_apple_cc_single_mod" != "yes"; then
4128 _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
4129 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
4130 fi
4131 else
4132 case $cc_basename in
4133 xlc*)
4134 output_verbose_link_cmd='echo'
4135 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
4136 _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
4137 # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
4138 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
4139 _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
4140 ;;
4141 *)
4142 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4143 ;;
4144 esac
4145 fi
4146 ;;
4147
4148 dgux*)
4149 case $cc_basename in
4150 ec++*)
4151 # FIXME: insert proper C++ library support
4152 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4153 ;;
4154 ghcx*)
4155 # Green Hills C++ Compiler
4156 # FIXME: insert proper C++ library support
4157 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4158 ;;
4159 *)
4160 # FIXME: insert proper C++ library support
4161 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4162 ;;
4163 esac
4164 ;;
4165 freebsd[[12]]*)
4166 # C++ shared libraries reported to be fairly broken before switch to ELF
4167 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4168 ;;
4169 freebsd-elf*)
4170 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4171 ;;
4172 freebsd* | dragonfly*)
4173 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
4174 # conventions
4175 _LT_AC_TAGVAR(ld_shlibs, $1)=yes
4176 ;;
4177 gnu*)
4178 ;;
4179 hpux9*)
4180 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4181 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4182 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4183 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4184 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
4185 # but as the default
4186 # location of the library.
4187
4188 case $cc_basename in
4189 CC*)
4190 # FIXME: insert proper C++ library support
4191 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4192 ;;
4193 aCC*)
4194 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
4195 # Commands to make compiler produce verbose output that lists
4196 # what "hidden" libraries, object files and flags are used when
4197 # linking a shared library.
4198 #
4199 # There doesn't appear to be a way to prevent this compiler from
4200 # explicitly linking system object files so we need to strip them
4201 # from the output so that they don't get included in the library
4202 # dependencies.
4203 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
4204 ;;
4205 *)
4206 if test "$GXX" = yes; then
4207 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
4208 else
4209 # FIXME: insert proper C++ library support
4210 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4211 fi
4212 ;;
4213 esac
4214 ;;
4215 hpux10*|hpux11*)
4216 if test $with_gnu_ld = no; then
4217 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4218 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4219
4220 case $host_cpu in
4221 hppa*64*|ia64*) ;;
4222 *)
4223 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4224 ;;
4225 esac
4226 fi
4227 case $host_cpu in
4228 hppa*64*|ia64*)
4229 _LT_AC_TAGVAR(hardcode_direct, $1)=no
4230 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4231 ;;
4232 *)
4233 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4234 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
4235 # but as the default
4236 # location of the library.
4237 ;;
4238 esac
4239
4240 case $cc_basename in
4241 CC*)
4242 # FIXME: insert proper C++ library support
4243 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4244 ;;
4245 aCC*)
4246 case $host_cpu in
4247 hppa*64*)
4248 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4249 ;;
4250 ia64*)
4251 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4252 ;;
4253 *)
4254 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4255 ;;
4256 esac
4257 # Commands to make compiler produce verbose output that lists
4258 # what "hidden" libraries, object files and flags are used when
4259 # linking a shared library.
4260 #
4261 # There doesn't appear to be a way to prevent this compiler from
4262 # explicitly linking system object files so we need to strip them
4263 # from the output so that they don't get included in the library
4264 # dependencies.
4265 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
4266 ;;
4267 *)
4268 if test "$GXX" = yes; then
4269 if test $with_gnu_ld = no; then
4270 case $host_cpu in
4271 hppa*64*)
4272 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4273 ;;
4274 ia64*)
4275 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4276 ;;
4277 *)
4278 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4279 ;;
4280 esac
4281 fi
4282 else
4283 # FIXME: insert proper C++ library support
4284 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4285 fi
4286 ;;
4287 esac
4288 ;;
4289 interix[[3-9]]*)
4290 _LT_AC_TAGVAR(hardcode_direct, $1)=no
4291 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4292 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4293 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4294 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4295 # Instead, shared libraries are loaded at an image base (0x10000000 by
4296 # default) and relocated if they conflict, which is a slow very memory
4297 # consuming and fragmenting process. To avoid this, we pick a random,
4298 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4299 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
4300 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
4301 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
4302 ;;
4303 irix5* | irix6*)
4304 case $cc_basename in
4305 CC*)
4306 # SGI C++
4307 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
4308
4309 # Archives containing C++ object files must be created using
4310 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
4311 # necessary to make sure instantiated templates are included
4312 # in the archive.
4313 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
4314 ;;
4315 *)
4316 if test "$GXX" = yes; then
4317 if test "$with_gnu_ld" = no; then
4318 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4319 else
4320 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
4321 fi
4322 fi
4323 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4324 ;;
4325 esac
4326 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4327 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4328 ;;
4329 linux* | k*bsd*-gnu)
4330 case $cc_basename in
4331 KCC*)
4332 # Kuck and Associates, Inc. (KAI) C++ Compiler
4333
4334 # KCC will only create a shared library if the output file
4335 # ends with ".so" (or ".sl" for HP-UX), so rename the library
4336 # to its proper name (with version) after linking.
4337 _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
4338 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
4339 # Commands to make compiler produce verbose output that lists
4340 # what "hidden" libraries, object files and flags are used when
4341 # linking a shared library.
4342 #
4343 # There doesn't appear to be a way to prevent this compiler from
4344 # explicitly linking system object files so we need to strip them
4345 # from the output so that they don't get included in the library
4346 # dependencies.
4347 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
4348
4349 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
4350 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4351
4352 # Archives containing C++ object files must be created using
4353 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
4354 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
4355 ;;
4356 icpc*)
4357 # Intel C++
4358 with_gnu_ld=yes
4359 # version 8.0 and above of icpc choke on multiply defined symbols
4360 # if we add $predep_objects and $postdep_objects, however 7.1 and
4361 # earlier do not add the objects themselves.
4362 case `$CC -V 2>&1` in
4363 *"Version 7."*)
4364 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
4365 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4366 ;;
4367 *) # Version 8.0 or newer
4368 tmp_idyn=
4369 case $host_cpu in
4370 ia64*) tmp_idyn=' -i_dynamic';;
4371 esac
4372 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4373 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4374 ;;
4375 esac
4376 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4377 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4378 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4379 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
4380 ;;
4381 pgCC* | pgcpp*)
4382 # Portland Group C++ compiler
4383 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
4384 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
4385
4386 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
4387 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4388 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
4389 ;;
4390 cxx*)
4391 # Compaq C++
4392 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
4393 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
4394
4395 runpath_var=LD_RUN_PATH
4396 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
4397 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4398
4399 # Commands to make compiler produce verbose output that lists
4400 # what "hidden" libraries, object files and flags are used when
4401 # linking a shared library.
4402 #
4403 # There doesn't appear to be a way to prevent this compiler from
4404 # explicitly linking system object files so we need to strip them
4405 # from the output so that they don't get included in the library
4406 # dependencies.
4407 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
4408 ;;
4409 *)
4410 case `$CC -V 2>&1 | sed 5q` in
4411 *Sun\ C*)
4412 # Sun C++ 5.9
4413 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
4414 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4415 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
4416 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4417 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
4418
4419 # Not sure whether something based on
4420 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
4421 # would be better.
4422 output_verbose_link_cmd='echo'
4423
4424 # Archives containing C++ object files must be created using
4425 # "CC -xar", where "CC" is the Sun C++ compiler. This is
4426 # necessary to make sure instantiated templates are included
4427 # in the archive.
4428 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
4429 ;;
4430 esac
4431 ;;
4432 esac
4433 ;;
4434 lynxos*)
4435 # FIXME: insert proper C++ library support
4436 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4437 ;;
4438 m88k*)
4439 # FIXME: insert proper C++ library support
4440 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4441 ;;
4442 mvs*)
4443 case $cc_basename in
4444 cxx*)
4445 # FIXME: insert proper C++ library support
4446 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4447 ;;
4448 *)
4449 # FIXME: insert proper C++ library support
4450 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4451 ;;
4452 esac
4453 ;;
4454 netbsd*)
4455 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
4456 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
4457 wlarc=
4458 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4459 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4460 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4461 fi
4462 # Workaround some broken pre-1.5 toolchains
4463 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
4464 ;;
4465 openbsd2*)
4466 # C++ shared libraries are fairly broken
4467 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4468 ;;
4469 openbsd*)
4470 if test -f /usr/libexec/ld.so; then
4471 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
4472 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4473 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
4474 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4475 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
4476 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
4477 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4478 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4479 fi
4480 output_verbose_link_cmd='echo'
4481 else
4482 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4483 fi
4484 ;;
4485 osf3*)
4486 case $cc_basename in
4487 KCC*)
4488 # Kuck and Associates, Inc. (KAI) C++ Compiler
4489
4490 # KCC will only create a shared library if the output file
4491 # ends with ".so" (or ".sl" for HP-UX), so rename the library
4492 # to its proper name (with version) after linking.
4493 _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
4494
4495 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4496 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4497
4498 # Archives containing C++ object files must be created using
4499 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
4500 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
4501
4502 ;;
4503 RCC*)
4504 # Rational C++ 2.4.1
4505 # FIXME: insert proper C++ library support
4506 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4507 ;;
4508 cxx*)
4509 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4510 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
4511
4512 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4513 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4514
4515 # Commands to make compiler produce verbose output that lists
4516 # what "hidden" libraries, object files and flags are used when
4517 # linking a shared library.
4518 #
4519 # There doesn't appear to be a way to prevent this compiler from
4520 # explicitly linking system object files so we need to strip them
4521 # from the output so that they don't get included in the library
4522 # dependencies.
4523 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
4524 ;;
4525 *)
4526 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
4527 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4528 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4529
4530 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4531 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4532
4533 # Commands to make compiler produce verbose output that lists
4534 # what "hidden" libraries, object files and flags are used when
4535 # linking a shared library.
4536 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
4537
4538 else
4539 # FIXME: insert proper C++ library support
4540 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4541 fi
4542 ;;
4543 esac
4544 ;;
4545 osf4* | osf5*)
4546 case $cc_basename in
4547 KCC*)
4548 # Kuck and Associates, Inc. (KAI) C++ Compiler
4549
4550 # KCC will only create a shared library if the output file
4551 # ends with ".so" (or ".sl" for HP-UX), so rename the library
4552 # to its proper name (with version) after linking.
4553 _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
4554
4555 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4556 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4557
4558 # Archives containing C++ object files must be created using
4559 # the KAI C++ compiler.
4560 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
4561 ;;
4562 RCC*)
4563 # Rational C++ 2.4.1
4564 # FIXME: insert proper C++ library support
4565 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4566 ;;
4567 cxx*)
4568 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4569 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
4570 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
4571 echo "-hidden">> $lib.exp~
4572 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
4573 $rm $lib.exp'
4574
4575 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
4576 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4577
4578 # Commands to make compiler produce verbose output that lists
4579 # what "hidden" libraries, object files and flags are used when
4580 # linking a shared library.
4581 #
4582 # There doesn't appear to be a way to prevent this compiler from
4583 # explicitly linking system object files so we need to strip them
4584 # from the output so that they don't get included in the library
4585 # dependencies.
4586 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
4587 ;;
4588 *)
4589 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
4590 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4591 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4592
4593 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4594 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
4595
4596 # Commands to make compiler produce verbose output that lists
4597 # what "hidden" libraries, object files and flags are used when
4598 # linking a shared library.
4599 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
4600
4601 else
4602 # FIXME: insert proper C++ library support
4603 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4604 fi
4605 ;;
4606 esac
4607 ;;
4608 psos*)
4609 # FIXME: insert proper C++ library support
4610 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4611 ;;
4612 sunos4*)
4613 case $cc_basename in
4614 CC*)
4615 # Sun C++ 4.x
4616 # FIXME: insert proper C++ library support
4617 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4618 ;;
4619 lcc*)
4620 # Lucid
4621 # FIXME: insert proper C++ library support
4622 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4623 ;;
4624 *)
4625 # FIXME: insert proper C++ library support
4626 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4627 ;;
4628 esac
4629 ;;
4630 solaris*)
4631 case $cc_basename in
4632 CC*)
4633 # Sun C++ 4.2, 5.x and Centerline C++
4634 _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
4635 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
4636 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
4637 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
4638 $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
4639
4640 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4641 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4642 case $host_os in
4643 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
4644 *)
4645 # The compiler driver will combine and reorder linker options,
4646 # but understands `-z linker_flag'.
4647 # Supported since Solaris 2.6 (maybe 2.5.1?)
4648 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
4649 ;;
4650 esac
4651 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4652
4653 output_verbose_link_cmd='echo'
4654
4655 # Archives containing C++ object files must be created using
4656 # "CC -xar", where "CC" is the Sun C++ compiler. This is
4657 # necessary to make sure instantiated templates are included
4658 # in the archive.
4659 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
4660 ;;
4661 gcx*)
4662 # Green Hills C++ Compiler
4663 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
4664
4665 # The C++ compiler must be used to create the archive.
4666 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
4667 ;;
4668 *)
4669 # GNU C++ compiler with Solaris linker
4670 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
4671 _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
4672 if $CC --version | grep -v '^2\.7' > /dev/null; then
4673 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
4674 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
4675 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
4676
4677 # Commands to make compiler produce verbose output that lists
4678 # what "hidden" libraries, object files and flags are used when
4679 # linking a shared library.
4680 output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
4681 else
4682 # g++ 2.7 appears to require `-G' NOT `-shared' on this
4683 # platform.
4684 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
4685 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
4686 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
4687
4688 # Commands to make compiler produce verbose output that lists
4689 # what "hidden" libraries, object files and flags are used when
4690 # linking a shared library.
4691 output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
4692 fi
4693
4694 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
4695 case $host_os in
4696 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
4697 *)
4698 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
4699 ;;
4700 esac
4701 fi
4702 ;;
4703 esac
4704 ;;
4705 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
4706 _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
4707 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4708 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4709 runpath_var='LD_RUN_PATH'
4710
4711 case $cc_basename in
4712 CC*)
4713 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
4714 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
4715 ;;
4716 *)
4717 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
4718 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
4719 ;;
4720 esac
4721 ;;
4722 sysv5* | sco3.2v5* | sco5v6*)
4723 # Note: We can NOT use -z defs as we might desire, because we do not
4724 # link with -lc, and that would cause any symbols used from libc to
4725 # always be unresolved, which means just about no library would
4726 # ever link correctly. If we're not using GNU ld we use -z text
4727 # though, which does catch some bad symbols but isn't as heavy-handed
4728 # as -z defs.
4729 # For security reasons, it is highly recommended that you always
4730 # use absolute paths for naming shared libraries, and exclude the
4731 # DT_RUNPATH tag from executables and libraries. But doing so
4732 # requires that you compile everything twice, which is a pain.
4733 # So that behaviour is only enabled if SCOABSPATH is set to a
4734 # non-empty value in the environment. Most likely only useful for
4735 # creating official distributions of packages.
4736 # This is a hack until libtool officially supports absolute path
4737 # names for shared libraries.
4738 _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
4739 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
4740 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
4741 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
4742 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
4743 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
4744 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
4745 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
4746 runpath_var='LD_RUN_PATH'
4747
4748 case $cc_basename in
4749 CC*)
4750 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
4751 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
4752 ;;
4753 *)
4754 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
4755 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
4756 ;;
4757 esac
4758 ;;
4759 tandem*)
4760 case $cc_basename in
4761 NCC*)
4762 # NonStop-UX NCC 3.20
4763 # FIXME: insert proper C++ library support
4764 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4765 ;;
4766 *)
4767 # FIXME: insert proper C++ library support
4768 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4769 ;;
4770 esac
4771 ;;
4772 vxworks*)
4773 # FIXME: insert proper C++ library support
4774 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4775 ;;
4776 *)
4777 # FIXME: insert proper C++ library support
4778 _LT_AC_TAGVAR(ld_shlibs, $1)=no
4779 ;;
4780 esac
4781 AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
4782 test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
4783
4784 _LT_AC_TAGVAR(GCC, $1)="$GXX"
4785 _LT_AC_TAGVAR(LD, $1)="$LD"
4786
4787 AC_LIBTOOL_POSTDEP_PREDEP($1)
4788 AC_LIBTOOL_PROG_COMPILER_PIC($1)
4789 AC_LIBTOOL_PROG_CC_C_O($1)
4790 AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
4791 AC_LIBTOOL_PROG_LD_SHLIBS($1)
4792 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
4793 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
4794
4795 AC_LIBTOOL_CONFIG($1)
4796
4797 AC_LANG_POP
4798 CC=$lt_save_CC
4799 LDCXX=$LD
4800 LD=$lt_save_LD
4801 GCC=$lt_save_GCC
4802 with_gnu_ldcxx=$with_gnu_ld
4803 with_gnu_ld=$lt_save_with_gnu_ld
4804 lt_cv_path_LDCXX=$lt_cv_path_LD
4805 lt_cv_path_LD=$lt_save_path_LD
4806 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
4807 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
4808 ])# AC_LIBTOOL_LANG_CXX_CONFIG
4809
4810 # AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
4811 # ------------------------------------
4812 # Figure out "hidden" library dependencies from verbose
4813 # compiler output when linking a shared library.
4814 # Parse the compiler output and extract the necessary
4815 # objects, libraries and library flags.
4816 AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
4817 [AC_REQUIRE([LT_AC_PROG_SED])dnl
4818 dnl we can't use the lt_simple_compile_test_code here,
4819 dnl because it contains code intended for an executable,
4820 dnl not a library. It's possible we should let each
4821 dnl tag define a new lt_????_link_test_code variable,
4822 dnl but it's only used here...
4823 ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
4824 int a;
4825 void foo (void) { a = 0; }
4826 EOF
4827 ],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
4828 class Foo
4829 {
4830 public:
4831 Foo (void) { a = 0; }
4832 private:
4833 int a;
4834 };
4835 EOF
4836 ],[$1],[F77],[cat > conftest.$ac_ext <<EOF
4837 subroutine foo
4838 implicit none
4839 integer*4 a
4840 a=0
4841 return
4842 end
4843 EOF
4844 ],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
4845 public class foo {
4846 private int a;
4847 public void bar (void) {
4848 a = 0;
4849 }
4850 };
4851 EOF
4852 ])
4853 dnl Parse the compiler output and extract the necessary
4854 dnl objects, libraries and library flags.
4855 if AC_TRY_EVAL(ac_compile); then
4856 # Parse the compiler output and extract the necessary
4857 # objects, libraries and library flags.
4858
4859 # Sentinel used to keep track of whether or not we are before
4860 # the conftest object file.
4861 pre_test_object_deps_done=no
4862
4863 # The `*' in the case matches for architectures that use `case' in
4864 # $output_verbose_cmd can trigger glob expansion during the loop
4865 # eval without this substitution.
4866 output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
4867
4868 for p in `eval $output_verbose_link_cmd`; do
4869 case $p in
4870
4871 -L* | -R* | -l*)
4872 # Some compilers place space between "-{L,R}" and the path.
4873 # Remove the space.
4874 if test $p = "-L" \
4875 || test $p = "-R"; then
4876 prev=$p
4877 continue
4878 else
4879 prev=
4880 fi
4881
4882 if test "$pre_test_object_deps_done" = no; then
4883 case $p in
4884 -L* | -R*)
4885 # Internal compiler library paths should come after those
4886 # provided the user. The postdeps already come after the
4887 # user supplied libs so there is no need to process them.
4888 if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
4889 _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
4890 else
4891 _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
4892 fi
4893 ;;
4894 # The "-l" case would never come before the object being
4895 # linked, so don't bother handling this case.
4896 esac
4897 else
4898 if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
4899 _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
4900 else
4901 _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
4902 fi
4903 fi
4904 ;;
4905
4906 *.$objext)
4907 # This assumes that the test object file only shows up
4908 # once in the compiler output.
4909 if test "$p" = "conftest.$objext"; then
4910 pre_test_object_deps_done=yes
4911 continue
4912 fi
4913
4914 if test "$pre_test_object_deps_done" = no; then
4915 if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
4916 _LT_AC_TAGVAR(predep_objects, $1)="$p"
4917 else
4918 _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
4919 fi
4920 else
4921 if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
4922 _LT_AC_TAGVAR(postdep_objects, $1)="$p"
4923 else
4924 _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
4925 fi
4926 fi
4927 ;;
4928
4929 *) ;; # Ignore the rest.
4930
4931 esac
4932 done
4933
4934 # Clean up.
4935 rm -f a.out a.exe
4936 else
4937 echo "libtool.m4: error: problem compiling $1 test program"
4938 fi
4939
4940 $rm -f confest.$objext
4941
4942 _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
4943 if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
4944 _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
4945 fi
4946
4947 # PORTME: override above test on systems where it is broken
4948 ifelse([$1],[CXX],
4949 [case $host_os in
4950 interix[[3-9]]*)
4951 # Interix 3.5 installs completely hosed .la files for C++, so rather than
4952 # hack all around it, let's just trust "g++" to DTRT.
4953 _LT_AC_TAGVAR(predep_objects,$1)=
4954 _LT_AC_TAGVAR(postdep_objects,$1)=
4955 _LT_AC_TAGVAR(postdeps,$1)=
4956 ;;
4957
4958 linux*)
4959 case `$CC -V 2>&1 | sed 5q` in
4960 *Sun\ C*)
4961 # Sun C++ 5.9
4962 #
4963 # The more standards-conforming stlport4 library is
4964 # incompatible with the Cstd library. Avoid specifying
4965 # it if it's in CXXFLAGS. Ignore libCrun as
4966 # -library=stlport4 depends on it.
4967 case " $CXX $CXXFLAGS " in
4968 *" -library=stlport4 "*)
4969 solaris_use_stlport4=yes
4970 ;;
4971 esac
4972 if test "$solaris_use_stlport4" != yes; then
4973 _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
4974 fi
4975 ;;
4976 esac
4977 ;;
4978
4979 solaris*)
4980 case $cc_basename in
4981 CC*)
4982 # The more standards-conforming stlport4 library is
4983 # incompatible with the Cstd library. Avoid specifying
4984 # it if it's in CXXFLAGS. Ignore libCrun as
4985 # -library=stlport4 depends on it.
4986 case " $CXX $CXXFLAGS " in
4987 *" -library=stlport4 "*)
4988 solaris_use_stlport4=yes
4989 ;;
4990 esac
4991
4992 # Adding this requires a known-good setup of shared libraries for
4993 # Sun compiler versions before 5.6, else PIC objects from an old
4994 # archive will be linked into the output, leading to subtle bugs.
4995 if test "$solaris_use_stlport4" != yes; then
4996 _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
4997 fi
4998 ;;
4999 esac
5000 ;;
5001 esac
5002 ])
5003 case " $_LT_AC_TAGVAR(postdeps, $1) " in
5004 *" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
5005 esac
5006 ])# AC_LIBTOOL_POSTDEP_PREDEP
5007
5008 # AC_LIBTOOL_LANG_F77_CONFIG
5009 # --------------------------
5010 # Ensure that the configuration vars for the C compiler are
5011 # suitably defined. Those variables are subsequently used by
5012 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
5013 AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
5014 AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
5015 [AC_REQUIRE([AC_PROG_F77])
5016 AC_LANG_PUSH(Fortran 77)
5017
5018 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
5019 _LT_AC_TAGVAR(allow_undefined_flag, $1)=
5020 _LT_AC_TAGVAR(always_export_symbols, $1)=no
5021 _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
5022 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
5023 _LT_AC_TAGVAR(hardcode_direct, $1)=no
5024 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
5025 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
5026 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
5027 _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
5028 _LT_AC_TAGVAR(hardcode_automatic, $1)=no
5029 _LT_AC_TAGVAR(module_cmds, $1)=
5030 _LT_AC_TAGVAR(module_expsym_cmds, $1)=
5031 _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
5032 _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5033 _LT_AC_TAGVAR(no_undefined_flag, $1)=
5034 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
5035 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5036
5037 # Source file extension for f77 test sources.
5038 ac_ext=f
5039
5040 # Object file extension for compiled f77 test sources.
5041 objext=o
5042 _LT_AC_TAGVAR(objext, $1)=$objext
5043
5044 # Code to be used in simple compile tests
5045 lt_simple_compile_test_code="\
5046 subroutine t
5047 return
5048 end
5049 "
5050
5051 # Code to be used in simple link tests
5052 lt_simple_link_test_code="\
5053 program t
5054 end
5055 "
5056
5057 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5058 _LT_AC_SYS_COMPILER
5059
5060 # save warnings/boilerplate of simple test code
5061 _LT_COMPILER_BOILERPLATE
5062 _LT_LINKER_BOILERPLATE
5063
5064 # Allow CC to be a program name with arguments.
5065 lt_save_CC="$CC"
5066 CC=${F77-"f77"}
5067 compiler=$CC
5068 _LT_AC_TAGVAR(compiler, $1)=$CC
5069 _LT_CC_BASENAME([$compiler])
5070
5071 AC_MSG_CHECKING([if libtool supports shared libraries])
5072 AC_MSG_RESULT([$can_build_shared])
5073
5074 AC_MSG_CHECKING([whether to build shared libraries])
5075 test "$can_build_shared" = "no" && enable_shared=no
5076
5077 # On AIX, shared libraries and static libraries use the same namespace, and
5078 # are all built from PIC.
5079 case $host_os in
5080 aix3*)
5081 test "$enable_shared" = yes && enable_static=no
5082 if test -n "$RANLIB"; then
5083 archive_cmds="$archive_cmds~\$RANLIB \$lib"
5084 postinstall_cmds='$RANLIB $lib'
5085 fi
5086 ;;
5087 aix[[4-9]]*)
5088 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5089 test "$enable_shared" = yes && enable_static=no
5090 fi
5091 ;;
5092 esac
5093 AC_MSG_RESULT([$enable_shared])
5094
5095 AC_MSG_CHECKING([whether to build static libraries])
5096 # Make sure either enable_shared or enable_static is yes.
5097 test "$enable_shared" = yes || enable_static=yes
5098 AC_MSG_RESULT([$enable_static])
5099
5100 _LT_AC_TAGVAR(GCC, $1)="$G77"
5101 _LT_AC_TAGVAR(LD, $1)="$LD"
5102
5103 AC_LIBTOOL_PROG_COMPILER_PIC($1)
5104 AC_LIBTOOL_PROG_CC_C_O($1)
5105 AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
5106 AC_LIBTOOL_PROG_LD_SHLIBS($1)
5107 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
5108 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
5109
5110 AC_LIBTOOL_CONFIG($1)
5111
5112 AC_LANG_POP
5113 CC="$lt_save_CC"
5114 ])# AC_LIBTOOL_LANG_F77_CONFIG
5115
5116
5117 # AC_LIBTOOL_LANG_GCJ_CONFIG
5118 # --------------------------
5119 # Ensure that the configuration vars for the C compiler are
5120 # suitably defined. Those variables are subsequently used by
5121 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
5122 AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
5123 AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
5124 [AC_LANG_SAVE
5125
5126 # Source file extension for Java test sources.
5127 ac_ext=java
5128
5129 # Object file extension for compiled Java test sources.
5130 objext=o
5131 _LT_AC_TAGVAR(objext, $1)=$objext
5132
5133 # Code to be used in simple compile tests
5134 lt_simple_compile_test_code="class foo {}"
5135
5136 # Code to be used in simple link tests
5137 lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
5138
5139 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5140 _LT_AC_SYS_COMPILER
5141
5142 # save warnings/boilerplate of simple test code
5143 _LT_COMPILER_BOILERPLATE
5144 _LT_LINKER_BOILERPLATE
5145
5146 # Allow CC to be a program name with arguments.
5147 lt_save_CC="$CC"
5148 CC=${GCJ-"gcj"}
5149 compiler=$CC
5150 _LT_AC_TAGVAR(compiler, $1)=$CC
5151 _LT_CC_BASENAME([$compiler])
5152
5153 # GCJ did not exist at the time GCC didn't implicitly link libc in.
5154 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
5155
5156 _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5157
5158 AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
5159 AC_LIBTOOL_PROG_COMPILER_PIC($1)
5160 AC_LIBTOOL_PROG_CC_C_O($1)
5161 AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
5162 AC_LIBTOOL_PROG_LD_SHLIBS($1)
5163 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
5164 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
5165
5166 AC_LIBTOOL_CONFIG($1)
5167
5168 AC_LANG_RESTORE
5169 CC="$lt_save_CC"
5170 ])# AC_LIBTOOL_LANG_GCJ_CONFIG
5171
5172
5173 # AC_LIBTOOL_LANG_RC_CONFIG
5174 # -------------------------
5175 # Ensure that the configuration vars for the Windows resource compiler are
5176 # suitably defined. Those variables are subsequently used by
5177 # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
5178 AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
5179 AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
5180 [AC_LANG_SAVE
5181
5182 # Source file extension for RC test sources.
5183 ac_ext=rc
5184
5185 # Object file extension for compiled RC test sources.
5186 objext=o
5187 _LT_AC_TAGVAR(objext, $1)=$objext
5188
5189 # Code to be used in simple compile tests
5190 lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
5191
5192 # Code to be used in simple link tests
5193 lt_simple_link_test_code="$lt_simple_compile_test_code"
5194
5195 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5196 _LT_AC_SYS_COMPILER
5197
5198 # save warnings/boilerplate of simple test code
5199 _LT_COMPILER_BOILERPLATE
5200 _LT_LINKER_BOILERPLATE
5201
5202 # Allow CC to be a program name with arguments.
5203 lt_save_CC="$CC"
5204 CC=${RC-"windres"}
5205 compiler=$CC
5206 _LT_AC_TAGVAR(compiler, $1)=$CC
5207 _LT_CC_BASENAME([$compiler])
5208 _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
5209
5210 AC_LIBTOOL_CONFIG($1)
5211
5212 AC_LANG_RESTORE
5213 CC="$lt_save_CC"
5214 ])# AC_LIBTOOL_LANG_RC_CONFIG
5215
5216
5217 # AC_LIBTOOL_CONFIG([TAGNAME])
5218 # ----------------------------
5219 # If TAGNAME is not passed, then create an initial libtool script
5220 # with a default configuration from the untagged config vars. Otherwise
5221 # add code to config.status for appending the configuration named by
5222 # TAGNAME from the matching tagged config vars.
5223 AC_DEFUN([AC_LIBTOOL_CONFIG],
5224 [# The else clause should only fire when bootstrapping the
5225 # libtool distribution, otherwise you forgot to ship ltmain.sh
5226 # with your package, and you will get complaints that there are
5227 # no rules to generate ltmain.sh.
5228 if test -f "$ltmain"; then
5229 # See if we are running on zsh, and set the options which allow our commands through
5230 # without removal of \ escapes.
5231 if test -n "${ZSH_VERSION+set}" ; then
5232 setopt NO_GLOB_SUBST
5233 fi
5234 # Now quote all the things that may contain metacharacters while being
5235 # careful not to overquote the AC_SUBSTed values. We take copies of the
5236 # variables and quote the copies for generation of the libtool script.
5237 for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
5238 SED SHELL STRIP \
5239 libname_spec library_names_spec soname_spec extract_expsyms_cmds \
5240 old_striplib striplib file_magic_cmd finish_cmds finish_eval \
5241 deplibs_check_method reload_flag reload_cmds need_locks \
5242 lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
5243 lt_cv_sys_global_symbol_to_c_name_address \
5244 sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
5245 old_postinstall_cmds old_postuninstall_cmds \
5246 _LT_AC_TAGVAR(compiler, $1) \
5247 _LT_AC_TAGVAR(CC, $1) \
5248 _LT_AC_TAGVAR(LD, $1) \
5249 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
5250 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
5251 _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
5252 _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
5253 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
5254 _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
5255 _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
5256 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
5257 _LT_AC_TAGVAR(old_archive_cmds, $1) \
5258 _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
5259 _LT_AC_TAGVAR(predep_objects, $1) \
5260 _LT_AC_TAGVAR(postdep_objects, $1) \
5261 _LT_AC_TAGVAR(predeps, $1) \
5262 _LT_AC_TAGVAR(postdeps, $1) \
5263 _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
5264 _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
5265 _LT_AC_TAGVAR(archive_cmds, $1) \
5266 _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
5267 _LT_AC_TAGVAR(postinstall_cmds, $1) \
5268 _LT_AC_TAGVAR(postuninstall_cmds, $1) \
5269 _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
5270 _LT_AC_TAGVAR(allow_undefined_flag, $1) \
5271 _LT_AC_TAGVAR(no_undefined_flag, $1) \
5272 _LT_AC_TAGVAR(export_symbols_cmds, $1) \
5273 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
5274 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
5275 _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
5276 _LT_AC_TAGVAR(hardcode_automatic, $1) \
5277 _LT_AC_TAGVAR(module_cmds, $1) \
5278 _LT_AC_TAGVAR(module_expsym_cmds, $1) \
5279 _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
5280 _LT_AC_TAGVAR(fix_srcfile_path, $1) \
5281 _LT_AC_TAGVAR(exclude_expsyms, $1) \
5282 _LT_AC_TAGVAR(include_expsyms, $1); do
5283
5284 case $var in
5285 _LT_AC_TAGVAR(old_archive_cmds, $1) | \
5286 _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
5287 _LT_AC_TAGVAR(archive_cmds, $1) | \
5288 _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
5289 _LT_AC_TAGVAR(module_cmds, $1) | \
5290 _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
5291 _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
5292 _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
5293 extract_expsyms_cmds | reload_cmds | finish_cmds | \
5294 postinstall_cmds | postuninstall_cmds | \
5295 old_postinstall_cmds | old_postuninstall_cmds | \
5296 sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
5297 # Double-quote double-evaled strings.
5298 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
5299 ;;
5300 *)
5301 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
5302 ;;
5303 esac
5304 done
5305
5306 case $lt_echo in
5307 *'\[$]0 --fallback-echo"')
5308 lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
5309 ;;
5310 esac
5311
5312 ifelse([$1], [],
5313 [cfgfile="${ofile}T"
5314 trap "$rm \"$cfgfile\"; exit 1" 1 2 15
5315 $rm -f "$cfgfile"
5316 AC_MSG_NOTICE([creating $ofile])],
5317 [cfgfile="$ofile"])
5318
5319 cat <<__EOF__ >> "$cfgfile"
5320 ifelse([$1], [],
5321 [#! $SHELL
5322
5323 # `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
5324 # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
5325 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
5326 #
5327 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5328 # Free Software Foundation, Inc.
5329 #
5330 # This file is part of GNU Libtool:
5331 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
5332 #
5333 # This program is free software; you can redistribute it and/or modify
5334 # it under the terms of the GNU General Public License as published by
5335 # the Free Software Foundation; either version 2 of the License, or
5336 # (at your option) any later version.
5337 #
5338 # This program is distributed in the hope that it will be useful, but
5339 # WITHOUT ANY WARRANTY; without even the implied warranty of
5340 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5341 # General Public License for more details.
5342 #
5343 # You should have received a copy of the GNU General Public License
5344 # along with this program; if not, write to the Free Software
5345 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
5346 #
5347 # As a special exception to the GNU General Public License, if you
5348 # distribute this file as part of a program that contains a
5349 # configuration script generated by Autoconf, you may include it under
5350 # the same distribution terms that you use for the rest of that program.
5351
5352 # A sed program that does not truncate output.
5353 SED=$lt_SED
5354
5355 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
5356 Xsed="$SED -e 1s/^X//"
5357
5358 # The HP-UX ksh and POSIX shell print the target directory to stdout
5359 # if CDPATH is set.
5360 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
5361
5362 # The names of the tagged configurations supported by this script.
5363 available_tags=
5364
5365 # ### BEGIN LIBTOOL CONFIG],
5366 [# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
5367
5368 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
5369
5370 # Shell to use when invoking shell scripts.
5371 SHELL=$lt_SHELL
5372
5373 # Whether or not to build shared libraries.
5374 build_libtool_libs=$enable_shared
5375
5376 # Whether or not to build static libraries.
5377 build_old_libs=$enable_static
5378
5379 # Whether or not to add -lc for building shared libraries.
5380 build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
5381
5382 # Whether or not to disallow shared libs when runtime libs are static
5383 allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
5384
5385 # Whether or not to optimize for fast installation.
5386 fast_install=$enable_fast_install
5387
5388 # The host system.
5389 host_alias=$host_alias
5390 host=$host
5391 host_os=$host_os
5392
5393 # The build system.
5394 build_alias=$build_alias
5395 build=$build
5396 build_os=$build_os
5397
5398 # An echo program that does not interpret backslashes.
5399 echo=$lt_echo
5400
5401 # The archiver.
5402 AR=$lt_AR
5403 AR_FLAGS=$lt_AR_FLAGS
5404
5405 # A C compiler.
5406 LTCC=$lt_LTCC
5407
5408 # LTCC compiler flags.
5409 LTCFLAGS=$lt_LTCFLAGS
5410
5411 # A language-specific compiler.
5412 CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
5413
5414 # Is the compiler the GNU C compiler?
5415 with_gcc=$_LT_AC_TAGVAR(GCC, $1)
5416
5417 # An ERE matcher.
5418 EGREP=$lt_EGREP
5419
5420 # The linker used to build libraries.
5421 LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
5422
5423 # Whether we need hard or soft links.
5424 LN_S=$lt_LN_S
5425
5426 # A BSD-compatible nm program.
5427 NM=$lt_NM
5428
5429 # A symbol stripping program
5430 STRIP=$lt_STRIP
5431
5432 # Used to examine libraries when file_magic_cmd begins "file"
5433 MAGIC_CMD=$MAGIC_CMD
5434
5435 # Used on cygwin: DLL creation program.
5436 DLLTOOL="$DLLTOOL"
5437
5438 # Used on cygwin: object dumper.
5439 OBJDUMP="$OBJDUMP"
5440
5441 # Used on cygwin: assembler.
5442 AS="$AS"
5443
5444 # The name of the directory that contains temporary libtool files.
5445 objdir=$objdir
5446
5447 # How to create reloadable object files.
5448 reload_flag=$lt_reload_flag
5449 reload_cmds=$lt_reload_cmds
5450
5451 # How to pass a linker flag through the compiler.
5452 wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
5453
5454 # Object file suffix (normally "o").
5455 objext="$ac_objext"
5456
5457 # Old archive suffix (normally "a").
5458 libext="$libext"
5459
5460 # Shared library suffix (normally ".so").
5461 shrext_cmds='$shrext_cmds'
5462
5463 # Executable file suffix (normally "").
5464 exeext="$exeext"
5465
5466 # Additional compiler flags for building library objects.
5467 pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
5468 pic_mode=$pic_mode
5469
5470 # What is the maximum length of a command?
5471 max_cmd_len=$lt_cv_sys_max_cmd_len
5472
5473 # Does compiler simultaneously support -c and -o options?
5474 compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
5475
5476 # Must we lock files when doing compilation?
5477 need_locks=$lt_need_locks
5478
5479 # Do we need the lib prefix for modules?
5480 need_lib_prefix=$need_lib_prefix
5481
5482 # Do we need a version for libraries?
5483 need_version=$need_version
5484
5485 # Whether dlopen is supported.
5486 dlopen_support=$enable_dlopen
5487
5488 # Whether dlopen of programs is supported.
5489 dlopen_self=$enable_dlopen_self
5490
5491 # Whether dlopen of statically linked programs is supported.
5492 dlopen_self_static=$enable_dlopen_self_static
5493
5494 # Compiler flag to prevent dynamic linking.
5495 link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
5496
5497 # Compiler flag to turn off builtin functions.
5498 no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
5499
5500 # Compiler flag to allow reflexive dlopens.
5501 export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
5502
5503 # Compiler flag to generate shared objects directly from archives.
5504 whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
5505
5506 # Compiler flag to generate thread-safe objects.
5507 thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
5508
5509 # Library versioning type.
5510 version_type=$version_type
5511
5512 # Format of library name prefix.
5513 libname_spec=$lt_libname_spec
5514
5515 # List of archive names. First name is the real one, the rest are links.
5516 # The last name is the one that the linker finds with -lNAME.
5517 library_names_spec=$lt_library_names_spec
5518
5519 # The coded name of the library, if different from the real name.
5520 soname_spec=$lt_soname_spec
5521
5522 # Commands used to build and install an old-style archive.
5523 RANLIB=$lt_RANLIB
5524 old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
5525 old_postinstall_cmds=$lt_old_postinstall_cmds
5526 old_postuninstall_cmds=$lt_old_postuninstall_cmds
5527
5528 # Create an old-style archive from a shared archive.
5529 old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
5530
5531 # Create a temporary old-style archive to link instead of a shared archive.
5532 old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
5533
5534 # Commands used to build and install a shared archive.
5535 archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
5536 archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
5537 postinstall_cmds=$lt_postinstall_cmds
5538 postuninstall_cmds=$lt_postuninstall_cmds
5539
5540 # Commands used to build a loadable module (assumed same as above if empty)
5541 module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
5542 module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
5543
5544 # Commands to strip libraries.
5545 old_striplib=$lt_old_striplib
5546 striplib=$lt_striplib
5547
5548 # Dependencies to place before the objects being linked to create a
5549 # shared library.
5550 predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
5551
5552 # Dependencies to place after the objects being linked to create a
5553 # shared library.
5554 postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
5555
5556 # Dependencies to place before the objects being linked to create a
5557 # shared library.
5558 predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
5559
5560 # Dependencies to place after the objects being linked to create a
5561 # shared library.
5562 postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
5563
5564 # The directories searched by this compiler when creating a shared
5565 # library
5566 compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
5567
5568 # The library search path used internally by the compiler when linking
5569 # a shared library.
5570 compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
5571
5572 # Method to check whether dependent libraries are shared objects.
5573 deplibs_check_method=$lt_deplibs_check_method
5574
5575 # Command to use when deplibs_check_method == file_magic.
5576 file_magic_cmd=$lt_file_magic_cmd
5577
5578 # Flag that allows shared libraries with undefined symbols to be built.
5579 allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
5580
5581 # Flag that forces no undefined symbols.
5582 no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
5583
5584 # Commands used to finish a libtool library installation in a directory.
5585 finish_cmds=$lt_finish_cmds
5586
5587 # Same as above, but a single script fragment to be evaled but not shown.
5588 finish_eval=$lt_finish_eval
5589
5590 # Take the output of nm and produce a listing of raw symbols and C names.
5591 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
5592
5593 # Transform the output of nm in a proper C declaration
5594 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
5595
5596 # Transform the output of nm in a C name address pair
5597 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
5598
5599 # This is the shared library runtime path variable.
5600 runpath_var=$runpath_var
5601
5602 # This is the shared library path variable.
5603 shlibpath_var=$shlibpath_var
5604
5605 # Is shlibpath searched before the hard-coded library search path?
5606 shlibpath_overrides_runpath=$shlibpath_overrides_runpath
5607
5608 # How to hardcode a shared library path into an executable.
5609 hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
5610
5611 # Whether we should hardcode library paths into libraries.
5612 hardcode_into_libs=$hardcode_into_libs
5613
5614 # Flag to hardcode \$libdir into a binary during linking.
5615 # This must work even if \$libdir does not exist.
5616 hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
5617
5618 # If ld is used when linking, flag to hardcode \$libdir into
5619 # a binary during linking. This must work even if \$libdir does
5620 # not exist.
5621 hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
5622
5623 # Whether we need a single -rpath flag with a separated argument.
5624 hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
5625
5626 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
5627 # resulting binary.
5628 hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
5629
5630 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
5631 # resulting binary.
5632 hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
5633
5634 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
5635 # the resulting binary.
5636 hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
5637
5638 # Set to yes if building a shared library automatically hardcodes DIR into the library
5639 # and all subsequent libraries and executables linked against it.
5640 hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
5641
5642 # Variables whose values should be saved in libtool wrapper scripts and
5643 # restored at relink time.
5644 variables_saved_for_relink="$variables_saved_for_relink"
5645
5646 # Whether libtool must link a program against all its dependency libraries.
5647 link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
5648
5649 # Compile-time system search path for libraries
5650 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
5651
5652 # Run-time system search path for libraries
5653 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
5654
5655 # Fix the shell variable \$srcfile for the compiler.
5656 fix_srcfile_path=$lt_fix_srcfile_path
5657
5658 # Set to yes if exported symbols are required.
5659 always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
5660
5661 # The commands to list exported symbols.
5662 export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
5663
5664 # The commands to extract the exported symbol list from a shared archive.
5665 extract_expsyms_cmds=$lt_extract_expsyms_cmds
5666
5667 # Symbols that should not be listed in the preloaded symbols.
5668 exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
5669
5670 # Symbols that must always be exported.
5671 include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
5672
5673 ifelse([$1],[],
5674 [# ### END LIBTOOL CONFIG],
5675 [# ### END LIBTOOL TAG CONFIG: $tagname])
5676
5677 __EOF__
5678
5679 ifelse([$1],[], [
5680 case $host_os in
5681 aix3*)
5682 cat <<\EOF >> "$cfgfile"
5683
5684 # AIX sometimes has problems with the GCC collect2 program. For some
5685 # reason, if we set the COLLECT_NAMES environment variable, the problems
5686 # vanish in a puff of smoke.
5687 if test "X${COLLECT_NAMES+set}" != Xset; then
5688 COLLECT_NAMES=
5689 export COLLECT_NAMES
5690 fi
5691 EOF
5692 ;;
5693 esac
5694
5695 # We use sed instead of cat because bash on DJGPP gets confused if
5696 # if finds mixed CR/LF and LF-only lines. Since sed operates in
5697 # text mode, it properly converts lines to CR/LF. This bash problem
5698 # is reportedly fixed, but why not run on old versions too?
5699 sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
5700
5701 mv -f "$cfgfile" "$ofile" || \
5702 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
5703 chmod +x "$ofile"
5704 ])
5705 else
5706 # If there is no Makefile yet, we rely on a make rule to execute
5707 # `config.status --recheck' to rerun these tests and create the
5708 # libtool script then.
5709 ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
5710 if test -f "$ltmain_in"; then
5711 test -f Makefile && make "$ltmain"
5712 fi
5713 fi
5714 ])# AC_LIBTOOL_CONFIG
5715
5716
5717 # AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
5718 # -------------------------------------------
5719 AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
5720 [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
5721
5722 _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
4144 AC_SUBST([LIBM])
4145 ])# LT_LIB_M
4146
4147 # Old name:
4148 AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
4149 dnl aclocal-1.4 backwards compatibility:
4150 dnl AC_DEFUN([AC_CHECK_LIBM], [])
4151
4152
4153 # _LT_COMPILER_NO_RTTI([TAGNAME])
4154 # -------------------------------
4155 m4_defun([_LT_COMPILER_NO_RTTI],
4156 [m4_require([_LT_TAG_COMPILER])dnl
4157
4158 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
57234159
57244160 if test "$GCC" = yes; then
5725 _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5726
5727 AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
4161 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
4162
4163 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
57284164 lt_cv_prog_compiler_rtti_exceptions,
57294165 [-fno-rtti -fno-exceptions], [],
5730 [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
4166 [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
57314167 fi
5732 ])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
5733
5734
5735 # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
5736 # ---------------------------------
5737 AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
5738 [AC_REQUIRE([AC_CANONICAL_HOST])
5739 AC_REQUIRE([LT_AC_PROG_SED])
5740 AC_REQUIRE([AC_PROG_NM])
5741 AC_REQUIRE([AC_OBJEXT])
4168 _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
4169 [Compiler flag to turn off builtin functions])
4170 ])# _LT_COMPILER_NO_RTTI
4171
4172
4173 # _LT_CMD_GLOBAL_SYMBOLS
4174 # ----------------------
4175 m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
4176 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
4177 AC_REQUIRE([AC_PROG_CC])dnl
4178 AC_REQUIRE([LT_PATH_NM])dnl
4179 AC_REQUIRE([LT_PATH_LD])dnl
4180 m4_require([_LT_DECL_SED])dnl
4181 m4_require([_LT_DECL_EGREP])dnl
4182 m4_require([_LT_TAG_COMPILER])dnl
4183
57424184 # Check for command to grab the raw symbol name followed by C symbol from nm.
57434185 AC_MSG_CHECKING([command to parse $NM output from $compiler object])
57444186 AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
57524194 # Regexp to match symbols that can be accessed directly from C.
57534195 sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
57544196
5755 # Transform an extracted symbol line into a proper C declaration
5756 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
5757
5758 # Transform an extracted symbol line into symbol name and symbol address
5759 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
5760
57614197 # Define system-specific variables.
57624198 case $host_os in
57634199 aix*)
57644200 symcode='[[BCDT]]'
57654201 ;;
5766 cygwin* | mingw* | pw32*)
4202 cygwin* | mingw* | pw32* | cegcc*)
57674203 symcode='[[ABCDGISTW]]'
57684204 ;;
5769 hpux*) # Its linker distinguishes data from code symbols
4205 hpux*)
57704206 if test "$host_cpu" = ia64; then
57714207 symcode='[[ABCDEGRST]]'
5772 fi
5773 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
5774 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
5775 ;;
5776 linux* | k*bsd*-gnu)
5777 if test "$host_cpu" = ia64; then
5778 symcode='[[ABCDGIRSTW]]'
5779 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
5780 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
57814208 fi
57824209 ;;
57834210 irix* | nonstopux*)
58034230 ;;
58044231 esac
58054232
5806 # Handle CRLF in mingw tool chain
5807 opt_cr=
5808 case $build_os in
5809 mingw*)
5810 opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
5811 ;;
5812 esac
5813
58144233 # If we're using GNU nm, then use its standard symbol codes.
58154234 case `$NM -V 2>&1` in
58164235 *GNU* | *'with BFD'*)
58174236 symcode='[[ABCDGIRSTW]]' ;;
58184237 esac
58194238
5820 # Try without a prefix undercore, then with it.
4239 # Transform an extracted symbol line into a proper C declaration.
4240 # Some systems (esp. on ia64) link data and code symbols differently,
4241 # so use this general approach.
4242 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
4243
4244 # Transform an extracted symbol line into symbol name and symbol address
4245 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
4246 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
4247
4248 # Handle CRLF in mingw tool chain
4249 opt_cr=
4250 case $build_os in
4251 mingw*)
4252 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
4253 ;;
4254 esac
4255
4256 # Try without a prefix underscore, then with it.
58214257 for ac_symprfx in "" "_"; do
58224258
58234259 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
58244260 symxfrm="\\1 $ac_symprfx\\2 \\2"
58254261
58264262 # Write the raw and C identifiers.
5827 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
4263 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4264 # Fake it for dumpbin and say T for any non-static function
4265 # and D for any global variable.
4266 # Also find C++ and __fastcall symbols from MSVC++,
4267 # which start with @ or ?.
4268 lt_cv_sys_global_symbol_pipe="$AWK ['"\
4269 " {last_section=section; section=\$ 3};"\
4270 " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
4271 " \$ 0!~/External *\|/{next};"\
4272 " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
4273 " {if(hide[section]) next};"\
4274 " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
4275 " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
4276 " s[1]~/^[@?]/{print s[1], s[1]; next};"\
4277 " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
4278 " ' prfx=^$ac_symprfx]"
4279 else
4280 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
4281 fi
58284282
58294283 # Check to see that the pipe works correctly.
58304284 pipe_works=no
58314285
58324286 rm -f conftest*
5833 cat > conftest.$ac_ext <<EOF
4287 cat > conftest.$ac_ext <<_LT_EOF
58344288 #ifdef __cplusplus
58354289 extern "C" {
58364290 #endif
58374291 char nm_test_var;
5838 void nm_test_func(){}
4292 void nm_test_func(void);
4293 void nm_test_func(void){}
58394294 #ifdef __cplusplus
58404295 }
58414296 #endif
58424297 int main(){nm_test_var='a';nm_test_func();return(0);}
5843 EOF
4298 _LT_EOF
58444299
58454300 if AC_TRY_EVAL(ac_compile); then
58464301 # Now try to grab the symbols.
58544309 fi
58554310
58564311 # Make sure that we snagged all the symbols we need.
5857 if grep ' nm_test_var$' "$nlist" >/dev/null; then
5858 if grep ' nm_test_func$' "$nlist" >/dev/null; then
5859 cat <<EOF > conftest.$ac_ext
4312 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
4313 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
4314 cat <<_LT_EOF > conftest.$ac_ext
58604315 #ifdef __cplusplus
58614316 extern "C" {
58624317 #endif
58634318
5864 EOF
4319 _LT_EOF
58654320 # Now generate the symbol file.
5866 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
5867
5868 cat <<EOF >> conftest.$ac_ext
5869 #if defined (__STDC__) && __STDC__
5870 # define lt_ptr_t void *
5871 #else
5872 # define lt_ptr_t char *
5873 # define const
5874 #endif
5875
5876 /* The mapping between symbol names and symbols. */
4321 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
4322
4323 cat <<_LT_EOF >> conftest.$ac_ext
4324
4325 /* The mapping between symbol names and symbols. */
58774326 const struct {
58784327 const char *name;
5879 lt_ptr_t address;
4328 void *address;
58804329 }
5881 lt_preloaded_symbols[[]] =
4330 lt__PROGRAM__LTX_preloaded_symbols[[]] =
58824331 {
5883 EOF
5884 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
5885 cat <<\EOF >> conftest.$ac_ext
5886 {0, (lt_ptr_t) 0}
4332 { "@PROGRAM@", (void *) 0 },
4333 _LT_EOF
4334 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
4335 cat <<\_LT_EOF >> conftest.$ac_ext
4336 {0, (void *) 0}
58874337 };
4338
4339 /* This works around a problem in FreeBSD linker */
4340 #ifdef FREEBSD_WORKAROUND
4341 static const void *lt_preloaded_setup() {
4342 return lt__PROGRAM__LTX_preloaded_symbols;
4343 }
4344 #endif
58884345
58894346 #ifdef __cplusplus
58904347 }
58914348 #endif
5892 EOF
4349 _LT_EOF
58934350 # Now try linking the two files.
58944351 mv conftest.$ac_objext conftstm.$ac_objext
58954352 lt_save_LIBS="$LIBS"
58964353 lt_save_CFLAGS="$CFLAGS"
58974354 LIBS="conftstm.$ac_objext"
5898 CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
4355 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
58994356 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
59004357 pipe_works=yes
59014358 fi
59324389 else
59334390 AC_MSG_RESULT(ok)
59344391 fi
5935 ]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
5936
5937
5938 # AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
5939 # ---------------------------------------
5940 AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
5941 [_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
5942 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
5943 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
4392
4393 _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
4394 [Take the output of nm and produce a listing of raw symbols and C names])
4395 _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
4396 [Transform the output of nm in a proper C declaration])
4397 _LT_DECL([global_symbol_to_c_name_address],
4398 [lt_cv_sys_global_symbol_to_c_name_address], [1],
4399 [Transform the output of nm in a C name address pair])
4400 _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
4401 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
4402 [Transform the output of nm in a C name address pair when lib prefix is needed])
4403 ]) # _LT_CMD_GLOBAL_SYMBOLS
4404
4405
4406 # _LT_COMPILER_PIC([TAGNAME])
4407 # ---------------------------
4408 m4_defun([_LT_COMPILER_PIC],
4409 [m4_require([_LT_TAG_COMPILER])dnl
4410 _LT_TAGVAR(lt_prog_compiler_wl, $1)=
4411 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4412 _LT_TAGVAR(lt_prog_compiler_static, $1)=
59444413
59454414 AC_MSG_CHECKING([for $compiler option to produce PIC])
5946 ifelse([$1],[CXX],[
4415 m4_if([$1], [CXX], [
59474416 # C++ specific cases for pic, static, wl, etc.
59484417 if test "$GXX" = yes; then
5949 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5950 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
4418 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4419 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
59514420
59524421 case $host_os in
59534422 aix*)
59544423 # All AIX code is PIC.
59554424 if test "$host_cpu" = ia64; then
59564425 # AIX 5 now supports IA64 processor
5957 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4426 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
59584427 fi
59594428 ;;
4429
59604430 amigaos*)
5961 # FIXME: we need at least 68020 code to build shared libraries, but
5962 # adding the `-m68020' flag to GCC prevents building anything better,
5963 # like `-m68040'.
5964 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
5965 ;;
4431 case $host_cpu in
4432 powerpc)
4433 # see comment about AmigaOS4 .so support
4434 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4435 ;;
4436 m68k)
4437 # FIXME: we need at least 68020 code to build shared libraries, but
4438 # adding the `-m68020' flag to GCC prevents building anything better,
4439 # like `-m68040'.
4440 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4441 ;;
4442 esac
4443 ;;
4444
59664445 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
59674446 # PIC is the default for these OSes.
59684447 ;;
5969 mingw* | cygwin* | os2* | pw32*)
4448 mingw* | cygwin* | os2* | pw32* | cegcc*)
59704449 # This hack is so that the source file can tell whether it is being
59714450 # built for inclusion in a dll (and should export symbols for example).
59724451 # Although the cygwin gcc ignores -fPIC, still need this for old-style
59734452 # (--disable-auto-import) libraries
59744453 m4_if([$1], [GCJ], [],
5975 [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4454 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
59764455 ;;
59774456 darwin* | rhapsody*)
59784457 # PIC is the default on this platform
59794458 # Common symbols not allowed in MH_DYLIB files
5980 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4459 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
59814460 ;;
59824461 *djgpp*)
59834462 # DJGPP does not support shared libraries at all
5984 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
4463 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
59854464 ;;
59864465 interix[[3-9]]*)
59874466 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
59894468 ;;
59904469 sysv4*MP*)
59914470 if test -d /usr/nec; then
5992 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4471 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
59934472 fi
59944473 ;;
59954474 hpux*)
5996 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
5997 # not for PA HP-UX.
4475 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4476 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4477 # sets the default TLS model and affects inlining.
59984478 case $host_cpu in
5999 hppa*64*|ia64*)
4479 hppa*64*)
60004480 ;;
60014481 *)
6002 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4482 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
60034483 ;;
60044484 esac
60054485 ;;
4486 *qnx* | *nto*)
4487 # QNX uses GNU C++, but need to define -shared option too, otherwise
4488 # it will coredump.
4489 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4490 ;;
60064491 *)
6007 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4492 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
60084493 ;;
60094494 esac
60104495 else
60134498 # All AIX code is PIC.
60144499 if test "$host_cpu" = ia64; then
60154500 # AIX 5 now supports IA64 processor
6016 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4501 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
60174502 else
6018 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4503 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
60194504 fi
60204505 ;;
60214506 chorus*)
60224507 case $cc_basename in
60234508 cxch68*)
60244509 # Green Hills C++ Compiler
6025 # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
4510 # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
60264511 ;;
60274512 esac
60284513 ;;
6029 darwin*)
6030 # PIC is the default on this platform
6031 # Common symbols not allowed in MH_DYLIB files
6032 case $cc_basename in
6033 xlc*)
6034 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
6035 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6036 ;;
6037 esac
6038 ;;
60394514 dgux*)
60404515 case $cc_basename in
60414516 ec++*)
6042 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4517 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
60434518 ;;
60444519 ghcx*)
60454520 # Green Hills C++ Compiler
6046 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4521 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
60474522 ;;
60484523 *)
60494524 ;;
60554530 hpux9* | hpux10* | hpux11*)
60564531 case $cc_basename in
60574532 CC*)
6058 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6059 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4533 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4534 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
60604535 if test "$host_cpu" != ia64; then
6061 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4536 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
60624537 fi
60634538 ;;
60644539 aCC*)
6065 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6066 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4540 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4541 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
60674542 case $host_cpu in
60684543 hppa*64*|ia64*)
60694544 # +Z the default
60704545 ;;
60714546 *)
6072 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4547 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
60734548 ;;
60744549 esac
60754550 ;;
60844559 irix5* | irix6* | nonstopux*)
60854560 case $cc_basename in
60864561 CC*)
6087 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6088 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4562 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4563 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
60894564 # CC pic flag -KPIC is the default.
60904565 ;;
60914566 *)
60964571 case $cc_basename in
60974572 KCC*)
60984573 # KAI C++ Compiler
6099 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
6100 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4574 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4575 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
61014576 ;;
6102 icpc* | ecpc*)
6103 # Intel C++
6104 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6105 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6106 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
4577 ecpc* )
4578 # old Intel C++ for x86_64 which still supported -KPIC.
4579 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4580 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4581 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4582 ;;
4583 icpc* )
4584 # Intel C++, used to be incompatible with GCC.
4585 # ICC 10 doesn't accept -KPIC any more.
4586 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4587 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4588 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
61074589 ;;
61084590 pgCC* | pgcpp*)
6109 # Portland Group C++ compiler.
6110 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6111 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
6112 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4591 # Portland Group C++ compiler
4592 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4593 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4594 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
61134595 ;;
61144596 cxx*)
61154597 # Compaq C++
61164598 # Make sure the PIC flag is empty. It appears that all Alpha
61174599 # Linux and Compaq Tru64 Unix objects are PIC.
6118 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
6119 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4600 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4601 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4602 ;;
4603 xlc* | xlC*)
4604 # IBM XL 8.0 on PPC
4605 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4606 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4607 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
61204608 ;;
61214609 *)
61224610 case `$CC -V 2>&1 | sed 5q` in
61234611 *Sun\ C*)
61244612 # Sun C++ 5.9
6125 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6126 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6127 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4613 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4614 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4615 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
61284616 ;;
61294617 esac
61304618 ;;
61374625 mvs*)
61384626 case $cc_basename in
61394627 cxx*)
6140 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4628 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
61414629 ;;
61424630 *)
61434631 ;;
61454633 ;;
61464634 netbsd*)
61474635 ;;
4636 *qnx* | *nto*)
4637 # QNX uses GNU C++, but need to define -shared option too, otherwise
4638 # it will coredump.
4639 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4640 ;;
61484641 osf3* | osf4* | osf5*)
61494642 case $cc_basename in
61504643 KCC*)
6151 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4644 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
61524645 ;;
61534646 RCC*)
61544647 # Rational C++ 2.4.1
6155 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4648 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
61564649 ;;
61574650 cxx*)
61584651 # Digital/Compaq C++
6159 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4652 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
61604653 # Make sure the PIC flag is empty. It appears that all Alpha
61614654 # Linux and Compaq Tru64 Unix objects are PIC.
6162 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
6163 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4655 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4656 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
61644657 ;;
61654658 *)
61664659 ;;
61724665 case $cc_basename in
61734666 CC*)
61744667 # Sun C++ 4.2, 5.x and Centerline C++
6175 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6176 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6177 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4668 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4669 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4670 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
61784671 ;;
61794672 gcx*)
61804673 # Green Hills C++ Compiler
6181 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4674 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
61824675 ;;
61834676 *)
61844677 ;;
61884681 case $cc_basename in
61894682 CC*)
61904683 # Sun C++ 4.x
6191 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6192 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4684 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4685 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
61934686 ;;
61944687 lcc*)
61954688 # Lucid
6196 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6197 ;;
6198 *)
6199 ;;
6200 esac
6201 ;;
6202 tandem*)
6203 case $cc_basename in
6204 NCC*)
6205 # NonStop-UX NCC 3.20
6206 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4689 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
62074690 ;;
62084691 *)
62094692 ;;
62124695 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
62134696 case $cc_basename in
62144697 CC*)
6215 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6216 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6217 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4698 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4699 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4700 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4701 ;;
4702 esac
4703 ;;
4704 tandem*)
4705 case $cc_basename in
4706 NCC*)
4707 # NonStop-UX NCC 3.20
4708 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4709 ;;
4710 *)
62184711 ;;
62194712 esac
62204713 ;;
62214714 vxworks*)
62224715 ;;
62234716 *)
6224 _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4717 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
62254718 ;;
62264719 esac
62274720 fi
62284721 ],
62294722 [
62304723 if test "$GCC" = yes; then
6231 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6232 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
4724 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4725 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
62334726
62344727 case $host_os in
62354728 aix*)
62364729 # All AIX code is PIC.
62374730 if test "$host_cpu" = ia64; then
62384731 # AIX 5 now supports IA64 processor
6239 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4732 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
62404733 fi
62414734 ;;
62424735
62434736 amigaos*)
6244 # FIXME: we need at least 68020 code to build shared libraries, but
6245 # adding the `-m68020' flag to GCC prevents building anything better,
6246 # like `-m68040'.
6247 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4737 case $host_cpu in
4738 powerpc)
4739 # see comment about AmigaOS4 .so support
4740 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4741 ;;
4742 m68k)
4743 # FIXME: we need at least 68020 code to build shared libraries, but
4744 # adding the `-m68020' flag to GCC prevents building anything better,
4745 # like `-m68040'.
4746 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4747 ;;
4748 esac
62484749 ;;
62494750
62504751 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
62514752 # PIC is the default for these OSes.
62524753 ;;
62534754
6254 mingw* | cygwin* | pw32* | os2*)
4755 mingw* | cygwin* | pw32* | os2* | cegcc*)
62554756 # This hack is so that the source file can tell whether it is being
62564757 # built for inclusion in a dll (and should export symbols for example).
62574758 # Although the cygwin gcc ignores -fPIC, still need this for old-style
62584759 # (--disable-auto-import) libraries
62594760 m4_if([$1], [GCJ], [],
6260 [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4761 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
62614762 ;;
62624763
62634764 darwin* | rhapsody*)
62644765 # PIC is the default on this platform
62654766 # Common symbols not allowed in MH_DYLIB files
6266 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4767 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4768 ;;
4769
4770 hpux*)
4771 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4772 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4773 # sets the default TLS model and affects inlining.
4774 case $host_cpu in
4775 hppa*64*)
4776 # +Z the default
4777 ;;
4778 *)
4779 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4780 ;;
4781 esac
62674782 ;;
62684783
62694784 interix[[3-9]]*)
62744789 msdosdjgpp*)
62754790 # Just because we use GCC doesn't mean we suddenly get shared libraries
62764791 # on systems that don't support them.
6277 _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4792 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
62784793 enable_shared=no
4794 ;;
4795
4796 *nto* | *qnx*)
4797 # QNX uses GNU C++, but need to define -shared option too, otherwise
4798 # it will coredump.
4799 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
62794800 ;;
62804801
62814802 sysv4*MP*)
62824803 if test -d /usr/nec; then
6283 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4804 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
62844805 fi
62854806 ;;
62864807
6287 hpux*)
4808 *)
4809 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4810 ;;
4811 esac
4812 else
4813 # PORTME Check for flag to pass linker flags through the system compiler.
4814 case $host_os in
4815 aix*)
4816 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4817 if test "$host_cpu" = ia64; then
4818 # AIX 5 now supports IA64 processor
4819 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4820 else
4821 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4822 fi
4823 ;;
4824
4825 mingw* | cygwin* | pw32* | os2* | cegcc*)
4826 # This hack is so that the source file can tell whether it is being
4827 # built for inclusion in a dll (and should export symbols for example).
4828 m4_if([$1], [GCJ], [],
4829 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4830 ;;
4831
4832 hpux9* | hpux10* | hpux11*)
4833 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
62884834 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
62894835 # not for PA HP-UX.
62904836 case $host_cpu in
62924838 # +Z the default
62934839 ;;
62944840 *)
6295 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6296 ;;
6297 esac
6298 ;;
6299
6300 *)
6301 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6302 ;;
6303 esac
6304 else
6305 # PORTME Check for flag to pass linker flags through the system compiler.
6306 case $host_os in
6307 aix*)
6308 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6309 if test "$host_cpu" = ia64; then
6310 # AIX 5 now supports IA64 processor
6311 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6312 else
6313 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
6314 fi
6315 ;;
6316 darwin*)
6317 # PIC is the default on this platform
6318 # Common symbols not allowed in MH_DYLIB files
6319 case $cc_basename in
6320 xlc*)
6321 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
6322 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6323 ;;
6324 esac
6325 ;;
6326
6327 mingw* | cygwin* | pw32* | os2*)
6328 # This hack is so that the source file can tell whether it is being
6329 # built for inclusion in a dll (and should export symbols for example).
6330 m4_if([$1], [GCJ], [],
6331 [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
6332 ;;
6333
6334 hpux9* | hpux10* | hpux11*)
6335 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6336 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
6337 # not for PA HP-UX.
6338 case $host_cpu in
6339 hppa*64*|ia64*)
6340 # +Z the default
6341 ;;
6342 *)
6343 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4841 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
63444842 ;;
63454843 esac
63464844 # Is there a better lt_prog_compiler_static that works with the bundled CC?
6347 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4845 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
63484846 ;;
63494847
63504848 irix5* | irix6* | nonstopux*)
6351 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4849 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
63524850 # PIC (with -KPIC) is the default.
6353 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6354 ;;
6355
6356 newsos6)
6357 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6358 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4851 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
63594852 ;;
63604853
63614854 linux* | k*bsd*-gnu)
63624855 case $cc_basename in
6363 icc* | ecc*)
6364 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6365 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6366 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
4856 # old Intel for x86_64 which still supported -KPIC.
4857 ecc*)
4858 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4859 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4860 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
63674861 ;;
4862 # icc used to be incompatible with GCC.
4863 # ICC 10 doesn't accept -KPIC any more.
4864 icc* | ifort*)
4865 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4866 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4867 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4868 ;;
4869 # Lahey Fortran 8.1.
4870 lf95*)
4871 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4872 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4873 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4874 ;;
63684875 pgcc* | pgf77* | pgf90* | pgf95*)
63694876 # Portland Group compilers (*not* the Pentium gcc compiler,
63704877 # which looks to be a dead project)
6371 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6372 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
6373 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4878 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4879 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4880 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
63744881 ;;
63754882 ccc*)
6376 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4883 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
63774884 # All Alpha code is PIC.
6378 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4885 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
63794886 ;;
4887 xl*)
4888 # IBM XL C 8.0/Fortran 10.1 on PPC
4889 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4890 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4891 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4892 ;;
63804893 *)
6381 case `$CC -V 2>&1 | sed 5q` in
4894 case `$CC -V 2>&1 | sed 5q` in
63824895 *Sun\ C*)
63834896 # Sun C 5.9
6384 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6385 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6386 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4897 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4898 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4899 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
63874900 ;;
63884901 *Sun\ F*)
63894902 # Sun Fortran 8.3 passes all unrecognized flags to the linker
6390 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6391 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6392 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
4903 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4904 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4905 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
63934906 ;;
63944907 esac
63954908 ;;
63964909 esac
63974910 ;;
63984911
4912 newsos6)
4913 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4914 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4915 ;;
4916
4917 *nto* | *qnx*)
4918 # QNX uses GNU C++, but need to define -shared option too, otherwise
4919 # it will coredump.
4920 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4921 ;;
4922
63994923 osf3* | osf4* | osf5*)
6400 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4924 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
64014925 # All OSF/1 code is PIC.
6402 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4926 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
64034927 ;;
64044928
64054929 rdos*)
6406 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4930 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
64074931 ;;
64084932
64094933 solaris*)
6410 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6411 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4934 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4935 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
64124936 case $cc_basename in
64134937 f77* | f90* | f95*)
6414 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4938 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
64154939 *)
6416 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4940 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
64174941 esac
64184942 ;;
64194943
64204944 sunos4*)
6421 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
6422 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
6423 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4945 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4946 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4947 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
64244948 ;;
64254949
64264950 sysv4 | sysv4.2uw2* | sysv4.3*)
6427 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6428 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6429 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4951 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4952 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4953 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
64304954 ;;
64314955
64324956 sysv4*MP*)
64334957 if test -d /usr/nec ;then
6434 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
6435 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4958 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4959 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
64364960 fi
64374961 ;;
64384962
64394963 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
6440 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6441 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6442 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4964 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4965 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4966 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
64434967 ;;
64444968
64454969 unicos*)
6446 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6447 _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4970 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4971 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
64484972 ;;
64494973
64504974 uts4*)
6451 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6452 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4975 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4976 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
64534977 ;;
64544978
64554979 *)
6456 _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4980 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
64574981 ;;
64584982 esac
64594983 fi
64604984 ])
6461 AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
4985 case $host_os in
4986 # For platforms which do not support PIC, -DPIC is meaningless:
4987 *djgpp*)
4988 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4989 ;;
4990 *)
4991 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4992 ;;
4993 esac
4994 AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4995 _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4996 [How to pass a linker flag through the compiler])
64624997
64634998 #
64644999 # Check to make sure the PIC flag actually works.
64655000 #
6466 if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
6467 AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
6468 _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
6469 [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
6470 [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
5001 if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
5002 _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
5003 [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
5004 [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
5005 [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
64715006 "" | " "*) ;;
6472 *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
5007 *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
64735008 esac],
6474 [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
6475 _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
5009 [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
5010 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
64765011 fi
6477 case $host_os in
6478 # For platforms which do not support PIC, -DPIC is meaningless:
6479 *djgpp*)
6480 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
6481 ;;
6482 *)
6483 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
6484 ;;
6485 esac
5012 _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
5013 [Additional compiler flags for building library objects])
64865014
64875015 #
64885016 # Check to make sure the static flag actually works.
64895017 #
6490 wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
6491 AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
6492 _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
5018 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
5019 _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
5020 _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
64935021 $lt_tmp_static_flag,
64945022 [],
6495 [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
6496 ])
6497
6498
6499 # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
6500 # ------------------------------------
5023 [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
5024 _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
5025 [Compiler flag to prevent dynamic linking])
5026 ])# _LT_COMPILER_PIC
5027
5028
5029 # _LT_LINKER_SHLIBS([TAGNAME])
5030 # ----------------------------
65015031 # See if the linker supports building shared libraries.
6502 AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
6503 [AC_REQUIRE([LT_AC_PROG_SED])dnl
5032 m4_defun([_LT_LINKER_SHLIBS],
5033 [AC_REQUIRE([LT_PATH_LD])dnl
5034 AC_REQUIRE([LT_PATH_NM])dnl
5035 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5036 m4_require([_LT_DECL_EGREP])dnl
5037 m4_require([_LT_DECL_SED])dnl
5038 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
5039 m4_require([_LT_TAG_COMPILER])dnl
65045040 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
6505 ifelse([$1],[CXX],[
6506 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5041 m4_if([$1], [CXX], [
5042 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
65075043 case $host_os in
65085044 aix[[4-9]]*)
65095045 # If we're using GNU nm, then we don't want the "-C" option.
65105046 # -C means demangle to AIX nm, but means don't demangle with GNU nm
6511 if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
6512 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
5047 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
5048 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
65135049 else
6514 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
5050 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
65155051 fi
65165052 ;;
65175053 pw32*)
6518 _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
5054 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
65195055 ;;
6520 cygwin* | mingw*)
6521 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
5056 cygwin* | mingw* | cegcc*)
5057 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
65225058 ;;
65235059 *)
6524 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5060 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
65255061 ;;
65265062 esac
6527 _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
6528 ],[
5063 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
5064 ], [
65295065 runpath_var=
6530 _LT_AC_TAGVAR(allow_undefined_flag, $1)=
6531 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6532 _LT_AC_TAGVAR(archive_cmds, $1)=
6533 _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
6534 _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
6535 _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
6536 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
6537 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
6538 _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
6539 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
6540 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6541 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
6542 _LT_AC_TAGVAR(hardcode_direct, $1)=no
6543 _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
6544 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6545 _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
6546 _LT_AC_TAGVAR(hardcode_automatic, $1)=no
6547 _LT_AC_TAGVAR(module_cmds, $1)=
6548 _LT_AC_TAGVAR(module_expsym_cmds, $1)=
6549 _LT_AC_TAGVAR(always_export_symbols, $1)=no
6550 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5066 _LT_TAGVAR(allow_undefined_flag, $1)=
5067 _LT_TAGVAR(always_export_symbols, $1)=no
5068 _LT_TAGVAR(archive_cmds, $1)=
5069 _LT_TAGVAR(archive_expsym_cmds, $1)=
5070 _LT_TAGVAR(compiler_needs_object, $1)=no
5071 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5072 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5073 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5074 _LT_TAGVAR(hardcode_automatic, $1)=no
5075 _LT_TAGVAR(hardcode_direct, $1)=no
5076 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
5077 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5078 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
5079 _LT_TAGVAR(hardcode_libdir_separator, $1)=
5080 _LT_TAGVAR(hardcode_minus_L, $1)=no
5081 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5082 _LT_TAGVAR(inherit_rpath, $1)=no
5083 _LT_TAGVAR(link_all_deplibs, $1)=unknown
5084 _LT_TAGVAR(module_cmds, $1)=
5085 _LT_TAGVAR(module_expsym_cmds, $1)=
5086 _LT_TAGVAR(old_archive_from_new_cmds, $1)=
5087 _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
5088 _LT_TAGVAR(thread_safe_flag_spec, $1)=
5089 _LT_TAGVAR(whole_archive_flag_spec, $1)=
65515090 # include_expsyms should be a list of space-separated symbols to be *always*
65525091 # included in the symbol list
6553 _LT_AC_TAGVAR(include_expsyms, $1)=
5092 _LT_TAGVAR(include_expsyms, $1)=
65545093 # exclude_expsyms can be an extended regexp of symbols to exclude
65555094 # it will be wrapped by ` (' and `)$', so one must not match beginning or
65565095 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
65575096 # as well as any symbol that contains `d'.
6558 _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
5097 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
65595098 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
65605099 # platforms (ab)use it in PIC code, but their linkers get confused if
65615100 # the symbol is explicitly referenced. Since portable code cannot
65645103 # Exclude shared library initialization/finalization symbols.
65655104 dnl Note also adjust exclude_expsyms for C++ above.
65665105 extract_expsyms_cmds=
6567 # Just being paranoid about ensuring that cc_basename is set.
6568 _LT_CC_BASENAME([$compiler])
5106
65695107 case $host_os in
6570 cygwin* | mingw* | pw32*)
5108 cygwin* | mingw* | pw32* | cegcc*)
65715109 # FIXME: the MSVC++ port hasn't been tested in a loooong time
65725110 # When not using gcc, we currently assume that we are using
65735111 # Microsoft Visual C++.
65845122 ;;
65855123 esac
65865124
6587 _LT_AC_TAGVAR(ld_shlibs, $1)=yes
5125 _LT_TAGVAR(ld_shlibs, $1)=yes
65885126 if test "$with_gnu_ld" = yes; then
65895127 # If archive_cmds runs LD, not CC, wlarc should be empty
65905128 wlarc='${wl}'
65935131 # are reset later if shared libraries are not supported. Putting them
65945132 # here allows them to be overridden if necessary.
65955133 runpath_var=LD_RUN_PATH
6596 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
6597 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5134 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5135 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
65985136 # ancient GNU ld didn't support --whole-archive et. al.
6599 if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
6600 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6601 else
6602 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
5137 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
5138 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5139 else
5140 _LT_TAGVAR(whole_archive_flag_spec, $1)=
66035141 fi
66045142 supports_anon_versioning=no
6605 case `$LD -v 2>/dev/null` in
5143 case `$LD -v 2>&1` in
66065144 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
66075145 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
66085146 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
66155153 aix[[3-9]]*)
66165154 # On AIX/PPC, the GNU linker is very broken
66175155 if test "$host_cpu" != ia64; then
6618 _LT_AC_TAGVAR(ld_shlibs, $1)=no
6619 cat <<EOF 1>&2
5156 _LT_TAGVAR(ld_shlibs, $1)=no
5157 cat <<_LT_EOF 1>&2
66205158
66215159 *** Warning: the GNU linker, at least up to release 2.9.1, is reported
66225160 *** to be unable to reliably create shared libraries on AIX.
66245162 *** really care for shared libraries, you may want to modify your PATH
66255163 *** so that a non-GNU linker is found, and then restart.
66265164
6627 EOF
5165 _LT_EOF
66285166 fi
66295167 ;;
66305168
66315169 amigaos*)
6632 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
6633 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6634 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6635
6636 # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
6637 # that the semantics of dynamic libraries on AmigaOS, at least up
6638 # to version 4, is to share data among multiple programs linked
6639 # with the same dynamic library. Since this doesn't match the
6640 # behavior of shared libraries on other platforms, we can't use
6641 # them.
6642 _LT_AC_TAGVAR(ld_shlibs, $1)=no
5170 case $host_cpu in
5171 powerpc)
5172 # see comment about AmigaOS4 .so support
5173 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5174 _LT_TAGVAR(archive_expsym_cmds, $1)=''
5175 ;;
5176 m68k)
5177 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5178 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5179 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5180 ;;
5181 esac
66435182 ;;
66445183
66455184 beos*)
6646 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
6647 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
5185 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5186 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
66485187 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
66495188 # support --undefined. This deserves some investigation. FIXME
6650 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5189 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
66515190 else
6652 _LT_AC_TAGVAR(ld_shlibs, $1)=no
5191 _LT_TAGVAR(ld_shlibs, $1)=no
66535192 fi
66545193 ;;
66555194
6656 cygwin* | mingw* | pw32*)
6657 # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5195 cygwin* | mingw* | pw32* | cegcc*)
5196 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
66585197 # as there is no search path for DLLs.
6659 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6660 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
6661 _LT_AC_TAGVAR(always_export_symbols, $1)=no
6662 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6663 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
6664
6665 if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
6666 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5198 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5199 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5200 _LT_TAGVAR(always_export_symbols, $1)=no
5201 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5202 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
5203
5204 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5205 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
66675206 # If the export-symbols file already is a .def file (1st line
66685207 # is EXPORTS), use it as is; otherwise, prepend...
6669 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5208 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
66705209 cp $export_symbols $output_objdir/$soname.def;
66715210 else
66725211 echo EXPORTS > $output_objdir/$soname.def;
66745213 fi~
66755214 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
66765215 else
6677 _LT_AC_TAGVAR(ld_shlibs, $1)=no
5216 _LT_TAGVAR(ld_shlibs, $1)=no
66785217 fi
66795218 ;;
66805219
66815220 interix[[3-9]]*)
6682 _LT_AC_TAGVAR(hardcode_direct, $1)=no
6683 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
6684 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6685 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5221 _LT_TAGVAR(hardcode_direct, $1)=no
5222 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5223 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5224 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
66865225 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
66875226 # Instead, shared libraries are loaded at an image base (0x10000000 by
66885227 # default) and relocated if they conflict, which is a slow very memory
66895228 # consuming and fragmenting process. To avoid this, we pick a random,
66905229 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
66915230 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
6692 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6693 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6694 ;;
6695
6696 gnu* | linux* | k*bsd*-gnu)
6697 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
5231 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5232 _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5233 ;;
5234
5235 gnu* | linux* | tpf* | k*bsd*-gnu)
5236 tmp_diet=no
5237 if test "$host_os" = linux-dietlibc; then
5238 case $cc_basename in
5239 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
5240 esac
5241 fi
5242 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
5243 && test "$tmp_diet" = no
5244 then
66985245 tmp_addflag=
5246 tmp_sharedflag='-shared'
66995247 case $cc_basename,$host_cpu in
6700 pgcc*) # Portland Group C compiler
6701 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
5248 pgcc*) # Portland Group C compiler
5249 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
67025250 tmp_addflag=' $pic_flag'
67035251 ;;
67045252 pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
6705 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
5253 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
67065254 tmp_addflag=' $pic_flag -Mnomain' ;;
6707 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
5255 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
67085256 tmp_addflag=' -i_dynamic' ;;
67095257 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
67105258 tmp_addflag=' -i_dynamic -nofor_main' ;;
67115259 ifc* | ifort*) # Intel Fortran compiler
67125260 tmp_addflag=' -nofor_main' ;;
5261 lf95*) # Lahey Fortran 8.1
5262 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5263 tmp_sharedflag='--shared' ;;
5264 xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
5265 tmp_sharedflag='-qmkshrobj'
5266 tmp_addflag= ;;
67135267 esac
67145268 case `$CC -V 2>&1 | sed 5q` in
67155269 *Sun\ C*) # Sun C 5.9
6716 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
5270 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
5271 _LT_TAGVAR(compiler_needs_object, $1)=yes
67175272 tmp_sharedflag='-G' ;;
67185273 *Sun\ F*) # Sun Fortran 8.3
67195274 tmp_sharedflag='-G' ;;
6720 *)
6721 tmp_sharedflag='-shared' ;;
67225275 esac
6723 _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6724
6725 if test $supports_anon_versioning = yes; then
6726 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
6727 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
6728 $echo "local: *; };" >> $output_objdir/$libname.ver~
6729 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
6730 fi
5276 _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5277
5278 if test "x$supports_anon_versioning" = xyes; then
5279 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5280 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5281 echo "local: *; };" >> $output_objdir/$libname.ver~
5282 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
5283 fi
5284
5285 case $cc_basename in
5286 xlf*)
5287 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
5288 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
5289 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5290 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
5291 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
5292 if test "x$supports_anon_versioning" = xyes; then
5293 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5294 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5295 echo "local: *; };" >> $output_objdir/$libname.ver~
5296 $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
5297 fi
5298 ;;
5299 esac
67315300 else
6732 _LT_AC_TAGVAR(ld_shlibs, $1)=no
5301 _LT_TAGVAR(ld_shlibs, $1)=no
67335302 fi
67345303 ;;
67355304
67365305 netbsd*)
6737 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
6738 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
5306 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5307 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
67395308 wlarc=
67405309 else
6741 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6742 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5310 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5311 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
67435312 fi
67445313 ;;
67455314
67465315 solaris*)
6747 if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
6748 _LT_AC_TAGVAR(ld_shlibs, $1)=no
6749 cat <<EOF 1>&2
5316 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
5317 _LT_TAGVAR(ld_shlibs, $1)=no
5318 cat <<_LT_EOF 1>&2
67505319
67515320 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
67525321 *** create shared libraries on Solaris systems. Therefore, libtool
67555324 *** your PATH or compiler configuration so that the native linker is
67565325 *** used, and then restart.
67575326
6758 EOF
6759 elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
6760 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6761 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5327 _LT_EOF
5328 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5329 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5330 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
67625331 else
6763 _LT_AC_TAGVAR(ld_shlibs, $1)=no
5332 _LT_TAGVAR(ld_shlibs, $1)=no
67645333 fi
67655334 ;;
67665335
67675336 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
67685337 case `$LD -v 2>&1` in
67695338 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
6770 _LT_AC_TAGVAR(ld_shlibs, $1)=no
5339 _LT_TAGVAR(ld_shlibs, $1)=no
67715340 cat <<_LT_EOF 1>&2
67725341
67735342 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
67805349 _LT_EOF
67815350 ;;
67825351 *)
6783 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
6784 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
6785 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
6786 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
5352 # For security reasons, it is highly recommended that you always
5353 # use absolute paths for naming shared libraries, and exclude the
5354 # DT_RUNPATH tag from executables and libraries. But doing so
5355 # requires that you compile everything twice, which is a pain.
5356 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5357 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5358 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5359 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
67875360 else
6788 _LT_AC_TAGVAR(ld_shlibs, $1)=no
5361 _LT_TAGVAR(ld_shlibs, $1)=no
67895362 fi
67905363 ;;
67915364 esac
67925365 ;;
67935366
67945367 sunos4*)
6795 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5368 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
67965369 wlarc=
6797 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6798 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5370 _LT_TAGVAR(hardcode_direct, $1)=yes
5371 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
67995372 ;;
68005373
68015374 *)
6802 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
6803 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6804 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5375 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5376 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5377 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
68055378 else
6806 _LT_AC_TAGVAR(ld_shlibs, $1)=no
5379 _LT_TAGVAR(ld_shlibs, $1)=no
68075380 fi
68085381 ;;
68095382 esac
68105383
6811 if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
5384 if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
68125385 runpath_var=
6813 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
6814 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
6815 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
5386 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5387 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5388 _LT_TAGVAR(whole_archive_flag_spec, $1)=
68165389 fi
68175390 else
68185391 # PORTME fill in a description of your system's linker (not GNU ld)
68195392 case $host_os in
68205393 aix3*)
6821 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
6822 _LT_AC_TAGVAR(always_export_symbols, $1)=yes
6823 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
5394 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5395 _LT_TAGVAR(always_export_symbols, $1)=yes
5396 _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
68245397 # Note: this linker hardcodes the directories in LIBPATH if there
68255398 # are no directories specified by -L.
6826 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5399 _LT_TAGVAR(hardcode_minus_L, $1)=yes
68275400 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
68285401 # Neither direct hardcoding nor static linking is supported with a
68295402 # broken collect2.
6830 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
5403 _LT_TAGVAR(hardcode_direct, $1)=unsupported
68315404 fi
68325405 ;;
68335406
68415414 else
68425415 # If we're using GNU nm, then we don't want the "-C" option.
68435416 # -C means demangle to AIX nm, but means don't demangle with GNU nm
6844 if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
6845 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
5417 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
5418 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
68465419 else
6847 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
5420 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
68485421 fi
68495422 aix_use_runtimelinking=no
68505423
68535426 # need to do runtime linking.
68545427 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
68555428 for ld_flag in $LDFLAGS; do
6856 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
6857 aix_use_runtimelinking=yes
6858 break
6859 fi
5429 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
5430 aix_use_runtimelinking=yes
5431 break
5432 fi
68605433 done
68615434 ;;
68625435 esac
68715444 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
68725445 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
68735446
6874 _LT_AC_TAGVAR(archive_cmds, $1)=''
6875 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
6876 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
6877 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
5447 _LT_TAGVAR(archive_cmds, $1)=''
5448 _LT_TAGVAR(hardcode_direct, $1)=yes
5449 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5450 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5451 _LT_TAGVAR(link_all_deplibs, $1)=yes
5452 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
68785453
68795454 if test "$GCC" = yes; then
68805455 case $host_os in aix4.[[012]]|aix4.[[012]].*)
68815456 # We only want to do this on AIX 4.2 and lower, the check
68825457 # below for broken collect2 doesn't work under 4.3+
68835458 collect2name=`${CC} -print-prog-name=collect2`
6884 if test -f "$collect2name" && \
6885 strings "$collect2name" | grep resolve_lib_name >/dev/null
5459 if test -f "$collect2name" &&
5460 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
68865461 then
6887 # We have reworked collect2
6888 :
5462 # We have reworked collect2
5463 :
68895464 else
6890 # We have old collect2
6891 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
6892 # It fails to find uninstalled libraries when the uninstalled
6893 # path is not listed in the libpath. Setting hardcode_minus_L
6894 # to unsupported forces relinking
6895 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6896 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6897 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
5465 # We have old collect2
5466 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5467 # It fails to find uninstalled libraries when the uninstalled
5468 # path is not listed in the libpath. Setting hardcode_minus_L
5469 # to unsupported forces relinking
5470 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5471 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5472 _LT_TAGVAR(hardcode_libdir_separator, $1)=
68985473 fi
68995474 ;;
69005475 esac
69055480 else
69065481 # not using gcc
69075482 if test "$host_cpu" = ia64; then
6908 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6909 # chokes on -Wl,-G. The following line is correct:
5483 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5484 # chokes on -Wl,-G. The following line is correct:
69105485 shared_flag='-G'
69115486 else
69125487 if test "$aix_use_runtimelinking" = yes; then
69175492 fi
69185493 fi
69195494
5495 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
69205496 # It seems that -bexpall does not export symbols beginning with
69215497 # underscore (_), so it is better to generate a list of symbols to export.
6922 _LT_AC_TAGVAR(always_export_symbols, $1)=yes
5498 _LT_TAGVAR(always_export_symbols, $1)=yes
69235499 if test "$aix_use_runtimelinking" = yes; then
69245500 # Warning - without using the other runtime loading flags (-brtl),
69255501 # -berok will link without error, but may produce a broken library.
6926 _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
6927 # Determine the default libpath from the value encoded in an empty executable.
6928 _LT_AC_SYS_LIBPATH_AIX
6929 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6930 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
6931 else
5502 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5503 # Determine the default libpath from the value encoded in an
5504 # empty executable.
5505 _LT_SYS_MODULE_PATH_AIX
5506 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5507 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
5508 else
69325509 if test "$host_cpu" = ia64; then
6933 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
6934 _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6935 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
5510 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5511 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5512 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
69365513 else
6937 # Determine the default libpath from the value encoded in an empty executable.
6938 _LT_AC_SYS_LIBPATH_AIX
6939 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5514 # Determine the default libpath from the value encoded in an
5515 # empty executable.
5516 _LT_SYS_MODULE_PATH_AIX
5517 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
69405518 # Warning - without using the other run time loading flags,
69415519 # -berok will link without error, but may produce a broken library.
6942 _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
6943 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5520 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5521 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
69445522 # Exported symbols can be pulled into shared objects from archives
6945 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6946 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
5523 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5524 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
69475525 # This is similar to how AIX traditionally builds its shared libraries.
6948 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
5526 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
69495527 fi
69505528 fi
69515529 ;;
69525530
69535531 amigaos*)
6954 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
6955 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6956 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
6957 # see comment about different semantics on the GNU ld section
6958 _LT_AC_TAGVAR(ld_shlibs, $1)=no
5532 case $host_cpu in
5533 powerpc)
5534 # see comment about AmigaOS4 .so support
5535 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5536 _LT_TAGVAR(archive_expsym_cmds, $1)=''
5537 ;;
5538 m68k)
5539 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5540 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5541 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5542 ;;
5543 esac
69595544 ;;
69605545
69615546 bsdi[[45]]*)
6962 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
6963 ;;
6964
6965 cygwin* | mingw* | pw32*)
5547 _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5548 ;;
5549
5550 cygwin* | mingw* | pw32* | cegcc*)
69665551 # When not using gcc, we currently assume that we are using
69675552 # Microsoft Visual C++.
69685553 # hardcode_libdir_flag_spec is actually meaningless, as there is
69695554 # no search path for DLLs.
6970 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6971 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
5555 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5556 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
69725557 # Tell ltmain to make .lib files, not .a files.
69735558 libext=lib
69745559 # Tell ltmain to make .dll files, not .so files.
69755560 shrext_cmds=".dll"
69765561 # FIXME: Setting linknames here is a bad hack.
6977 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
5562 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
69785563 # The linker will automatically build a .lib file if we build a DLL.
6979 _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
5564 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
69805565 # FIXME: Should let the user specify the lib program.
6981 _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
6982 _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
6983 _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5566 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5567 _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
5568 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
69845569 ;;
69855570
69865571 darwin* | rhapsody*)
6987 case $host_os in
6988 rhapsody* | darwin1.[[012]])
6989 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
6990 ;;
6991 *) # Darwin 1.3 on
6992 if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
6993 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
6994 else
6995 case ${MACOSX_DEPLOYMENT_TARGET} in
6996 10.[[012]])
6997 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
6998 ;;
6999 10.*)
7000 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
7001 ;;
7002 esac
7003 fi
7004 ;;
7005 esac
7006 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
7007 _LT_AC_TAGVAR(hardcode_direct, $1)=no
7008 _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
7009 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
7010 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
7011 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
7012 if test "$GCC" = yes ; then
7013 output_verbose_link_cmd='echo'
7014 _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
7015 _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
7016 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
7017 _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
7018 else
7019 case $cc_basename in
7020 xlc*)
7021 output_verbose_link_cmd='echo'
7022 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
7023 _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
7024 # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
7025 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
7026 _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
7027 ;;
7028 *)
7029 _LT_AC_TAGVAR(ld_shlibs, $1)=no
7030 ;;
7031 esac
7032 fi
5572 _LT_DARWIN_LINKER_FEATURES($1)
70335573 ;;
70345574
70355575 dgux*)
7036 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7037 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7038 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5576 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5577 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5578 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
70395579 ;;
70405580
70415581 freebsd1*)
7042 _LT_AC_TAGVAR(ld_shlibs, $1)=no
5582 _LT_TAGVAR(ld_shlibs, $1)=no
70435583 ;;
70445584
70455585 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
70475587 # does not break anything, and helps significantly (at the cost of a little
70485588 # extra space).
70495589 freebsd2.2*)
7050 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
7051 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7052 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7053 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5590 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5591 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5592 _LT_TAGVAR(hardcode_direct, $1)=yes
5593 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
70545594 ;;
70555595
70565596 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
70575597 freebsd2*)
7058 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
7059 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7060 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
7061 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5598 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5599 _LT_TAGVAR(hardcode_direct, $1)=yes
5600 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5601 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
70625602 ;;
70635603
70645604 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
70655605 freebsd* | dragonfly*)
7066 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
7067 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7068 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7069 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5606 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
5607 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5608 _LT_TAGVAR(hardcode_direct, $1)=yes
5609 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
70705610 ;;
70715611
70725612 hpux9*)
70735613 if test "$GCC" = yes; then
7074 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5614 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
70755615 else
7076 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5616 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
70775617 fi
7078 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
7079 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7080 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
5618 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5619 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5620 _LT_TAGVAR(hardcode_direct, $1)=yes
70815621
70825622 # hardcode_minus_L: Not really in the search PATH,
70835623 # but as the default location of the library.
7084 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
7085 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5624 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5625 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
70865626 ;;
70875627
70885628 hpux10*)
70895629 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
7090 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5630 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
70915631 else
7092 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5632 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
70935633 fi
70945634 if test "$with_gnu_ld" = no; then
7095 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
7096 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7097
7098 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7099 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
7100
5635 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5636 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
5637 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5638 _LT_TAGVAR(hardcode_direct, $1)=yes
5639 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5640 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
71015641 # hardcode_minus_L: Not really in the search PATH,
71025642 # but as the default location of the library.
7103 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5643 _LT_TAGVAR(hardcode_minus_L, $1)=yes
71045644 fi
71055645 ;;
71065646
71085648 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
71095649 case $host_cpu in
71105650 hppa*64*)
7111 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5651 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
71125652 ;;
71135653 ia64*)
7114 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5654 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
71155655 ;;
71165656 *)
7117 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5657 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
71185658 ;;
71195659 esac
71205660 else
71215661 case $host_cpu in
71225662 hppa*64*)
7123 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5663 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
71245664 ;;
71255665 ia64*)
7126 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5666 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
71275667 ;;
71285668 *)
7129 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5669 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
71305670 ;;
71315671 esac
71325672 fi
71335673 if test "$with_gnu_ld" = no; then
7134 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
7135 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5674 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5675 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
71365676
71375677 case $host_cpu in
71385678 hppa*64*|ia64*)
7139 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
7140 _LT_AC_TAGVAR(hardcode_direct, $1)=no
7141 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5679 _LT_TAGVAR(hardcode_direct, $1)=no
5680 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
71425681 ;;
71435682 *)
7144 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7145 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5683 _LT_TAGVAR(hardcode_direct, $1)=yes
5684 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5685 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
71465686
71475687 # hardcode_minus_L: Not really in the search PATH,
71485688 # but as the default location of the library.
7149 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
5689 _LT_TAGVAR(hardcode_minus_L, $1)=yes
71505690 ;;
71515691 esac
71525692 fi
71545694
71555695 irix5* | irix6* | nonstopux*)
71565696 if test "$GCC" = yes; then
7157 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5697 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5698 # Try to use the -exported_symbol ld option, if it does not
5699 # work, assume that -exports_file does not work either and
5700 # implicitly export all symbols.
5701 save_LDFLAGS="$LDFLAGS"
5702 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
5703 AC_LINK_IFELSE(int foo(void) {},
5704 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
5705 )
5706 LDFLAGS="$save_LDFLAGS"
71585707 else
7159 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
7160 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
5708 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
5709 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
71615710 fi
7162 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7163 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7164 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
5711 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5712 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5713 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5714 _LT_TAGVAR(inherit_rpath, $1)=yes
5715 _LT_TAGVAR(link_all_deplibs, $1)=yes
71655716 ;;
71665717
71675718 netbsd*)
7168 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
7169 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
5719 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5720 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
71705721 else
7171 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
5722 _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
71725723 fi
7173 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7174 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7175 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5724 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5725 _LT_TAGVAR(hardcode_direct, $1)=yes
5726 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
71765727 ;;
71775728
71785729 newsos6)
7179 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7180 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7181 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7182 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
7183 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5730 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5731 _LT_TAGVAR(hardcode_direct, $1)=yes
5732 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5733 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5734 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5735 ;;
5736
5737 *nto* | *qnx*)
71845738 ;;
71855739
71865740 openbsd*)
71875741 if test -f /usr/libexec/ld.so; then
7188 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7189 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7190 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
7191 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
7192 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
7193 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
7194 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5742 _LT_TAGVAR(hardcode_direct, $1)=yes
5743 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5744 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5745 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
5746 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5747 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
5748 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5749 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
71955750 else
71965751 case $host_os in
71975752 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
7198 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
7199 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5753 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5754 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
72005755 ;;
72015756 *)
7202 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
7203 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5757 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5758 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
72045759 ;;
72055760 esac
7206 fi
5761 fi
72075762 else
7208 _LT_AC_TAGVAR(ld_shlibs, $1)=no
5763 _LT_TAGVAR(ld_shlibs, $1)=no
72095764 fi
72105765 ;;
72115766
72125767 os2*)
7213 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7214 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
7215 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
7216 _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
7217 _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
5768 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5769 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5770 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5771 _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
5772 _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
72185773 ;;
72195774
72205775 osf3*)
72215776 if test "$GCC" = yes; then
7222 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
7223 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5777 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
5778 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
72245779 else
7225 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7226 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
5780 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5781 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
72275782 fi
7228 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7229 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5783 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5784 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5785 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
72305786 ;;
72315787
72325788 osf4* | osf5*) # as osf3* with the addition of -msym flag
72335789 if test "$GCC" = yes; then
7234 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
7235 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
7236 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5790 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
5791 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5792 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
72375793 else
7238 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7239 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
7240 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
7241 $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
5794 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5795 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
5796 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
5797 $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
72425798
72435799 # Both c and cxx compiler support -rpath directly
7244 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5800 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
72455801 fi
7246 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
5802 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5803 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
72475804 ;;
72485805
72495806 solaris*)
7250 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
5807 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
72515808 if test "$GCC" = yes; then
72525809 wlarc='${wl}'
7253 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
7254 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
7255 $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
5810 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5811 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5812 $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
72565813 else
7257 wlarc=''
7258 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
7259 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
7260 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
5814 case `$CC -V 2>&1` in
5815 *"Compilers 5.0"*)
5816 wlarc=''
5817 _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
5818 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5819 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
5820 ;;
5821 *)
5822 wlarc='${wl}'
5823 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
5824 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5825 $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5826 ;;
5827 esac
72615828 fi
7262 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7263 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5829 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5830 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
72645831 case $host_os in
72655832 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
72665833 *)
72675834 # The compiler driver will combine and reorder linker options,
72685835 # but understands `-z linker_flag'. GCC discards it without `$wl',
72695836 # but is careful enough not to reorder.
7270 # Supported since Solaris 2.6 (maybe 2.5.1?)
5837 # Supported since Solaris 2.6 (maybe 2.5.1?)
72715838 if test "$GCC" = yes; then
7272 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
5839 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
72735840 else
7274 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5841 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
72755842 fi
72765843 ;;
72775844 esac
7278 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
5845 _LT_TAGVAR(link_all_deplibs, $1)=yes
72795846 ;;
72805847
72815848 sunos4*)
72825849 if test "x$host_vendor" = xsequent; then
72835850 # Use $CC to link under sequent, because it throws in some extra .o
72845851 # files that make .init and .fini sections work.
7285 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
5852 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
72865853 else
7287 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5854 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
72885855 fi
7289 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7290 _LT_AC_TAGVAR(hardcode_direct, $1)=yes
7291 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
7292 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5856 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5857 _LT_TAGVAR(hardcode_direct, $1)=yes
5858 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5859 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
72935860 ;;
72945861
72955862 sysv4)
72965863 case $host_vendor in
72975864 sni)
7298 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7299 _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5865 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5866 _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
73005867 ;;
73015868 siemens)
73025869 ## LD is ld it makes a PLAMLIB
73035870 ## CC just makes a GrossModule.
7304 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
7305 _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
7306 _LT_AC_TAGVAR(hardcode_direct, $1)=no
5871 _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5872 _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5873 _LT_TAGVAR(hardcode_direct, $1)=no
73075874 ;;
73085875 motorola)
7309 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7310 _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5876 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5877 _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
73115878 ;;
73125879 esac
73135880 runpath_var='LD_RUN_PATH'
7314 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5881 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
73155882 ;;
73165883
73175884 sysv4.3*)
7318 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7319 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7320 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5885 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5886 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5887 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
73215888 ;;
73225889
73235890 sysv4*MP*)
73245891 if test -d /usr/nec; then
7325 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7326 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5892 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5893 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
73275894 runpath_var=LD_RUN_PATH
73285895 hardcode_runpath_var=yes
7329 _LT_AC_TAGVAR(ld_shlibs, $1)=yes
5896 _LT_TAGVAR(ld_shlibs, $1)=yes
73305897 fi
73315898 ;;
73325899
73335900 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
7334 _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
7335 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
7336 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5901 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5902 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5903 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
73375904 runpath_var='LD_RUN_PATH'
73385905
73395906 if test "$GCC" = yes; then
7340 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7341 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5907 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5908 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
73425909 else
7343 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7344 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5910 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5911 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
73455912 fi
73465913 ;;
73475914
73525919 # ever link correctly. If we're not using GNU ld we use -z text
73535920 # though, which does catch some bad symbols but isn't as heavy-handed
73545921 # as -z defs.
7355 _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
7356 _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
7357 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
7358 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
7359 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
7360 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
7361 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
7362 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
5922 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5923 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5924 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5925 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5926 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5927 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5928 _LT_TAGVAR(link_all_deplibs, $1)=yes
5929 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
73635930 runpath_var='LD_RUN_PATH'
73645931
73655932 if test "$GCC" = yes; then
7366 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
7367 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
5933 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5934 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
73685935 else
7369 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
7370 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
5936 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5937 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
73715938 fi
73725939 ;;
73735940
73745941 uts4*)
7375 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7376 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7377 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
5942 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5943 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5944 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
73785945 ;;
73795946
73805947 *)
7381 _LT_AC_TAGVAR(ld_shlibs, $1)=no
5948 _LT_TAGVAR(ld_shlibs, $1)=no
73825949 ;;
73835950 esac
5951
5952 if test x$host_vendor = xsni; then
5953 case $host in
5954 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5955 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5956 ;;
5957 esac
5958 fi
73845959 fi
73855960 ])
7386 AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
7387 test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5961 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5962 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5963
5964 _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5965
5966 _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5967 _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5968 _LT_DECL([], [extract_expsyms_cmds], [2],
5969 [The commands to extract the exported symbol list from a shared archive])
73885970
73895971 #
73905972 # Do we need to explicitly link libc?
73915973 #
7392 case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
5974 case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
73935975 x|xyes)
73945976 # Assume -lc should be added
7395 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
5977 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
73965978
73975979 if test "$enable_shared" = yes && test "$GCC" = yes; then
7398 case $_LT_AC_TAGVAR(archive_cmds, $1) in
5980 case $_LT_TAGVAR(archive_cmds, $1) in
73995981 *'~'*)
74005982 # FIXME: we may have to deal with multi-command sequences.
74015983 ;;
74045986 # systems, -lgcc has to come before -lc. If gcc already passes -lc
74055987 # to ld, don't add -lc before -lgcc.
74065988 AC_MSG_CHECKING([whether -lc should be explicitly linked in])
7407 $rm conftest*
5989 $RM conftest*
74085990 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
74095991
74105992 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
74125994 lib=conftest
74135995 libobjs=conftest.$ac_objext
74145996 deplibs=
7415 wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
7416 pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
5997 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5998 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
74175999 compiler_flags=-v
74186000 linker_flags=-v
74196001 verstring=
74206002 output_objdir=.
74216003 libname=conftest
7422 lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
7423 _LT_AC_TAGVAR(allow_undefined_flag, $1)=
7424 if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
6004 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
6005 _LT_TAGVAR(allow_undefined_flag, $1)=
6006 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
74256007 then
7426 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
6008 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
74276009 else
7428 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
6010 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
74296011 fi
7430 _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
6012 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
74316013 else
74326014 cat conftest.err 1>&5
74336015 fi
7434 $rm conftest*
7435 AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
6016 $RM conftest*
6017 AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
74366018 ;;
74376019 esac
74386020 fi
74396021 ;;
74406022 esac
7441 ])# AC_LIBTOOL_PROG_LD_SHLIBS
7442
7443
7444 # _LT_AC_FILE_LTDLL_C
7445 # -------------------
7446 # Be careful that the start marker always follows a newline.
7447 AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
7448 # /* ltdll.c starts here */
7449 # #define WIN32_LEAN_AND_MEAN
7450 # #include <windows.h>
7451 # #undef WIN32_LEAN_AND_MEAN
7452 # #include <stdio.h>
7453 #
7454 # #ifndef __CYGWIN__
7455 # # ifdef __CYGWIN32__
7456 # # define __CYGWIN__ __CYGWIN32__
7457 # # endif
7458 # #endif
7459 #
7460 # #ifdef __cplusplus
7461 # extern "C" {
7462 # #endif
7463 # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
7464 # #ifdef __cplusplus
7465 # }
7466 # #endif
7467 #
7468 # #ifdef __CYGWIN__
7469 # #include <cygwin/cygwin_dll.h>
7470 # DECLARE_CYGWIN_DLL( DllMain );
7471 # #endif
7472 # HINSTANCE __hDllInstance_base;
7473 #
7474 # BOOL APIENTRY
7475 # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
7476 # {
7477 # __hDllInstance_base = hInst;
7478 # return TRUE;
7479 # }
7480 # /* ltdll.c ends here */
7481 ])# _LT_AC_FILE_LTDLL_C
7482
7483
7484 # _LT_AC_TAGVAR(VARNAME, [TAGNAME])
6023
6024 _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
6025 [Whether or not to add -lc for building shared libraries])
6026 _LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
6027 [enable_shared_with_static_runtimes], [0],
6028 [Whether or not to disallow shared libs when runtime libs are static])
6029 _LT_TAGDECL([], [export_dynamic_flag_spec], [1],
6030 [Compiler flag to allow reflexive dlopens])
6031 _LT_TAGDECL([], [whole_archive_flag_spec], [1],
6032 [Compiler flag to generate shared objects directly from archives])
6033 _LT_TAGDECL([], [compiler_needs_object], [1],
6034 [Whether the compiler copes with passing no objects directly])
6035 _LT_TAGDECL([], [old_archive_from_new_cmds], [2],
6036 [Create an old-style archive from a shared archive])
6037 _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
6038 [Create a temporary old-style archive to link instead of a shared archive])
6039 _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
6040 _LT_TAGDECL([], [archive_expsym_cmds], [2])
6041 _LT_TAGDECL([], [module_cmds], [2],
6042 [Commands used to build a loadable module if different from building
6043 a shared archive.])
6044 _LT_TAGDECL([], [module_expsym_cmds], [2])
6045 _LT_TAGDECL([], [with_gnu_ld], [1],
6046 [Whether we are building with GNU ld or not])
6047 _LT_TAGDECL([], [allow_undefined_flag], [1],
6048 [Flag that allows shared libraries with undefined symbols to be built])
6049 _LT_TAGDECL([], [no_undefined_flag], [1],
6050 [Flag that enforces no undefined symbols])
6051 _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
6052 [Flag to hardcode $libdir into a binary during linking.
6053 This must work even if $libdir does not exist])
6054 _LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
6055 [[If ld is used when linking, flag to hardcode $libdir into a binary
6056 during linking. This must work even if $libdir does not exist]])
6057 _LT_TAGDECL([], [hardcode_libdir_separator], [1],
6058 [Whether we need a single "-rpath" flag with a separated argument])
6059 _LT_TAGDECL([], [hardcode_direct], [0],
6060 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
6061 DIR into the resulting binary])
6062 _LT_TAGDECL([], [hardcode_direct_absolute], [0],
6063 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
6064 DIR into the resulting binary and the resulting library dependency is
6065 "absolute", i.e impossible to change by setting ${shlibpath_var} if the
6066 library is relocated])
6067 _LT_TAGDECL([], [hardcode_minus_L], [0],
6068 [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
6069 into the resulting binary])
6070 _LT_TAGDECL([], [hardcode_shlibpath_var], [0],
6071 [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
6072 into the resulting binary])
6073 _LT_TAGDECL([], [hardcode_automatic], [0],
6074 [Set to "yes" if building a shared library automatically hardcodes DIR
6075 into the library and all subsequent libraries and executables linked
6076 against it])
6077 _LT_TAGDECL([], [inherit_rpath], [0],
6078 [Set to yes if linker adds runtime paths of dependent libraries
6079 to runtime path list])
6080 _LT_TAGDECL([], [link_all_deplibs], [0],
6081 [Whether libtool must link a program against all its dependency libraries])
6082 _LT_TAGDECL([], [fix_srcfile_path], [1],
6083 [Fix the shell variable $srcfile for the compiler])
6084 _LT_TAGDECL([], [always_export_symbols], [0],
6085 [Set to "yes" if exported symbols are required])
6086 _LT_TAGDECL([], [export_symbols_cmds], [2],
6087 [The commands to list exported symbols])
6088 _LT_TAGDECL([], [exclude_expsyms], [1],
6089 [Symbols that should not be listed in the preloaded symbols])
6090 _LT_TAGDECL([], [include_expsyms], [1],
6091 [Symbols that must always be exported])
6092 _LT_TAGDECL([], [prelink_cmds], [2],
6093 [Commands necessary for linking programs (against libraries) with templates])
6094 _LT_TAGDECL([], [file_list_spec], [1],
6095 [Specify filename containing input files])
6096 dnl FIXME: Not yet implemented
6097 dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
6098 dnl [Compiler flag to generate thread safe objects])
6099 ])# _LT_LINKER_SHLIBS
6100
6101
6102 # _LT_LANG_C_CONFIG([TAG])
6103 # ------------------------
6104 # Ensure that the configuration variables for a C compiler are suitably
6105 # defined. These variables are subsequently used by _LT_CONFIG to write
6106 # the compiler configuration to `libtool'.
6107 m4_defun([_LT_LANG_C_CONFIG],
6108 [m4_require([_LT_DECL_EGREP])dnl
6109 lt_save_CC="$CC"
6110 AC_LANG_PUSH(C)
6111
6112 # Source file extension for C test sources.
6113 ac_ext=c
6114
6115 # Object file extension for compiled C test sources.
6116 objext=o
6117 _LT_TAGVAR(objext, $1)=$objext
6118
6119 # Code to be used in simple compile tests
6120 lt_simple_compile_test_code="int some_variable = 0;"
6121
6122 # Code to be used in simple link tests
6123 lt_simple_link_test_code='int main(){return(0);}'
6124
6125 _LT_TAG_COMPILER
6126 # Save the default compiler, since it gets overwritten when the other
6127 # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
6128 compiler_DEFAULT=$CC
6129
6130 # save warnings/boilerplate of simple test code
6131 _LT_COMPILER_BOILERPLATE
6132 _LT_LINKER_BOILERPLATE
6133
6134 if test -n "$compiler"; then
6135 _LT_COMPILER_NO_RTTI($1)
6136 _LT_COMPILER_PIC($1)
6137 _LT_COMPILER_C_O($1)
6138 _LT_COMPILER_FILE_LOCKS($1)
6139 _LT_LINKER_SHLIBS($1)
6140 _LT_SYS_DYNAMIC_LINKER($1)
6141 _LT_LINKER_HARDCODE_LIBPATH($1)
6142 LT_SYS_DLOPEN_SELF
6143 _LT_CMD_STRIPLIB
6144
6145 # Report which library types will actually be built
6146 AC_MSG_CHECKING([if libtool supports shared libraries])
6147 AC_MSG_RESULT([$can_build_shared])
6148
6149 AC_MSG_CHECKING([whether to build shared libraries])
6150 test "$can_build_shared" = "no" && enable_shared=no
6151
6152 # On AIX, shared libraries and static libraries use the same namespace, and
6153 # are all built from PIC.
6154 case $host_os in
6155 aix3*)
6156 test "$enable_shared" = yes && enable_static=no
6157 if test -n "$RANLIB"; then
6158 archive_cmds="$archive_cmds~\$RANLIB \$lib"
6159 postinstall_cmds='$RANLIB $lib'
6160 fi
6161 ;;
6162
6163 aix[[4-9]]*)
6164 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6165 test "$enable_shared" = yes && enable_static=no
6166 fi
6167 ;;
6168 esac
6169 AC_MSG_RESULT([$enable_shared])
6170
6171 AC_MSG_CHECKING([whether to build static libraries])
6172 # Make sure either enable_shared or enable_static is yes.
6173 test "$enable_shared" = yes || enable_static=yes
6174 AC_MSG_RESULT([$enable_static])
6175
6176 _LT_CONFIG($1)
6177 fi
6178 AC_LANG_POP
6179 CC="$lt_save_CC"
6180 ])# _LT_LANG_C_CONFIG
6181
6182
6183 # _LT_PROG_CXX
6184 # ------------
6185 # Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
6186 # compiler, we have our own version here.
6187 m4_defun([_LT_PROG_CXX],
6188 [
6189 pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
6190 AC_PROG_CXX
6191 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
6192 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
6193 (test "X$CXX" != "Xg++"))) ; then
6194 AC_PROG_CXXCPP
6195 else
6196 _lt_caught_CXX_error=yes
6197 fi
6198 popdef([AC_MSG_ERROR])
6199 ])# _LT_PROG_CXX
6200
6201 dnl aclocal-1.4 backwards compatibility:
6202 dnl AC_DEFUN([_LT_PROG_CXX], [])
6203
6204
6205 # _LT_LANG_CXX_CONFIG([TAG])
6206 # --------------------------
6207 # Ensure that the configuration variables for a C++ compiler are suitably
6208 # defined. These variables are subsequently used by _LT_CONFIG to write
6209 # the compiler configuration to `libtool'.
6210 m4_defun([_LT_LANG_CXX_CONFIG],
6211 [AC_REQUIRE([_LT_PROG_CXX])dnl
6212 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6213 m4_require([_LT_DECL_EGREP])dnl
6214
6215 AC_LANG_PUSH(C++)
6216 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6217 _LT_TAGVAR(allow_undefined_flag, $1)=
6218 _LT_TAGVAR(always_export_symbols, $1)=no
6219 _LT_TAGVAR(archive_expsym_cmds, $1)=
6220 _LT_TAGVAR(compiler_needs_object, $1)=no
6221 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
6222 _LT_TAGVAR(hardcode_direct, $1)=no
6223 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6224 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6225 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6226 _LT_TAGVAR(hardcode_libdir_separator, $1)=
6227 _LT_TAGVAR(hardcode_minus_L, $1)=no
6228 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6229 _LT_TAGVAR(hardcode_automatic, $1)=no
6230 _LT_TAGVAR(inherit_rpath, $1)=no
6231 _LT_TAGVAR(module_cmds, $1)=
6232 _LT_TAGVAR(module_expsym_cmds, $1)=
6233 _LT_TAGVAR(link_all_deplibs, $1)=unknown
6234 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6235 _LT_TAGVAR(no_undefined_flag, $1)=
6236 _LT_TAGVAR(whole_archive_flag_spec, $1)=
6237 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6238
6239 # Source file extension for C++ test sources.
6240 ac_ext=cpp
6241
6242 # Object file extension for compiled C++ test sources.
6243 objext=o
6244 _LT_TAGVAR(objext, $1)=$objext
6245
6246 # No sense in running all these tests if we already determined that
6247 # the CXX compiler isn't working. Some variables (like enable_shared)
6248 # are currently assumed to apply to all compilers on this platform,
6249 # and will be corrupted by setting them based on a non-working compiler.
6250 if test "$_lt_caught_CXX_error" != yes; then
6251 # Code to be used in simple compile tests
6252 lt_simple_compile_test_code="int some_variable = 0;"
6253
6254 # Code to be used in simple link tests
6255 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
6256
6257 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6258 _LT_TAG_COMPILER
6259
6260 # save warnings/boilerplate of simple test code
6261 _LT_COMPILER_BOILERPLATE
6262 _LT_LINKER_BOILERPLATE
6263
6264 # Allow CC to be a program name with arguments.
6265 lt_save_CC=$CC
6266 lt_save_LD=$LD
6267 lt_save_GCC=$GCC
6268 GCC=$GXX
6269 lt_save_with_gnu_ld=$with_gnu_ld
6270 lt_save_path_LD=$lt_cv_path_LD
6271 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
6272 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
6273 else
6274 $as_unset lt_cv_prog_gnu_ld
6275 fi
6276 if test -n "${lt_cv_path_LDCXX+set}"; then
6277 lt_cv_path_LD=$lt_cv_path_LDCXX
6278 else
6279 $as_unset lt_cv_path_LD
6280 fi
6281 test -z "${LDCXX+set}" || LD=$LDCXX
6282 CC=${CXX-"c++"}
6283 compiler=$CC
6284 _LT_TAGVAR(compiler, $1)=$CC
6285 _LT_CC_BASENAME([$compiler])
6286
6287 if test -n "$compiler"; then
6288 # We don't want -fno-exception when compiling C++ code, so set the
6289 # no_builtin_flag separately
6290 if test "$GXX" = yes; then
6291 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
6292 else
6293 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
6294 fi
6295
6296 if test "$GXX" = yes; then
6297 # Set up default GNU C++ configuration
6298
6299 LT_PATH_LD
6300
6301 # Check if GNU C++ uses GNU ld as the underlying linker, since the
6302 # archiving commands below assume that GNU ld is being used.
6303 if test "$with_gnu_ld" = yes; then
6304 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6305 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
6306
6307 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6308 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6309
6310 # If archive_cmds runs LD, not CC, wlarc should be empty
6311 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
6312 # investigate it a little bit more. (MM)
6313 wlarc='${wl}'
6314
6315 # ancient GNU ld didn't support --whole-archive et. al.
6316 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
6317 $GREP 'no-whole-archive' > /dev/null; then
6318 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6319 else
6320 _LT_TAGVAR(whole_archive_flag_spec, $1)=
6321 fi
6322 else
6323 with_gnu_ld=no
6324 wlarc=
6325
6326 # A generic and very simple default shared library creation
6327 # command for GNU C++ for the case where it uses the native
6328 # linker, instead of GNU ld. If possible, this setting should
6329 # overridden to take advantage of the native linker features on
6330 # the platform it is being used on.
6331 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6332 fi
6333
6334 # Commands to make compiler produce verbose output that lists
6335 # what "hidden" libraries, object files and flags are used when
6336 # linking a shared library.
6337 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6338
6339 else
6340 GXX=no
6341 with_gnu_ld=no
6342 wlarc=
6343 fi
6344
6345 # PORTME: fill in a description of your system's C++ link characteristics
6346 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
6347 _LT_TAGVAR(ld_shlibs, $1)=yes
6348 case $host_os in
6349 aix3*)
6350 # FIXME: insert proper C++ library support
6351 _LT_TAGVAR(ld_shlibs, $1)=no
6352 ;;
6353 aix[[4-9]]*)
6354 if test "$host_cpu" = ia64; then
6355 # On IA64, the linker does run time linking by default, so we don't
6356 # have to do anything special.
6357 aix_use_runtimelinking=no
6358 exp_sym_flag='-Bexport'
6359 no_entry_flag=""
6360 else
6361 aix_use_runtimelinking=no
6362
6363 # Test if we are trying to use run time linking or normal
6364 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
6365 # need to do runtime linking.
6366 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
6367 for ld_flag in $LDFLAGS; do
6368 case $ld_flag in
6369 *-brtl*)
6370 aix_use_runtimelinking=yes
6371 break
6372 ;;
6373 esac
6374 done
6375 ;;
6376 esac
6377
6378 exp_sym_flag='-bexport'
6379 no_entry_flag='-bnoentry'
6380 fi
6381
6382 # When large executables or shared objects are built, AIX ld can
6383 # have problems creating the table of contents. If linking a library
6384 # or program results in "error TOC overflow" add -mminimal-toc to
6385 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
6386 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6387
6388 _LT_TAGVAR(archive_cmds, $1)=''
6389 _LT_TAGVAR(hardcode_direct, $1)=yes
6390 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6391 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6392 _LT_TAGVAR(link_all_deplibs, $1)=yes
6393 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
6394
6395 if test "$GXX" = yes; then
6396 case $host_os in aix4.[[012]]|aix4.[[012]].*)
6397 # We only want to do this on AIX 4.2 and lower, the check
6398 # below for broken collect2 doesn't work under 4.3+
6399 collect2name=`${CC} -print-prog-name=collect2`
6400 if test -f "$collect2name" &&
6401 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
6402 then
6403 # We have reworked collect2
6404 :
6405 else
6406 # We have old collect2
6407 _LT_TAGVAR(hardcode_direct, $1)=unsupported
6408 # It fails to find uninstalled libraries when the uninstalled
6409 # path is not listed in the libpath. Setting hardcode_minus_L
6410 # to unsupported forces relinking
6411 _LT_TAGVAR(hardcode_minus_L, $1)=yes
6412 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6413 _LT_TAGVAR(hardcode_libdir_separator, $1)=
6414 fi
6415 esac
6416 shared_flag='-shared'
6417 if test "$aix_use_runtimelinking" = yes; then
6418 shared_flag="$shared_flag "'${wl}-G'
6419 fi
6420 else
6421 # not using gcc
6422 if test "$host_cpu" = ia64; then
6423 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6424 # chokes on -Wl,-G. The following line is correct:
6425 shared_flag='-G'
6426 else
6427 if test "$aix_use_runtimelinking" = yes; then
6428 shared_flag='${wl}-G'
6429 else
6430 shared_flag='${wl}-bM:SRE'
6431 fi
6432 fi
6433 fi
6434
6435 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
6436 # It seems that -bexpall does not export symbols beginning with
6437 # underscore (_), so it is better to generate a list of symbols to
6438 # export.
6439 _LT_TAGVAR(always_export_symbols, $1)=yes
6440 if test "$aix_use_runtimelinking" = yes; then
6441 # Warning - without using the other runtime loading flags (-brtl),
6442 # -berok will link without error, but may produce a broken library.
6443 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
6444 # Determine the default libpath from the value encoded in an empty
6445 # executable.
6446 _LT_SYS_MODULE_PATH_AIX
6447 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6448
6449 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
6450 else
6451 if test "$host_cpu" = ia64; then
6452 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
6453 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6454 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
6455 else
6456 # Determine the default libpath from the value encoded in an
6457 # empty executable.
6458 _LT_SYS_MODULE_PATH_AIX
6459 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6460 # Warning - without using the other run time loading flags,
6461 # -berok will link without error, but may produce a broken library.
6462 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
6463 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
6464 # Exported symbols can be pulled into shared objects from archives
6465 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6466 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6467 # This is similar to how AIX traditionally builds its shared
6468 # libraries.
6469 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
6470 fi
6471 fi
6472 ;;
6473
6474 beos*)
6475 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6476 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6477 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
6478 # support --undefined. This deserves some investigation. FIXME
6479 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6480 else
6481 _LT_TAGVAR(ld_shlibs, $1)=no
6482 fi
6483 ;;
6484
6485 chorus*)
6486 case $cc_basename in
6487 *)
6488 # FIXME: insert proper C++ library support
6489 _LT_TAGVAR(ld_shlibs, $1)=no
6490 ;;
6491 esac
6492 ;;
6493
6494 cygwin* | mingw* | pw32* | cegcc*)
6495 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6496 # as there is no search path for DLLs.
6497 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6498 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6499 _LT_TAGVAR(always_export_symbols, $1)=no
6500 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6501
6502 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6503 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6504 # If the export-symbols file already is a .def file (1st line
6505 # is EXPORTS), use it as is; otherwise, prepend...
6506 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
6507 cp $export_symbols $output_objdir/$soname.def;
6508 else
6509 echo EXPORTS > $output_objdir/$soname.def;
6510 cat $export_symbols >> $output_objdir/$soname.def;
6511 fi~
6512 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6513 else
6514 _LT_TAGVAR(ld_shlibs, $1)=no
6515 fi
6516 ;;
6517 darwin* | rhapsody*)
6518 _LT_DARWIN_LINKER_FEATURES($1)
6519 ;;
6520
6521 dgux*)
6522 case $cc_basename in
6523 ec++*)
6524 # FIXME: insert proper C++ library support
6525 _LT_TAGVAR(ld_shlibs, $1)=no
6526 ;;
6527 ghcx*)
6528 # Green Hills C++ Compiler
6529 # FIXME: insert proper C++ library support
6530 _LT_TAGVAR(ld_shlibs, $1)=no
6531 ;;
6532 *)
6533 # FIXME: insert proper C++ library support
6534 _LT_TAGVAR(ld_shlibs, $1)=no
6535 ;;
6536 esac
6537 ;;
6538
6539 freebsd[[12]]*)
6540 # C++ shared libraries reported to be fairly broken before
6541 # switch to ELF
6542 _LT_TAGVAR(ld_shlibs, $1)=no
6543 ;;
6544
6545 freebsd-elf*)
6546 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6547 ;;
6548
6549 freebsd* | dragonfly*)
6550 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
6551 # conventions
6552 _LT_TAGVAR(ld_shlibs, $1)=yes
6553 ;;
6554
6555 gnu*)
6556 ;;
6557
6558 hpux9*)
6559 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6560 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6561 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6562 _LT_TAGVAR(hardcode_direct, $1)=yes
6563 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6564 # but as the default
6565 # location of the library.
6566
6567 case $cc_basename in
6568 CC*)
6569 # FIXME: insert proper C++ library support
6570 _LT_TAGVAR(ld_shlibs, $1)=no
6571 ;;
6572 aCC*)
6573 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
6574 # Commands to make compiler produce verbose output that lists
6575 # what "hidden" libraries, object files and flags are used when
6576 # linking a shared library.
6577 #
6578 # There doesn't appear to be a way to prevent this compiler from
6579 # explicitly linking system object files so we need to strip them
6580 # from the output so that they don't get included in the library
6581 # dependencies.
6582 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
6583 ;;
6584 *)
6585 if test "$GXX" = yes; then
6586 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
6587 else
6588 # FIXME: insert proper C++ library support
6589 _LT_TAGVAR(ld_shlibs, $1)=no
6590 fi
6591 ;;
6592 esac
6593 ;;
6594
6595 hpux10*|hpux11*)
6596 if test $with_gnu_ld = no; then
6597 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6598 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6599
6600 case $host_cpu in
6601 hppa*64*|ia64*)
6602 ;;
6603 *)
6604 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6605 ;;
6606 esac
6607 fi
6608 case $host_cpu in
6609 hppa*64*|ia64*)
6610 _LT_TAGVAR(hardcode_direct, $1)=no
6611 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6612 ;;
6613 *)
6614 _LT_TAGVAR(hardcode_direct, $1)=yes
6615 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6616 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6617 # but as the default
6618 # location of the library.
6619 ;;
6620 esac
6621
6622 case $cc_basename in
6623 CC*)
6624 # FIXME: insert proper C++ library support
6625 _LT_TAGVAR(ld_shlibs, $1)=no
6626 ;;
6627 aCC*)
6628 case $host_cpu in
6629 hppa*64*)
6630 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6631 ;;
6632 ia64*)
6633 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6634 ;;
6635 *)
6636 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6637 ;;
6638 esac
6639 # Commands to make compiler produce verbose output that lists
6640 # what "hidden" libraries, object files and flags are used when
6641 # linking a shared library.
6642 #
6643 # There doesn't appear to be a way to prevent this compiler from
6644 # explicitly linking system object files so we need to strip them
6645 # from the output so that they don't get included in the library
6646 # dependencies.
6647 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
6648 ;;
6649 *)
6650 if test "$GXX" = yes; then
6651 if test $with_gnu_ld = no; then
6652 case $host_cpu in
6653 hppa*64*)
6654 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6655 ;;
6656 ia64*)
6657 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6658 ;;
6659 *)
6660 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6661 ;;
6662 esac
6663 fi
6664 else
6665 # FIXME: insert proper C++ library support
6666 _LT_TAGVAR(ld_shlibs, $1)=no
6667 fi
6668 ;;
6669 esac
6670 ;;
6671
6672 interix[[3-9]]*)
6673 _LT_TAGVAR(hardcode_direct, $1)=no
6674 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6675 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6676 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6677 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6678 # Instead, shared libraries are loaded at an image base (0x10000000 by
6679 # default) and relocated if they conflict, which is a slow very memory
6680 # consuming and fragmenting process. To avoid this, we pick a random,
6681 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6682 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
6683 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6684 _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6685 ;;
6686 irix5* | irix6*)
6687 case $cc_basename in
6688 CC*)
6689 # SGI C++
6690 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
6691
6692 # Archives containing C++ object files must be created using
6693 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
6694 # necessary to make sure instantiated templates are included
6695 # in the archive.
6696 _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
6697 ;;
6698 *)
6699 if test "$GXX" = yes; then
6700 if test "$with_gnu_ld" = no; then
6701 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6702 else
6703 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
6704 fi
6705 fi
6706 _LT_TAGVAR(link_all_deplibs, $1)=yes
6707 ;;
6708 esac
6709 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6710 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6711 _LT_TAGVAR(inherit_rpath, $1)=yes
6712 ;;
6713
6714 linux* | k*bsd*-gnu)
6715 case $cc_basename in
6716 KCC*)
6717 # Kuck and Associates, Inc. (KAI) C++ Compiler
6718
6719 # KCC will only create a shared library if the output file
6720 # ends with ".so" (or ".sl" for HP-UX), so rename the library
6721 # to its proper name (with version) after linking.
6722 _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
6723 _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
6724 # Commands to make compiler produce verbose output that lists
6725 # what "hidden" libraries, object files and flags are used when
6726 # linking a shared library.
6727 #
6728 # There doesn't appear to be a way to prevent this compiler from
6729 # explicitly linking system object files so we need to strip them
6730 # from the output so that they don't get included in the library
6731 # dependencies.
6732 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
6733
6734 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6735 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6736
6737 # Archives containing C++ object files must be created using
6738 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
6739 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
6740 ;;
6741 icpc* | ecpc* )
6742 # Intel C++
6743 with_gnu_ld=yes
6744 # version 8.0 and above of icpc choke on multiply defined symbols
6745 # if we add $predep_objects and $postdep_objects, however 7.1 and
6746 # earlier do not add the objects themselves.
6747 case `$CC -V 2>&1` in
6748 *"Version 7."*)
6749 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6750 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
6751 ;;
6752 *) # Version 8.0 or newer
6753 tmp_idyn=
6754 case $host_cpu in
6755 ia64*) tmp_idyn=' -i_dynamic';;
6756 esac
6757 _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6758 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
6759 ;;
6760 esac
6761 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6762 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6763 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6764 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
6765 ;;
6766 pgCC* | pgcpp*)
6767 # Portland Group C++ compiler
6768 case `$CC -V` in
6769 *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
6770 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
6771 rm -rf $tpldir~
6772 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
6773 compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
6774 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
6775 rm -rf $tpldir~
6776 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
6777 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
6778 $RANLIB $oldlib'
6779 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
6780 rm -rf $tpldir~
6781 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
6782 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
6783 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
6784 rm -rf $tpldir~
6785 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
6786 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
6787 ;;
6788 *) # Version 6 will use weak symbols
6789 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
6790 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
6791 ;;
6792 esac
6793
6794 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
6795 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6796 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
6797 ;;
6798 cxx*)
6799 # Compaq C++
6800 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6801 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
6802
6803 runpath_var=LD_RUN_PATH
6804 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6805 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6806
6807 # Commands to make compiler produce verbose output that lists
6808 # what "hidden" libraries, object files and flags are used when
6809 # linking a shared library.
6810 #
6811 # There doesn't appear to be a way to prevent this compiler from
6812 # explicitly linking system object files so we need to strip them
6813 # from the output so that they don't get included in the library
6814 # dependencies.
6815 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
6816 ;;
6817 xl*)
6818 # IBM XL 8.0 on PPC, with GNU ld
6819 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6820 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6821 _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6822 if test "x$supports_anon_versioning" = xyes; then
6823 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
6824 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
6825 echo "local: *; };" >> $output_objdir/$libname.ver~
6826 $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
6827 fi
6828 ;;
6829 *)
6830 case `$CC -V 2>&1 | sed 5q` in
6831 *Sun\ C*)
6832 # Sun C++ 5.9
6833 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6834 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6835 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
6836 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6837 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
6838 _LT_TAGVAR(compiler_needs_object, $1)=yes
6839
6840 # Not sure whether something based on
6841 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
6842 # would be better.
6843 output_verbose_link_cmd='echo'
6844
6845 # Archives containing C++ object files must be created using
6846 # "CC -xar", where "CC" is the Sun C++ compiler. This is
6847 # necessary to make sure instantiated templates are included
6848 # in the archive.
6849 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6850 ;;
6851 esac
6852 ;;
6853 esac
6854 ;;
6855
6856 lynxos*)
6857 # FIXME: insert proper C++ library support
6858 _LT_TAGVAR(ld_shlibs, $1)=no
6859 ;;
6860
6861 m88k*)
6862 # FIXME: insert proper C++ library support
6863 _LT_TAGVAR(ld_shlibs, $1)=no
6864 ;;
6865
6866 mvs*)
6867 case $cc_basename in
6868 cxx*)
6869 # FIXME: insert proper C++ library support
6870 _LT_TAGVAR(ld_shlibs, $1)=no
6871 ;;
6872 *)
6873 # FIXME: insert proper C++ library support
6874 _LT_TAGVAR(ld_shlibs, $1)=no
6875 ;;
6876 esac
6877 ;;
6878
6879 netbsd*)
6880 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
6881 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
6882 wlarc=
6883 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6884 _LT_TAGVAR(hardcode_direct, $1)=yes
6885 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6886 fi
6887 # Workaround some broken pre-1.5 toolchains
6888 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
6889 ;;
6890
6891 *nto* | *qnx*)
6892 _LT_TAGVAR(ld_shlibs, $1)=yes
6893 ;;
6894
6895 openbsd2*)
6896 # C++ shared libraries are fairly broken
6897 _LT_TAGVAR(ld_shlibs, $1)=no
6898 ;;
6899
6900 openbsd*)
6901 if test -f /usr/libexec/ld.so; then
6902 _LT_TAGVAR(hardcode_direct, $1)=yes
6903 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6904 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6905 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6906 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6907 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6908 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
6909 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6910 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6911 fi
6912 output_verbose_link_cmd=echo
6913 else
6914 _LT_TAGVAR(ld_shlibs, $1)=no
6915 fi
6916 ;;
6917
6918 osf3* | osf4* | osf5*)
6919 case $cc_basename in
6920 KCC*)
6921 # Kuck and Associates, Inc. (KAI) C++ Compiler
6922
6923 # KCC will only create a shared library if the output file
6924 # ends with ".so" (or ".sl" for HP-UX), so rename the library
6925 # to its proper name (with version) after linking.
6926 _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
6927
6928 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6929 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6930
6931 # Archives containing C++ object files must be created using
6932 # the KAI C++ compiler.
6933 case $host in
6934 osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
6935 *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
6936 esac
6937 ;;
6938 RCC*)
6939 # Rational C++ 2.4.1
6940 # FIXME: insert proper C++ library support
6941 _LT_TAGVAR(ld_shlibs, $1)=no
6942 ;;
6943 cxx*)
6944 case $host in
6945 osf3*)
6946 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6947 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
6948 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6949 ;;
6950 *)
6951 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6952 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
6953 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
6954 echo "-hidden">> $lib.exp~
6955 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
6956 $RM $lib.exp'
6957 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6958 ;;
6959 esac
6960
6961 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6962
6963 # Commands to make compiler produce verbose output that lists
6964 # what "hidden" libraries, object files and flags are used when
6965 # linking a shared library.
6966 #
6967 # There doesn't appear to be a way to prevent this compiler from
6968 # explicitly linking system object files so we need to strip them
6969 # from the output so that they don't get included in the library
6970 # dependencies.
6971 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
6972 ;;
6973 *)
6974 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6975 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6976 case $host in
6977 osf3*)
6978 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6979 ;;
6980 *)
6981 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6982 ;;
6983 esac
6984
6985 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6986 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6987
6988 # Commands to make compiler produce verbose output that lists
6989 # what "hidden" libraries, object files and flags are used when
6990 # linking a shared library.
6991 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6992
6993 else
6994 # FIXME: insert proper C++ library support
6995 _LT_TAGVAR(ld_shlibs, $1)=no
6996 fi
6997 ;;
6998 esac
6999 ;;
7000
7001 psos*)
7002 # FIXME: insert proper C++ library support
7003 _LT_TAGVAR(ld_shlibs, $1)=no
7004 ;;
7005
7006 sunos4*)
7007 case $cc_basename in
7008 CC*)
7009 # Sun C++ 4.x
7010 # FIXME: insert proper C++ library support
7011 _LT_TAGVAR(ld_shlibs, $1)=no
7012 ;;
7013 lcc*)
7014 # Lucid
7015 # FIXME: insert proper C++ library support
7016 _LT_TAGVAR(ld_shlibs, $1)=no
7017 ;;
7018 *)
7019 # FIXME: insert proper C++ library support
7020 _LT_TAGVAR(ld_shlibs, $1)=no
7021 ;;
7022 esac
7023 ;;
7024
7025 solaris*)
7026 case $cc_basename in
7027 CC*)
7028 # Sun C++ 4.2, 5.x and Centerline C++
7029 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
7030 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7031 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7032 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7033 $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7034
7035 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7036 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7037 case $host_os in
7038 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7039 *)
7040 # The compiler driver will combine and reorder linker options,
7041 # but understands `-z linker_flag'.
7042 # Supported since Solaris 2.6 (maybe 2.5.1?)
7043 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
7044 ;;
7045 esac
7046 _LT_TAGVAR(link_all_deplibs, $1)=yes
7047
7048 output_verbose_link_cmd='echo'
7049
7050 # Archives containing C++ object files must be created using
7051 # "CC -xar", where "CC" is the Sun C++ compiler. This is
7052 # necessary to make sure instantiated templates are included
7053 # in the archive.
7054 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7055 ;;
7056 gcx*)
7057 # Green Hills C++ Compiler
7058 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
7059
7060 # The C++ compiler must be used to create the archive.
7061 _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
7062 ;;
7063 *)
7064 # GNU C++ compiler with Solaris linker
7065 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
7066 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
7067 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
7068 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
7069 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7070 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7071
7072 # Commands to make compiler produce verbose output that lists
7073 # what "hidden" libraries, object files and flags are used when
7074 # linking a shared library.
7075 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
7076 else
7077 # g++ 2.7 appears to require `-G' NOT `-shared' on this
7078 # platform.
7079 _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
7080 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7081 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7082
7083 # Commands to make compiler produce verbose output that lists
7084 # what "hidden" libraries, object files and flags are used when
7085 # linking a shared library.
7086 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
7087 fi
7088
7089 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
7090 case $host_os in
7091 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7092 *)
7093 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
7094 ;;
7095 esac
7096 fi
7097 ;;
7098 esac
7099 ;;
7100
7101 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
7102 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
7103 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7104 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7105 runpath_var='LD_RUN_PATH'
7106
7107 case $cc_basename in
7108 CC*)
7109 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7110 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7111 ;;
7112 *)
7113 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7114 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7115 ;;
7116 esac
7117 ;;
7118
7119 sysv5* | sco3.2v5* | sco5v6*)
7120 # Note: We can NOT use -z defs as we might desire, because we do not
7121 # link with -lc, and that would cause any symbols used from libc to
7122 # always be unresolved, which means just about no library would
7123 # ever link correctly. If we're not using GNU ld we use -z text
7124 # though, which does catch some bad symbols but isn't as heavy-handed
7125 # as -z defs.
7126 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
7127 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
7128 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7129 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7130 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
7131 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
7132 _LT_TAGVAR(link_all_deplibs, $1)=yes
7133 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
7134 runpath_var='LD_RUN_PATH'
7135
7136 case $cc_basename in
7137 CC*)
7138 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7139 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7140 ;;
7141 *)
7142 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7143 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7144 ;;
7145 esac
7146 ;;
7147
7148 tandem*)
7149 case $cc_basename in
7150 NCC*)
7151 # NonStop-UX NCC 3.20
7152 # FIXME: insert proper C++ library support
7153 _LT_TAGVAR(ld_shlibs, $1)=no
7154 ;;
7155 *)
7156 # FIXME: insert proper C++ library support
7157 _LT_TAGVAR(ld_shlibs, $1)=no
7158 ;;
7159 esac
7160 ;;
7161
7162 vxworks*)
7163 # FIXME: insert proper C++ library support
7164 _LT_TAGVAR(ld_shlibs, $1)=no
7165 ;;
7166
7167 *)
7168 # FIXME: insert proper C++ library support
7169 _LT_TAGVAR(ld_shlibs, $1)=no
7170 ;;
7171 esac
7172
7173 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
7174 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
7175
7176 _LT_TAGVAR(GCC, $1)="$GXX"
7177 _LT_TAGVAR(LD, $1)="$LD"
7178
7179 ## CAVEAT EMPTOR:
7180 ## There is no encapsulation within the following macros, do not change
7181 ## the running order or otherwise move them around unless you know exactly
7182 ## what you are doing...
7183 _LT_SYS_HIDDEN_LIBDEPS($1)
7184 _LT_COMPILER_PIC($1)
7185 _LT_COMPILER_C_O($1)
7186 _LT_COMPILER_FILE_LOCKS($1)
7187 _LT_LINKER_SHLIBS($1)
7188 _LT_SYS_DYNAMIC_LINKER($1)
7189 _LT_LINKER_HARDCODE_LIBPATH($1)
7190
7191 _LT_CONFIG($1)
7192 fi # test -n "$compiler"
7193
7194 CC=$lt_save_CC
7195 LDCXX=$LD
7196 LD=$lt_save_LD
7197 GCC=$lt_save_GCC
7198 with_gnu_ld=$lt_save_with_gnu_ld
7199 lt_cv_path_LDCXX=$lt_cv_path_LD
7200 lt_cv_path_LD=$lt_save_path_LD
7201 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
7202 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
7203 fi # test "$_lt_caught_CXX_error" != yes
7204
7205 AC_LANG_POP
7206 ])# _LT_LANG_CXX_CONFIG
7207
7208
7209 # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
74857210 # ---------------------------------
7486 AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
7487
7488
7489 # old names
7490 AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
7491 AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
7492 AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
7493 AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
7494 AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
7495 AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
7496 AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
7497
7498 # This is just to silence aclocal about the macro not being used
7499 ifelse([AC_DISABLE_FAST_INSTALL])
7500
7501 AC_DEFUN([LT_AC_PROG_GCJ],
7502 [AC_CHECK_TOOL(GCJ, gcj, no)
7503 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
7504 AC_SUBST(GCJFLAGS)
7211 # Figure out "hidden" library dependencies from verbose
7212 # compiler output when linking a shared library.
7213 # Parse the compiler output and extract the necessary
7214 # objects, libraries and library flags.
7215 m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
7216 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
7217 # Dependencies to place before and after the object being linked:
7218 _LT_TAGVAR(predep_objects, $1)=
7219 _LT_TAGVAR(postdep_objects, $1)=
7220 _LT_TAGVAR(predeps, $1)=
7221 _LT_TAGVAR(postdeps, $1)=
7222 _LT_TAGVAR(compiler_lib_search_path, $1)=
7223
7224 dnl we can't use the lt_simple_compile_test_code here,
7225 dnl because it contains code intended for an executable,
7226 dnl not a library. It's possible we should let each
7227 dnl tag define a new lt_????_link_test_code variable,
7228 dnl but it's only used here...
7229 m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
7230 int a;
7231 void foo (void) { a = 0; }
7232 _LT_EOF
7233 ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
7234 class Foo
7235 {
7236 public:
7237 Foo (void) { a = 0; }
7238 private:
7239 int a;
7240 };
7241 _LT_EOF
7242 ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
7243 subroutine foo
7244 implicit none
7245 integer*4 a
7246 a=0
7247 return
7248 end
7249 _LT_EOF
7250 ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
7251 subroutine foo
7252 implicit none
7253 integer a
7254 a=0
7255 return
7256 end
7257 _LT_EOF
7258 ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
7259 public class foo {
7260 private int a;
7261 public void bar (void) {
7262 a = 0;
7263 }
7264 };
7265 _LT_EOF
75057266 ])
7506
7507 AC_DEFUN([LT_AC_PROG_RC],
7508 [AC_CHECK_TOOL(RC, windres, no)
7267 dnl Parse the compiler output and extract the necessary
7268 dnl objects, libraries and library flags.
7269 if AC_TRY_EVAL(ac_compile); then
7270 # Parse the compiler output and extract the necessary
7271 # objects, libraries and library flags.
7272
7273 # Sentinel used to keep track of whether or not we are before
7274 # the conftest object file.
7275 pre_test_object_deps_done=no
7276
7277 for p in `eval "$output_verbose_link_cmd"`; do
7278 case $p in
7279
7280 -L* | -R* | -l*)
7281 # Some compilers place space between "-{L,R}" and the path.
7282 # Remove the space.
7283 if test $p = "-L" ||
7284 test $p = "-R"; then
7285 prev=$p
7286 continue
7287 else
7288 prev=
7289 fi
7290
7291 if test "$pre_test_object_deps_done" = no; then
7292 case $p in
7293 -L* | -R*)
7294 # Internal compiler library paths should come after those
7295 # provided the user. The postdeps already come after the
7296 # user supplied libs so there is no need to process them.
7297 if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
7298 _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
7299 else
7300 _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
7301 fi
7302 ;;
7303 # The "-l" case would never come before the object being
7304 # linked, so don't bother handling this case.
7305 esac
7306 else
7307 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
7308 _LT_TAGVAR(postdeps, $1)="${prev}${p}"
7309 else
7310 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
7311 fi
7312 fi
7313 ;;
7314
7315 *.$objext)
7316 # This assumes that the test object file only shows up
7317 # once in the compiler output.
7318 if test "$p" = "conftest.$objext"; then
7319 pre_test_object_deps_done=yes
7320 continue
7321 fi
7322
7323 if test "$pre_test_object_deps_done" = no; then
7324 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
7325 _LT_TAGVAR(predep_objects, $1)="$p"
7326 else
7327 _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
7328 fi
7329 else
7330 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
7331 _LT_TAGVAR(postdep_objects, $1)="$p"
7332 else
7333 _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
7334 fi
7335 fi
7336 ;;
7337
7338 *) ;; # Ignore the rest.
7339
7340 esac
7341 done
7342
7343 # Clean up.
7344 rm -f a.out a.exe
7345 else
7346 echo "libtool.m4: error: problem compiling $1 test program"
7347 fi
7348
7349 $RM -f confest.$objext
7350
7351 # PORTME: override above test on systems where it is broken
7352 m4_if([$1], [CXX],
7353 [case $host_os in
7354 interix[[3-9]]*)
7355 # Interix 3.5 installs completely hosed .la files for C++, so rather than
7356 # hack all around it, let's just trust "g++" to DTRT.
7357 _LT_TAGVAR(predep_objects,$1)=
7358 _LT_TAGVAR(postdep_objects,$1)=
7359 _LT_TAGVAR(postdeps,$1)=
7360 ;;
7361
7362 linux*)
7363 case `$CC -V 2>&1 | sed 5q` in
7364 *Sun\ C*)
7365 # Sun C++ 5.9
7366
7367 # The more standards-conforming stlport4 library is
7368 # incompatible with the Cstd library. Avoid specifying
7369 # it if it's in CXXFLAGS. Ignore libCrun as
7370 # -library=stlport4 depends on it.
7371 case " $CXX $CXXFLAGS " in
7372 *" -library=stlport4 "*)
7373 solaris_use_stlport4=yes
7374 ;;
7375 esac
7376
7377 if test "$solaris_use_stlport4" != yes; then
7378 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
7379 fi
7380 ;;
7381 esac
7382 ;;
7383
7384 solaris*)
7385 case $cc_basename in
7386 CC*)
7387 # The more standards-conforming stlport4 library is
7388 # incompatible with the Cstd library. Avoid specifying
7389 # it if it's in CXXFLAGS. Ignore libCrun as
7390 # -library=stlport4 depends on it.
7391 case " $CXX $CXXFLAGS " in
7392 *" -library=stlport4 "*)
7393 solaris_use_stlport4=yes
7394 ;;
7395 esac
7396
7397 # Adding this requires a known-good setup of shared libraries for
7398 # Sun compiler versions before 5.6, else PIC objects from an old
7399 # archive will be linked into the output, leading to subtle bugs.
7400 if test "$solaris_use_stlport4" != yes; then
7401 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
7402 fi
7403 ;;
7404 esac
7405 ;;
7406 esac
75097407 ])
75107408
7511
7512 # Cheap backport of AS_EXECUTABLE_P and required macros
7513 # from Autoconf 2.59; we should not use $as_executable_p directly.
7514
7515 # _AS_TEST_PREPARE
7516 # ----------------
7517 m4_ifndef([_AS_TEST_PREPARE],
7518 [m4_defun([_AS_TEST_PREPARE],
7519 [if test -x / >/dev/null 2>&1; then
7520 as_executable_p='test -x'
7521 else
7522 as_executable_p='test -f'
7409 case " $_LT_TAGVAR(postdeps, $1) " in
7410 *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
7411 esac
7412 _LT_TAGVAR(compiler_lib_search_dirs, $1)=
7413 if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7414 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
75237415 fi
7524 ])])# _AS_TEST_PREPARE
7525
7526 # AS_EXECUTABLE_P
7527 # ---------------
7528 # Check whether a file is executable.
7529 m4_ifndef([AS_EXECUTABLE_P],
7530 [m4_defun([AS_EXECUTABLE_P],
7531 [AS_REQUIRE([_AS_TEST_PREPARE])dnl
7532 $as_executable_p $1[]dnl
7533 ])])# AS_EXECUTABLE_P
7534
7416 _LT_TAGDECL([], [compiler_lib_search_dirs], [1],
7417 [The directories searched by this compiler when creating a shared library])
7418 _LT_TAGDECL([], [predep_objects], [1],
7419 [Dependencies to place before and after the objects being linked to
7420 create a shared library])
7421 _LT_TAGDECL([], [postdep_objects], [1])
7422 _LT_TAGDECL([], [predeps], [1])
7423 _LT_TAGDECL([], [postdeps], [1])
7424 _LT_TAGDECL([], [compiler_lib_search_path], [1],
7425 [The library search path used internally by the compiler when linking
7426 a shared library])
7427 ])# _LT_SYS_HIDDEN_LIBDEPS
7428
7429
7430 # _LT_PROG_F77
7431 # ------------
7432 # Since AC_PROG_F77 is broken, in that it returns the empty string
7433 # if there is no fortran compiler, we have our own version here.
7434 m4_defun([_LT_PROG_F77],
7435 [
7436 pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
7437 AC_PROG_F77
7438 if test -z "$F77" || test "X$F77" = "Xno"; then
7439 _lt_disable_F77=yes
7440 fi
7441 popdef([AC_MSG_ERROR])
7442 ])# _LT_PROG_F77
7443
7444 dnl aclocal-1.4 backwards compatibility:
7445 dnl AC_DEFUN([_LT_PROG_F77], [])
7446
7447
7448 # _LT_LANG_F77_CONFIG([TAG])
7449 # --------------------------
7450 # Ensure that the configuration variables for a Fortran 77 compiler are
7451 # suitably defined. These variables are subsequently used by _LT_CONFIG
7452 # to write the compiler configuration to `libtool'.
7453 m4_defun([_LT_LANG_F77_CONFIG],
7454 [AC_REQUIRE([_LT_PROG_F77])dnl
7455 AC_LANG_PUSH(Fortran 77)
7456
7457 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7458 _LT_TAGVAR(allow_undefined_flag, $1)=
7459 _LT_TAGVAR(always_export_symbols, $1)=no
7460 _LT_TAGVAR(archive_expsym_cmds, $1)=
7461 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7462 _LT_TAGVAR(hardcode_direct, $1)=no
7463 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7464 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7465 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
7466 _LT_TAGVAR(hardcode_libdir_separator, $1)=
7467 _LT_TAGVAR(hardcode_minus_L, $1)=no
7468 _LT_TAGVAR(hardcode_automatic, $1)=no
7469 _LT_TAGVAR(inherit_rpath, $1)=no
7470 _LT_TAGVAR(module_cmds, $1)=
7471 _LT_TAGVAR(module_expsym_cmds, $1)=
7472 _LT_TAGVAR(link_all_deplibs, $1)=unknown
7473 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7474 _LT_TAGVAR(no_undefined_flag, $1)=
7475 _LT_TAGVAR(whole_archive_flag_spec, $1)=
7476 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7477
7478 # Source file extension for f77 test sources.
7479 ac_ext=f
7480
7481 # Object file extension for compiled f77 test sources.
7482 objext=o
7483 _LT_TAGVAR(objext, $1)=$objext
7484
7485 # No sense in running all these tests if we already determined that
7486 # the F77 compiler isn't working. Some variables (like enable_shared)
7487 # are currently assumed to apply to all compilers on this platform,
7488 # and will be corrupted by setting them based on a non-working compiler.
7489 if test "$_lt_disable_F77" != yes; then
7490 # Code to be used in simple compile tests
7491 lt_simple_compile_test_code="\
7492 subroutine t
7493 return
7494 end
7495 "
7496
7497 # Code to be used in simple link tests
7498 lt_simple_link_test_code="\
7499 program t
7500 end
7501 "
7502
7503 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7504 _LT_TAG_COMPILER
7505
7506 # save warnings/boilerplate of simple test code
7507 _LT_COMPILER_BOILERPLATE
7508 _LT_LINKER_BOILERPLATE
7509
7510 # Allow CC to be a program name with arguments.
7511 lt_save_CC="$CC"
7512 lt_save_GCC=$GCC
7513 CC=${F77-"f77"}
7514 compiler=$CC
7515 _LT_TAGVAR(compiler, $1)=$CC
7516 _LT_CC_BASENAME([$compiler])
7517 GCC=$G77
7518 if test -n "$compiler"; then
7519 AC_MSG_CHECKING([if libtool supports shared libraries])
7520 AC_MSG_RESULT([$can_build_shared])
7521
7522 AC_MSG_CHECKING([whether to build shared libraries])
7523 test "$can_build_shared" = "no" && enable_shared=no
7524
7525 # On AIX, shared libraries and static libraries use the same namespace, and
7526 # are all built from PIC.
7527 case $host_os in
7528 aix3*)
7529 test "$enable_shared" = yes && enable_static=no
7530 if test -n "$RANLIB"; then
7531 archive_cmds="$archive_cmds~\$RANLIB \$lib"
7532 postinstall_cmds='$RANLIB $lib'
7533 fi
7534 ;;
7535 aix[[4-9]]*)
7536 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
7537 test "$enable_shared" = yes && enable_static=no
7538 fi
7539 ;;
7540 esac
7541 AC_MSG_RESULT([$enable_shared])
7542
7543 AC_MSG_CHECKING([whether to build static libraries])
7544 # Make sure either enable_shared or enable_static is yes.
7545 test "$enable_shared" = yes || enable_static=yes
7546 AC_MSG_RESULT([$enable_static])
7547
7548 _LT_TAGVAR(GCC, $1)="$G77"
7549 _LT_TAGVAR(LD, $1)="$LD"
7550
7551 ## CAVEAT EMPTOR:
7552 ## There is no encapsulation within the following macros, do not change
7553 ## the running order or otherwise move them around unless you know exactly
7554 ## what you are doing...
7555 _LT_COMPILER_PIC($1)
7556 _LT_COMPILER_C_O($1)
7557 _LT_COMPILER_FILE_LOCKS($1)
7558 _LT_LINKER_SHLIBS($1)
7559 _LT_SYS_DYNAMIC_LINKER($1)
7560 _LT_LINKER_HARDCODE_LIBPATH($1)
7561
7562 _LT_CONFIG($1)
7563 fi # test -n "$compiler"
7564
7565 GCC=$lt_save_GCC
7566 CC="$lt_save_CC"
7567 fi # test "$_lt_disable_F77" != yes
7568
7569 AC_LANG_POP
7570 ])# _LT_LANG_F77_CONFIG
7571
7572
7573 # _LT_PROG_FC
7574 # -----------
7575 # Since AC_PROG_FC is broken, in that it returns the empty string
7576 # if there is no fortran compiler, we have our own version here.
7577 m4_defun([_LT_PROG_FC],
7578 [
7579 pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
7580 AC_PROG_FC
7581 if test -z "$FC" || test "X$FC" = "Xno"; then
7582 _lt_disable_FC=yes
7583 fi
7584 popdef([AC_MSG_ERROR])
7585 ])# _LT_PROG_FC
7586
7587 dnl aclocal-1.4 backwards compatibility:
7588 dnl AC_DEFUN([_LT_PROG_FC], [])
7589
7590
7591 # _LT_LANG_FC_CONFIG([TAG])
7592 # -------------------------
7593 # Ensure that the configuration variables for a Fortran compiler are
7594 # suitably defined. These variables are subsequently used by _LT_CONFIG
7595 # to write the compiler configuration to `libtool'.
7596 m4_defun([_LT_LANG_FC_CONFIG],
7597 [AC_REQUIRE([_LT_PROG_FC])dnl
7598 AC_LANG_PUSH(Fortran)
7599
7600 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7601 _LT_TAGVAR(allow_undefined_flag, $1)=
7602 _LT_TAGVAR(always_export_symbols, $1)=no
7603 _LT_TAGVAR(archive_expsym_cmds, $1)=
7604 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7605 _LT_TAGVAR(hardcode_direct, $1)=no
7606 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7607 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7608 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
7609 _LT_TAGVAR(hardcode_libdir_separator, $1)=
7610 _LT_TAGVAR(hardcode_minus_L, $1)=no
7611 _LT_TAGVAR(hardcode_automatic, $1)=no
7612 _LT_TAGVAR(inherit_rpath, $1)=no
7613 _LT_TAGVAR(module_cmds, $1)=
7614 _LT_TAGVAR(module_expsym_cmds, $1)=
7615 _LT_TAGVAR(link_all_deplibs, $1)=unknown
7616 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7617 _LT_TAGVAR(no_undefined_flag, $1)=
7618 _LT_TAGVAR(whole_archive_flag_spec, $1)=
7619 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7620
7621 # Source file extension for fc test sources.
7622 ac_ext=${ac_fc_srcext-f}
7623
7624 # Object file extension for compiled fc test sources.
7625 objext=o
7626 _LT_TAGVAR(objext, $1)=$objext
7627
7628 # No sense in running all these tests if we already determined that
7629 # the FC compiler isn't working. Some variables (like enable_shared)
7630 # are currently assumed to apply to all compilers on this platform,
7631 # and will be corrupted by setting them based on a non-working compiler.
7632 if test "$_lt_disable_FC" != yes; then
7633 # Code to be used in simple compile tests
7634 lt_simple_compile_test_code="\
7635 subroutine t
7636 return
7637 end
7638 "
7639
7640 # Code to be used in simple link tests
7641 lt_simple_link_test_code="\
7642 program t
7643 end
7644 "
7645
7646 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7647 _LT_TAG_COMPILER
7648
7649 # save warnings/boilerplate of simple test code
7650 _LT_COMPILER_BOILERPLATE
7651 _LT_LINKER_BOILERPLATE
7652
7653 # Allow CC to be a program name with arguments.
7654 lt_save_CC="$CC"
7655 lt_save_GCC=$GCC
7656 CC=${FC-"f95"}
7657 compiler=$CC
7658 GCC=$ac_cv_fc_compiler_gnu
7659
7660 _LT_TAGVAR(compiler, $1)=$CC
7661 _LT_CC_BASENAME([$compiler])
7662
7663 if test -n "$compiler"; then
7664 AC_MSG_CHECKING([if libtool supports shared libraries])
7665 AC_MSG_RESULT([$can_build_shared])
7666
7667 AC_MSG_CHECKING([whether to build shared libraries])
7668 test "$can_build_shared" = "no" && enable_shared=no
7669
7670 # On AIX, shared libraries and static libraries use the same namespace, and
7671 # are all built from PIC.
7672 case $host_os in
7673 aix3*)
7674 test "$enable_shared" = yes && enable_static=no
7675 if test -n "$RANLIB"; then
7676 archive_cmds="$archive_cmds~\$RANLIB \$lib"
7677 postinstall_cmds='$RANLIB $lib'
7678 fi
7679 ;;
7680 aix[[4-9]]*)
7681 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
7682 test "$enable_shared" = yes && enable_static=no
7683 fi
7684 ;;
7685 esac
7686 AC_MSG_RESULT([$enable_shared])
7687
7688 AC_MSG_CHECKING([whether to build static libraries])
7689 # Make sure either enable_shared or enable_static is yes.
7690 test "$enable_shared" = yes || enable_static=yes
7691 AC_MSG_RESULT([$enable_static])
7692
7693 _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
7694 _LT_TAGVAR(LD, $1)="$LD"
7695
7696 ## CAVEAT EMPTOR:
7697 ## There is no encapsulation within the following macros, do not change
7698 ## the running order or otherwise move them around unless you know exactly
7699 ## what you are doing...
7700 _LT_SYS_HIDDEN_LIBDEPS($1)
7701 _LT_COMPILER_PIC($1)
7702 _LT_COMPILER_C_O($1)
7703 _LT_COMPILER_FILE_LOCKS($1)
7704 _LT_LINKER_SHLIBS($1)
7705 _LT_SYS_DYNAMIC_LINKER($1)
7706 _LT_LINKER_HARDCODE_LIBPATH($1)
7707
7708 _LT_CONFIG($1)
7709 fi # test -n "$compiler"
7710
7711 GCC=$lt_save_GCC
7712 CC="$lt_save_CC"
7713 fi # test "$_lt_disable_FC" != yes
7714
7715 AC_LANG_POP
7716 ])# _LT_LANG_FC_CONFIG
7717
7718
7719 # _LT_LANG_GCJ_CONFIG([TAG])
7720 # --------------------------
7721 # Ensure that the configuration variables for the GNU Java Compiler compiler
7722 # are suitably defined. These variables are subsequently used by _LT_CONFIG
7723 # to write the compiler configuration to `libtool'.
7724 m4_defun([_LT_LANG_GCJ_CONFIG],
7725 [AC_REQUIRE([LT_PROG_GCJ])dnl
7726 AC_LANG_SAVE
7727
7728 # Source file extension for Java test sources.
7729 ac_ext=java
7730
7731 # Object file extension for compiled Java test sources.
7732 objext=o
7733 _LT_TAGVAR(objext, $1)=$objext
7734
7735 # Code to be used in simple compile tests
7736 lt_simple_compile_test_code="class foo {}"
7737
7738 # Code to be used in simple link tests
7739 lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
7740
7741 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7742 _LT_TAG_COMPILER
7743
7744 # save warnings/boilerplate of simple test code
7745 _LT_COMPILER_BOILERPLATE
7746 _LT_LINKER_BOILERPLATE
7747
7748 # Allow CC to be a program name with arguments.
7749 lt_save_CC="$CC"
7750 lt_save_GCC=$GCC
7751 GCC=yes
7752 CC=${GCJ-"gcj"}
7753 compiler=$CC
7754 _LT_TAGVAR(compiler, $1)=$CC
7755 _LT_TAGVAR(LD, $1)="$LD"
7756 _LT_CC_BASENAME([$compiler])
7757
7758 # GCJ did not exist at the time GCC didn't implicitly link libc in.
7759 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7760
7761 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7762
7763 if test -n "$compiler"; then
7764 _LT_COMPILER_NO_RTTI($1)
7765 _LT_COMPILER_PIC($1)
7766 _LT_COMPILER_C_O($1)
7767 _LT_COMPILER_FILE_LOCKS($1)
7768 _LT_LINKER_SHLIBS($1)
7769 _LT_LINKER_HARDCODE_LIBPATH($1)
7770
7771 _LT_CONFIG($1)
7772 fi
7773
7774 AC_LANG_RESTORE
7775
7776 GCC=$lt_save_GCC
7777 CC="$lt_save_CC"
7778 ])# _LT_LANG_GCJ_CONFIG
7779
7780
7781 # _LT_LANG_RC_CONFIG([TAG])
7782 # -------------------------
7783 # Ensure that the configuration variables for the Windows resource compiler
7784 # are suitably defined. These variables are subsequently used by _LT_CONFIG
7785 # to write the compiler configuration to `libtool'.
7786 m4_defun([_LT_LANG_RC_CONFIG],
7787 [AC_REQUIRE([LT_PROG_RC])dnl
7788 AC_LANG_SAVE
7789
7790 # Source file extension for RC test sources.
7791 ac_ext=rc
7792
7793 # Object file extension for compiled RC test sources.
7794 objext=o
7795 _LT_TAGVAR(objext, $1)=$objext
7796
7797 # Code to be used in simple compile tests
7798 lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
7799
7800 # Code to be used in simple link tests
7801 lt_simple_link_test_code="$lt_simple_compile_test_code"
7802
7803 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7804 _LT_TAG_COMPILER
7805
7806 # save warnings/boilerplate of simple test code
7807 _LT_COMPILER_BOILERPLATE
7808 _LT_LINKER_BOILERPLATE
7809
7810 # Allow CC to be a program name with arguments.
7811 lt_save_CC="$CC"
7812 lt_save_GCC=$GCC
7813 GCC=
7814 CC=${RC-"windres"}
7815 compiler=$CC
7816 _LT_TAGVAR(compiler, $1)=$CC
7817 _LT_CC_BASENAME([$compiler])
7818 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
7819
7820 if test -n "$compiler"; then
7821 :
7822 _LT_CONFIG($1)
7823 fi
7824
7825 GCC=$lt_save_GCC
7826 AC_LANG_RESTORE
7827 CC="$lt_save_CC"
7828 ])# _LT_LANG_RC_CONFIG
7829
7830
7831 # LT_PROG_GCJ
7832 # -----------
7833 AC_DEFUN([LT_PROG_GCJ],
7834 [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
7835 [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
7836 [AC_CHECK_TOOL(GCJ, gcj,)
7837 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
7838 AC_SUBST(GCJFLAGS)])])[]dnl
7839 ])
7840
7841 # Old name:
7842 AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
7843 dnl aclocal-1.4 backwards compatibility:
7844 dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
7845
7846
7847 # LT_PROG_RC
7848 # ----------
7849 AC_DEFUN([LT_PROG_RC],
7850 [AC_CHECK_TOOL(RC, windres,)
7851 ])
7852
7853 # Old name:
7854 AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
7855 dnl aclocal-1.4 backwards compatibility:
7856 dnl AC_DEFUN([LT_AC_PROG_RC], [])
7857
7858
7859 # _LT_DECL_EGREP
7860 # --------------
7861 # If we don't have a new enough Autoconf to choose the best grep
7862 # available, choose the one first in the user's PATH.
7863 m4_defun([_LT_DECL_EGREP],
7864 [AC_REQUIRE([AC_PROG_EGREP])dnl
7865 AC_REQUIRE([AC_PROG_FGREP])dnl
7866 test -z "$GREP" && GREP=grep
7867 _LT_DECL([], [GREP], [1], [A grep program that handles long lines])
7868 _LT_DECL([], [EGREP], [1], [An ERE matcher])
7869 _LT_DECL([], [FGREP], [1], [A literal string matcher])
7870 dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
7871 AC_SUBST([GREP])
7872 ])
7873
7874
7875 # _LT_DECL_OBJDUMP
7876 # --------------
7877 # If we don't have a new enough Autoconf to choose the best objdump
7878 # available, choose the one first in the user's PATH.
7879 m4_defun([_LT_DECL_OBJDUMP],
7880 [AC_CHECK_TOOL(OBJDUMP, objdump, false)
7881 test -z "$OBJDUMP" && OBJDUMP=objdump
7882 _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
7883 AC_SUBST([OBJDUMP])
7884 ])
7885
7886
7887 # _LT_DECL_SED
7888 # ------------
7889 # Check for a fully-functional sed program, that truncates
7890 # as few characters as possible. Prefer GNU sed if found.
7891 m4_defun([_LT_DECL_SED],
7892 [AC_PROG_SED
7893 test -z "$SED" && SED=sed
7894 Xsed="$SED -e 1s/^X//"
7895 _LT_DECL([], [SED], [1], [A sed program that does not truncate output])
7896 _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
7897 [Sed that helps us avoid accidentally triggering echo(1) options like -n])
7898 ])# _LT_DECL_SED
7899
7900 m4_ifndef([AC_PROG_SED], [
75357901 # NOTE: This macro has been submitted for inclusion into #
75367902 # GNU Autoconf as AC_PROG_SED. When it is available in #
75377903 # a released version of Autoconf we should remove this #
75387904 # macro and use it instead. #
7539 # LT_AC_PROG_SED
7540 # --------------
7541 # Check for a fully-functional sed program, that truncates
7542 # as few characters as possible. Prefer GNU sed if found.
7543 AC_DEFUN([LT_AC_PROG_SED],
7905
7906 m4_defun([AC_PROG_SED],
75447907 [AC_MSG_CHECKING([for a sed that does not truncate output])
75457908 AC_CACHE_VAL(lt_cv_path_SED,
75467909 [# Loop through the user's path and test for sed and gsed.
75527915 test -z "$as_dir" && as_dir=.
75537916 for lt_ac_prog in sed gsed; do
75547917 for ac_exec_ext in '' $ac_executable_extensions; do
7555 if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
7918 if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
75567919 lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
75577920 fi
75587921 done
75937956 SED=$lt_cv_path_SED
75947957 AC_SUBST([SED])
75957958 AC_MSG_RESULT([$SED])
7959 ])#AC_PROG_SED
7960 ])#m4_ifndef
7961
7962 # Old name:
7963 AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
7964 dnl aclocal-1.4 backwards compatibility:
7965 dnl AC_DEFUN([LT_AC_PROG_SED], [])
7966
7967
7968 # _LT_CHECK_SHELL_FEATURES
7969 # ------------------------
7970 # Find out whether the shell is Bourne or XSI compatible,
7971 # or has some other useful features.
7972 m4_defun([_LT_CHECK_SHELL_FEATURES],
7973 [AC_MSG_CHECKING([whether the shell understands some XSI constructs])
7974 # Try some XSI features
7975 xsi_shell=no
7976 ( _lt_dummy="a/b/c"
7977 test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
7978 = c,a/b,, \
7979 && eval 'test $(( 1 + 1 )) -eq 2 \
7980 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7981 && xsi_shell=yes
7982 AC_MSG_RESULT([$xsi_shell])
7983 _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
7984
7985 AC_MSG_CHECKING([whether the shell understands "+="])
7986 lt_shell_append=no
7987 ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
7988 >/dev/null 2>&1 \
7989 && lt_shell_append=yes
7990 AC_MSG_RESULT([$lt_shell_append])
7991 _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
7992
7993 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
7994 lt_unset=unset
7995 else
7996 lt_unset=false
7997 fi
7998 _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
7999
8000 # test EBCDIC or ASCII
8001 case `echo X|tr X '\101'` in
8002 A) # ASCII based system
8003 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
8004 lt_SP2NL='tr \040 \012'
8005 lt_NL2SP='tr \015\012 \040\040'
8006 ;;
8007 *) # EBCDIC based system
8008 lt_SP2NL='tr \100 \n'
8009 lt_NL2SP='tr \r\n \100\100'
8010 ;;
8011 esac
8012 _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
8013 _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
8014 ])# _LT_CHECK_SHELL_FEATURES
8015
8016
8017 # _LT_PROG_XSI_SHELLFNS
8018 # ---------------------
8019 # Bourne and XSI compatible variants of some useful shell functions.
8020 m4_defun([_LT_PROG_XSI_SHELLFNS],
8021 [case $xsi_shell in
8022 yes)
8023 cat << \_LT_EOF >> "$cfgfile"
8024
8025 # func_dirname file append nondir_replacement
8026 # Compute the dirname of FILE. If nonempty, add APPEND to the result,
8027 # otherwise set result to NONDIR_REPLACEMENT.
8028 func_dirname ()
8029 {
8030 case ${1} in
8031 */*) func_dirname_result="${1%/*}${2}" ;;
8032 * ) func_dirname_result="${3}" ;;
8033 esac
8034 }
8035
8036 # func_basename file
8037 func_basename ()
8038 {
8039 func_basename_result="${1##*/}"
8040 }
8041
8042 # func_dirname_and_basename file append nondir_replacement
8043 # perform func_basename and func_dirname in a single function
8044 # call:
8045 # dirname: Compute the dirname of FILE. If nonempty,
8046 # add APPEND to the result, otherwise set result
8047 # to NONDIR_REPLACEMENT.
8048 # value returned in "$func_dirname_result"
8049 # basename: Compute filename of FILE.
8050 # value retuned in "$func_basename_result"
8051 # Implementation must be kept synchronized with func_dirname
8052 # and func_basename. For efficiency, we do not delegate to
8053 # those functions but instead duplicate the functionality here.
8054 func_dirname_and_basename ()
8055 {
8056 case ${1} in
8057 */*) func_dirname_result="${1%/*}${2}" ;;
8058 * ) func_dirname_result="${3}" ;;
8059 esac
8060 func_basename_result="${1##*/}"
8061 }
8062
8063 # func_stripname prefix suffix name
8064 # strip PREFIX and SUFFIX off of NAME.
8065 # PREFIX and SUFFIX must not contain globbing or regex special
8066 # characters, hashes, percent signs, but SUFFIX may contain a leading
8067 # dot (in which case that matches only a dot).
8068 func_stripname ()
8069 {
8070 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
8071 # positional parameters, so assign one to ordinary parameter first.
8072 func_stripname_result=${3}
8073 func_stripname_result=${func_stripname_result#"${1}"}
8074 func_stripname_result=${func_stripname_result%"${2}"}
8075 }
8076
8077 # func_opt_split
8078 func_opt_split ()
8079 {
8080 func_opt_split_opt=${1%%=*}
8081 func_opt_split_arg=${1#*=}
8082 }
8083
8084 # func_lo2o object
8085 func_lo2o ()
8086 {
8087 case ${1} in
8088 *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
8089 *) func_lo2o_result=${1} ;;
8090 esac
8091 }
8092
8093 # func_xform libobj-or-source
8094 func_xform ()
8095 {
8096 func_xform_result=${1%.*}.lo
8097 }
8098
8099 # func_arith arithmetic-term...
8100 func_arith ()
8101 {
8102 func_arith_result=$(( $[*] ))
8103 }
8104
8105 # func_len string
8106 # STRING may not start with a hyphen.
8107 func_len ()
8108 {
8109 func_len_result=${#1}
8110 }
8111
8112 _LT_EOF
8113 ;;
8114 *) # Bourne compatible functions.
8115 cat << \_LT_EOF >> "$cfgfile"
8116
8117 # func_dirname file append nondir_replacement
8118 # Compute the dirname of FILE. If nonempty, add APPEND to the result,
8119 # otherwise set result to NONDIR_REPLACEMENT.
8120 func_dirname ()
8121 {
8122 # Extract subdirectory from the argument.
8123 func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
8124 if test "X$func_dirname_result" = "X${1}"; then
8125 func_dirname_result="${3}"
8126 else
8127 func_dirname_result="$func_dirname_result${2}"
8128 fi
8129 }
8130
8131 # func_basename file
8132 func_basename ()
8133 {
8134 func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
8135 }
8136
8137 dnl func_dirname_and_basename
8138 dnl A portable version of this function is already defined in general.m4sh
8139 dnl so there is no need for it here.
8140
8141 # func_stripname prefix suffix name
8142 # strip PREFIX and SUFFIX off of NAME.
8143 # PREFIX and SUFFIX must not contain globbing or regex special
8144 # characters, hashes, percent signs, but SUFFIX may contain a leading
8145 # dot (in which case that matches only a dot).
8146 # func_strip_suffix prefix name
8147 func_stripname ()
8148 {
8149 case ${2} in
8150 .*) func_stripname_result=`$ECHO "X${3}" \
8151 | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
8152 *) func_stripname_result=`$ECHO "X${3}" \
8153 | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
8154 esac
8155 }
8156
8157 # sed scripts:
8158 my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
8159 my_sed_long_arg='1s/^-[[^=]]*=//'
8160
8161 # func_opt_split
8162 func_opt_split ()
8163 {
8164 func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
8165 func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
8166 }
8167
8168 # func_lo2o object
8169 func_lo2o ()
8170 {
8171 func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
8172 }
8173
8174 # func_xform libobj-or-source
8175 func_xform ()
8176 {
8177 func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
8178 }
8179
8180 # func_arith arithmetic-term...
8181 func_arith ()
8182 {
8183 func_arith_result=`expr "$[@]"`
8184 }
8185
8186 # func_len string
8187 # STRING may not start with a hyphen.
8188 func_len ()
8189 {
8190 func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
8191 }
8192
8193 _LT_EOF
8194 esac
8195
8196 case $lt_shell_append in
8197 yes)
8198 cat << \_LT_EOF >> "$cfgfile"
8199
8200 # func_append var value
8201 # Append VALUE to the end of shell variable VAR.
8202 func_append ()
8203 {
8204 eval "$[1]+=\$[2]"
8205 }
8206 _LT_EOF
8207 ;;
8208 *)
8209 cat << \_LT_EOF >> "$cfgfile"
8210
8211 # func_append var value
8212 # Append VALUE to the end of shell variable VAR.
8213 func_append ()
8214 {
8215 eval "$[1]=\$$[1]\$[2]"
8216 }
8217
8218 _LT_EOF
8219 ;;
8220 esac
8221 ])
8222
8223 # Helper functions for option handling. -*- Autoconf -*-
8224 #
8225 # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
8226 # Written by Gary V. Vaughan, 2004
8227 #
8228 # This file is free software; the Free Software Foundation gives
8229 # unlimited permission to copy and/or distribute it, with or without
8230 # modifications, as long as this notice is preserved.
8231
8232 # serial 6 ltoptions.m4
8233
8234 # This is to help aclocal find these macros, as it can't see m4_define.
8235 AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
8236
8237
8238 # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
8239 # ------------------------------------------
8240 m4_define([_LT_MANGLE_OPTION],
8241 [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
8242
8243
8244 # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
8245 # ---------------------------------------
8246 # Set option OPTION-NAME for macro MACRO-NAME, and if there is a
8247 # matching handler defined, dispatch to it. Other OPTION-NAMEs are
8248 # saved as a flag.
8249 m4_define([_LT_SET_OPTION],
8250 [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
8251 m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
8252 _LT_MANGLE_DEFUN([$1], [$2]),
8253 [m4_warning([Unknown $1 option `$2'])])[]dnl
8254 ])
8255
8256
8257 # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
8258 # ------------------------------------------------------------
8259 # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
8260 m4_define([_LT_IF_OPTION],
8261 [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
8262
8263
8264 # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
8265 # -------------------------------------------------------
8266 # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
8267 # are set.
8268 m4_define([_LT_UNLESS_OPTIONS],
8269 [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
8270 [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
8271 [m4_define([$0_found])])])[]dnl
8272 m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
8273 ])[]dnl
8274 ])
8275
8276
8277 # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
8278 # ----------------------------------------
8279 # OPTION-LIST is a space-separated list of Libtool options associated
8280 # with MACRO-NAME. If any OPTION has a matching handler declared with
8281 # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
8282 # the unknown option and exit.
8283 m4_defun([_LT_SET_OPTIONS],
8284 [# Set options
8285 m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
8286 [_LT_SET_OPTION([$1], _LT_Option)])
8287
8288 m4_if([$1],[LT_INIT],[
8289 dnl
8290 dnl Simply set some default values (i.e off) if boolean options were not
8291 dnl specified:
8292 _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
8293 ])
8294 _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
8295 ])
8296 dnl
8297 dnl If no reference was made to various pairs of opposing options, then
8298 dnl we run the default mode handler for the pair. For example, if neither
8299 dnl `shared' nor `disable-shared' was passed, we enable building of shared
8300 dnl archives by default:
8301 _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
8302 _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
8303 _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
8304 _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
8305 [_LT_ENABLE_FAST_INSTALL])
8306 ])
8307 ])# _LT_SET_OPTIONS
8308
8309
8310
8311 # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
8312 # -----------------------------------------
8313 m4_define([_LT_MANGLE_DEFUN],
8314 [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
8315
8316
8317 # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
8318 # -----------------------------------------------
8319 m4_define([LT_OPTION_DEFINE],
8320 [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
8321 ])# LT_OPTION_DEFINE
8322
8323
8324 # dlopen
8325 # ------
8326 LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
8327 ])
8328
8329 AU_DEFUN([AC_LIBTOOL_DLOPEN],
8330 [_LT_SET_OPTION([LT_INIT], [dlopen])
8331 AC_DIAGNOSE([obsolete],
8332 [$0: Remove this warning and the call to _LT_SET_OPTION when you
8333 put the `dlopen' option into LT_INIT's first parameter.])
8334 ])
8335
8336 dnl aclocal-1.4 backwards compatibility:
8337 dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
8338
8339
8340 # win32-dll
8341 # ---------
8342 # Declare package support for building win32 dll's.
8343 LT_OPTION_DEFINE([LT_INIT], [win32-dll],
8344 [enable_win32_dll=yes
8345
8346 case $host in
8347 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
8348 AC_CHECK_TOOL(AS, as, false)
8349 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
8350 AC_CHECK_TOOL(OBJDUMP, objdump, false)
8351 ;;
8352 esac
8353
8354 test -z "$AS" && AS=as
8355 _LT_DECL([], [AS], [0], [Assembler program])dnl
8356
8357 test -z "$DLLTOOL" && DLLTOOL=dlltool
8358 _LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
8359
8360 test -z "$OBJDUMP" && OBJDUMP=objdump
8361 _LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
8362 ])# win32-dll
8363
8364 AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
8365 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
8366 _LT_SET_OPTION([LT_INIT], [win32-dll])
8367 AC_DIAGNOSE([obsolete],
8368 [$0: Remove this warning and the call to _LT_SET_OPTION when you
8369 put the `win32-dll' option into LT_INIT's first parameter.])
8370 ])
8371
8372 dnl aclocal-1.4 backwards compatibility:
8373 dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
8374
8375
8376 # _LT_ENABLE_SHARED([DEFAULT])
8377 # ----------------------------
8378 # implement the --enable-shared flag, and supports the `shared' and
8379 # `disable-shared' LT_INIT options.
8380 # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
8381 m4_define([_LT_ENABLE_SHARED],
8382 [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
8383 AC_ARG_ENABLE([shared],
8384 [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
8385 [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
8386 [p=${PACKAGE-default}
8387 case $enableval in
8388 yes) enable_shared=yes ;;
8389 no) enable_shared=no ;;
8390 *)
8391 enable_shared=no
8392 # Look at the argument we got. We use all the common list separators.
8393 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8394 for pkg in $enableval; do
8395 IFS="$lt_save_ifs"
8396 if test "X$pkg" = "X$p"; then
8397 enable_shared=yes
8398 fi
8399 done
8400 IFS="$lt_save_ifs"
8401 ;;
8402 esac],
8403 [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
8404
8405 _LT_DECL([build_libtool_libs], [enable_shared], [0],
8406 [Whether or not to build shared libraries])
8407 ])# _LT_ENABLE_SHARED
8408
8409 LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
8410 LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
8411
8412 # Old names:
8413 AC_DEFUN([AC_ENABLE_SHARED],
8414 [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
8415 ])
8416
8417 AC_DEFUN([AC_DISABLE_SHARED],
8418 [_LT_SET_OPTION([LT_INIT], [disable-shared])
8419 ])
8420
8421 AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
8422 AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
8423
8424 dnl aclocal-1.4 backwards compatibility:
8425 dnl AC_DEFUN([AM_ENABLE_SHARED], [])
8426 dnl AC_DEFUN([AM_DISABLE_SHARED], [])
8427
8428
8429
8430 # _LT_ENABLE_STATIC([DEFAULT])
8431 # ----------------------------
8432 # implement the --enable-static flag, and support the `static' and
8433 # `disable-static' LT_INIT options.
8434 # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
8435 m4_define([_LT_ENABLE_STATIC],
8436 [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
8437 AC_ARG_ENABLE([static],
8438 [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
8439 [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
8440 [p=${PACKAGE-default}
8441 case $enableval in
8442 yes) enable_static=yes ;;
8443 no) enable_static=no ;;
8444 *)
8445 enable_static=no
8446 # Look at the argument we got. We use all the common list separators.
8447 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8448 for pkg in $enableval; do
8449 IFS="$lt_save_ifs"
8450 if test "X$pkg" = "X$p"; then
8451 enable_static=yes
8452 fi
8453 done
8454 IFS="$lt_save_ifs"
8455 ;;
8456 esac],
8457 [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
8458
8459 _LT_DECL([build_old_libs], [enable_static], [0],
8460 [Whether or not to build static libraries])
8461 ])# _LT_ENABLE_STATIC
8462
8463 LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
8464 LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
8465
8466 # Old names:
8467 AC_DEFUN([AC_ENABLE_STATIC],
8468 [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
8469 ])
8470
8471 AC_DEFUN([AC_DISABLE_STATIC],
8472 [_LT_SET_OPTION([LT_INIT], [disable-static])
8473 ])
8474
8475 AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
8476 AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
8477
8478 dnl aclocal-1.4 backwards compatibility:
8479 dnl AC_DEFUN([AM_ENABLE_STATIC], [])
8480 dnl AC_DEFUN([AM_DISABLE_STATIC], [])
8481
8482
8483
8484 # _LT_ENABLE_FAST_INSTALL([DEFAULT])
8485 # ----------------------------------
8486 # implement the --enable-fast-install flag, and support the `fast-install'
8487 # and `disable-fast-install' LT_INIT options.
8488 # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
8489 m4_define([_LT_ENABLE_FAST_INSTALL],
8490 [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
8491 AC_ARG_ENABLE([fast-install],
8492 [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
8493 [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
8494 [p=${PACKAGE-default}
8495 case $enableval in
8496 yes) enable_fast_install=yes ;;
8497 no) enable_fast_install=no ;;
8498 *)
8499 enable_fast_install=no
8500 # Look at the argument we got. We use all the common list separators.
8501 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8502 for pkg in $enableval; do
8503 IFS="$lt_save_ifs"
8504 if test "X$pkg" = "X$p"; then
8505 enable_fast_install=yes
8506 fi
8507 done
8508 IFS="$lt_save_ifs"
8509 ;;
8510 esac],
8511 [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
8512
8513 _LT_DECL([fast_install], [enable_fast_install], [0],
8514 [Whether or not to optimize for fast installation])dnl
8515 ])# _LT_ENABLE_FAST_INSTALL
8516
8517 LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
8518 LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
8519
8520 # Old names:
8521 AU_DEFUN([AC_ENABLE_FAST_INSTALL],
8522 [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
8523 AC_DIAGNOSE([obsolete],
8524 [$0: Remove this warning and the call to _LT_SET_OPTION when you put
8525 the `fast-install' option into LT_INIT's first parameter.])
8526 ])
8527
8528 AU_DEFUN([AC_DISABLE_FAST_INSTALL],
8529 [_LT_SET_OPTION([LT_INIT], [disable-fast-install])
8530 AC_DIAGNOSE([obsolete],
8531 [$0: Remove this warning and the call to _LT_SET_OPTION when you put
8532 the `disable-fast-install' option into LT_INIT's first parameter.])
8533 ])
8534
8535 dnl aclocal-1.4 backwards compatibility:
8536 dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
8537 dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
8538
8539
8540 # _LT_WITH_PIC([MODE])
8541 # --------------------
8542 # implement the --with-pic flag, and support the `pic-only' and `no-pic'
8543 # LT_INIT options.
8544 # MODE is either `yes' or `no'. If omitted, it defaults to `both'.
8545 m4_define([_LT_WITH_PIC],
8546 [AC_ARG_WITH([pic],
8547 [AS_HELP_STRING([--with-pic],
8548 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
8549 [pic_mode="$withval"],
8550 [pic_mode=default])
8551
8552 test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
8553
8554 _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
8555 ])# _LT_WITH_PIC
8556
8557 LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
8558 LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
8559
8560 # Old name:
8561 AU_DEFUN([AC_LIBTOOL_PICMODE],
8562 [_LT_SET_OPTION([LT_INIT], [pic-only])
8563 AC_DIAGNOSE([obsolete],
8564 [$0: Remove this warning and the call to _LT_SET_OPTION when you
8565 put the `pic-only' option into LT_INIT's first parameter.])
8566 ])
8567
8568 dnl aclocal-1.4 backwards compatibility:
8569 dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
8570
8571
8572 m4_define([_LTDL_MODE], [])
8573 LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
8574 [m4_define([_LTDL_MODE], [nonrecursive])])
8575 LT_OPTION_DEFINE([LTDL_INIT], [recursive],
8576 [m4_define([_LTDL_MODE], [recursive])])
8577 LT_OPTION_DEFINE([LTDL_INIT], [subproject],
8578 [m4_define([_LTDL_MODE], [subproject])])
8579
8580 m4_define([_LTDL_TYPE], [])
8581 LT_OPTION_DEFINE([LTDL_INIT], [installable],
8582 [m4_define([_LTDL_TYPE], [installable])])
8583 LT_OPTION_DEFINE([LTDL_INIT], [convenience],
8584 [m4_define([_LTDL_TYPE], [convenience])])
8585
8586 # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
8587 #
8588 # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
8589 # Written by Gary V. Vaughan, 2004
8590 #
8591 # This file is free software; the Free Software Foundation gives
8592 # unlimited permission to copy and/or distribute it, with or without
8593 # modifications, as long as this notice is preserved.
8594
8595 # serial 6 ltsugar.m4
8596
8597 # This is to help aclocal find these macros, as it can't see m4_define.
8598 AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
8599
8600
8601 # lt_join(SEP, ARG1, [ARG2...])
8602 # -----------------------------
8603 # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
8604 # associated separator.
8605 # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
8606 # versions in m4sugar had bugs.
8607 m4_define([lt_join],
8608 [m4_if([$#], [1], [],
8609 [$#], [2], [[$2]],
8610 [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
8611 m4_define([_lt_join],
8612 [m4_if([$#$2], [2], [],
8613 [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
8614
8615
8616 # lt_car(LIST)
8617 # lt_cdr(LIST)
8618 # ------------
8619 # Manipulate m4 lists.
8620 # These macros are necessary as long as will still need to support
8621 # Autoconf-2.59 which quotes differently.
8622 m4_define([lt_car], [[$1]])
8623 m4_define([lt_cdr],
8624 [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
8625 [$#], 1, [],
8626 [m4_dquote(m4_shift($@))])])
8627 m4_define([lt_unquote], $1)
8628
8629
8630 # lt_append(MACRO-NAME, STRING, [SEPARATOR])
8631 # ------------------------------------------
8632 # Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
8633 # Note that neither SEPARATOR nor STRING are expanded; they are appended
8634 # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
8635 # No SEPARATOR is output if MACRO-NAME was previously undefined (different
8636 # than defined and empty).
8637 #
8638 # This macro is needed until we can rely on Autoconf 2.62, since earlier
8639 # versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
8640 m4_define([lt_append],
8641 [m4_define([$1],
8642 m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
8643
8644
8645
8646 # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
8647 # ----------------------------------------------------------
8648 # Produce a SEP delimited list of all paired combinations of elements of
8649 # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
8650 # has the form PREFIXmINFIXSUFFIXn.
8651 # Needed until we can rely on m4_combine added in Autoconf 2.62.
8652 m4_define([lt_combine],
8653 [m4_if(m4_eval([$# > 3]), [1],
8654 [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
8655 [[m4_foreach([_Lt_prefix], [$2],
8656 [m4_foreach([_Lt_suffix],
8657 ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
8658 [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
8659
8660
8661 # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
8662 # -----------------------------------------------------------------------
8663 # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
8664 # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
8665 m4_define([lt_if_append_uniq],
8666 [m4_ifdef([$1],
8667 [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
8668 [lt_append([$1], [$2], [$3])$4],
8669 [$5])],
8670 [lt_append([$1], [$2], [$3])$4])])
8671
8672
8673 # lt_dict_add(DICT, KEY, VALUE)
8674 # -----------------------------
8675 m4_define([lt_dict_add],
8676 [m4_define([$1($2)], [$3])])
8677
8678
8679 # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
8680 # --------------------------------------------
8681 m4_define([lt_dict_add_subkey],
8682 [m4_define([$1($2:$3)], [$4])])
8683
8684
8685 # lt_dict_fetch(DICT, KEY, [SUBKEY])
8686 # ----------------------------------
8687 m4_define([lt_dict_fetch],
8688 [m4_ifval([$3],
8689 m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
8690 m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
8691
8692
8693 # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
8694 # -----------------------------------------------------------------
8695 m4_define([lt_if_dict_fetch],
8696 [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
8697 [$5],
8698 [$6])])
8699
8700
8701 # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
8702 # --------------------------------------------------------------
8703 m4_define([lt_dict_filter],
8704 [m4_if([$5], [], [],
8705 [lt_join(m4_quote(m4_default([$4], [[, ]])),
8706 lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
8707 [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
8708 ])
8709
8710 # ltversion.m4 -- version numbers -*- Autoconf -*-
8711 #
8712 # Copyright (C) 2004 Free Software Foundation, Inc.
8713 # Written by Scott James Remnant, 2004
8714 #
8715 # This file is free software; the Free Software Foundation gives
8716 # unlimited permission to copy and/or distribute it, with or without
8717 # modifications, as long as this notice is preserved.
8718
8719 # Generated from ltversion.in.
8720
8721 # serial 3012 ltversion.m4
8722 # This file is part of GNU Libtool
8723
8724 m4_define([LT_PACKAGE_VERSION], [2.2.6])
8725 m4_define([LT_PACKAGE_REVISION], [1.3012])
8726
8727 AC_DEFUN([LTVERSION_VERSION],
8728 [macro_version='2.2.6'
8729 macro_revision='1.3012'
8730 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
8731 _LT_DECL(, macro_revision, 0)
8732 ])
8733
8734 # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
8735 #
8736 # Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
8737 # Written by Scott James Remnant, 2004.
8738 #
8739 # This file is free software; the Free Software Foundation gives
8740 # unlimited permission to copy and/or distribute it, with or without
8741 # modifications, as long as this notice is preserved.
8742
8743 # serial 4 lt~obsolete.m4
8744
8745 # These exist entirely to fool aclocal when bootstrapping libtool.
8746 #
8747 # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
8748 # which have later been changed to m4_define as they aren't part of the
8749 # exported API, or moved to Autoconf or Automake where they belong.
8750 #
8751 # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
8752 # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
8753 # using a macro with the same name in our local m4/libtool.m4 it'll
8754 # pull the old libtool.m4 in (it doesn't see our shiny new m4_define
8755 # and doesn't know about Autoconf macros at all.)
8756 #
8757 # So we provide this file, which has a silly filename so it's always
8758 # included after everything else. This provides aclocal with the
8759 # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
8760 # because those macros already exist, or will be overwritten later.
8761 # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
8762 #
8763 # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
8764 # Yes, that means every name once taken will need to remain here until
8765 # we give up compatibility with versions before 1.7, at which point
8766 # we need to keep only those names which we still refer to.
8767
8768 # This is to help aclocal find these macros, as it can't see m4_define.
8769 AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
8770
8771 m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
8772 m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
8773 m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
8774 m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
8775 m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
8776 m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
8777 m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
8778 m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
8779 m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
8780 m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
8781 m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
8782 m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
8783 m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
8784 m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
8785 m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
8786 m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
8787 m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
8788 m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
8789 m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
8790 m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
8791 m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
8792 m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
8793 m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
8794 m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
8795 m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
8796 m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
8797 m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
8798 m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
8799 m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
8800 m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
8801 m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
8802 m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
8803 m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
8804 m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
8805 m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
8806 m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
8807 m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
8808 m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
8809 m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
8810 m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
8811 m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
8812 m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
8813 m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
8814 m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
8815 m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
8816 m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
8817 m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
8818 m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
8819 m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
8820 m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
8821 m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
8822 m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
8823 m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
8824 m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
8825 m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
8826
8827 # nls.m4 serial 3 (gettext-0.15)
8828 dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
8829 dnl This file is free software; the Free Software Foundation
8830 dnl gives unlimited permission to copy and/or distribute it,
8831 dnl with or without modifications, as long as this notice is preserved.
8832 dnl
8833 dnl This file can can be used in projects which are not available under
8834 dnl the GNU General Public License or the GNU Library General Public
8835 dnl License but which still want to provide support for the GNU gettext
8836 dnl functionality.
8837 dnl Please note that the actual code of the GNU gettext library is covered
8838 dnl by the GNU Library General Public License, and the rest of the GNU
8839 dnl gettext package package is covered by the GNU General Public License.
8840 dnl They are *not* in the public domain.
8841
8842 dnl Authors:
8843 dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
8844 dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
8845
8846 AC_PREREQ(2.50)
8847
8848 AC_DEFUN([AM_NLS],
8849 [
8850 AC_MSG_CHECKING([whether NLS is requested])
8851 dnl Default is enabled NLS
8852 AC_ARG_ENABLE(nls,
8853 [ --disable-nls do not use Native Language Support],
8854 USE_NLS=$enableval, USE_NLS=yes)
8855 AC_MSG_RESULT($USE_NLS)
8856 AC_SUBST(USE_NLS)
75968857 ])
75978858
75988859 # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
77519012 fi[]dnl
77529013 ])# PKG_CHECK_MODULES
77539014
7754 # Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
9015 # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
77559016 #
77569017 # This file is free software; the Free Software Foundation
77579018 # gives unlimited permission to copy and/or distribute it,
77639024 # generated from the m4 files accompanying Automake X.Y.
77649025 # (This private macro should not be called outside this file.)
77659026 AC_DEFUN([AM_AUTOMAKE_VERSION],
7766 [am__api_version='1.10'
9027 [am__api_version='1.11'
77679028 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
77689029 dnl require some minimum version. Point them to the right macro.
7769 m4_if([$1], [1.10.1], [],
9030 m4_if([$1], [1.11], [],
77709031 [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
77719032 ])
77729033
77809041 # AM_SET_CURRENT_AUTOMAKE_VERSION
77819042 # -------------------------------
77829043 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
7783 # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
9044 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
77849045 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
7785 [AM_AUTOMAKE_VERSION([1.10.1])dnl
9046 [AM_AUTOMAKE_VERSION([1.11])dnl
77869047 m4_ifndef([AC_AUTOCONF_VERSION],
77879048 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
7788 _AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
9049 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
77899050
77909051 # AM_AUX_DIR_EXPAND -*- Autoconf -*-
77919052
78429103
78439104 # AM_CONDITIONAL -*- Autoconf -*-
78449105
7845 # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
9106 # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
78469107 # Free Software Foundation, Inc.
78479108 #
78489109 # This file is free software; the Free Software Foundation
78499110 # gives unlimited permission to copy and/or distribute it,
78509111 # with or without modifications, as long as this notice is preserved.
78519112
7852 # serial 8
9113 # serial 9
78539114
78549115 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
78559116 # -------------------------------------
78629123 AC_SUBST([$1_FALSE])dnl
78639124 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
78649125 _AM_SUBST_NOTMAKE([$1_FALSE])dnl
9126 m4_define([_AM_COND_VALUE_$1], [$2])dnl
78659127 if $2; then
78669128 $1_TRUE=
78679129 $1_FALSE='#'
78759137 Usually this means the macro was only invoked conditionally.]])
78769138 fi])])
78779139
7878 # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
9140 # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
78799141 # Free Software Foundation, Inc.
78809142 #
78819143 # This file is free software; the Free Software Foundation
78829144 # gives unlimited permission to copy and/or distribute it,
78839145 # with or without modifications, as long as this notice is preserved.
78849146
7885 # serial 9
9147 # serial 10
78869148
78879149 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
78889150 # written in clear, in which case automake, when reading aclocal.m4,
79399201 if test "$am_compiler_list" = ""; then
79409202 am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
79419203 fi
9204 am__universal=false
9205 m4_case([$1], [CC],
9206 [case " $depcc " in #(
9207 *\ -arch\ *\ -arch\ *) am__universal=true ;;
9208 esac],
9209 [CXX],
9210 [case " $depcc " in #(
9211 *\ -arch\ *\ -arch\ *) am__universal=true ;;
9212 esac])
9213
79429214 for depmode in $am_compiler_list; do
79439215 # Setup a source with many dependencies, because some compilers
79449216 # like to wrap large dependency lists on column 80 (with \), and
79569228 done
79579229 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
79589230
9231 # We check with `-c' and `-o' for the sake of the "dashmstdout"
9232 # mode. It turns out that the SunPro C++ compiler does not properly
9233 # handle `-M -o', and we need to detect this. Also, some Intel
9234 # versions had trouble with output in subdirs
9235 am__obj=sub/conftest.${OBJEXT-o}
9236 am__minus_obj="-o $am__obj"
79599237 case $depmode in
9238 gcc)
9239 # This depmode causes a compiler race in universal mode.
9240 test "$am__universal" = false || continue
9241 ;;
79609242 nosideeffect)
79619243 # after this tag, mechanisms are not by side-effect, so they'll
79629244 # only be used when explicitly requested
79669248 break
79679249 fi
79689250 ;;
9251 msvisualcpp | msvcmsys)
9252 # This compiler won't grok `-c -o', but also, the minuso test has
9253 # not run yet. These depmodes are late enough in the game, and
9254 # so weak that their functioning should not be impacted.
9255 am__obj=conftest.${OBJEXT-o}
9256 am__minus_obj=
9257 ;;
79699258 none) break ;;
79709259 esac
7971 # We check with `-c' and `-o' for the sake of the "dashmstdout"
7972 # mode. It turns out that the SunPro C++ compiler does not properly
7973 # handle `-M -o', and we need to detect this.
79749260 if depmode=$depmode \
7975 source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
9261 source=sub/conftest.c object=$am__obj \
79769262 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
7977 $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
9263 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
79789264 >/dev/null 2>conftest.err &&
79799265 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
79809266 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
7981 grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
9267 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
79829268 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
79839269 # icc doesn't choke on unknown options, it will just issue warnings
79849270 # or remarks (even with -Werror). So we grep stderr for any message
80359321
80369322 # Generate code to set up dependency tracking. -*- Autoconf -*-
80379323
8038 # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
9324 # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
80399325 # Free Software Foundation, Inc.
80409326 #
80419327 # This file is free software; the Free Software Foundation
80429328 # gives unlimited permission to copy and/or distribute it,
80439329 # with or without modifications, as long as this notice is preserved.
80449330
8045 #serial 3
9331 #serial 5
80469332
80479333 # _AM_OUTPUT_DEPENDENCY_COMMANDS
80489334 # ------------------------------
80499335 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
8050 [for mf in $CONFIG_FILES; do
8051 # Strip MF so we end up with the name of the file.
8052 mf=`echo "$mf" | sed -e 's/:.*$//'`
8053 # Check whether this is an Automake generated Makefile or not.
8054 # We used to match only the files named `Makefile.in', but
8055 # some people rename them; so instead we look at the file content.
8056 # Grep'ing the first line is not enough: some people post-process
8057 # each Makefile.in and add a new line on top of each file to say so.
8058 # Grep'ing the whole file is not good either: AIX grep has a line
8059 # limit of 2048, but all sed's we know have understand at least 4000.
8060 if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
8061 dirpart=`AS_DIRNAME("$mf")`
8062 else
8063 continue
8064 fi
8065 # Extract the definition of DEPDIR, am__include, and am__quote
8066 # from the Makefile without running `make'.
8067 DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
8068 test -z "$DEPDIR" && continue
8069 am__include=`sed -n 's/^am__include = //p' < "$mf"`
8070 test -z "am__include" && continue
8071 am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
8072 # When using ansi2knr, U may be empty or an underscore; expand it
8073 U=`sed -n 's/^U = //p' < "$mf"`
8074 # Find all dependency output files, they are included files with
8075 # $(DEPDIR) in their names. We invoke sed twice because it is the
8076 # simplest approach to changing $(DEPDIR) to its actual value in the
8077 # expansion.
8078 for file in `sed -n "
8079 s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
8080 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
8081 # Make sure the directory exists.
8082 test -f "$dirpart/$file" && continue
8083 fdir=`AS_DIRNAME(["$file"])`
8084 AS_MKDIR_P([$dirpart/$fdir])
8085 # echo "creating $dirpart/$file"
8086 echo '# dummy' > "$dirpart/$file"
9336 [{
9337 # Autoconf 2.62 quotes --file arguments for eval, but not when files
9338 # are listed without --file. Let's play safe and only enable the eval
9339 # if we detect the quoting.
9340 case $CONFIG_FILES in
9341 *\'*) eval set x "$CONFIG_FILES" ;;
9342 *) set x $CONFIG_FILES ;;
9343 esac
9344 shift
9345 for mf
9346 do
9347 # Strip MF so we end up with the name of the file.
9348 mf=`echo "$mf" | sed -e 's/:.*$//'`
9349 # Check whether this is an Automake generated Makefile or not.
9350 # We used to match only the files named `Makefile.in', but
9351 # some people rename them; so instead we look at the file content.
9352 # Grep'ing the first line is not enough: some people post-process
9353 # each Makefile.in and add a new line on top of each file to say so.
9354 # Grep'ing the whole file is not good either: AIX grep has a line
9355 # limit of 2048, but all sed's we know have understand at least 4000.
9356 if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
9357 dirpart=`AS_DIRNAME("$mf")`
9358 else
9359 continue
9360 fi
9361 # Extract the definition of DEPDIR, am__include, and am__quote
9362 # from the Makefile without running `make'.
9363 DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
9364 test -z "$DEPDIR" && continue
9365 am__include=`sed -n 's/^am__include = //p' < "$mf"`
9366 test -z "am__include" && continue
9367 am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
9368 # When using ansi2knr, U may be empty or an underscore; expand it
9369 U=`sed -n 's/^U = //p' < "$mf"`
9370 # Find all dependency output files, they are included files with
9371 # $(DEPDIR) in their names. We invoke sed twice because it is the
9372 # simplest approach to changing $(DEPDIR) to its actual value in the
9373 # expansion.
9374 for file in `sed -n "
9375 s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
9376 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
9377 # Make sure the directory exists.
9378 test -f "$dirpart/$file" && continue
9379 fdir=`AS_DIRNAME(["$file"])`
9380 AS_MKDIR_P([$dirpart/$fdir])
9381 # echo "creating $dirpart/$file"
9382 echo '# dummy' > "$dirpart/$file"
9383 done
80879384 done
8088 done
9385 }
80899386 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
80909387
80919388
81059402 # Do all the work for Automake. -*- Autoconf -*-
81069403
81079404 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
8108 # 2005, 2006, 2008 Free Software Foundation, Inc.
9405 # 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
81099406 #
81109407 # This file is free software; the Free Software Foundation
81119408 # gives unlimited permission to copy and/or distribute it,
81129409 # with or without modifications, as long as this notice is preserved.
81139410
8114 # serial 13
9411 # serial 16
81159412
81169413 # This macro actually does too much. Some checks are only needed if
81179414 # your package does certain things. But this isn't really a big deal.
81289425 # arguments mandatory, and then we can depend on a new Autoconf
81299426 # release and drop the old call support.
81309427 AC_DEFUN([AM_INIT_AUTOMAKE],
8131 [AC_PREREQ([2.60])dnl
9428 [AC_PREREQ([2.62])dnl
81329429 dnl Autoconf wants to disallow AM_ names. We explicitly allow
81339430 dnl the ones we care about.
81349431 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
81799476 AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
81809477 AM_MISSING_PROG(AUTOHEADER, autoheader)
81819478 AM_MISSING_PROG(MAKEINFO, makeinfo)
8182 AM_PROG_INSTALL_SH
8183 AM_PROG_INSTALL_STRIP
9479 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
9480 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
81849481 AC_REQUIRE([AM_PROG_MKDIR_P])dnl
81859482 # We need awk for the "check" target. The system "awk" is bad on
81869483 # some platforms.
81889485 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
81899486 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
81909487 _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
8191 [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
8192 [_AM_PROG_TAR([v7])])])
9488 [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
9489 [_AM_PROG_TAR([v7])])])
81939490 _AM_IF_OPTION([no-dependencies],,
81949491 [AC_PROVIDE_IFELSE([AC_PROG_CC],
8195 [_AM_DEPENDENCIES(CC)],
8196 [define([AC_PROG_CC],
8197 defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
9492 [_AM_DEPENDENCIES(CC)],
9493 [define([AC_PROG_CC],
9494 defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
81989495 AC_PROVIDE_IFELSE([AC_PROG_CXX],
8199 [_AM_DEPENDENCIES(CXX)],
8200 [define([AC_PROG_CXX],
8201 defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
9496 [_AM_DEPENDENCIES(CXX)],
9497 [define([AC_PROG_CXX],
9498 defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
82029499 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
8203 [_AM_DEPENDENCIES(OBJC)],
8204 [define([AC_PROG_OBJC],
8205 defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
9500 [_AM_DEPENDENCIES(OBJC)],
9501 [define([AC_PROG_OBJC],
9502 defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
82069503 ])
9504 _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
9505 dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
9506 dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
9507 dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
9508 AC_CONFIG_COMMANDS_PRE(dnl
9509 [m4_provide_if([_AM_COMPILER_EXEEXT],
9510 [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
82079511 ])
9512
9513 dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
9514 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
9515 dnl mangled by Autoconf and run in a shell conditional statement.
9516 m4_define([_AC_COMPILER_EXEEXT],
9517 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
82089518
82099519
82109520 # When config.status generates a header, we must update the stamp-h file.
82289538 done
82299539 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
82309540
8231 # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
9541 # Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
82329542 #
82339543 # This file is free software; the Free Software Foundation
82349544 # gives unlimited permission to copy and/or distribute it,
82399549 # Define $install_sh.
82409550 AC_DEFUN([AM_PROG_INSTALL_SH],
82419551 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
8242 install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
9552 if test x"${install_sh}" != xset; then
9553 case $am_aux_dir in
9554 *\ * | *\ *)
9555 install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
9556 *)
9557 install_sh="\${SHELL} $am_aux_dir/install-sh"
9558 esac
9559 fi
82439560 AC_SUBST(install_sh)])
82449561
82459562 # Copyright (C) 2003, 2005 Free Software Foundation, Inc.
82669583 # Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
82679584 # From Jim Meyering
82689585
8269 # Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
9586 # Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
82709587 # Free Software Foundation, Inc.
82719588 #
82729589 # This file is free software; the Free Software Foundation
82739590 # gives unlimited permission to copy and/or distribute it,
82749591 # with or without modifications, as long as this notice is preserved.
82759592
8276 # serial 4
8277
9593 # serial 5
9594
9595 # AM_MAINTAINER_MODE([DEFAULT-MODE])
9596 # ----------------------------------
9597 # Control maintainer-specific portions of Makefiles.
9598 # Default is to disable them, unless `enable' is passed literally.
9599 # For symmetry, `disable' may be passed as well. Anyway, the user
9600 # can override the default with the --enable/--disable switch.
82789601 AC_DEFUN([AM_MAINTAINER_MODE],
8279 [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
8280 dnl maintainer-mode is disabled by default
8281 AC_ARG_ENABLE(maintainer-mode,
8282 [ --enable-maintainer-mode enable make rules and dependencies not useful
9602 [m4_case(m4_default([$1], [disable]),
9603 [enable], [m4_define([am_maintainer_other], [disable])],
9604 [disable], [m4_define([am_maintainer_other], [enable])],
9605 [m4_define([am_maintainer_other], [enable])
9606 m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
9607 AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
9608 dnl maintainer-mode's default is 'disable' unless 'enable' is passed
9609 AC_ARG_ENABLE([maintainer-mode],
9610 [ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
82839611 (and sometimes confusing) to the casual installer],
8284 USE_MAINTAINER_MODE=$enableval,
8285 USE_MAINTAINER_MODE=no)
9612 [USE_MAINTAINER_MODE=$enableval],
9613 [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
82869614 AC_MSG_RESULT([$USE_MAINTAINER_MODE])
8287 AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
9615 AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
82889616 MAINT=$MAINTAINER_MODE_TRUE
8289 AC_SUBST(MAINT)dnl
9617 AC_SUBST([MAINT])dnl
82909618 ]
82919619 )
82929620
82949622
82959623 # Check to see how 'make' treats includes. -*- Autoconf -*-
82969624
8297 # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
9625 # Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
82989626 #
82999627 # This file is free software; the Free Software Foundation
83009628 # gives unlimited permission to copy and/or distribute it,
83019629 # with or without modifications, as long as this notice is preserved.
83029630
8303 # serial 3
9631 # serial 4
83049632
83059633 # AM_MAKE_INCLUDE()
83069634 # -----------------
83099637 [am_make=${MAKE-make}
83109638 cat > confinc << 'END'
83119639 am__doit:
8312 @echo done
9640 @echo this is the am__doit target
83139641 .PHONY: am__doit
83149642 END
83159643 # If we don't find an include directive, just comment out the code.
83199647 _am_result=none
83209648 # First try GNU make style include.
83219649 echo "include confinc" > confmf
8322 # We grep out `Entering directory' and `Leaving directory'
8323 # messages which can occur if `w' ends up in MAKEFLAGS.
8324 # In particular we don't look at `^make:' because GNU make might
8325 # be invoked under some other name (usually "gmake"), in which
8326 # case it prints its new name instead of `make'.
8327 if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
8328 am__include=include
8329 am__quote=
8330 _am_result=GNU
8331 fi
9650 # Ignore all kinds of additional output from `make'.
9651 case `$am_make -s -f confmf 2> /dev/null` in #(
9652 *the\ am__doit\ target*)
9653 am__include=include
9654 am__quote=
9655 _am_result=GNU
9656 ;;
9657 esac
83329658 # Now try BSD make style include.
83339659 if test "$am__include" = "#"; then
83349660 echo '.include "confinc"' > confmf
8335 if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
8336 am__include=.include
8337 am__quote="\""
8338 _am_result=BSD
8339 fi
9661 case `$am_make -s -f confmf 2> /dev/null` in #(
9662 *the\ am__doit\ target*)
9663 am__include=.include
9664 am__quote="\""
9665 _am_result=BSD
9666 ;;
9667 esac
83409668 fi
83419669 AC_SUBST([am__include])
83429670 AC_SUBST([am__quote])
83469674
83479675 # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
83489676
8349 # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
9677 # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
83509678 # Free Software Foundation, Inc.
83519679 #
83529680 # This file is free software; the Free Software Foundation
83539681 # gives unlimited permission to copy and/or distribute it,
83549682 # with or without modifications, as long as this notice is preserved.
83559683
8356 # serial 5
9684 # serial 6
83579685
83589686 # AM_MISSING_PROG(NAME, PROGRAM)
83599687 # ------------------------------
83709698 AC_DEFUN([AM_MISSING_HAS_RUN],
83719699 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
83729700 AC_REQUIRE_AUX_FILE([missing])dnl
8373 test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
9701 if test x"${MISSING+set}" != xset; then
9702 case $am_aux_dir in
9703 *\ * | *\ *)
9704 MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
9705 *)
9706 MISSING="\${SHELL} $am_aux_dir/missing" ;;
9707 esac
9708 fi
83749709 # Use eval to expand $SHELL
83759710 if eval "$MISSING --run true"; then
83769711 am_missing_run="$MISSING --run "
84089743
84099744 # Helper functions for option handling. -*- Autoconf -*-
84109745
8411 # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
9746 # Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
84129747 #
84139748 # This file is free software; the Free Software Foundation
84149749 # gives unlimited permission to copy and/or distribute it,
84159750 # with or without modifications, as long as this notice is preserved.
84169751
8417 # serial 3
9752 # serial 4
84189753
84199754 # _AM_MANGLE_OPTION(NAME)
84209755 # -----------------------
84319766 # ----------------------------------
84329767 # OPTIONS is a space-separated list of Automake options.
84339768 AC_DEFUN([_AM_SET_OPTIONS],
8434 [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
9769 [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
84359770
84369771 # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
84379772 # -------------------------------------------
84419776
84429777 # Check to make sure that the build environment is sane. -*- Autoconf -*-
84439778
8444 # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
9779 # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
84459780 # Free Software Foundation, Inc.
84469781 #
84479782 # This file is free software; the Free Software Foundation
84489783 # gives unlimited permission to copy and/or distribute it,
84499784 # with or without modifications, as long as this notice is preserved.
84509785
8451 # serial 4
9786 # serial 5
84529787
84539788 # AM_SANITY_CHECK
84549789 # ---------------
84579792 # Just in case
84589793 sleep 1
84599794 echo timestamp > conftest.file
9795 # Reject unsafe characters in $srcdir or the absolute working directory
9796 # name. Accept space and tab only in the latter.
9797 am_lf='
9798 '
9799 case `pwd` in
9800 *[[\\\"\#\$\&\'\`$am_lf]]*)
9801 AC_MSG_ERROR([unsafe absolute working directory name]);;
9802 esac
9803 case $srcdir in
9804 *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
9805 AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
9806 esac
9807
84609808 # Do `set' in a subshell so we don't clobber the current shell's
84619809 # arguments. Must try -L first in case configure is actually a
84629810 # symlink; some systems play weird games with the mod time of symlinks
84639811 # (eg FreeBSD returns the mod time of the symlink's containing
84649812 # directory).
84659813 if (
8466 set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
9814 set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
84679815 if test "$[*]" = "X"; then
84689816 # -L didn't work.
8469 set X `ls -t $srcdir/configure conftest.file`
9817 set X `ls -t "$srcdir/configure" conftest.file`
84709818 fi
84719819 rm -f conftest.file
84729820 if test "$[*]" != "X $srcdir/configure conftest.file" \
85199867 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
85209868 AC_SUBST([INSTALL_STRIP_PROGRAM])])
85219869
8522 # Copyright (C) 2006 Free Software Foundation, Inc.
9870 # Copyright (C) 2006, 2008 Free Software Foundation, Inc.
85239871 #
85249872 # This file is free software; the Free Software Foundation
85259873 # gives unlimited permission to copy and/or distribute it,
85269874 # with or without modifications, as long as this notice is preserved.
9875
9876 # serial 2
85279877
85289878 # _AM_SUBST_NOTMAKE(VARIABLE)
85299879 # ---------------------------
85309880 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
85319881 # This macro is traced by Automake.
85329882 AC_DEFUN([_AM_SUBST_NOTMAKE])
9883
9884 # AM_SUBST_NOTMAKE(VARIABLE)
9885 # ---------------------------
9886 # Public sister of _AM_SUBST_NOTMAKE.
9887 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
85339888
85349889 # Check how to create a tarball. -*- Autoconf -*-
85359890
33 # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
44 # Free Software Foundation, Inc.
55
6 timestamp='2008-01-08'
6 timestamp='2009-04-27'
77
88 # This file is free software; you can redistribute it and/or modify it
99 # under the terms of the GNU General Public License as published by
323323 case `/usr/bin/uname -p` in
324324 sparc) echo sparc-icl-nx7; exit ;;
325325 esac ;;
326 s390x:SunOS:*:*)
327 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
328 exit ;;
326329 sun4H:SunOS:5.*:*)
327330 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
328331 exit ;;
330333 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
331334 exit ;;
332335 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
333 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
336 eval $set_cc_for_build
337 SUN_ARCH="i386"
338 # If there is a compiler, see if it is configured for 64-bit objects.
339 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
340 # This test works for both compilers.
341 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
342 if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
343 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
344 grep IS_64BIT_ARCH >/dev/null
345 then
346 SUN_ARCH="x86_64"
347 fi
348 fi
349 echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
334350 exit ;;
335351 sun4*:SunOS:6*:*)
336352 # According to config.sub, this is the proper way to canonicalize
795811 x86)
796812 echo i586-pc-interix${UNAME_RELEASE}
797813 exit ;;
798 EM64T | authenticamd)
814 EM64T | authenticamd | genuineintel)
799815 echo x86_64-unknown-interix${UNAME_RELEASE}
800816 exit ;;
801817 IA64)
934950 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
935951 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
936952 exit ;;
953 padre:Linux:*:*)
954 echo sparc-unknown-linux-gnu
955 exit ;;
937956 parisc:Linux:*:* | hppa:Linux:*:*)
938957 # Look for CPU level
939958 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
9831002 ;;
9841003 a.out-i386-linux)
9851004 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
986 exit ;;
987 coff-i386)
988 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
9891005 exit ;;
9901006 "")
9911007 # Either a pre-BFD a.out linker (linux-gnuoldld) or
11011117 pc:*:*:*)
11021118 # Left here for compatibility:
11031119 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1104 # the processor, so we play safe by assuming i386.
1105 echo i386-pc-msdosdjgpp
1120 # the processor, so we play safe by assuming i586.
1121 # Note: whatever this is, it MUST be the same as what config.sub
1122 # prints for the "djgpp" host, or else GDB configury will decide that
1123 # this is a cross-build.
1124 echo i586-pc-msdosdjgpp
11061125 exit ;;
11071126 Intel:Mach:3*:*)
11081127 echo i386-pc-mach3
11401159 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
11411160 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
11421161 && { echo i486-ncr-sysv4; exit; } ;;
1162 NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1163 OS_REL='.3'
1164 test -r /etc/.relid \
1165 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1166 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1167 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1168 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1169 && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1170 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1171 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
11431172 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
11441173 echo m68k-unknown-lynxos${UNAME_RELEASE}
11451174 exit ;;
12141243 exit ;;
12151244 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
12161245 echo i586-pc-beos
1246 exit ;;
1247 BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1248 echo i586-pc-haiku
12171249 exit ;;
12181250 SX-4:SUPER-UX:*:*)
12191251 echo sx4-nec-superux${UNAME_RELEASE}
13221354 exit ;;
13231355 i*86:rdos:*:*)
13241356 echo ${UNAME_MACHINE}-pc-rdos
1357 exit ;;
1358 i*86:AROS:*:*)
1359 echo ${UNAME_MACHINE}-pc-aros
13251360 exit ;;
13261361 esac
13271362
14831518 the operating system you are using. It is advised that you
14841519 download the most up to date version of the config scripts from
14851520
1486 http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
1521 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
14871522 and
1488 http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
1523 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
14891524
14901525 If the version you run ($0) is already up to date, please
14911526 send the following data and any information you think might be
5353 /* Define to 1 if you have the <unistd.h> header file. */
5454 #undef HAVE_UNISTD_H
5555
56 /* Define to the sub-directory in which libtool stores uninstalled libraries.
57 */
58 #undef LT_OBJDIR
59
5660 /* Name of package */
5761 #undef PACKAGE
5862
33 # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
44 # Free Software Foundation, Inc.
55
6 timestamp='2008-01-16'
6 timestamp='2009-04-17'
77
88 # This file is (in principle) common to ALL GNU software.
99 # The presence of a machine in this file suggests that SOME GNU software
121121 case $maybe_os in
122122 nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
123123 uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
124 kopensolaris*-gnu* | \
124125 storm-chaos* | os2-emx* | rtmk-nova*)
125126 os=-$maybe_os
126127 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
248249 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
249250 | i370 | i860 | i960 | ia64 \
250251 | ip2k | iq2000 \
252 | lm32 \
251253 | m32c | m32r | m32rle | m68000 | m68k | m88k \
252 | maxq | mb | microblaze | mcore | mep \
254 | maxq | mb | microblaze | mcore | mep | metag \
253255 | mips | mipsbe | mipseb | mipsel | mipsle \
254256 | mips16 \
255257 | mips64 | mips64el \
258 | mips64octeon | mips64octeonel \
259 | mips64orion | mips64orionel \
260 | mips64r5900 | mips64r5900el \
256261 | mips64vr | mips64vrel \
257 | mips64orion | mips64orionel \
258262 | mips64vr4100 | mips64vr4100el \
259263 | mips64vr4300 | mips64vr4300el \
260264 | mips64vr5000 | mips64vr5000el \
267271 | mipsisa64sr71k | mipsisa64sr71kel \
268272 | mipstx39 | mipstx39el \
269273 | mn10200 | mn10300 \
274 | moxie \
270275 | mt \
271276 | msp430 \
272277 | nios | nios2 \
276281 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
277282 | pyramid \
278283 | score \
279 | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
284 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
280285 | sh64 | sh64le \
281286 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
282287 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
285290 | v850 | v850e \
286291 | we32k \
287292 | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
288 | z8k)
293 | z8k | z80)
289294 basic_machine=$basic_machine-unknown
290295 ;;
291296 m6811 | m68hc11 | m6812 | m68hc12)
328333 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
329334 | i*86-* | i860-* | i960-* | ia64-* \
330335 | ip2k-* | iq2000-* \
336 | lm32-* \
331337 | m32c-* | m32r-* | m32rle-* \
332338 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
333 | m88110-* | m88k-* | maxq-* | mcore-* \
339 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
334340 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
335341 | mips16-* \
336342 | mips64-* | mips64el-* \
343 | mips64octeon-* | mips64octeonel-* \
344 | mips64orion-* | mips64orionel-* \
345 | mips64r5900-* | mips64r5900el-* \
337346 | mips64vr-* | mips64vrel-* \
338 | mips64orion-* | mips64orionel-* \
339347 | mips64vr4100-* | mips64vr4100el-* \
340348 | mips64vr4300-* | mips64vr4300el-* \
341349 | mips64vr5000-* | mips64vr5000el-* \
357365 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
358366 | pyramid-* \
359367 | romp-* | rs6000-* \
360 | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
368 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
361369 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
362370 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
363371 | sparclite-* \
364372 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
365373 | tahoe-* | thumb-* \
366 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
374 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
367375 | tron-* \
368376 | v850-* | v850e-* | vax-* \
369377 | we32k-* \
370378 | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
371379 | xstormy16-* | xtensa*-* \
372380 | ymp-* \
373 | z8k-*)
381 | z8k-* | z80-*)
374382 ;;
375383 # Recognize the basic CPU types without company name, with glob match.
376384 xtensa*)
438446 basic_machine=m68k-apollo
439447 os=-bsd
440448 ;;
449 aros)
450 basic_machine=i386-pc
451 os=-aros
452 ;;
441453 aux)
442454 basic_machine=m68k-apple
443455 os=-aux
458470 basic_machine=c90-cray
459471 os=-unicos
460472 ;;
473 cegcc)
474 basic_machine=arm-unknown
475 os=-cegcc
476 ;;
461477 convex-c1)
462478 basic_machine=c1-convex
463479 os=-bsd
524540 delta88)
525541 basic_machine=m88k-motorola
526542 os=-sysv3
543 ;;
544 dicos)
545 basic_machine=i686-pc
546 os=-dicos
527547 ;;
528548 djgpp)
529549 basic_machine=i586-pc
11271147 basic_machine=z8k-unknown
11281148 os=-sim
11291149 ;;
1150 z80-*-coff)
1151 basic_machine=z80-unknown
1152 os=-sim
1153 ;;
11301154 none)
11311155 basic_machine=none-none
11321156 os=-none
11651189 we32k)
11661190 basic_machine=we32k-att
11671191 ;;
1168 sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
1192 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
11691193 basic_machine=sh-unknown
11701194 ;;
11711195 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12371261 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
12381262 | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
12391263 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1264 | -kopensolaris* \
12401265 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1241 | -aos* \
1266 | -aos* | -aros* \
12421267 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
12431268 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
12441269 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
12471272 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
12481273 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
12491274 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1250 | -chorusos* | -chorusrdb* \
1275 | -chorusos* | -chorusrdb* | -cegcc* \
12511276 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
12521277 | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
12531278 | -uxpv* | -beos* | -mpeix* | -udk* \
13871412 -zvmoe)
13881413 os=-zvmoe
13891414 ;;
1415 -dicos*)
1416 os=-dicos
1417 ;;
13901418 -none)
13911419 ;;
13921420 *)
+5082
-13412
configure less more
00 #! /bin/sh
11 # Guess values for system-dependent variables and create Makefiles.
2 # Generated by GNU Autoconf 2.62 for PolicyKit-gnome 0.9.2.
2 # Generated by GNU Autoconf 2.63 for polkit-gnome 0.94.
33 #
4 # Report bugs to <mailto:david@fubar.dk>.
4 # Report bugs to <http://lists.freedesktop.org/mailman/listinfo/polkit-devel>.
55 #
66 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
77 # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
576576 # Check that we are running under the correct shell.
577577 SHELL=${CONFIG_SHELL-/bin/sh}
578578
579 case X$ECHO in
579 case X$lt_ECHO in
580580 X*--fallback-echo)
581581 # Remove one level of quotation (which was required for Make).
582 ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
582 ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
583583 ;;
584584 esac
585585
586 echo=${ECHO-echo}
586 ECHO=${lt_ECHO-echo}
587587 if test "X$1" = X--no-reexec; then
588588 # Discard the --no-reexec flag, and continue.
589589 shift
590590 elif test "X$1" = X--fallback-echo; then
591591 # Avoid inline document here, it may be left over
592592 :
593 elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
594 # Yippee, $echo works!
593 elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
594 # Yippee, $ECHO works!
595595 :
596596 else
597597 # Restart under the correct shell.
601601 if test "X$1" = X--fallback-echo; then
602602 # used as fallback echo
603603 shift
604 cat <<EOF
604 cat <<_LT_EOF
605605 $*
606 EOF
606 _LT_EOF
607607 exit 0
608608 fi
609609
611611 # if CDPATH is set.
612612 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
613613
614 if test -z "$ECHO"; then
615 if test "X${echo_test_string+set}" != Xset; then
616 # find a string as large as possible, as long as the shell can cope with it
617 for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
618 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
619 if (echo_test_string=`eval $cmd`) 2>/dev/null &&
620 echo_test_string=`eval $cmd` &&
621 (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
622 then
623 break
624 fi
625 done
626 fi
627
628 if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
629 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
630 test "X$echo_testing_string" = "X$echo_test_string"; then
631 :
632 else
633 # The Solaris, AIX, and Digital Unix default echo programs unquote
634 # backslashes. This makes it impossible to quote backslashes using
635 # echo "$something" | sed 's/\\/\\\\/g'
636 #
637 # So, first we look for a working echo in the user's PATH.
638
639 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
640 for dir in $PATH /usr/ucb; do
614 if test -z "$lt_ECHO"; then
615 if test "X${echo_test_string+set}" != Xset; then
616 # find a string as large as possible, as long as the shell can cope with it
617 for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
618 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
619 if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
620 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
621 then
622 break
623 fi
624 done
625 fi
626
627 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
628 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
629 test "X$echo_testing_string" = "X$echo_test_string"; then
630 :
631 else
632 # The Solaris, AIX, and Digital Unix default echo programs unquote
633 # backslashes. This makes it impossible to quote backslashes using
634 # echo "$something" | sed 's/\\/\\\\/g'
635 #
636 # So, first we look for a working echo in the user's PATH.
637
638 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
639 for dir in $PATH /usr/ucb; do
640 IFS="$lt_save_ifs"
641 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
642 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
643 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
644 test "X$echo_testing_string" = "X$echo_test_string"; then
645 ECHO="$dir/echo"
646 break
647 fi
648 done
641649 IFS="$lt_save_ifs"
642 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
643 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
644 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
645 test "X$echo_testing_string" = "X$echo_test_string"; then
646 echo="$dir/echo"
647 break
648 fi
649 done
650 IFS="$lt_save_ifs"
651
652 if test "X$echo" = Xecho; then
653 # We didn't find a better echo, so look for alternatives.
654 if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
655 echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
656 test "X$echo_testing_string" = "X$echo_test_string"; then
657 # This shell has a builtin print -r that does the trick.
658 echo='print -r'
659 elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
660 test "X$CONFIG_SHELL" != X/bin/ksh; then
661 # If we have ksh, try running configure again with it.
662 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
663 export ORIGINAL_CONFIG_SHELL
664 CONFIG_SHELL=/bin/ksh
665 export CONFIG_SHELL
666 exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
667 else
668 # Try using printf.
669 echo='printf %s\n'
670 if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
671 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
672 test "X$echo_testing_string" = "X$echo_test_string"; then
673 # Cool, printf works
674 :
675 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
676 test "X$echo_testing_string" = 'X\t' &&
677 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
650
651 if test "X$ECHO" = Xecho; then
652 # We didn't find a better echo, so look for alternatives.
653 if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
654 echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
655 test "X$echo_testing_string" = "X$echo_test_string"; then
656 # This shell has a builtin print -r that does the trick.
657 ECHO='print -r'
658 elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
659 test "X$CONFIG_SHELL" != X/bin/ksh; then
660 # If we have ksh, try running configure again with it.
661 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
662 export ORIGINAL_CONFIG_SHELL
663 CONFIG_SHELL=/bin/ksh
664 export CONFIG_SHELL
665 exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
666 else
667 # Try using printf.
668 ECHO='printf %s\n'
669 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
670 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
678671 test "X$echo_testing_string" = "X$echo_test_string"; then
679 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
680 export CONFIG_SHELL
681 SHELL="$CONFIG_SHELL"
682 export SHELL
683 echo="$CONFIG_SHELL $0 --fallback-echo"
684 elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
685 test "X$echo_testing_string" = 'X\t' &&
686 echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
687 test "X$echo_testing_string" = "X$echo_test_string"; then
688 echo="$CONFIG_SHELL $0 --fallback-echo"
689 else
690 # maybe with a smaller string...
691 prev=:
692
693 for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
694 if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
695 then
696 break
672 # Cool, printf works
673 :
674 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
675 test "X$echo_testing_string" = 'X\t' &&
676 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
677 test "X$echo_testing_string" = "X$echo_test_string"; then
678 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
679 export CONFIG_SHELL
680 SHELL="$CONFIG_SHELL"
681 export SHELL
682 ECHO="$CONFIG_SHELL $0 --fallback-echo"
683 elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
684 test "X$echo_testing_string" = 'X\t' &&
685 echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
686 test "X$echo_testing_string" = "X$echo_test_string"; then
687 ECHO="$CONFIG_SHELL $0 --fallback-echo"
688 else
689 # maybe with a smaller string...
690 prev=:
691
692 for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
693 if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
694 then
695 break
696 fi
697 prev="$cmd"
698 done
699
700 if test "$prev" != 'sed 50q "$0"'; then
701 echo_test_string=`eval $prev`
702 export echo_test_string
703 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
704 else
705 # Oops. We lost completely, so just stick with echo.
706 ECHO=echo
697707 fi
698 prev="$cmd"
699 done
700
701 if test "$prev" != 'sed 50q "$0"'; then
702 echo_test_string=`eval $prev`
703 export echo_test_string
704 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
705 else
706 # Oops. We lost completely, so just stick with echo.
707 echo=echo
708 fi
708 fi
709709 fi
710710 fi
711711 fi
712712 fi
713 fi
714713
715714 # Copy echo and quote the copy suitably for passing to libtool from
716715 # the Makefile, instead of quoting the original, which is used later.
717 ECHO=$echo
718 if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
719 ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
720 fi
721
722
723
724
725 tagnames=${tagnames+${tagnames},}CXX
726
727 tagnames=${tagnames+${tagnames},}F77
716 lt_ECHO=$ECHO
717 if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
718 lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
719 fi
720
721
722
728723
729724 exec 7<&0 </dev/null 6>&1
730725
747742 SHELL=${CONFIG_SHELL-/bin/sh}
748743
749744 # Identity of this package.
750 PACKAGE_NAME='PolicyKit-gnome'
751 PACKAGE_TARNAME='PolicyKit-gnome'
752 PACKAGE_VERSION='0.9.2'
753 PACKAGE_STRING='PolicyKit-gnome 0.9.2'
754 PACKAGE_BUGREPORT='mailto:david@fubar.dk'
745 PACKAGE_NAME='polkit-gnome'
746 PACKAGE_TARNAME='polkit-gnome'
747 PACKAGE_VERSION='0.94'
748 PACKAGE_STRING='polkit-gnome 0.94'
749 PACKAGE_BUGREPORT='http://lists.freedesktop.org/mailman/listinfo/polkit-devel'
755750
756751 ac_unique_file="src"
757752 # Factoring default headers for most tests.
790785 # include <unistd.h>
791786 #endif"
792787
793 ac_subst_vars='SHELL
788 ac_subst_vars='am__EXEEXT_FALSE
789 am__EXEEXT_TRUE
790 LTLIBOBJS
791 LIBOBJS
792 AM_LDFLAGS
793 AM_CXXFLAGS
794 AM_CFLAGS
795 AM_CPPFLAGS
796 MKINSTALLDIRS
797 POSUB
798 POFILES
799 PO_IN_DATADIR_FALSE
800 PO_IN_DATADIR_TRUE
801 INTLLIBS
802 INSTOBJEXT
803 GMOFILES
804 CATOBJEXT
805 CATALOGS
806 MSGFMT_OPTS
807 GETTEXT_PACKAGE
808 DATADIRNAME
809 ALL_LINGUAS
810 INTLTOOL_PERL
811 GMSGFMT
812 MSGFMT
813 MSGMERGE
814 XGETTEXT
815 INTLTOOL_POLICY_RULE
816 INTLTOOL_SERVICE_RULE
817 INTLTOOL_THEME_RULE
818 INTLTOOL_SCHEMAS_RULE
819 INTLTOOL_CAVES_RULE
820 INTLTOOL_XML_NOMERGE_RULE
821 INTLTOOL_XML_RULE
822 INTLTOOL_KBD_RULE
823 INTLTOOL_XAM_RULE
824 INTLTOOL_UI_RULE
825 INTLTOOL_SOUNDLIST_RULE
826 INTLTOOL_SHEET_RULE
827 INTLTOOL_SERVER_RULE
828 INTLTOOL_PONG_RULE
829 INTLTOOL_OAF_RULE
830 INTLTOOL_PROP_RULE
831 INTLTOOL_KEYS_RULE
832 INTLTOOL_DIRECTORY_RULE
833 INTLTOOL_DESKTOP_RULE
834 INTLTOOL_EXTRACT
835 INTLTOOL_MERGE
836 INTLTOOL_UPDATE
837 USE_NLS
838 BUILD_EXAMPLES_FALSE
839 BUILD_EXAMPLES_TRUE
840 POLKIT_GOBJECT_LIBS
841 POLKIT_GOBJECT_CFLAGS
842 POLKIT_AGENT_LIBS
843 POLKIT_AGENT_CFLAGS
844 GTK_LIBS
845 GTK_CFLAGS
846 DISABLE_DEPRECATED
847 WARN_CFLAGS
848 ACLOCAL_AMFLAGS
849 GTK_DOC_USE_LIBTOOL_FALSE
850 GTK_DOC_USE_LIBTOOL_TRUE
851 ENABLE_GTK_DOC_FALSE
852 ENABLE_GTK_DOC_TRUE
853 GTKDOC_CHECK
854 PKG_CONFIG
855 HTML_DIR
856 OTOOL64
857 OTOOL
858 LIPO
859 NMEDIT
860 DSYMUTIL
861 lt_ECHO
862 RANLIB
863 AR
864 OBJDUMP
865 LN_S
866 NM
867 ac_ct_DUMPBIN
868 DUMPBIN
869 LD
870 FGREP
871 SED
872 host_os
873 host_vendor
874 host_cpu
875 host
876 build_os
877 build_vendor
878 build_cpu
879 build
880 LIBTOOL
881 EGREP
882 GREP
883 CPP
884 am__fastdepCC_FALSE
885 am__fastdepCC_TRUE
886 CCDEPMODE
887 AMDEPBACKSLASH
888 AMDEP_FALSE
889 AMDEP_TRUE
890 am__quote
891 am__include
892 DEPDIR
893 OBJEXT
894 EXEEXT
895 ac_ct_CC
896 CPPFLAGS
897 LDFLAGS
898 CFLAGS
899 CC
900 LT_AGE
901 LT_REVISION
902 LT_CURRENT
903 MAINT
904 MAINTAINER_MODE_FALSE
905 MAINTAINER_MODE_TRUE
906 am__untar
907 am__tar
908 AMTAR
909 am__leading_dot
910 SET_MAKE
911 AWK
912 mkdir_p
913 MKDIR_P
914 INSTALL_STRIP_PROGRAM
915 STRIP
916 install_sh
917 MAKEINFO
918 AUTOHEADER
919 AUTOMAKE
920 AUTOCONF
921 ACLOCAL
922 VERSION
923 PACKAGE
924 CYGPATH_W
925 am__isrc
926 INSTALL_DATA
927 INSTALL_SCRIPT
928 INSTALL_PROGRAM
929 target_alias
930 host_alias
931 build_alias
932 LIBS
933 ECHO_T
934 ECHO_N
935 ECHO_C
936 DEFS
937 mandir
938 localedir
939 libdir
940 psdir
941 pdfdir
942 dvidir
943 htmldir
944 infodir
945 docdir
946 oldincludedir
947 includedir
948 localstatedir
949 sharedstatedir
950 sysconfdir
951 datadir
952 datarootdir
953 libexecdir
954 sbindir
955 bindir
956 program_transform_name
957 prefix
958 exec_prefix
959 PACKAGE_BUGREPORT
960 PACKAGE_STRING
961 PACKAGE_VERSION
962 PACKAGE_TARNAME
963 PACKAGE_NAME
794964 PATH_SEPARATOR
795 PACKAGE_NAME
796 PACKAGE_TARNAME
797 PACKAGE_VERSION
798 PACKAGE_STRING
799 PACKAGE_BUGREPORT
800 exec_prefix
801 prefix
802 program_transform_name
803 bindir
804 sbindir
805 libexecdir
806 datarootdir
807 datadir
808 sysconfdir
809 sharedstatedir
810 localstatedir
811 includedir
812 oldincludedir
813 docdir
814 infodir
815 htmldir
816 dvidir
817 pdfdir
818 psdir
819 libdir
820 localedir
821 mandir
822 DEFS
823 ECHO_C
824 ECHO_N
825 ECHO_T
826 LIBS
827 build_alias
828 host_alias
829 target_alias
830 INSTALL_PROGRAM
831 INSTALL_SCRIPT
832 INSTALL_DATA
833 am__isrc
834 CYGPATH_W
835 PACKAGE
836 VERSION
837 ACLOCAL
838 AUTOCONF
839 AUTOMAKE
840 AUTOHEADER
841 MAKEINFO
842 install_sh
843 STRIP
844 INSTALL_STRIP_PROGRAM
845 MKDIR_P
846 mkdir_p
847 AWK
848 SET_MAKE
849 am__leading_dot
850 AMTAR
851 am__tar
852 am__untar
853 MAINTAINER_MODE_TRUE
854 MAINTAINER_MODE_FALSE
855 MAINT
856 LT_CURRENT
857 LT_REVISION
858 LT_AGE
859 CC
860 CFLAGS
861 LDFLAGS
862 CPPFLAGS
863 ac_ct_CC
864 EXEEXT
865 OBJEXT
866 DEPDIR
867 am__include
868 am__quote
869 AMDEP_TRUE
870 AMDEP_FALSE
871 AMDEPBACKSLASH
872 CCDEPMODE
873 am__fastdepCC_TRUE
874 am__fastdepCC_FALSE
875 CPP
876 GREP
877 EGREP
878 build
879 build_cpu
880 build_vendor
881 build_os
882 host
883 host_cpu
884 host_vendor
885 host_os
886 SED
887 LN_S
888 ECHO
889 AR
890 RANLIB
891 DSYMUTIL
892 NMEDIT
893 CXX
894 CXXFLAGS
895 ac_ct_CXX
896 CXXDEPMODE
897 am__fastdepCXX_TRUE
898 am__fastdepCXX_FALSE
899 CXXCPP
900 F77
901 FFLAGS
902 ac_ct_F77
903 LIBTOOL
904 ACLOCAL_AMFLAGS
905 PKG_CONFIG
906 HELP_DIR
907 OMF_DIR
908 DOC_USER_FORMATS
909 ENABLE_SK_TRUE
910 ENABLE_SK_FALSE
911 DISTCHECK_CONFIGURE_FLAGS
912 HAVE_GNOME_DOC_UTILS_TRUE
913 HAVE_GNOME_DOC_UTILS_FALSE
914 WARN_CFLAGS
915 DISABLE_DEPRECATED
916 HTML_DIR
917 GTKDOC_CHECK
918 ENABLE_GTK_DOC_TRUE
919 ENABLE_GTK_DOC_FALSE
920 GTK_DOC_USE_LIBTOOL_TRUE
921 GTK_DOC_USE_LIBTOOL_FALSE
922 GTK_CFLAGS
923 GTK_LIBS
924 GCONF_CFLAGS
925 GCONF_LIBS
926 DBUS_GLIB_CFLAGS
927 DBUS_GLIB_LIBS
928 POLKIT_DBUS_CFLAGS
929 POLKIT_DBUS_LIBS
930 POLKIT_GRANT_CFLAGS
931 POLKIT_GRANT_LIBS
932 BUILD_EXAMPLES_TRUE
933 BUILD_EXAMPLES_FALSE
934 POLKIT_POLICY_FILE_VALIDATE
935 GCONFTOOL
936 GCONF_SCHEMA_CONFIG_SOURCE
937 GCONF_SCHEMA_FILE_DIR
938 GCONF_SCHEMAS_INSTALL_TRUE
939 GCONF_SCHEMAS_INSTALL_FALSE
940 INTLTOOL_UPDATE
941 INTLTOOL_MERGE
942 INTLTOOL_EXTRACT
943 INTLTOOL_DESKTOP_RULE
944 INTLTOOL_DIRECTORY_RULE
945 INTLTOOL_KEYS_RULE
946 INTLTOOL_PROP_RULE
947 INTLTOOL_OAF_RULE
948 INTLTOOL_PONG_RULE
949 INTLTOOL_SERVER_RULE
950 INTLTOOL_SHEET_RULE
951 INTLTOOL_SOUNDLIST_RULE
952 INTLTOOL_UI_RULE
953 INTLTOOL_XAM_RULE
954 INTLTOOL_KBD_RULE
955 INTLTOOL_XML_RULE
956 INTLTOOL_XML_NOMERGE_RULE
957 INTLTOOL_CAVES_RULE
958 INTLTOOL_SCHEMAS_RULE
959 INTLTOOL_THEME_RULE
960 INTLTOOL_SERVICE_RULE
961 INTLTOOL_POLICY_RULE
962 XGETTEXT
963 MSGMERGE
964 MSGFMT
965 INTLTOOL_PERL
966 ALL_LINGUAS
967 DATADIRNAME
968 GETTEXT_PACKAGE
969 USE_NLS
970 MSGFMT_OPTS
971 GMSGFMT
972 CATALOGS
973 CATOBJEXT
974 GMOFILES
975 INSTOBJEXT
976 INTLLIBS
977 PO_IN_DATADIR_TRUE
978 PO_IN_DATADIR_FALSE
979 POFILES
980 POSUB
981 MKINSTALLDIRS
982 AM_CPPFLAGS
983 AM_CFLAGS
984 AM_CXXFLAGS
985 AM_LDFLAGS
986 LIBOBJS
987 LTLIBOBJS'
965 SHELL'
988966 ac_subst_files=''
989967 ac_user_opts='
990968 enable_option_checking
992970 enable_dependency_tracking
993971 enable_shared
994972 enable_static
973 with_pic
995974 enable_fast_install
996975 with_gnu_ld
997976 enable_libtool_lock
998 with_pic
999 with_tags
1000 with_help_dir
1001 with_omf_dir
1002 with_help_formats
1003 enable_scrollkeeper
977 with_html_dir
978 enable_gtk_doc
1004979 enable_debug
1005980 enable_compile_warnings
1006981 enable_iso_c
1007 enable_gtk_doc
1008 with_html_dir
1009982 enable_examples
1010 with_gconf_source
1011 with_gconf_schema_file_dir
1012 enable_schemas_install
983 enable_nls
1013984 '
1014985 ac_precious_vars='build_alias
1015986 host_alias
1020991 LIBS
1021992 CPPFLAGS
1022993 CPP
1023 CXX
1024 CXXFLAGS
1025 CCC
1026 CXXCPP
1027 F77
1028 FFLAGS
1029994 PKG_CONFIG
1030995 GTK_CFLAGS
1031996 GTK_LIBS
1032 GCONF_CFLAGS
1033 GCONF_LIBS
1034 DBUS_GLIB_CFLAGS
1035 DBUS_GLIB_LIBS
1036 POLKIT_DBUS_CFLAGS
1037 POLKIT_DBUS_LIBS
1038 POLKIT_GRANT_CFLAGS
1039 POLKIT_GRANT_LIBS'
997 POLKIT_AGENT_CFLAGS
998 POLKIT_AGENT_LIBS
999 POLKIT_GOBJECT_CFLAGS
1000 POLKIT_GOBJECT_LIBS'
10401001
10411002
10421003 # Initialize some variables set by options.
14591420 if test -n "$ac_unrecognized_opts"; then
14601421 case $enable_option_checking in
14611422 no) ;;
1462 fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2
1423 fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
14631424 { (exit 1); exit 1; }; } ;;
1464 *) $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;;
1425 *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
14651426 esac
14661427 fi
14671428
15141475 ac_pwd=`pwd` && test -n "$ac_pwd" &&
15151476 ac_ls_di=`ls -di .` &&
15161477 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
1517 { $as_echo "$as_me: error: Working directory cannot be determined" >&2
1478 { $as_echo "$as_me: error: working directory cannot be determined" >&2
15181479 { (exit 1); exit 1; }; }
15191480 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
15201481 { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
15891550 # Omit some internal or obsolete options to make the list less imposing.
15901551 # This message is too long to be a string in the A/UX 3.1 sh.
15911552 cat <<_ACEOF
1592 \`configure' configures PolicyKit-gnome 0.9.2 to adapt to many kinds of systems.
1553 \`configure' configures polkit-gnome 0.94 to adapt to many kinds of systems.
15931554
15941555 Usage: $0 [OPTION]... [VAR=VALUE]...
15951556
16371598 --infodir=DIR info documentation [DATAROOTDIR/info]
16381599 --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
16391600 --mandir=DIR man documentation [DATAROOTDIR/man]
1640 --docdir=DIR documentation root [DATAROOTDIR/doc/PolicyKit-gnome]
1601 --docdir=DIR documentation root [DATAROOTDIR/doc/polkit-gnome]
16411602 --htmldir=DIR html documentation [DOCDIR]
16421603 --dvidir=DIR dvi documentation [DOCDIR]
16431604 --pdfdir=DIR pdf documentation [DOCDIR]
16591620
16601621 if test -n "$ac_init_help"; then
16611622 case $ac_init_help in
1662 short | recursive ) echo "Configuration of PolicyKit-gnome 0.9.2:";;
1623 short | recursive ) echo "Configuration of polkit-gnome 0.94:";;
16631624 esac
16641625 cat <<\_ACEOF
16651626
16761637 --enable-fast-install[=PKGS]
16771638 optimize for fast installation [default=yes]
16781639 --disable-libtool-lock avoid locking (might break parallel builds)
1679 --disable-scrollkeeper do not make updates to the scrollkeeper database
1640 --enable-gtk-doc use gtk-doc to build documentation [default=no]
16801641 --enable-debug turn on debugging
16811642 --enable-compile-warnings=[no/minimum/yes/maximum/error]
16821643 Turn on compiler warnings
16831644 --enable-iso-c Try to warn if code is not ISO C
1684 --enable-gtk-doc use gtk-doc to build documentation default=yes
1685 --enable-gtk-doc use gtk-doc to build documentation [default=no]
16861645 --enable-examples Build the example programs
1687 --disable-schemas-install Disable the schemas installation
1646 --disable-nls do not use Native Language Support
16881647
16891648 Optional Packages:
16901649 --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
16911650 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
1692 --with-gnu-ld assume the C compiler uses GNU ld [default=no]
16931651 --with-pic try to use only PIC/non-PIC objects [default=use
16941652 both]
1695 --with-tags[=TAGS] include additional configurations [automatic]
1696 --with-help-dir=DIR path to help docs
1697 --with-omf-dir=DIR path to OMF files
1698 --with-help-formats=FORMATS
1699 list of formats
1653 --with-gnu-ld assume the C compiler uses GNU ld [default=no]
17001654 --with-html-dir=PATH path to installed docs
1701 --with-gconf-source=sourceaddress
1702 Config database for installing schema files.
1703 --with-gconf-schema-file-dir=dir
1704 Directory for installing schema files.
17051655
17061656 Some influential environment variables:
17071657 CC C compiler command
17121662 CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
17131663 you have headers in a nonstandard directory <include dir>
17141664 CPP C preprocessor
1715 CXX C++ compiler command
1716 CXXFLAGS C++ compiler flags
1717 CXXCPP C++ preprocessor
1718 F77 Fortran 77 compiler command
1719 FFLAGS Fortran 77 compiler flags
17201665 PKG_CONFIG path to pkg-config utility
17211666 GTK_CFLAGS C compiler flags for GTK, overriding pkg-config
17221667 GTK_LIBS linker flags for GTK, overriding pkg-config
1723 GCONF_CFLAGS
1724 C compiler flags for GCONF, overriding pkg-config
1725 GCONF_LIBS linker flags for GCONF, overriding pkg-config
1726 DBUS_GLIB_CFLAGS
1727 C compiler flags for DBUS_GLIB, overriding pkg-config
1728 DBUS_GLIB_LIBS
1729 linker flags for DBUS_GLIB, overriding pkg-config
1730 POLKIT_DBUS_CFLAGS
1731 C compiler flags for POLKIT_DBUS, overriding pkg-config
1732 POLKIT_DBUS_LIBS
1733 linker flags for POLKIT_DBUS, overriding pkg-config
1734 POLKIT_GRANT_CFLAGS
1735 C compiler flags for POLKIT_GRANT, overriding pkg-config
1736 POLKIT_GRANT_LIBS
1737 linker flags for POLKIT_GRANT, overriding pkg-config
1668 POLKIT_AGENT_CFLAGS
1669 C compiler flags for POLKIT_AGENT, overriding pkg-config
1670 POLKIT_AGENT_LIBS
1671 linker flags for POLKIT_AGENT, overriding pkg-config
1672 POLKIT_GOBJECT_CFLAGS
1673 C compiler flags for POLKIT_GOBJECT, overriding pkg-config
1674 POLKIT_GOBJECT_LIBS
1675 linker flags for POLKIT_GOBJECT, overriding pkg-config
17381676
17391677 Use these variables to override the choices made by `configure' or to help
17401678 it to find libraries and programs with nonstandard names/locations.
17411679
1742 Report bugs to <mailto:david@fubar.dk>.
1680 Report bugs to <http://lists.freedesktop.org/mailman/listinfo/polkit-devel>.
17431681 _ACEOF
17441682 ac_status=$?
17451683 fi
18021740 test -n "$ac_init_help" && exit $ac_status
18031741 if $ac_init_version; then
18041742 cat <<\_ACEOF
1805 PolicyKit-gnome configure 0.9.2
1806 generated by GNU Autoconf 2.62
1743 polkit-gnome configure 0.94
1744 generated by GNU Autoconf 2.63
18071745
18081746 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
18091747 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
18161754 This file contains any messages produced by compilers while
18171755 running configure, to aid debugging if configure makes a mistake.
18181756
1819 It was created by PolicyKit-gnome $as_me 0.9.2, which was
1820 generated by GNU Autoconf 2.62. Invocation command line was
1757 It was created by polkit-gnome $as_me 0.94, which was
1758 generated by GNU Autoconf 2.63. Invocation command line was
18211759
18221760 $ $0 $@
18231761
19401878 case $ac_val in #(
19411879 *${as_nl}*)
19421880 case $ac_var in #(
1943 *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
1944 $as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
1881 *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
1882 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
19451883 esac
19461884 case $ac_var in #(
19471885 _ | IFS | as_nl) ;; #(
21442082 fi
21452083 done
21462084 if $ac_cache_corrupted; then
2085 { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
2086 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
21472087 { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
21482088 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
21492089 { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
21832123
21842124
21852125
2186 am__api_version='1.10'
2126 am__api_version='1.11'
21872127
21882128 ac_aux_dir=
21892129 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
23142254 # Just in case
23152255 sleep 1
23162256 echo timestamp > conftest.file
2257 # Reject unsafe characters in $srcdir or the absolute working directory
2258 # name. Accept space and tab only in the latter.
2259 am_lf='
2260 '
2261 case `pwd` in
2262 *[\\\"\#\$\&\'\`$am_lf]*)
2263 { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5
2264 $as_echo "$as_me: error: unsafe absolute working directory name" >&2;}
2265 { (exit 1); exit 1; }; };;
2266 esac
2267 case $srcdir in
2268 *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
2269 { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5
2270 $as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;}
2271 { (exit 1); exit 1; }; };;
2272 esac
2273
23172274 # Do `set' in a subshell so we don't clobber the current shell's
23182275 # arguments. Must try -L first in case configure is actually a
23192276 # symlink; some systems play weird games with the mod time of symlinks
23202277 # (eg FreeBSD returns the mod time of the symlink's containing
23212278 # directory).
23222279 if (
2323 set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
2280 set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
23242281 if test "$*" = "X"; then
23252282 # -L didn't work.
2326 set X `ls -t $srcdir/configure conftest.file`
2283 set X `ls -t "$srcdir/configure" conftest.file`
23272284 fi
23282285 rm -f conftest.file
23292286 if test "$*" != "X $srcdir/configure conftest.file" \
23672324 # expand $ac_aux_dir to an absolute path
23682325 am_aux_dir=`cd $ac_aux_dir && pwd`
23692326
2370 test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
2327 if test x"${MISSING+set}" != xset; then
2328 case $am_aux_dir in
2329 *\ * | *\ *)
2330 MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
2331 *)
2332 MISSING="\${SHELL} $am_aux_dir/missing" ;;
2333 esac
2334 fi
23712335 # Use eval to expand $SHELL
23722336 if eval "$MISSING --run true"; then
23732337 am_missing_run="$MISSING --run "
23762340 { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
23772341 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
23782342 fi
2343
2344 if test x"${install_sh}" != xset; then
2345 case $am_aux_dir in
2346 *\ * | *\ *)
2347 install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
2348 *)
2349 install_sh="\${SHELL} $am_aux_dir/install-sh"
2350 esac
2351 fi
2352
2353 # Installed binaries are usually stripped using `strip' when the user
2354 # run `make install-strip'. However `strip' might not be the right
2355 # tool to use in cross-compilation environments, therefore Automake
2356 # will honor the `STRIP' environment variable to overrule this program.
2357 if test "$cross_compiling" != no; then
2358 if test -n "$ac_tool_prefix"; then
2359 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
2360 set dummy ${ac_tool_prefix}strip; ac_word=$2
2361 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
2362 $as_echo_n "checking for $ac_word... " >&6; }
2363 if test "${ac_cv_prog_STRIP+set}" = set; then
2364 $as_echo_n "(cached) " >&6
2365 else
2366 if test -n "$STRIP"; then
2367 ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
2368 else
2369 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2370 for as_dir in $PATH
2371 do
2372 IFS=$as_save_IFS
2373 test -z "$as_dir" && as_dir=.
2374 for ac_exec_ext in '' $ac_executable_extensions; do
2375 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
2376 ac_cv_prog_STRIP="${ac_tool_prefix}strip"
2377 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
2378 break 2
2379 fi
2380 done
2381 done
2382 IFS=$as_save_IFS
2383
2384 fi
2385 fi
2386 STRIP=$ac_cv_prog_STRIP
2387 if test -n "$STRIP"; then
2388 { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
2389 $as_echo "$STRIP" >&6; }
2390 else
2391 { $as_echo "$as_me:$LINENO: result: no" >&5
2392 $as_echo "no" >&6; }
2393 fi
2394
2395
2396 fi
2397 if test -z "$ac_cv_prog_STRIP"; then
2398 ac_ct_STRIP=$STRIP
2399 # Extract the first word of "strip", so it can be a program name with args.
2400 set dummy strip; ac_word=$2
2401 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
2402 $as_echo_n "checking for $ac_word... " >&6; }
2403 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
2404 $as_echo_n "(cached) " >&6
2405 else
2406 if test -n "$ac_ct_STRIP"; then
2407 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
2408 else
2409 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2410 for as_dir in $PATH
2411 do
2412 IFS=$as_save_IFS
2413 test -z "$as_dir" && as_dir=.
2414 for ac_exec_ext in '' $ac_executable_extensions; do
2415 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
2416 ac_cv_prog_ac_ct_STRIP="strip"
2417 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
2418 break 2
2419 fi
2420 done
2421 done
2422 IFS=$as_save_IFS
2423
2424 fi
2425 fi
2426 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
2427 if test -n "$ac_ct_STRIP"; then
2428 { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
2429 $as_echo "$ac_ct_STRIP" >&6; }
2430 else
2431 { $as_echo "$as_me:$LINENO: result: no" >&5
2432 $as_echo "no" >&6; }
2433 fi
2434
2435 if test "x$ac_ct_STRIP" = x; then
2436 STRIP=":"
2437 else
2438 case $cross_compiling:$ac_tool_warned in
2439 yes:)
2440 { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
2441 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
2442 ac_tool_warned=yes ;;
2443 esac
2444 STRIP=$ac_ct_STRIP
2445 fi
2446 else
2447 STRIP="$ac_cv_prog_STRIP"
2448 fi
2449
2450 fi
2451 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
23792452
23802453 { $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
23812454 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
25302603
25312604
25322605 # Define the identity of the package.
2533 PACKAGE='PolicyKit-gnome'
2534 VERSION='0.9.2'
2606 PACKAGE='polkit-gnome'
2607 VERSION='0.94'
25352608
25362609
25372610 cat >>confdefs.h <<_ACEOF
25592632
25602633 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
25612634
2562 install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
2563
2564 # Installed binaries are usually stripped using `strip' when the user
2565 # run `make install-strip'. However `strip' might not be the right
2566 # tool to use in cross-compilation environments, therefore Automake
2567 # will honor the `STRIP' environment variable to overrule this program.
2568 if test "$cross_compiling" != no; then
2569 if test -n "$ac_tool_prefix"; then
2570 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
2571 set dummy ${ac_tool_prefix}strip; ac_word=$2
2572 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
2573 $as_echo_n "checking for $ac_word... " >&6; }
2574 if test "${ac_cv_prog_STRIP+set}" = set; then
2575 $as_echo_n "(cached) " >&6
2576 else
2577 if test -n "$STRIP"; then
2578 ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
2579 else
2580 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2581 for as_dir in $PATH
2582 do
2583 IFS=$as_save_IFS
2584 test -z "$as_dir" && as_dir=.
2585 for ac_exec_ext in '' $ac_executable_extensions; do
2586 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
2587 ac_cv_prog_STRIP="${ac_tool_prefix}strip"
2588 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
2589 break 2
2590 fi
2591 done
2592 done
2593 IFS=$as_save_IFS
2594
2595 fi
2596 fi
2597 STRIP=$ac_cv_prog_STRIP
2598 if test -n "$STRIP"; then
2599 { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
2600 $as_echo "$STRIP" >&6; }
2601 else
2602 { $as_echo "$as_me:$LINENO: result: no" >&5
2603 $as_echo "no" >&6; }
2604 fi
2605
2606
2607 fi
2608 if test -z "$ac_cv_prog_STRIP"; then
2609 ac_ct_STRIP=$STRIP
2610 # Extract the first word of "strip", so it can be a program name with args.
2611 set dummy strip; ac_word=$2
2612 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
2613 $as_echo_n "checking for $ac_word... " >&6; }
2614 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
2615 $as_echo_n "(cached) " >&6
2616 else
2617 if test -n "$ac_ct_STRIP"; then
2618 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
2619 else
2620 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2621 for as_dir in $PATH
2622 do
2623 IFS=$as_save_IFS
2624 test -z "$as_dir" && as_dir=.
2625 for ac_exec_ext in '' $ac_executable_extensions; do
2626 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
2627 ac_cv_prog_ac_ct_STRIP="strip"
2628 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
2629 break 2
2630 fi
2631 done
2632 done
2633 IFS=$as_save_IFS
2634
2635 fi
2636 fi
2637 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
2638 if test -n "$ac_ct_STRIP"; then
2639 { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
2640 $as_echo "$ac_ct_STRIP" >&6; }
2641 else
2642 { $as_echo "$as_me:$LINENO: result: no" >&5
2643 $as_echo "no" >&6; }
2644 fi
2645
2646 if test "x$ac_ct_STRIP" = x; then
2647 STRIP=":"
2648 else
2649 case $cross_compiling:$ac_tool_warned in
2650 yes:)
2651 { $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
2652 whose name does not start with the host triplet. If you think this
2653 configuration is useful to you, please write to autoconf@gnu.org." >&5
2654 $as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
2655 whose name does not start with the host triplet. If you think this
2656 configuration is useful to you, please write to autoconf@gnu.org." >&2;}
2657 ac_tool_warned=yes ;;
2658 esac
2659 STRIP=$ac_ct_STRIP
2660 fi
2661 else
2662 STRIP="$ac_cv_prog_STRIP"
2663 fi
2664
2665 fi
2666 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
2667
26682635 # We need awk for the "check" target. The system "awk" is bad on
26692636 # some platforms.
26702637 # Always define AMTAR for backward compatibility.
26802647
26812648
26822649 ac_config_headers="$ac_config_headers config.h"
2650
26832651
26842652
26852653 { $as_echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
28032771 else
28042772 case $cross_compiling:$ac_tool_warned in
28052773 yes:)
2806 { $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
2807 whose name does not start with the host triplet. If you think this
2808 configuration is useful to you, please write to autoconf@gnu.org." >&5
2809 $as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
2810 whose name does not start with the host triplet. If you think this
2811 configuration is useful to you, please write to autoconf@gnu.org." >&2;}
2774 { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
2775 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
28122776 ac_tool_warned=yes ;;
28132777 esac
28142778 CC=$ac_ct_CC
30072971 else
30082972 case $cross_compiling:$ac_tool_warned in
30092973 yes:)
3010 { $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
3011 whose name does not start with the host triplet. If you think this
3012 configuration is useful to you, please write to autoconf@gnu.org." >&5
3013 $as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
3014 whose name does not start with the host triplet. If you think this
3015 configuration is useful to you, please write to autoconf@gnu.org." >&2;}
2974 { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
2975 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
30162976 ac_tool_warned=yes ;;
30172977 esac
30182978 CC=$ac_ct_CC
30222982 fi
30232983
30242984
3025 test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
2985 test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
2986 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2987 { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
30262988 See \`config.log' for more details." >&5
30272989 $as_echo "$as_me: error: no acceptable C compiler found in \$PATH
30282990 See \`config.log' for more details." >&2;}
3029 { (exit 1); exit 1; }; }
2991 { (exit 1); exit 1; }; }; }
30302992
30312993 # Provide some information about the compiler.
30322994 $as_echo "$as_me:$LINENO: checking for C compiler version" >&5
31563118 $as_echo "$as_me: failed program was:" >&5
31573119 sed 's/^/| /' conftest.$ac_ext >&5
31583120
3121 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
3122 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
31593123 { { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
31603124 See \`config.log' for more details." >&5
31613125 $as_echo "$as_me: error: C compiler cannot create executables
31623126 See \`config.log' for more details." >&2;}
3163 { (exit 77); exit 77; }; }
3127 { (exit 77); exit 77; }; }; }
31643128 fi
31653129
31663130 ac_exeext=$ac_cv_exeext
31883152 if test "$cross_compiling" = maybe; then
31893153 cross_compiling=yes
31903154 else
3191 { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
3155 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
3156 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3157 { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
31923158 If you meant to cross compile, use \`--host'.
31933159 See \`config.log' for more details." >&5
31943160 $as_echo "$as_me: error: cannot run C compiled programs.
31953161 If you meant to cross compile, use \`--host'.
31963162 See \`config.log' for more details." >&2;}
3197 { (exit 1); exit 1; }; }
3163 { (exit 1); exit 1; }; }; }
31983164 fi
31993165 fi
32003166 fi
32373203 esac
32383204 done
32393205 else
3240 { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
3206 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
3207 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3208 { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
32413209 See \`config.log' for more details." >&5
32423210 $as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
32433211 See \`config.log' for more details." >&2;}
3244 { (exit 1); exit 1; }; }
3212 { (exit 1); exit 1; }; }; }
32453213 fi
32463214
32473215 rm -f conftest$ac_cv_exeext
32953263 $as_echo "$as_me: failed program was:" >&5
32963264 sed 's/^/| /' conftest.$ac_ext >&5
32973265
3266 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
3267 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
32983268 { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
32993269 See \`config.log' for more details." >&5
33003270 $as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
33013271 See \`config.log' for more details." >&2;}
3302 { (exit 1); exit 1; }; }
3272 { (exit 1); exit 1; }; }; }
33033273 fi
33043274
33053275 rm -f conftest.$ac_cv_objext conftest.$ac_ext
36543624 am_make=${MAKE-make}
36553625 cat > confinc << 'END'
36563626 am__doit:
3657 @echo done
3627 @echo this is the am__doit target
36583628 .PHONY: am__doit
36593629 END
36603630 # If we don't find an include directive, just comment out the code.
36653635 _am_result=none
36663636 # First try GNU make style include.
36673637 echo "include confinc" > confmf
3668 # We grep out `Entering directory' and `Leaving directory'
3669 # messages which can occur if `w' ends up in MAKEFLAGS.
3670 # In particular we don't look at `^make:' because GNU make might
3671 # be invoked under some other name (usually "gmake"), in which
3672 # case it prints its new name instead of `make'.
3673 if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
3674 am__include=include
3675 am__quote=
3676 _am_result=GNU
3677 fi
3638 # Ignore all kinds of additional output from `make'.
3639 case `$am_make -s -f confmf 2> /dev/null` in #(
3640 *the\ am__doit\ target*)
3641 am__include=include
3642 am__quote=
3643 _am_result=GNU
3644 ;;
3645 esac
36783646 # Now try BSD make style include.
36793647 if test "$am__include" = "#"; then
36803648 echo '.include "confinc"' > confmf
3681 if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
3682 am__include=.include
3683 am__quote="\""
3684 _am_result=BSD
3685 fi
3649 case `$am_make -s -f confmf 2> /dev/null` in #(
3650 *the\ am__doit\ target*)
3651 am__include=.include
3652 am__quote="\""
3653 _am_result=BSD
3654 ;;
3655 esac
36863656 fi
36873657
36883658
37393709 if test "$am_compiler_list" = ""; then
37403710 am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
37413711 fi
3712 am__universal=false
3713 case " $depcc " in #(
3714 *\ -arch\ *\ -arch\ *) am__universal=true ;;
3715 esac
3716
37423717 for depmode in $am_compiler_list; do
37433718 # Setup a source with many dependencies, because some compilers
37443719 # like to wrap large dependency lists on column 80 (with \), and
37563731 done
37573732 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
37583733
3734 # We check with `-c' and `-o' for the sake of the "dashmstdout"
3735 # mode. It turns out that the SunPro C++ compiler does not properly
3736 # handle `-M -o', and we need to detect this. Also, some Intel
3737 # versions had trouble with output in subdirs
3738 am__obj=sub/conftest.${OBJEXT-o}
3739 am__minus_obj="-o $am__obj"
37593740 case $depmode in
3741 gcc)
3742 # This depmode causes a compiler race in universal mode.
3743 test "$am__universal" = false || continue
3744 ;;
37603745 nosideeffect)
37613746 # after this tag, mechanisms are not by side-effect, so they'll
37623747 # only be used when explicitly requested
37663751 break
37673752 fi
37683753 ;;
3754 msvisualcpp | msvcmsys)
3755 # This compiler won't grok `-c -o', but also, the minuso test has
3756 # not run yet. These depmodes are late enough in the game, and
3757 # so weak that their functioning should not be impacted.
3758 am__obj=conftest.${OBJEXT-o}
3759 am__minus_obj=
3760 ;;
37693761 none) break ;;
37703762 esac
3771 # We check with `-c' and `-o' for the sake of the "dashmstdout"
3772 # mode. It turns out that the SunPro C++ compiler does not properly
3773 # handle `-M -o', and we need to detect this.
37743763 if depmode=$depmode \
3775 source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
3764 source=sub/conftest.c object=$am__obj \
37763765 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
3777 $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
3766 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
37783767 >/dev/null 2>conftest.err &&
37793768 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
37803769 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
3781 grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
3770 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
37823771 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
37833772 # icc doesn't choke on unknown options, it will just issue warnings
37843773 # or remarks (even with -Werror). So we grep stderr for any message
41264115 if $ac_preproc_ok; then
41274116 :
41284117 else
4129 { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
4118 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
4119 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
4120 { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
41304121 See \`config.log' for more details." >&5
41314122 $as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
41324123 See \`config.log' for more details." >&2;}
4133 { (exit 1); exit 1; }; }
4124 { (exit 1); exit 1; }; }; }
41344125 fi
41354126
41364127 ac_ext=c
44524443
44534444 fi
44544445
4455 # Check whether --enable-shared was given.
4456 if test "${enable_shared+set}" = set; then
4457 enableval=$enable_shared; p=${PACKAGE-default}
4458 case $enableval in
4459 yes) enable_shared=yes ;;
4460 no) enable_shared=no ;;
4461 *)
4462 enable_shared=no
4463 # Look at the argument we got. We use all the common list separators.
4464 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
4465 for pkg in $enableval; do
4466 IFS="$lt_save_ifs"
4467 if test "X$pkg" = "X$p"; then
4468 enable_shared=yes
4469 fi
4470 done
4471 IFS="$lt_save_ifs"
4472 ;;
4473 esac
4474 else
4475 enable_shared=yes
4476 fi
4477
4478
4479 # Check whether --enable-static was given.
4480 if test "${enable_static+set}" = set; then
4481 enableval=$enable_static; p=${PACKAGE-default}
4482 case $enableval in
4483 yes) enable_static=yes ;;
4484 no) enable_static=no ;;
4485 *)
4486 enable_static=no
4487 # Look at the argument we got. We use all the common list separators.
4488 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
4489 for pkg in $enableval; do
4490 IFS="$lt_save_ifs"
4491 if test "X$pkg" = "X$p"; then
4492 enable_static=yes
4493 fi
4494 done
4495 IFS="$lt_save_ifs"
4496 ;;
4497 esac
4498 else
4499 enable_static=yes
4500 fi
4501
4502
4503 # Check whether --enable-fast-install was given.
4504 if test "${enable_fast_install+set}" = set; then
4505 enableval=$enable_fast_install; p=${PACKAGE-default}
4506 case $enableval in
4507 yes) enable_fast_install=yes ;;
4508 no) enable_fast_install=no ;;
4509 *)
4510 enable_fast_install=no
4511 # Look at the argument we got. We use all the common list separators.
4512 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
4513 for pkg in $enableval; do
4514 IFS="$lt_save_ifs"
4515 if test "X$pkg" = "X$p"; then
4516 enable_fast_install=yes
4517 fi
4518 done
4519 IFS="$lt_save_ifs"
4520 ;;
4521 esac
4522 else
4523 enable_fast_install=yes
4524 fi
4525
4446 case `pwd` in
4447 *\ * | *\ *)
4448 { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
4449 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
4450 esac
4451
4452
4453
4454 macro_version='2.2.6'
4455 macro_revision='1.3012'
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469 ltmain="$ac_aux_dir/ltmain.sh"
45264470
45274471 # Make sure we can run config.sub.
45284472 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
46094553
46104554 { $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
46114555 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
4612 if test "${lt_cv_path_SED+set}" = set; then
4556 if test "${ac_cv_path_SED+set}" = set; then
46134557 $as_echo_n "(cached) " >&6
46144558 else
4615 # Loop through the user's path and test for sed and gsed.
4616 # Then use that list of sed's as ones to test for truncation.
4617 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4559 ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
4560 for ac_i in 1 2 3 4 5 6 7; do
4561 ac_script="$ac_script$as_nl$ac_script"
4562 done
4563 echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
4564 $as_unset ac_script || ac_script=
4565 if test -z "$SED"; then
4566 ac_path_SED_found=false
4567 # Loop through the user's path and test for each of PROGNAME-LIST
4568 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
46184569 for as_dir in $PATH
46194570 do
46204571 IFS=$as_save_IFS
46214572 test -z "$as_dir" && as_dir=.
4622 for lt_ac_prog in sed gsed; do
4573 for ac_prog in sed gsed; do
46234574 for ac_exec_ext in '' $ac_executable_extensions; do
4624 if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then
4625 lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
4626 fi
4575 ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
4576 { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
4577 # Check for GNU ac_path_SED and select it if it is found.
4578 # Check for GNU $ac_path_SED
4579 case `"$ac_path_SED" --version 2>&1` in
4580 *GNU*)
4581 ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
4582 *)
4583 ac_count=0
4584 $as_echo_n 0123456789 >"conftest.in"
4585 while :
4586 do
4587 cat "conftest.in" "conftest.in" >"conftest.tmp"
4588 mv "conftest.tmp" "conftest.in"
4589 cp "conftest.in" "conftest.nl"
4590 $as_echo '' >> "conftest.nl"
4591 "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
4592 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
4593 ac_count=`expr $ac_count + 1`
4594 if test $ac_count -gt ${ac_path_SED_max-0}; then
4595 # Best one so far, save it but keep looking for a better one
4596 ac_cv_path_SED="$ac_path_SED"
4597 ac_path_SED_max=$ac_count
4598 fi
4599 # 10*(2^10) chars as input seems more than enough
4600 test $ac_count -gt 10 && break
4601 done
4602 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
4603 esac
4604
4605 $ac_path_SED_found && break 3
46274606 done
46284607 done
46294608 done
46304609 IFS=$as_save_IFS
4631 lt_ac_max=0
4632 lt_ac_count=0
4633 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
4634 # along with /bin/sed that truncates output.
4635 for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
4636 test ! -f $lt_ac_sed && continue
4637 cat /dev/null > conftest.in
4638 lt_ac_count=0
4639 echo $ECHO_N "0123456789$ECHO_C" >conftest.in
4640 # Check for GNU sed and select it if it is found.
4641 if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
4642 lt_cv_path_SED=$lt_ac_sed
4643 break
4610 if test -z "$ac_cv_path_SED"; then
4611 { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
4612 $as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
4613 { (exit 1); exit 1; }; }
46444614 fi
4645 while true; do
4646 cat conftest.in conftest.in >conftest.tmp
4647 mv conftest.tmp conftest.in
4648 cp conftest.in conftest.nl
4649 echo >>conftest.nl
4650 $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
4651 cmp -s conftest.out conftest.nl || break
4652 # 10000 chars as input seems more than enough
4653 test $lt_ac_count -gt 10 && break
4654 lt_ac_count=`expr $lt_ac_count + 1`
4655 if test $lt_ac_count -gt $lt_ac_max; then
4656 lt_ac_max=$lt_ac_count
4657 lt_cv_path_SED=$lt_ac_sed
4615 else
4616 ac_cv_path_SED=$SED
4617 fi
4618
4619 fi
4620 { $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
4621 $as_echo "$ac_cv_path_SED" >&6; }
4622 SED="$ac_cv_path_SED"
4623 rm -f conftest.sed
4624
4625 test -z "$SED" && SED=sed
4626 Xsed="$SED -e 1s/^X//"
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638 { $as_echo "$as_me:$LINENO: checking for fgrep" >&5
4639 $as_echo_n "checking for fgrep... " >&6; }
4640 if test "${ac_cv_path_FGREP+set}" = set; then
4641 $as_echo_n "(cached) " >&6
4642 else
4643 if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
4644 then ac_cv_path_FGREP="$GREP -F"
4645 else
4646 if test -z "$FGREP"; then
4647 ac_path_FGREP_found=false
4648 # Loop through the user's path and test for each of PROGNAME-LIST
4649 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4650 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
4651 do
4652 IFS=$as_save_IFS
4653 test -z "$as_dir" && as_dir=.
4654 for ac_prog in fgrep; do
4655 for ac_exec_ext in '' $ac_executable_extensions; do
4656 ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
4657 { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
4658 # Check for GNU ac_path_FGREP and select it if it is found.
4659 # Check for GNU $ac_path_FGREP
4660 case `"$ac_path_FGREP" --version 2>&1` in
4661 *GNU*)
4662 ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
4663 *)
4664 ac_count=0
4665 $as_echo_n 0123456789 >"conftest.in"
4666 while :
4667 do
4668 cat "conftest.in" "conftest.in" >"conftest.tmp"
4669 mv "conftest.tmp" "conftest.in"
4670 cp "conftest.in" "conftest.nl"
4671 $as_echo 'FGREP' >> "conftest.nl"
4672 "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
4673 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
4674 ac_count=`expr $ac_count + 1`
4675 if test $ac_count -gt ${ac_path_FGREP_max-0}; then
4676 # Best one so far, save it but keep looking for a better one
4677 ac_cv_path_FGREP="$ac_path_FGREP"
4678 ac_path_FGREP_max=$ac_count
46584679 fi
4680 # 10*(2^10) chars as input seems more than enough
4681 test $ac_count -gt 10 && break
4682 done
4683 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
4684 esac
4685
4686 $ac_path_FGREP_found && break 3
4687 done
46594688 done
46604689 done
4661
4662 fi
4663
4664 SED=$lt_cv_path_SED
4665
4666 { $as_echo "$as_me:$LINENO: result: $SED" >&5
4667 $as_echo "$SED" >&6; }
4690 IFS=$as_save_IFS
4691 if test -z "$ac_cv_path_FGREP"; then
4692 { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
4693 $as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
4694 { (exit 1); exit 1; }; }
4695 fi
4696 else
4697 ac_cv_path_FGREP=$FGREP
4698 fi
4699
4700 fi
4701 fi
4702 { $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
4703 $as_echo "$ac_cv_path_FGREP" >&6; }
4704 FGREP="$ac_cv_path_FGREP"
4705
4706
4707 test -z "$GREP" && GREP=grep
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
46684725
46694726
46704727 # Check whether --with-gnu-ld was given.
46914748 [\\/]* | ?:[\\/]*)
46924749 re_direlt='/[^/][^/]*/\.\./'
46934750 # Canonicalize the pathname of ld
4694 ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
4695 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
4696 ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
4751 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
4752 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
4753 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
46974754 done
46984755 test -z "$LD" && LD="$ac_prog"
46994756 ;;
47734830 with_gnu_ld=$lt_cv_prog_gnu_ld
47744831
47754832
4776 { $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
4777 $as_echo_n "checking for $LD option to reload object files... " >&6; }
4778 if test "${lt_cv_ld_reload_flag+set}" = set; then
4779 $as_echo_n "(cached) " >&6
4780 else
4781 lt_cv_ld_reload_flag='-r'
4782 fi
4783 { $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
4784 $as_echo "$lt_cv_ld_reload_flag" >&6; }
4785 reload_flag=$lt_cv_ld_reload_flag
4786 case $reload_flag in
4787 "" | " "*) ;;
4788 *) reload_flag=" $reload_flag" ;;
4789 esac
4790 reload_cmds='$LD$reload_flag -o $output$reload_objs'
4791 case $host_os in
4792 darwin*)
4793 if test "$GCC" = yes; then
4794 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
4795 else
4796 reload_cmds='$LD$reload_flag -o $output$reload_objs'
4797 fi
4798 ;;
4799 esac
4800
4801 { $as_echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
4802 $as_echo_n "checking for BSD-compatible nm... " >&6; }
4833
4834
4835
4836
4837
4838
4839
4840 { $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5
4841 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
48034842 if test "${lt_cv_path_NM+set}" = set; then
48044843 $as_echo_n "(cached) " >&6
48054844 else
48444883 done
48454884 IFS="$lt_save_ifs"
48464885 done
4847 test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
4886 : ${lt_cv_path_NM=no}
48484887 fi
48494888 fi
48504889 { $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
48514890 $as_echo "$lt_cv_path_NM" >&6; }
4852 NM="$lt_cv_path_NM"
4891 if test "$lt_cv_path_NM" != "no"; then
4892 NM="$lt_cv_path_NM"
4893 else
4894 # Didn't find any BSD compatible name lister, look for dumpbin.
4895 if test -n "$ac_tool_prefix"; then
4896 for ac_prog in "dumpbin -symbols" "link -dump -symbols"
4897 do
4898 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
4899 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
4900 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
4901 $as_echo_n "checking for $ac_word... " >&6; }
4902 if test "${ac_cv_prog_DUMPBIN+set}" = set; then
4903 $as_echo_n "(cached) " >&6
4904 else
4905 if test -n "$DUMPBIN"; then
4906 ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
4907 else
4908 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4909 for as_dir in $PATH
4910 do
4911 IFS=$as_save_IFS
4912 test -z "$as_dir" && as_dir=.
4913 for ac_exec_ext in '' $ac_executable_extensions; do
4914 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
4915 ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
4916 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
4917 break 2
4918 fi
4919 done
4920 done
4921 IFS=$as_save_IFS
4922
4923 fi
4924 fi
4925 DUMPBIN=$ac_cv_prog_DUMPBIN
4926 if test -n "$DUMPBIN"; then
4927 { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5
4928 $as_echo "$DUMPBIN" >&6; }
4929 else
4930 { $as_echo "$as_me:$LINENO: result: no" >&5
4931 $as_echo "no" >&6; }
4932 fi
4933
4934
4935 test -n "$DUMPBIN" && break
4936 done
4937 fi
4938 if test -z "$DUMPBIN"; then
4939 ac_ct_DUMPBIN=$DUMPBIN
4940 for ac_prog in "dumpbin -symbols" "link -dump -symbols"
4941 do
4942 # Extract the first word of "$ac_prog", so it can be a program name with args.
4943 set dummy $ac_prog; ac_word=$2
4944 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
4945 $as_echo_n "checking for $ac_word... " >&6; }
4946 if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
4947 $as_echo_n "(cached) " >&6
4948 else
4949 if test -n "$ac_ct_DUMPBIN"; then
4950 ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
4951 else
4952 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4953 for as_dir in $PATH
4954 do
4955 IFS=$as_save_IFS
4956 test -z "$as_dir" && as_dir=.
4957 for ac_exec_ext in '' $ac_executable_extensions; do
4958 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
4959 ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
4960 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
4961 break 2
4962 fi
4963 done
4964 done
4965 IFS=$as_save_IFS
4966
4967 fi
4968 fi
4969 ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
4970 if test -n "$ac_ct_DUMPBIN"; then
4971 { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
4972 $as_echo "$ac_ct_DUMPBIN" >&6; }
4973 else
4974 { $as_echo "$as_me:$LINENO: result: no" >&5
4975 $as_echo "no" >&6; }
4976 fi
4977
4978
4979 test -n "$ac_ct_DUMPBIN" && break
4980 done
4981
4982 if test "x$ac_ct_DUMPBIN" = x; then
4983 DUMPBIN=":"
4984 else
4985 case $cross_compiling:$ac_tool_warned in
4986 yes:)
4987 { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
4988 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
4989 ac_tool_warned=yes ;;
4990 esac
4991 DUMPBIN=$ac_ct_DUMPBIN
4992 fi
4993 fi
4994
4995
4996 if test "$DUMPBIN" != ":"; then
4997 NM="$DUMPBIN"
4998 fi
4999 fi
5000 test -z "$NM" && NM=nm
5001
5002
5003
5004
5005
5006
5007 { $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
5008 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
5009 if test "${lt_cv_nm_interface+set}" = set; then
5010 $as_echo_n "(cached) " >&6
5011 else
5012 lt_cv_nm_interface="BSD nm"
5013 echo "int some_variable = 0;" > conftest.$ac_ext
5014 (eval echo "\"\$as_me:5015: $ac_compile\"" >&5)
5015 (eval "$ac_compile" 2>conftest.err)
5016 cat conftest.err >&5
5017 (eval echo "\"\$as_me:5018: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
5018 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
5019 cat conftest.err >&5
5020 (eval echo "\"\$as_me:5021: output\"" >&5)
5021 cat conftest.out >&5
5022 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
5023 lt_cv_nm_interface="MS dumpbin"
5024 fi
5025 rm -f conftest*
5026 fi
5027 { $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
5028 $as_echo "$lt_cv_nm_interface" >&6; }
48535029
48545030 { $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5
48555031 $as_echo_n "checking whether ln -s works... " >&6; }
48615037 { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
48625038 $as_echo "no, using $LN_S" >&6; }
48635039 fi
5040
5041 # find the maximum length of command line arguments
5042 { $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
5043 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
5044 if test "${lt_cv_sys_max_cmd_len+set}" = set; then
5045 $as_echo_n "(cached) " >&6
5046 else
5047 i=0
5048 teststring="ABCD"
5049
5050 case $build_os in
5051 msdosdjgpp*)
5052 # On DJGPP, this test can blow up pretty badly due to problems in libc
5053 # (any single argument exceeding 2000 bytes causes a buffer overrun
5054 # during glob expansion). Even if it were fixed, the result of this
5055 # check would be larger than it should be.
5056 lt_cv_sys_max_cmd_len=12288; # 12K is about right
5057 ;;
5058
5059 gnu*)
5060 # Under GNU Hurd, this test is not required because there is
5061 # no limit to the length of command line arguments.
5062 # Libtool will interpret -1 as no limit whatsoever
5063 lt_cv_sys_max_cmd_len=-1;
5064 ;;
5065
5066 cygwin* | mingw* | cegcc*)
5067 # On Win9x/ME, this test blows up -- it succeeds, but takes
5068 # about 5 minutes as the teststring grows exponentially.
5069 # Worse, since 9x/ME are not pre-emptively multitasking,
5070 # you end up with a "frozen" computer, even though with patience
5071 # the test eventually succeeds (with a max line length of 256k).
5072 # Instead, let's just punt: use the minimum linelength reported by
5073 # all of the supported platforms: 8192 (on NT/2K/XP).
5074 lt_cv_sys_max_cmd_len=8192;
5075 ;;
5076
5077 amigaos*)
5078 # On AmigaOS with pdksh, this test takes hours, literally.
5079 # So we just punt and use a minimum line length of 8192.
5080 lt_cv_sys_max_cmd_len=8192;
5081 ;;
5082
5083 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
5084 # This has been around since 386BSD, at least. Likely further.
5085 if test -x /sbin/sysctl; then
5086 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
5087 elif test -x /usr/sbin/sysctl; then
5088 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
5089 else
5090 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
5091 fi
5092 # And add a safety zone
5093 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
5094 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
5095 ;;
5096
5097 interix*)
5098 # We know the value 262144 and hardcode it with a safety zone (like BSD)
5099 lt_cv_sys_max_cmd_len=196608
5100 ;;
5101
5102 osf*)
5103 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
5104 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
5105 # nice to cause kernel panics so lets avoid the loop below.
5106 # First set a reasonable default.
5107 lt_cv_sys_max_cmd_len=16384
5108 #
5109 if test -x /sbin/sysconfig; then
5110 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
5111 *1*) lt_cv_sys_max_cmd_len=-1 ;;
5112 esac
5113 fi
5114 ;;
5115 sco3.2v5*)
5116 lt_cv_sys_max_cmd_len=102400
5117 ;;
5118 sysv5* | sco5v6* | sysv4.2uw2*)
5119 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
5120 if test -n "$kargmax"; then
5121 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
5122 else
5123 lt_cv_sys_max_cmd_len=32768
5124 fi
5125 ;;
5126 *)
5127 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
5128 if test -n "$lt_cv_sys_max_cmd_len"; then
5129 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
5130 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
5131 else
5132 # Make teststring a little bigger before we do anything with it.
5133 # a 1K string should be a reasonable start.
5134 for i in 1 2 3 4 5 6 7 8 ; do
5135 teststring=$teststring$teststring
5136 done
5137 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
5138 # If test is not a shell built-in, we'll probably end up computing a
5139 # maximum length that is only half of the actual maximum length, but
5140 # we can't tell.
5141 while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
5142 = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
5143 test $i != 17 # 1/2 MB should be enough
5144 do
5145 i=`expr $i + 1`
5146 teststring=$teststring$teststring
5147 done
5148 # Only check the string length outside the loop.
5149 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
5150 teststring=
5151 # Add a significant safety factor because C++ compilers can tack on
5152 # massive amounts of additional arguments before passing them to the
5153 # linker. It appears as though 1/2 is a usable value.
5154 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
5155 fi
5156 ;;
5157 esac
5158
5159 fi
5160
5161 if test -n $lt_cv_sys_max_cmd_len ; then
5162 { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
5163 $as_echo "$lt_cv_sys_max_cmd_len" >&6; }
5164 else
5165 { $as_echo "$as_me:$LINENO: result: none" >&5
5166 $as_echo "none" >&6; }
5167 fi
5168 max_cmd_len=$lt_cv_sys_max_cmd_len
5169
5170
5171
5172
5173
5174
5175 : ${CP="cp -f"}
5176 : ${MV="mv -f"}
5177 : ${RM="rm -f"}
5178
5179 { $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5
5180 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
5181 # Try some XSI features
5182 xsi_shell=no
5183 ( _lt_dummy="a/b/c"
5184 test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
5185 = c,a/b,, \
5186 && eval 'test $(( 1 + 1 )) -eq 2 \
5187 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
5188 && xsi_shell=yes
5189 { $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5
5190 $as_echo "$xsi_shell" >&6; }
5191
5192
5193 { $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5
5194 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
5195 lt_shell_append=no
5196 ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
5197 >/dev/null 2>&1 \
5198 && lt_shell_append=yes
5199 { $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5
5200 $as_echo "$lt_shell_append" >&6; }
5201
5202
5203 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
5204 lt_unset=unset
5205 else
5206 lt_unset=false
5207 fi
5208
5209
5210
5211
5212
5213 # test EBCDIC or ASCII
5214 case `echo X|tr X '\101'` in
5215 A) # ASCII based system
5216 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
5217 lt_SP2NL='tr \040 \012'
5218 lt_NL2SP='tr \015\012 \040\040'
5219 ;;
5220 *) # EBCDIC based system
5221 lt_SP2NL='tr \100 \n'
5222 lt_NL2SP='tr \r\n \100\100'
5223 ;;
5224 esac
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234 { $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
5235 $as_echo_n "checking for $LD option to reload object files... " >&6; }
5236 if test "${lt_cv_ld_reload_flag+set}" = set; then
5237 $as_echo_n "(cached) " >&6
5238 else
5239 lt_cv_ld_reload_flag='-r'
5240 fi
5241 { $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
5242 $as_echo "$lt_cv_ld_reload_flag" >&6; }
5243 reload_flag=$lt_cv_ld_reload_flag
5244 case $reload_flag in
5245 "" | " "*) ;;
5246 *) reload_flag=" $reload_flag" ;;
5247 esac
5248 reload_cmds='$LD$reload_flag -o $output$reload_objs'
5249 case $host_os in
5250 darwin*)
5251 if test "$GCC" = yes; then
5252 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
5253 else
5254 reload_cmds='$LD$reload_flag -o $output$reload_objs'
5255 fi
5256 ;;
5257 esac
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267 if test -n "$ac_tool_prefix"; then
5268 # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
5269 set dummy ${ac_tool_prefix}objdump; ac_word=$2
5270 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
5271 $as_echo_n "checking for $ac_word... " >&6; }
5272 if test "${ac_cv_prog_OBJDUMP+set}" = set; then
5273 $as_echo_n "(cached) " >&6
5274 else
5275 if test -n "$OBJDUMP"; then
5276 ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
5277 else
5278 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5279 for as_dir in $PATH
5280 do
5281 IFS=$as_save_IFS
5282 test -z "$as_dir" && as_dir=.
5283 for ac_exec_ext in '' $ac_executable_extensions; do
5284 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
5285 ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
5286 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
5287 break 2
5288 fi
5289 done
5290 done
5291 IFS=$as_save_IFS
5292
5293 fi
5294 fi
5295 OBJDUMP=$ac_cv_prog_OBJDUMP
5296 if test -n "$OBJDUMP"; then
5297 { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5
5298 $as_echo "$OBJDUMP" >&6; }
5299 else
5300 { $as_echo "$as_me:$LINENO: result: no" >&5
5301 $as_echo "no" >&6; }
5302 fi
5303
5304
5305 fi
5306 if test -z "$ac_cv_prog_OBJDUMP"; then
5307 ac_ct_OBJDUMP=$OBJDUMP
5308 # Extract the first word of "objdump", so it can be a program name with args.
5309 set dummy objdump; ac_word=$2
5310 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
5311 $as_echo_n "checking for $ac_word... " >&6; }
5312 if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
5313 $as_echo_n "(cached) " >&6
5314 else
5315 if test -n "$ac_ct_OBJDUMP"; then
5316 ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
5317 else
5318 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5319 for as_dir in $PATH
5320 do
5321 IFS=$as_save_IFS
5322 test -z "$as_dir" && as_dir=.
5323 for ac_exec_ext in '' $ac_executable_extensions; do
5324 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
5325 ac_cv_prog_ac_ct_OBJDUMP="objdump"
5326 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
5327 break 2
5328 fi
5329 done
5330 done
5331 IFS=$as_save_IFS
5332
5333 fi
5334 fi
5335 ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
5336 if test -n "$ac_ct_OBJDUMP"; then
5337 { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
5338 $as_echo "$ac_ct_OBJDUMP" >&6; }
5339 else
5340 { $as_echo "$as_me:$LINENO: result: no" >&5
5341 $as_echo "no" >&6; }
5342 fi
5343
5344 if test "x$ac_ct_OBJDUMP" = x; then
5345 OBJDUMP="false"
5346 else
5347 case $cross_compiling:$ac_tool_warned in
5348 yes:)
5349 { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
5350 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
5351 ac_tool_warned=yes ;;
5352 esac
5353 OBJDUMP=$ac_ct_OBJDUMP
5354 fi
5355 else
5356 OBJDUMP="$ac_cv_prog_OBJDUMP"
5357 fi
5358
5359 test -z "$OBJDUMP" && OBJDUMP=objdump
5360
5361
5362
5363
5364
5365
5366
5367
48645368
48655369 { $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
48665370 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
49155419 fi
49165420 ;;
49175421
5422 cegcc)
5423 # use the weaker test based on 'objdump'. See mingw*.
5424 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
5425 lt_cv_file_magic_cmd='$OBJDUMP -f'
5426 ;;
5427
49185428 darwin* | rhapsody*)
49195429 lt_cv_deplibs_check_method=pass_all
49205430 ;;
49215431
49225432 freebsd* | dragonfly*)
4923 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
5433 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
49245434 case $host_cpu in
49255435 i*86 )
49265436 # Not sure whether the presence of OpenBSD here was a mistake.
49785488 ;;
49795489
49805490 netbsd*)
4981 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
5491 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
49825492 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
49835493 else
49845494 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
49915501 lt_cv_file_magic_test_file=/usr/lib/libnls.so
49925502 ;;
49935503
4994 nto-qnx*)
4995 lt_cv_deplibs_check_method=unknown
5504 *nto* | *qnx*)
5505 lt_cv_deplibs_check_method=pass_all
49965506 ;;
49975507
49985508 openbsd*)
4999 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
5509 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
50005510 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
50015511 else
50025512 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
50125522 ;;
50135523
50145524 solaris*)
5525 lt_cv_deplibs_check_method=pass_all
5526 ;;
5527
5528 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
50155529 lt_cv_deplibs_check_method=pass_all
50165530 ;;
50175531
50425556 esac
50435557 ;;
50445558
5045 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
5559 tpf*)
50465560 lt_cv_deplibs_check_method=pass_all
50475561 ;;
50485562 esac
50575571
50585572
50595573
5060 # If no C compiler was specified, use CC.
5061 LTCC=${LTCC-"$CC"}
5062
5063 # If no C compiler flags were specified, use CFLAGS.
5064 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
5065
5066 # Allow CC to be a program name with arguments.
5067 compiler=$CC
5068
5069 # Check whether --enable-libtool-lock was given.
5070 if test "${enable_libtool_lock+set}" = set; then
5071 enableval=$enable_libtool_lock;
5072 fi
5073
5074 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
5075
5076 # Some flags need to be propagated to the compiler or linker for good
5077 # libtool support.
5078 case $host in
5079 ia64-*-hpux*)
5080 # Find out which ABI we are using.
5081 echo 'int i;' > conftest.$ac_ext
5082 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
5083 (eval $ac_compile) 2>&5
5084 ac_status=$?
5085 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
5086 (exit $ac_status); }; then
5087 case `/usr/bin/file conftest.$ac_objext` in
5088 *ELF-32*)
5089 HPUX_IA64_MODE="32"
5090 ;;
5091 *ELF-64*)
5092 HPUX_IA64_MODE="64"
5093 ;;
5094 esac
5095 fi
5096 rm -rf conftest*
5097 ;;
5098 *-*-irix6*)
5099 # Find out which ABI we are using.
5100 echo '#line 5101 "configure"' > conftest.$ac_ext
5101 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
5102 (eval $ac_compile) 2>&5
5103 ac_status=$?
5104 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
5105 (exit $ac_status); }; then
5106 if test "$lt_cv_prog_gnu_ld" = yes; then
5107 case `/usr/bin/file conftest.$ac_objext` in
5108 *32-bit*)
5109 LD="${LD-ld} -melf32bsmip"
5110 ;;
5111 *N32*)
5112 LD="${LD-ld} -melf32bmipn32"
5113 ;;
5114 *64-bit*)
5115 LD="${LD-ld} -melf64bmip"
5116 ;;
5117 esac
5118 else
5119 case `/usr/bin/file conftest.$ac_objext` in
5120 *32-bit*)
5121 LD="${LD-ld} -32"
5122 ;;
5123 *N32*)
5124 LD="${LD-ld} -n32"
5125 ;;
5126 *64-bit*)
5127 LD="${LD-ld} -64"
5128 ;;
5129 esac
5130 fi
5131 fi
5132 rm -rf conftest*
5133 ;;
5134
5135 x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
5136 s390*-*linux*|sparc*-*linux*)
5137 # Find out which ABI we are using.
5138 echo 'int i;' > conftest.$ac_ext
5139 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
5140 (eval $ac_compile) 2>&5
5141 ac_status=$?
5142 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
5143 (exit $ac_status); }; then
5144 case `/usr/bin/file conftest.o` in
5145 *32-bit*)
5146 case $host in
5147 x86_64-*kfreebsd*-gnu)
5148 LD="${LD-ld} -m elf_i386_fbsd"
5149 ;;
5150 x86_64-*linux*)
5151 LD="${LD-ld} -m elf_i386"
5152 ;;
5153 ppc64-*linux*|powerpc64-*linux*)
5154 LD="${LD-ld} -m elf32ppclinux"
5155 ;;
5156 s390x-*linux*)
5157 LD="${LD-ld} -m elf_s390"
5158 ;;
5159 sparc64-*linux*)
5160 LD="${LD-ld} -m elf32_sparc"
5161 ;;
5162 esac
5163 ;;
5164 *64-bit*)
5165 libsuff=64
5166 case $host in
5167 x86_64-*kfreebsd*-gnu)
5168 LD="${LD-ld} -m elf_x86_64_fbsd"
5169 ;;
5170 x86_64-*linux*)
5171 LD="${LD-ld} -m elf_x86_64"
5172 ;;
5173 ppc*-*linux*|powerpc*-*linux*)
5174 LD="${LD-ld} -m elf64ppc"
5175 ;;
5176 s390*-*linux*)
5177 LD="${LD-ld} -m elf64_s390"
5178 ;;
5179 sparc*-*linux*)
5180 LD="${LD-ld} -m elf64_sparc"
5181 ;;
5182 esac
5183 ;;
5184 esac
5185 fi
5186 rm -rf conftest*
5187 ;;
5188
5189 *-*-sco3.2v5*)
5190 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
5191 SAVE_CFLAGS="$CFLAGS"
5192 CFLAGS="$CFLAGS -belf"
5193 { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
5194 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
5195 if test "${lt_cv_cc_needs_belf+set}" = set; then
5196 $as_echo_n "(cached) " >&6
5197 else
5198 ac_ext=c
5199 ac_cpp='$CPP $CPPFLAGS'
5200 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
5201 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
5202 ac_compiler_gnu=$ac_cv_c_compiler_gnu
5203
5204 cat >conftest.$ac_ext <<_ACEOF
5205 /* confdefs.h. */
5206 _ACEOF
5207 cat confdefs.h >>conftest.$ac_ext
5208 cat >>conftest.$ac_ext <<_ACEOF
5209 /* end confdefs.h. */
5210
5211 int
5212 main ()
5213 {
5214
5215 ;
5216 return 0;
5217 }
5218 _ACEOF
5219 rm -f conftest.$ac_objext conftest$ac_exeext
5220 if { (ac_try="$ac_link"
5221 case "(($ac_try" in
5222 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
5223 *) ac_try_echo=$ac_try;;
5224 esac
5225 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
5226 $as_echo "$ac_try_echo") >&5
5227 (eval "$ac_link") 2>conftest.er1
5228 ac_status=$?
5229 grep -v '^ *+' conftest.er1 >conftest.err
5230 rm -f conftest.er1
5231 cat conftest.err >&5
5232 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
5233 (exit $ac_status); } && {
5234 test -z "$ac_c_werror_flag" ||
5235 test ! -s conftest.err
5236 } && test -s conftest$ac_exeext && {
5237 test "$cross_compiling" = yes ||
5238 $as_test_x conftest$ac_exeext
5239 }; then
5240 lt_cv_cc_needs_belf=yes
5241 else
5242 $as_echo "$as_me: failed program was:" >&5
5243 sed 's/^/| /' conftest.$ac_ext >&5
5244
5245 lt_cv_cc_needs_belf=no
5246 fi
5247
5248 rm -rf conftest.dSYM
5249 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
5250 conftest$ac_exeext conftest.$ac_ext
5251 ac_ext=c
5252 ac_cpp='$CPP $CPPFLAGS'
5253 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
5254 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
5255 ac_compiler_gnu=$ac_cv_c_compiler_gnu
5256
5257 fi
5258 { $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
5259 $as_echo "$lt_cv_cc_needs_belf" >&6; }
5260 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
5261 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
5262 CFLAGS="$SAVE_CFLAGS"
5263 fi
5264 ;;
5265 sparc*-*solaris*)
5266 # Find out which ABI we are using.
5267 echo 'int i;' > conftest.$ac_ext
5268 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
5269 (eval $ac_compile) 2>&5
5270 ac_status=$?
5271 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
5272 (exit $ac_status); }; then
5273 case `/usr/bin/file conftest.o` in
5274 *64-bit*)
5275 case $lt_cv_prog_gnu_ld in
5276 yes*) LD="${LD-ld} -m elf64_sparc" ;;
5277 *)
5278 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
5279 LD="${LD-ld} -64"
5280 fi
5281 ;;
5282 esac
5283 ;;
5284 esac
5285 fi
5286 rm -rf conftest*
5287 ;;
5288
5289
5290 esac
5291
5292 need_locks="$enable_libtool_lock"
5293
5294
5295 # On IRIX 5.3, sys/types and inttypes.h are conflicting.
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305 for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
5306 inttypes.h stdint.h unistd.h
5307 do
5308 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
5309 { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
5310 $as_echo_n "checking for $ac_header... " >&6; }
5311 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
5312 $as_echo_n "(cached) " >&6
5313 else
5314 cat >conftest.$ac_ext <<_ACEOF
5315 /* confdefs.h. */
5316 _ACEOF
5317 cat confdefs.h >>conftest.$ac_ext
5318 cat >>conftest.$ac_ext <<_ACEOF
5319 /* end confdefs.h. */
5320 $ac_includes_default
5321
5322 #include <$ac_header>
5323 _ACEOF
5324 rm -f conftest.$ac_objext
5325 if { (ac_try="$ac_compile"
5326 case "(($ac_try" in
5327 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
5328 *) ac_try_echo=$ac_try;;
5329 esac
5330 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
5331 $as_echo "$ac_try_echo") >&5
5332 (eval "$ac_compile") 2>conftest.er1
5333 ac_status=$?
5334 grep -v '^ *+' conftest.er1 >conftest.err
5335 rm -f conftest.er1
5336 cat conftest.err >&5
5337 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
5338 (exit $ac_status); } && {
5339 test -z "$ac_c_werror_flag" ||
5340 test ! -s conftest.err
5341 } && test -s conftest.$ac_objext; then
5342 eval "$as_ac_Header=yes"
5343 else
5344 $as_echo "$as_me: failed program was:" >&5
5345 sed 's/^/| /' conftest.$ac_ext >&5
5346
5347 eval "$as_ac_Header=no"
5348 fi
5349
5350 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5351 fi
5352 ac_res=`eval 'as_val=${'$as_ac_Header'}
5353 $as_echo "$as_val"'`
5354 { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
5355 $as_echo "$ac_res" >&6; }
5356 if test `eval 'as_val=${'$as_ac_Header'}
5357 $as_echo "$as_val"'` = yes; then
5358 cat >>confdefs.h <<_ACEOF
5359 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
5360 _ACEOF
5361
5362 fi
5363
5364 done
5365
5366
5367
5368 for ac_header in dlfcn.h
5369 do
5370 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
5371 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
5372 { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
5373 $as_echo_n "checking for $ac_header... " >&6; }
5374 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
5375 $as_echo_n "(cached) " >&6
5376 fi
5377 ac_res=`eval 'as_val=${'$as_ac_Header'}
5378 $as_echo "$as_val"'`
5379 { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
5380 $as_echo "$ac_res" >&6; }
5381 else
5382 # Is the header compilable?
5383 { $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
5384 $as_echo_n "checking $ac_header usability... " >&6; }
5385 cat >conftest.$ac_ext <<_ACEOF
5386 /* confdefs.h. */
5387 _ACEOF
5388 cat confdefs.h >>conftest.$ac_ext
5389 cat >>conftest.$ac_ext <<_ACEOF
5390 /* end confdefs.h. */
5391 $ac_includes_default
5392 #include <$ac_header>
5393 _ACEOF
5394 rm -f conftest.$ac_objext
5395 if { (ac_try="$ac_compile"
5396 case "(($ac_try" in
5397 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
5398 *) ac_try_echo=$ac_try;;
5399 esac
5400 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
5401 $as_echo "$ac_try_echo") >&5
5402 (eval "$ac_compile") 2>conftest.er1
5403 ac_status=$?
5404 grep -v '^ *+' conftest.er1 >conftest.err
5405 rm -f conftest.er1
5406 cat conftest.err >&5
5407 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
5408 (exit $ac_status); } && {
5409 test -z "$ac_c_werror_flag" ||
5410 test ! -s conftest.err
5411 } && test -s conftest.$ac_objext; then
5412 ac_header_compiler=yes
5413 else
5414 $as_echo "$as_me: failed program was:" >&5
5415 sed 's/^/| /' conftest.$ac_ext >&5
5416
5417 ac_header_compiler=no
5418 fi
5419
5420 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5421 { $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
5422 $as_echo "$ac_header_compiler" >&6; }
5423
5424 # Is the header present?
5425 { $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
5426 $as_echo_n "checking $ac_header presence... " >&6; }
5427 cat >conftest.$ac_ext <<_ACEOF
5428 /* confdefs.h. */
5429 _ACEOF
5430 cat confdefs.h >>conftest.$ac_ext
5431 cat >>conftest.$ac_ext <<_ACEOF
5432 /* end confdefs.h. */
5433 #include <$ac_header>
5434 _ACEOF
5435 if { (ac_try="$ac_cpp conftest.$ac_ext"
5436 case "(($ac_try" in
5437 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
5438 *) ac_try_echo=$ac_try;;
5439 esac
5440 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
5441 $as_echo "$ac_try_echo") >&5
5442 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
5443 ac_status=$?
5444 grep -v '^ *+' conftest.er1 >conftest.err
5445 rm -f conftest.er1
5446 cat conftest.err >&5
5447 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
5448 (exit $ac_status); } >/dev/null && {
5449 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
5450 test ! -s conftest.err
5451 }; then
5452 ac_header_preproc=yes
5453 else
5454 $as_echo "$as_me: failed program was:" >&5
5455 sed 's/^/| /' conftest.$ac_ext >&5
5456
5457 ac_header_preproc=no
5458 fi
5459
5460 rm -f conftest.err conftest.$ac_ext
5461 { $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
5462 $as_echo "$ac_header_preproc" >&6; }
5463
5464 # So? What about this header?
5465 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
5466 yes:no: )
5467 { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
5468 $as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
5469 { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
5470 $as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
5471 ac_header_preproc=yes
5472 ;;
5473 no:yes:* )
5474 { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
5475 $as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
5476 { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
5477 $as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
5478 { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
5479 $as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
5480 { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
5481 $as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
5482 { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
5483 $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
5484 { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
5485 $as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
5486 ( cat <<\_ASBOX
5487 ## ------------------------------------ ##
5488 ## Report this to mailto:david@fubar.dk ##
5489 ## ------------------------------------ ##
5490 _ASBOX
5491 ) | sed "s/^/$as_me: WARNING: /" >&2
5492 ;;
5493 esac
5494 { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
5495 $as_echo_n "checking for $ac_header... " >&6; }
5496 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
5497 $as_echo_n "(cached) " >&6
5498 else
5499 eval "$as_ac_Header=\$ac_header_preproc"
5500 fi
5501 ac_res=`eval 'as_val=${'$as_ac_Header'}
5502 $as_echo "$as_val"'`
5503 { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
5504 $as_echo "$ac_res" >&6; }
5505
5506 fi
5507 if test `eval 'as_val=${'$as_ac_Header'}
5508 $as_echo "$as_val"'` = yes; then
5509 cat >>confdefs.h <<_ACEOF
5510 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
5511 _ACEOF
5512
5513 fi
5514
5515 done
5516
5517 ac_ext=cpp
5518 ac_cpp='$CXXCPP $CPPFLAGS'
5519 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
5520 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
5521 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
5522 if test -z "$CXX"; then
5523 if test -n "$CCC"; then
5524 CXX=$CCC
5525 else
5526 if test -n "$ac_tool_prefix"; then
5527 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
5528 do
5529 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
5530 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
5574
5575
5576
5577
5578
5579
5580
5581
5582 if test -n "$ac_tool_prefix"; then
5583 # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
5584 set dummy ${ac_tool_prefix}ar; ac_word=$2
55315585 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
55325586 $as_echo_n "checking for $ac_word... " >&6; }
5533 if test "${ac_cv_prog_CXX+set}" = set; then
5587 if test "${ac_cv_prog_AR+set}" = set; then
55345588 $as_echo_n "(cached) " >&6
55355589 else
5536 if test -n "$CXX"; then
5537 ac_cv_prog_CXX="$CXX" # Let the user override the test.
5590 if test -n "$AR"; then
5591 ac_cv_prog_AR="$AR" # Let the user override the test.
55385592 else
55395593 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
55405594 for as_dir in $PATH
55435597 test -z "$as_dir" && as_dir=.
55445598 for ac_exec_ext in '' $ac_executable_extensions; do
55455599 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
5546 ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
5600 ac_cv_prog_AR="${ac_tool_prefix}ar"
55475601 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
55485602 break 2
55495603 fi
55535607
55545608 fi
55555609 fi
5556 CXX=$ac_cv_prog_CXX
5557 if test -n "$CXX"; then
5558 { $as_echo "$as_me:$LINENO: result: $CXX" >&5
5559 $as_echo "$CXX" >&6; }
5610 AR=$ac_cv_prog_AR
5611 if test -n "$AR"; then
5612 { $as_echo "$as_me:$LINENO: result: $AR" >&5
5613 $as_echo "$AR" >&6; }
55605614 else
55615615 { $as_echo "$as_me:$LINENO: result: no" >&5
55625616 $as_echo "no" >&6; }
55635617 fi
55645618
55655619
5566 test -n "$CXX" && break
5567 done
5568 fi
5569 if test -z "$CXX"; then
5570 ac_ct_CXX=$CXX
5571 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
5572 do
5573 # Extract the first word of "$ac_prog", so it can be a program name with args.
5574 set dummy $ac_prog; ac_word=$2
5620 fi
5621 if test -z "$ac_cv_prog_AR"; then
5622 ac_ct_AR=$AR
5623 # Extract the first word of "ar", so it can be a program name with args.
5624 set dummy ar; ac_word=$2
55755625 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
55765626 $as_echo_n "checking for $ac_word... " >&6; }
5577 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
5627 if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
55785628 $as_echo_n "(cached) " >&6
55795629 else
5580 if test -n "$ac_ct_CXX"; then
5581 ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
5630 if test -n "$ac_ct_AR"; then
5631 ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
55825632 else
55835633 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
55845634 for as_dir in $PATH
55875637 test -z "$as_dir" && as_dir=.
55885638 for ac_exec_ext in '' $ac_executable_extensions; do
55895639 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
5590 ac_cv_prog_ac_ct_CXX="$ac_prog"
5640 ac_cv_prog_ac_ct_AR="ar"
55915641 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
55925642 break 2
55935643 fi
55975647
55985648 fi
55995649 fi
5600 ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
5601 if test -n "$ac_ct_CXX"; then
5602 { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
5603 $as_echo "$ac_ct_CXX" >&6; }
5650 ac_ct_AR=$ac_cv_prog_ac_ct_AR
5651 if test -n "$ac_ct_AR"; then
5652 { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
5653 $as_echo "$ac_ct_AR" >&6; }
56045654 else
56055655 { $as_echo "$as_me:$LINENO: result: no" >&5
56065656 $as_echo "no" >&6; }
56075657 fi
56085658
5609
5610 test -n "$ac_ct_CXX" && break
5611 done
5612
5613 if test "x$ac_ct_CXX" = x; then
5614 CXX="g++"
5659 if test "x$ac_ct_AR" = x; then
5660 AR="false"
56155661 else
56165662 case $cross_compiling:$ac_tool_warned in
56175663 yes:)
5618 { $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
5619 whose name does not start with the host triplet. If you think this
5620 configuration is useful to you, please write to autoconf@gnu.org." >&5
5621 $as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
5622 whose name does not start with the host triplet. If you think this
5623 configuration is useful to you, please write to autoconf@gnu.org." >&2;}
5664 { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
5665 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
56245666 ac_tool_warned=yes ;;
56255667 esac
5626 CXX=$ac_ct_CXX
5668 AR=$ac_ct_AR
56275669 fi
5628 fi
5629
5630 fi
5631 fi
5632 # Provide some information about the compiler.
5633 $as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5
5634 set X $ac_compile
5635 ac_compiler=$2
5636 { (ac_try="$ac_compiler --version >&5"
5637 case "(($ac_try" in
5638 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
5639 *) ac_try_echo=$ac_try;;
5640 esac
5641 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
5642 $as_echo "$ac_try_echo") >&5
5643 (eval "$ac_compiler --version >&5") 2>&5
5644 ac_status=$?
5645 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
5646 (exit $ac_status); }
5647 { (ac_try="$ac_compiler -v >&5"
5648 case "(($ac_try" in
5649 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
5650 *) ac_try_echo=$ac_try;;
5651 esac
5652 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
5653 $as_echo "$ac_try_echo") >&5
5654 (eval "$ac_compiler -v >&5") 2>&5
5655 ac_status=$?
5656 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
5657 (exit $ac_status); }
5658 { (ac_try="$ac_compiler -V >&5"
5659 case "(($ac_try" in
5660 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
5661 *) ac_try_echo=$ac_try;;
5662 esac
5663 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
5664 $as_echo "$ac_try_echo") >&5
5665 (eval "$ac_compiler -V >&5") 2>&5
5666 ac_status=$?
5667 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
5668 (exit $ac_status); }
5669
5670 { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
5671 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
5672 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
5673 $as_echo_n "(cached) " >&6
5674 else
5675 cat >conftest.$ac_ext <<_ACEOF
5676 /* confdefs.h. */
5677 _ACEOF
5678 cat confdefs.h >>conftest.$ac_ext
5679 cat >>conftest.$ac_ext <<_ACEOF
5680 /* end confdefs.h. */
5681
5682 int
5683 main ()
5684 {
5685 #ifndef __GNUC__
5686 choke me
5687 #endif
5688
5689 ;
5690 return 0;
5691 }
5692 _ACEOF
5693 rm -f conftest.$ac_objext
5694 if { (ac_try="$ac_compile"
5695 case "(($ac_try" in
5696 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
5697 *) ac_try_echo=$ac_try;;
5698 esac
5699 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
5700 $as_echo "$ac_try_echo") >&5
5701 (eval "$ac_compile") 2>conftest.er1
5702 ac_status=$?
5703 grep -v '^ *+' conftest.er1 >conftest.err
5704 rm -f conftest.er1
5705 cat conftest.err >&5
5706 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
5707 (exit $ac_status); } && {
5708 test -z "$ac_cxx_werror_flag" ||
5709 test ! -s conftest.err
5710 } && test -s conftest.$ac_objext; then
5711 ac_compiler_gnu=yes
5712 else
5713 $as_echo "$as_me: failed program was:" >&5
5714 sed 's/^/| /' conftest.$ac_ext >&5
5715
5716 ac_compiler_gnu=no
5717 fi
5718
5719 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5720 ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
5721
5722 fi
5723 { $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
5724 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
5725 if test $ac_compiler_gnu = yes; then
5726 GXX=yes
5727 else
5728 GXX=
5729 fi
5730 ac_test_CXXFLAGS=${CXXFLAGS+set}
5731 ac_save_CXXFLAGS=$CXXFLAGS
5732 { $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
5733 $as_echo_n "checking whether $CXX accepts -g... " >&6; }
5734 if test "${ac_cv_prog_cxx_g+set}" = set; then
5735 $as_echo_n "(cached) " >&6
5736 else
5737 ac_save_cxx_werror_flag=$ac_cxx_werror_flag
5738 ac_cxx_werror_flag=yes
5739 ac_cv_prog_cxx_g=no
5740 CXXFLAGS="-g"
5741 cat >conftest.$ac_ext <<_ACEOF
5742 /* confdefs.h. */
5743 _ACEOF
5744 cat confdefs.h >>conftest.$ac_ext
5745 cat >>conftest.$ac_ext <<_ACEOF
5746 /* end confdefs.h. */
5747
5748 int
5749 main ()
5750 {
5751
5752 ;
5753 return 0;
5754 }
5755 _ACEOF
5756 rm -f conftest.$ac_objext
5757 if { (ac_try="$ac_compile"
5758 case "(($ac_try" in
5759 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
5760 *) ac_try_echo=$ac_try;;
5761 esac
5762 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
5763 $as_echo "$ac_try_echo") >&5
5764 (eval "$ac_compile") 2>conftest.er1
5765 ac_status=$?
5766 grep -v '^ *+' conftest.er1 >conftest.err
5767 rm -f conftest.er1
5768 cat conftest.err >&5
5769 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
5770 (exit $ac_status); } && {
5771 test -z "$ac_cxx_werror_flag" ||
5772 test ! -s conftest.err
5773 } && test -s conftest.$ac_objext; then
5774 ac_cv_prog_cxx_g=yes
5775 else
5776 $as_echo "$as_me: failed program was:" >&5
5777 sed 's/^/| /' conftest.$ac_ext >&5
5778
5779 CXXFLAGS=""
5780 cat >conftest.$ac_ext <<_ACEOF
5781 /* confdefs.h. */
5782 _ACEOF
5783 cat confdefs.h >>conftest.$ac_ext
5784 cat >>conftest.$ac_ext <<_ACEOF
5785 /* end confdefs.h. */
5786
5787 int
5788 main ()
5789 {
5790
5791 ;
5792 return 0;
5793 }
5794 _ACEOF
5795 rm -f conftest.$ac_objext
5796 if { (ac_try="$ac_compile"
5797 case "(($ac_try" in
5798 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
5799 *) ac_try_echo=$ac_try;;
5800 esac
5801 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
5802 $as_echo "$ac_try_echo") >&5
5803 (eval "$ac_compile") 2>conftest.er1
5804 ac_status=$?
5805 grep -v '^ *+' conftest.er1 >conftest.err
5806 rm -f conftest.er1
5807 cat conftest.err >&5
5808 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
5809 (exit $ac_status); } && {
5810 test -z "$ac_cxx_werror_flag" ||
5811 test ! -s conftest.err
5812 } && test -s conftest.$ac_objext; then
5813 :
5814 else
5815 $as_echo "$as_me: failed program was:" >&5
5816 sed 's/^/| /' conftest.$ac_ext >&5
5817
5818 ac_cxx_werror_flag=$ac_save_cxx_werror_flag
5819 CXXFLAGS="-g"
5820 cat >conftest.$ac_ext <<_ACEOF
5821 /* confdefs.h. */
5822 _ACEOF
5823 cat confdefs.h >>conftest.$ac_ext
5824 cat >>conftest.$ac_ext <<_ACEOF
5825 /* end confdefs.h. */
5826
5827 int
5828 main ()
5829 {
5830
5831 ;
5832 return 0;
5833 }
5834 _ACEOF
5835 rm -f conftest.$ac_objext
5836 if { (ac_try="$ac_compile"
5837 case "(($ac_try" in
5838 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
5839 *) ac_try_echo=$ac_try;;
5840 esac
5841 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
5842 $as_echo "$ac_try_echo") >&5
5843 (eval "$ac_compile") 2>conftest.er1
5844 ac_status=$?
5845 grep -v '^ *+' conftest.er1 >conftest.err
5846 rm -f conftest.er1
5847 cat conftest.err >&5
5848 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
5849 (exit $ac_status); } && {
5850 test -z "$ac_cxx_werror_flag" ||
5851 test ! -s conftest.err
5852 } && test -s conftest.$ac_objext; then
5853 ac_cv_prog_cxx_g=yes
5854 else
5855 $as_echo "$as_me: failed program was:" >&5
5856 sed 's/^/| /' conftest.$ac_ext >&5
5857
5858
5859 fi
5860
5861 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5862 fi
5863
5864 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5865 fi
5866
5867 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5868 ac_cxx_werror_flag=$ac_save_cxx_werror_flag
5869 fi
5870 { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
5871 $as_echo "$ac_cv_prog_cxx_g" >&6; }
5872 if test "$ac_test_CXXFLAGS" = set; then
5873 CXXFLAGS=$ac_save_CXXFLAGS
5874 elif test $ac_cv_prog_cxx_g = yes; then
5875 if test "$GXX" = yes; then
5876 CXXFLAGS="-g -O2"
5877 else
5878 CXXFLAGS="-g"
5879 fi
5880 else
5881 if test "$GXX" = yes; then
5882 CXXFLAGS="-O2"
5883 else
5884 CXXFLAGS=
5885 fi
5886 fi
5887 ac_ext=cpp
5888 ac_cpp='$CXXCPP $CPPFLAGS'
5889 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
5890 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
5891 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
5892
5893 depcc="$CXX" am_compiler_list=
5894
5895 { $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
5896 $as_echo_n "checking dependency style of $depcc... " >&6; }
5897 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
5898 $as_echo_n "(cached) " >&6
5899 else
5900 if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
5901 # We make a subdir and do the tests there. Otherwise we can end up
5902 # making bogus files that we don't know about and never remove. For
5903 # instance it was reported that on HP-UX the gcc test will end up
5904 # making a dummy file named `D' -- because `-MD' means `put the output
5905 # in D'.
5906 mkdir conftest.dir
5907 # Copy depcomp to subdir because otherwise we won't find it if we're
5908 # using a relative directory.
5909 cp "$am_depcomp" conftest.dir
5910 cd conftest.dir
5911 # We will build objects and dependencies in a subdirectory because
5912 # it helps to detect inapplicable dependency modes. For instance
5913 # both Tru64's cc and ICC support -MD to output dependencies as a
5914 # side effect of compilation, but ICC will put the dependencies in
5915 # the current directory while Tru64 will put them in the object
5916 # directory.
5917 mkdir sub
5918
5919 am_cv_CXX_dependencies_compiler_type=none
5920 if test "$am_compiler_list" = ""; then
5921 am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
5922 fi
5923 for depmode in $am_compiler_list; do
5924 # Setup a source with many dependencies, because some compilers
5925 # like to wrap large dependency lists on column 80 (with \), and
5926 # we should not choose a depcomp mode which is confused by this.
5927 #
5928 # We need to recreate these files for each test, as the compiler may
5929 # overwrite some of them when testing with obscure command lines.
5930 # This happens at least with the AIX C compiler.
5931 : > sub/conftest.c
5932 for i in 1 2 3 4 5 6; do
5933 echo '#include "conftst'$i'.h"' >> sub/conftest.c
5934 # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
5935 # Solaris 8's {/usr,}/bin/sh.
5936 touch sub/conftst$i.h
5937 done
5938 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
5939
5940 case $depmode in
5941 nosideeffect)
5942 # after this tag, mechanisms are not by side-effect, so they'll
5943 # only be used when explicitly requested
5944 if test "x$enable_dependency_tracking" = xyes; then
5945 continue
5946 else
5947 break
5948 fi
5949 ;;
5950 none) break ;;
5951 esac
5952 # We check with `-c' and `-o' for the sake of the "dashmstdout"
5953 # mode. It turns out that the SunPro C++ compiler does not properly
5954 # handle `-M -o', and we need to detect this.
5955 if depmode=$depmode \
5956 source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
5957 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
5958 $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
5959 >/dev/null 2>conftest.err &&
5960 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
5961 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
5962 grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
5963 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
5964 # icc doesn't choke on unknown options, it will just issue warnings
5965 # or remarks (even with -Werror). So we grep stderr for any message
5966 # that says an option was ignored or not supported.
5967 # When given -MP, icc 7.0 and 7.1 complain thusly:
5968 # icc: Command line warning: ignoring option '-M'; no argument required
5969 # The diagnosis changed in icc 8.0:
5970 # icc: Command line remark: option '-MP' not supported
5971 if (grep 'ignoring option' conftest.err ||
5972 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
5973 am_cv_CXX_dependencies_compiler_type=$depmode
5974 break
5975 fi
5976 fi
5977 done
5978
5979 cd ..
5980 rm -rf conftest.dir
5981 else
5982 am_cv_CXX_dependencies_compiler_type=none
5983 fi
5984
5985 fi
5986 { $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
5987 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
5988 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
5989
5990 if
5991 test "x$enable_dependency_tracking" != xno \
5992 && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
5993 am__fastdepCXX_TRUE=
5994 am__fastdepCXX_FALSE='#'
5995 else
5996 am__fastdepCXX_TRUE='#'
5997 am__fastdepCXX_FALSE=
5998 fi
5999
6000
6001
6002
6003 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
6004 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
6005 (test "X$CXX" != "Xg++"))) ; then
6006 ac_ext=cpp
6007 ac_cpp='$CXXCPP $CPPFLAGS'
6008 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
6009 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
6010 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
6011 { $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
6012 $as_echo_n "checking how to run the C++ preprocessor... " >&6; }
6013 if test -z "$CXXCPP"; then
6014 if test "${ac_cv_prog_CXXCPP+set}" = set; then
6015 $as_echo_n "(cached) " >&6
6016 else
6017 # Double quotes because CXXCPP needs to be expanded
6018 for CXXCPP in "$CXX -E" "/lib/cpp"
6019 do
6020 ac_preproc_ok=false
6021 for ac_cxx_preproc_warn_flag in '' yes
6022 do
6023 # Use a header file that comes with gcc, so configuring glibc
6024 # with a fresh cross-compiler works.
6025 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
6026 # <limits.h> exists even on freestanding compilers.
6027 # On the NeXT, cc -E runs the code through the compiler's parser,
6028 # not just through cpp. "Syntax error" is here to catch this case.
6029 cat >conftest.$ac_ext <<_ACEOF
6030 /* confdefs.h. */
6031 _ACEOF
6032 cat confdefs.h >>conftest.$ac_ext
6033 cat >>conftest.$ac_ext <<_ACEOF
6034 /* end confdefs.h. */
6035 #ifdef __STDC__
6036 # include <limits.h>
6037 #else
6038 # include <assert.h>
6039 #endif
6040 Syntax error
6041 _ACEOF
6042 if { (ac_try="$ac_cpp conftest.$ac_ext"
6043 case "(($ac_try" in
6044 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
6045 *) ac_try_echo=$ac_try;;
6046 esac
6047 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
6048 $as_echo "$ac_try_echo") >&5
6049 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
6050 ac_status=$?
6051 grep -v '^ *+' conftest.er1 >conftest.err
6052 rm -f conftest.er1
6053 cat conftest.err >&5
6054 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
6055 (exit $ac_status); } >/dev/null && {
6056 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
6057 test ! -s conftest.err
6058 }; then
6059 :
6060 else
6061 $as_echo "$as_me: failed program was:" >&5
6062 sed 's/^/| /' conftest.$ac_ext >&5
6063
6064 # Broken: fails on valid input.
6065 continue
6066 fi
6067
6068 rm -f conftest.err conftest.$ac_ext
6069
6070 # OK, works on sane cases. Now check whether nonexistent headers
6071 # can be detected and how.
6072 cat >conftest.$ac_ext <<_ACEOF
6073 /* confdefs.h. */
6074 _ACEOF
6075 cat confdefs.h >>conftest.$ac_ext
6076 cat >>conftest.$ac_ext <<_ACEOF
6077 /* end confdefs.h. */
6078 #include <ac_nonexistent.h>
6079 _ACEOF
6080 if { (ac_try="$ac_cpp conftest.$ac_ext"
6081 case "(($ac_try" in
6082 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
6083 *) ac_try_echo=$ac_try;;
6084 esac
6085 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
6086 $as_echo "$ac_try_echo") >&5
6087 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
6088 ac_status=$?
6089 grep -v '^ *+' conftest.er1 >conftest.err
6090 rm -f conftest.er1
6091 cat conftest.err >&5
6092 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
6093 (exit $ac_status); } >/dev/null && {
6094 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
6095 test ! -s conftest.err
6096 }; then
6097 # Broken: success on invalid input.
6098 continue
6099 else
6100 $as_echo "$as_me: failed program was:" >&5
6101 sed 's/^/| /' conftest.$ac_ext >&5
6102
6103 # Passes both tests.
6104 ac_preproc_ok=:
6105 break
6106 fi
6107
6108 rm -f conftest.err conftest.$ac_ext
6109
6110 done
6111 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
6112 rm -f conftest.err conftest.$ac_ext
6113 if $ac_preproc_ok; then
6114 break
6115 fi
6116
6117 done
6118 ac_cv_prog_CXXCPP=$CXXCPP
6119
6120 fi
6121 CXXCPP=$ac_cv_prog_CXXCPP
6122 else
6123 ac_cv_prog_CXXCPP=$CXXCPP
6124 fi
6125 { $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5
6126 $as_echo "$CXXCPP" >&6; }
6127 ac_preproc_ok=false
6128 for ac_cxx_preproc_warn_flag in '' yes
6129 do
6130 # Use a header file that comes with gcc, so configuring glibc
6131 # with a fresh cross-compiler works.
6132 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
6133 # <limits.h> exists even on freestanding compilers.
6134 # On the NeXT, cc -E runs the code through the compiler's parser,
6135 # not just through cpp. "Syntax error" is here to catch this case.
6136 cat >conftest.$ac_ext <<_ACEOF
6137 /* confdefs.h. */
6138 _ACEOF
6139 cat confdefs.h >>conftest.$ac_ext
6140 cat >>conftest.$ac_ext <<_ACEOF
6141 /* end confdefs.h. */
6142 #ifdef __STDC__
6143 # include <limits.h>
6144 #else
6145 # include <assert.h>
6146 #endif
6147 Syntax error
6148 _ACEOF
6149 if { (ac_try="$ac_cpp conftest.$ac_ext"
6150 case "(($ac_try" in
6151 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
6152 *) ac_try_echo=$ac_try;;
6153 esac
6154 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
6155 $as_echo "$ac_try_echo") >&5
6156 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
6157 ac_status=$?
6158 grep -v '^ *+' conftest.er1 >conftest.err
6159 rm -f conftest.er1
6160 cat conftest.err >&5
6161 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
6162 (exit $ac_status); } >/dev/null && {
6163 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
6164 test ! -s conftest.err
6165 }; then
6166 :
6167 else
6168 $as_echo "$as_me: failed program was:" >&5
6169 sed 's/^/| /' conftest.$ac_ext >&5
6170
6171 # Broken: fails on valid input.
6172 continue
6173 fi
6174
6175 rm -f conftest.err conftest.$ac_ext
6176
6177 # OK, works on sane cases. Now check whether nonexistent headers
6178 # can be detected and how.
6179 cat >conftest.$ac_ext <<_ACEOF
6180 /* confdefs.h. */
6181 _ACEOF
6182 cat confdefs.h >>conftest.$ac_ext
6183 cat >>conftest.$ac_ext <<_ACEOF
6184 /* end confdefs.h. */
6185 #include <ac_nonexistent.h>
6186 _ACEOF
6187 if { (ac_try="$ac_cpp conftest.$ac_ext"
6188 case "(($ac_try" in
6189 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
6190 *) ac_try_echo=$ac_try;;
6191 esac
6192 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
6193 $as_echo "$ac_try_echo") >&5
6194 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
6195 ac_status=$?
6196 grep -v '^ *+' conftest.er1 >conftest.err
6197 rm -f conftest.er1
6198 cat conftest.err >&5
6199 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
6200 (exit $ac_status); } >/dev/null && {
6201 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
6202 test ! -s conftest.err
6203 }; then
6204 # Broken: success on invalid input.
6205 continue
6206 else
6207 $as_echo "$as_me: failed program was:" >&5
6208 sed 's/^/| /' conftest.$ac_ext >&5
6209
6210 # Passes both tests.
6211 ac_preproc_ok=:
6212 break
6213 fi
6214
6215 rm -f conftest.err conftest.$ac_ext
6216
6217 done
6218 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
6219 rm -f conftest.err conftest.$ac_ext
6220 if $ac_preproc_ok; then
6221 :
6222 else
6223 { { $as_echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
6224 See \`config.log' for more details." >&5
6225 $as_echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
6226 See \`config.log' for more details." >&2;}
6227 { (exit 1); exit 1; }; }
6228 fi
6229
6230 ac_ext=cpp
6231 ac_cpp='$CXXCPP $CPPFLAGS'
6232 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
6233 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
6234 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
6235
6236 fi
6237
6238
6239 ac_ext=f
6240 ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
6241 ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
6242 ac_compiler_gnu=$ac_cv_f77_compiler_gnu
5670 else
5671 AR="$ac_cv_prog_AR"
5672 fi
5673
5674 test -z "$AR" && AR=ar
5675 test -z "$AR_FLAGS" && AR_FLAGS=cru
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
62435687 if test -n "$ac_tool_prefix"; then
6244 for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
6245 do
6246 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
6247 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
5688 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
5689 set dummy ${ac_tool_prefix}strip; ac_word=$2
62485690 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
62495691 $as_echo_n "checking for $ac_word... " >&6; }
6250 if test "${ac_cv_prog_F77+set}" = set; then
5692 if test "${ac_cv_prog_STRIP+set}" = set; then
62515693 $as_echo_n "(cached) " >&6
62525694 else
6253 if test -n "$F77"; then
6254 ac_cv_prog_F77="$F77" # Let the user override the test.
5695 if test -n "$STRIP"; then
5696 ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
62555697 else
62565698 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
62575699 for as_dir in $PATH
62605702 test -z "$as_dir" && as_dir=.
62615703 for ac_exec_ext in '' $ac_executable_extensions; do
62625704 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6263 ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
5705 ac_cv_prog_STRIP="${ac_tool_prefix}strip"
62645706 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
62655707 break 2
62665708 fi
62705712
62715713 fi
62725714 fi
6273 F77=$ac_cv_prog_F77
6274 if test -n "$F77"; then
6275 { $as_echo "$as_me:$LINENO: result: $F77" >&5
6276 $as_echo "$F77" >&6; }
5715 STRIP=$ac_cv_prog_STRIP
5716 if test -n "$STRIP"; then
5717 { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
5718 $as_echo "$STRIP" >&6; }
62775719 else
62785720 { $as_echo "$as_me:$LINENO: result: no" >&5
62795721 $as_echo "no" >&6; }
62805722 fi
62815723
62825724
6283 test -n "$F77" && break
6284 done
6285 fi
6286 if test -z "$F77"; then
6287 ac_ct_F77=$F77
6288 for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
6289 do
6290 # Extract the first word of "$ac_prog", so it can be a program name with args.
6291 set dummy $ac_prog; ac_word=$2
5725 fi
5726 if test -z "$ac_cv_prog_STRIP"; then
5727 ac_ct_STRIP=$STRIP
5728 # Extract the first word of "strip", so it can be a program name with args.
5729 set dummy strip; ac_word=$2
62925730 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
62935731 $as_echo_n "checking for $ac_word... " >&6; }
6294 if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
5732 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
62955733 $as_echo_n "(cached) " >&6
62965734 else
6297 if test -n "$ac_ct_F77"; then
6298 ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
5735 if test -n "$ac_ct_STRIP"; then
5736 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
62995737 else
63005738 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
63015739 for as_dir in $PATH
63045742 test -z "$as_dir" && as_dir=.
63055743 for ac_exec_ext in '' $ac_executable_extensions; do
63065744 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6307 ac_cv_prog_ac_ct_F77="$ac_prog"
5745 ac_cv_prog_ac_ct_STRIP="strip"
63085746 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
63095747 break 2
63105748 fi
63145752
63155753 fi
63165754 fi
6317 ac_ct_F77=$ac_cv_prog_ac_ct_F77
6318 if test -n "$ac_ct_F77"; then
6319 { $as_echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
6320 $as_echo "$ac_ct_F77" >&6; }
5755 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
5756 if test -n "$ac_ct_STRIP"; then
5757 { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
5758 $as_echo "$ac_ct_STRIP" >&6; }
63215759 else
63225760 { $as_echo "$as_me:$LINENO: result: no" >&5
63235761 $as_echo "no" >&6; }
63245762 fi
63255763
6326
6327 test -n "$ac_ct_F77" && break
6328 done
6329
6330 if test "x$ac_ct_F77" = x; then
6331 F77=""
5764 if test "x$ac_ct_STRIP" = x; then
5765 STRIP=":"
63325766 else
63335767 case $cross_compiling:$ac_tool_warned in
63345768 yes:)
6335 { $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
6336 whose name does not start with the host triplet. If you think this
6337 configuration is useful to you, please write to autoconf@gnu.org." >&5
6338 $as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
6339 whose name does not start with the host triplet. If you think this
6340 configuration is useful to you, please write to autoconf@gnu.org." >&2;}
5769 { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
5770 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
63415771 ac_tool_warned=yes ;;
63425772 esac
6343 F77=$ac_ct_F77
5773 STRIP=$ac_ct_STRIP
63445774 fi
6345 fi
6346
6347
6348 # Provide some information about the compiler.
6349 $as_echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
6350 set X $ac_compile
6351 ac_compiler=$2
6352 { (ac_try="$ac_compiler --version >&5"
6353 case "(($ac_try" in
6354 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
6355 *) ac_try_echo=$ac_try;;
5775 else
5776 STRIP="$ac_cv_prog_STRIP"
5777 fi
5778
5779 test -z "$STRIP" && STRIP=:
5780
5781
5782
5783
5784
5785
5786 if test -n "$ac_tool_prefix"; then
5787 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
5788 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
5789 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
5790 $as_echo_n "checking for $ac_word... " >&6; }
5791 if test "${ac_cv_prog_RANLIB+set}" = set; then
5792 $as_echo_n "(cached) " >&6
5793 else
5794 if test -n "$RANLIB"; then
5795 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
5796 else
5797 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5798 for as_dir in $PATH
5799 do
5800 IFS=$as_save_IFS
5801 test -z "$as_dir" && as_dir=.
5802 for ac_exec_ext in '' $ac_executable_extensions; do
5803 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
5804 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
5805 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
5806 break 2
5807 fi
5808 done
5809 done
5810 IFS=$as_save_IFS
5811
5812 fi
5813 fi
5814 RANLIB=$ac_cv_prog_RANLIB
5815 if test -n "$RANLIB"; then
5816 { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
5817 $as_echo "$RANLIB" >&6; }
5818 else
5819 { $as_echo "$as_me:$LINENO: result: no" >&5
5820 $as_echo "no" >&6; }
5821 fi
5822
5823
5824 fi
5825 if test -z "$ac_cv_prog_RANLIB"; then
5826 ac_ct_RANLIB=$RANLIB
5827 # Extract the first word of "ranlib", so it can be a program name with args.
5828 set dummy ranlib; ac_word=$2
5829 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
5830 $as_echo_n "checking for $ac_word... " >&6; }
5831 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
5832 $as_echo_n "(cached) " >&6
5833 else
5834 if test -n "$ac_ct_RANLIB"; then
5835 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
5836 else
5837 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5838 for as_dir in $PATH
5839 do
5840 IFS=$as_save_IFS
5841 test -z "$as_dir" && as_dir=.
5842 for ac_exec_ext in '' $ac_executable_extensions; do
5843 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
5844 ac_cv_prog_ac_ct_RANLIB="ranlib"
5845 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
5846 break 2
5847 fi
5848 done
5849 done
5850 IFS=$as_save_IFS
5851
5852 fi
5853 fi
5854 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
5855 if test -n "$ac_ct_RANLIB"; then
5856 { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
5857 $as_echo "$ac_ct_RANLIB" >&6; }
5858 else
5859 { $as_echo "$as_me:$LINENO: result: no" >&5
5860 $as_echo "no" >&6; }
5861 fi
5862
5863 if test "x$ac_ct_RANLIB" = x; then
5864 RANLIB=":"
5865 else
5866 case $cross_compiling:$ac_tool_warned in
5867 yes:)
5868 { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
5869 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
5870 ac_tool_warned=yes ;;
63565871 esac
6357 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
6358 $as_echo "$ac_try_echo") >&5
6359 (eval "$ac_compiler --version >&5") 2>&5
6360 ac_status=$?
6361 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
6362 (exit $ac_status); }
6363 { (ac_try="$ac_compiler -v >&5"
6364 case "(($ac_try" in
6365 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
6366 *) ac_try_echo=$ac_try;;
6367 esac
6368 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
6369 $as_echo "$ac_try_echo") >&5
6370 (eval "$ac_compiler -v >&5") 2>&5
6371 ac_status=$?
6372 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
6373 (exit $ac_status); }
6374 { (ac_try="$ac_compiler -V >&5"
6375 case "(($ac_try" in
6376 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
6377 *) ac_try_echo=$ac_try;;
6378 esac
6379 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
6380 $as_echo "$ac_try_echo") >&5
6381 (eval "$ac_compiler -V >&5") 2>&5
6382 ac_status=$?
6383 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
6384 (exit $ac_status); }
6385 rm -f a.out
6386
6387 # If we don't use `.F' as extension, the preprocessor is not run on the
6388 # input file. (Note that this only needs to work for GNU compilers.)
6389 ac_save_ext=$ac_ext
6390 ac_ext=F
6391 { $as_echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
6392 $as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; }
6393 if test "${ac_cv_f77_compiler_gnu+set}" = set; then
6394 $as_echo_n "(cached) " >&6
6395 else
6396 cat >conftest.$ac_ext <<_ACEOF
6397 program main
6398 #ifndef __GNUC__
6399 choke me
6400 #endif
6401
6402 end
6403 _ACEOF
6404 rm -f conftest.$ac_objext
6405 if { (ac_try="$ac_compile"
6406 case "(($ac_try" in
6407 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
6408 *) ac_try_echo=$ac_try;;
6409 esac
6410 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
6411 $as_echo "$ac_try_echo") >&5
6412 (eval "$ac_compile") 2>conftest.er1
6413 ac_status=$?
6414 grep -v '^ *+' conftest.er1 >conftest.err
6415 rm -f conftest.er1
6416 cat conftest.err >&5
6417 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
6418 (exit $ac_status); } && {
6419 test -z "$ac_f77_werror_flag" ||
6420 test ! -s conftest.err
6421 } && test -s conftest.$ac_objext; then
6422 ac_compiler_gnu=yes
6423 else
6424 $as_echo "$as_me: failed program was:" >&5
6425 sed 's/^/| /' conftest.$ac_ext >&5
6426
6427 ac_compiler_gnu=no
6428 fi
6429
6430 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6431 ac_cv_f77_compiler_gnu=$ac_compiler_gnu
6432
6433 fi
6434 { $as_echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
6435 $as_echo "$ac_cv_f77_compiler_gnu" >&6; }
6436 ac_ext=$ac_save_ext
6437 ac_test_FFLAGS=${FFLAGS+set}
6438 ac_save_FFLAGS=$FFLAGS
6439 FFLAGS=
6440 { $as_echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
6441 $as_echo_n "checking whether $F77 accepts -g... " >&6; }
6442 if test "${ac_cv_prog_f77_g+set}" = set; then
6443 $as_echo_n "(cached) " >&6
6444 else
6445 FFLAGS=-g
6446 cat >conftest.$ac_ext <<_ACEOF
6447 program main
6448
6449 end
6450 _ACEOF
6451 rm -f conftest.$ac_objext
6452 if { (ac_try="$ac_compile"
6453 case "(($ac_try" in
6454 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
6455 *) ac_try_echo=$ac_try;;
6456 esac
6457 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
6458 $as_echo "$ac_try_echo") >&5
6459 (eval "$ac_compile") 2>conftest.er1
6460 ac_status=$?
6461 grep -v '^ *+' conftest.er1 >conftest.err
6462 rm -f conftest.er1
6463 cat conftest.err >&5
6464 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
6465 (exit $ac_status); } && {
6466 test -z "$ac_f77_werror_flag" ||
6467 test ! -s conftest.err
6468 } && test -s conftest.$ac_objext; then
6469 ac_cv_prog_f77_g=yes
6470 else
6471 $as_echo "$as_me: failed program was:" >&5
6472 sed 's/^/| /' conftest.$ac_ext >&5
6473
6474 ac_cv_prog_f77_g=no
6475 fi
6476
6477 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
6478
6479 fi
6480 { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
6481 $as_echo "$ac_cv_prog_f77_g" >&6; }
6482 if test "$ac_test_FFLAGS" = set; then
6483 FFLAGS=$ac_save_FFLAGS
6484 elif test $ac_cv_prog_f77_g = yes; then
6485 if test "x$ac_cv_f77_compiler_gnu" = xyes; then
6486 FFLAGS="-g -O2"
6487 else
6488 FFLAGS="-g"
5872 RANLIB=$ac_ct_RANLIB
64895873 fi
64905874 else
6491 if test "x$ac_cv_f77_compiler_gnu" = xyes; then
6492 FFLAGS="-O2"
6493 else
6494 FFLAGS=
6495 fi
6496 fi
6497
6498 if test $ac_compiler_gnu = yes; then
6499 G77=yes
6500 else
6501 G77=
6502 fi
6503 ac_ext=c
6504 ac_cpp='$CPP $CPPFLAGS'
6505 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
6506 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
6507 ac_compiler_gnu=$ac_cv_c_compiler_gnu
6508
6509
6510
6511 # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
6512 # find the maximum length of command line arguments
6513 { $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
6514 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
6515 if test "${lt_cv_sys_max_cmd_len+set}" = set; then
6516 $as_echo_n "(cached) " >&6
6517 else
6518 i=0
6519 teststring="ABCD"
6520
6521 case $build_os in
6522 msdosdjgpp*)
6523 # On DJGPP, this test can blow up pretty badly due to problems in libc
6524 # (any single argument exceeding 2000 bytes causes a buffer overrun
6525 # during glob expansion). Even if it were fixed, the result of this
6526 # check would be larger than it should be.
6527 lt_cv_sys_max_cmd_len=12288; # 12K is about right
6528 ;;
6529
6530 gnu*)
6531 # Under GNU Hurd, this test is not required because there is
6532 # no limit to the length of command line arguments.
6533 # Libtool will interpret -1 as no limit whatsoever
6534 lt_cv_sys_max_cmd_len=-1;
6535 ;;
6536
6537 cygwin* | mingw*)
6538 # On Win9x/ME, this test blows up -- it succeeds, but takes
6539 # about 5 minutes as the teststring grows exponentially.
6540 # Worse, since 9x/ME are not pre-emptively multitasking,
6541 # you end up with a "frozen" computer, even though with patience
6542 # the test eventually succeeds (with a max line length of 256k).
6543 # Instead, let's just punt: use the minimum linelength reported by
6544 # all of the supported platforms: 8192 (on NT/2K/XP).
6545 lt_cv_sys_max_cmd_len=8192;
6546 ;;
6547
6548 amigaos*)
6549 # On AmigaOS with pdksh, this test takes hours, literally.
6550 # So we just punt and use a minimum line length of 8192.
6551 lt_cv_sys_max_cmd_len=8192;
6552 ;;
6553
6554 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
6555 # This has been around since 386BSD, at least. Likely further.
6556 if test -x /sbin/sysctl; then
6557 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
6558 elif test -x /usr/sbin/sysctl; then
6559 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
6560 else
6561 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
6562 fi
6563 # And add a safety zone
6564 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
6565 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
6566 ;;
6567
6568 interix*)
6569 # We know the value 262144 and hardcode it with a safety zone (like BSD)
6570 lt_cv_sys_max_cmd_len=196608
6571 ;;
6572
6573 osf*)
6574 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
6575 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
6576 # nice to cause kernel panics so lets avoid the loop below.
6577 # First set a reasonable default.
6578 lt_cv_sys_max_cmd_len=16384
6579 #
6580 if test -x /sbin/sysconfig; then
6581 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
6582 *1*) lt_cv_sys_max_cmd_len=-1 ;;
6583 esac
6584 fi
6585 ;;
6586 sco3.2v5*)
6587 lt_cv_sys_max_cmd_len=102400
6588 ;;
6589 sysv5* | sco5v6* | sysv4.2uw2*)
6590 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
6591 if test -n "$kargmax"; then
6592 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
6593 else
6594 lt_cv_sys_max_cmd_len=32768
6595 fi
5875 RANLIB="$ac_cv_prog_RANLIB"
5876 fi
5877
5878 test -z "$RANLIB" && RANLIB=:
5879
5880
5881
5882
5883
5884
5885 # Determine commands to create old-style static archives.
5886 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
5887 old_postinstall_cmds='chmod 644 $oldlib'
5888 old_postuninstall_cmds=
5889
5890 if test -n "$RANLIB"; then
5891 case $host_os in
5892 openbsd*)
5893 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
65965894 ;;
65975895 *)
6598 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
6599 if test -n "$lt_cv_sys_max_cmd_len"; then
6600 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
6601 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
6602 else
6603 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
6604 while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
6605 = "XX$teststring") >/dev/null 2>&1 &&
6606 new_result=`expr "X$teststring" : ".*" 2>&1` &&
6607 lt_cv_sys_max_cmd_len=$new_result &&
6608 test $i != 17 # 1/2 MB should be enough
6609 do
6610 i=`expr $i + 1`
6611 teststring=$teststring$teststring
6612 done
6613 teststring=
6614 # Add a significant safety factor because C++ compilers can tack on massive
6615 # amounts of additional arguments before passing them to the linker.
6616 # It appears as though 1/2 is a usable value.
6617 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
6618 fi
5896 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
66195897 ;;
66205898 esac
6621
6622 fi
6623
6624 if test -n $lt_cv_sys_max_cmd_len ; then
6625 { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
6626 $as_echo "$lt_cv_sys_max_cmd_len" >&6; }
6627 else
6628 { $as_echo "$as_me:$LINENO: result: none" >&5
6629 $as_echo "none" >&6; }
6630 fi
6631
6632
6633
5899 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
5900 fi
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935 # If no C compiler was specified, use CC.
5936 LTCC=${LTCC-"$CC"}
5937
5938 # If no C compiler flags were specified, use CFLAGS.
5939 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
5940
5941 # Allow CC to be a program name with arguments.
5942 compiler=$CC
66345943
66355944
66365945 # Check for command to grab the raw symbol name followed by C symbol from nm.
66495958 # Regexp to match symbols that can be accessed directly from C.
66505959 sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
66515960
6652 # Transform an extracted symbol line into a proper C declaration
6653 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
6654
6655 # Transform an extracted symbol line into symbol name and symbol address
6656 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
6657
66585961 # Define system-specific variables.
66595962 case $host_os in
66605963 aix*)
66615964 symcode='[BCDT]'
66625965 ;;
6663 cygwin* | mingw* | pw32*)
5966 cygwin* | mingw* | pw32* | cegcc*)
66645967 symcode='[ABCDGISTW]'
66655968 ;;
6666 hpux*) # Its linker distinguishes data from code symbols
5969 hpux*)
66675970 if test "$host_cpu" = ia64; then
66685971 symcode='[ABCDEGRST]'
6669 fi
6670 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
6671 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
6672 ;;
6673 linux* | k*bsd*-gnu)
6674 if test "$host_cpu" = ia64; then
6675 symcode='[ABCDGIRSTW]'
6676 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
6677 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
66785972 fi
66795973 ;;
66805974 irix* | nonstopux*)
67005994 ;;
67015995 esac
67025996
6703 # Handle CRLF in mingw tool chain
6704 opt_cr=
6705 case $build_os in
6706 mingw*)
6707 opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
6708 ;;
6709 esac
6710
67115997 # If we're using GNU nm, then use its standard symbol codes.
67125998 case `$NM -V 2>&1` in
67135999 *GNU* | *'with BFD'*)
67146000 symcode='[ABCDGIRSTW]' ;;
67156001 esac
67166002
6717 # Try without a prefix undercore, then with it.
6003 # Transform an extracted symbol line into a proper C declaration.
6004 # Some systems (esp. on ia64) link data and code symbols differently,
6005 # so use this general approach.
6006 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
6007
6008 # Transform an extracted symbol line into symbol name and symbol address
6009 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
6010 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
6011
6012 # Handle CRLF in mingw tool chain
6013 opt_cr=
6014 case $build_os in
6015 mingw*)
6016 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
6017 ;;
6018 esac
6019
6020 # Try without a prefix underscore, then with it.
67186021 for ac_symprfx in "" "_"; do
67196022
67206023 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
67216024 symxfrm="\\1 $ac_symprfx\\2 \\2"
67226025
67236026 # Write the raw and C identifiers.
6724 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
6027 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
6028 # Fake it for dumpbin and say T for any non-static function
6029 # and D for any global variable.
6030 # Also find C++ and __fastcall symbols from MSVC++,
6031 # which start with @ or ?.
6032 lt_cv_sys_global_symbol_pipe="$AWK '"\
6033 " {last_section=section; section=\$ 3};"\
6034 " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
6035 " \$ 0!~/External *\|/{next};"\
6036 " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
6037 " {if(hide[section]) next};"\
6038 " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
6039 " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
6040 " s[1]~/^[@?]/{print s[1], s[1]; next};"\
6041 " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
6042 " ' prfx=^$ac_symprfx"
6043 else
6044 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
6045 fi
67256046
67266047 # Check to see that the pipe works correctly.
67276048 pipe_works=no
67286049
67296050 rm -f conftest*
6730 cat > conftest.$ac_ext <<EOF
6051 cat > conftest.$ac_ext <<_LT_EOF
67316052 #ifdef __cplusplus
67326053 extern "C" {
67336054 #endif
67346055 char nm_test_var;
6735 void nm_test_func(){}
6056 void nm_test_func(void);
6057 void nm_test_func(void){}
67366058 #ifdef __cplusplus
67376059 }
67386060 #endif
67396061 int main(){nm_test_var='a';nm_test_func();return(0);}
6740 EOF
6062 _LT_EOF
67416063
67426064 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
67436065 (eval $ac_compile) 2>&5
67596081 fi
67606082
67616083 # Make sure that we snagged all the symbols we need.
6762 if grep ' nm_test_var$' "$nlist" >/dev/null; then
6763 if grep ' nm_test_func$' "$nlist" >/dev/null; then
6764 cat <<EOF > conftest.$ac_ext
6084 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
6085 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
6086 cat <<_LT_EOF > conftest.$ac_ext
67656087 #ifdef __cplusplus
67666088 extern "C" {
67676089 #endif
67686090
6769 EOF
6091 _LT_EOF
67706092 # Now generate the symbol file.
6771 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
6772
6773 cat <<EOF >> conftest.$ac_ext
6774 #if defined (__STDC__) && __STDC__
6775 # define lt_ptr_t void *
6776 #else
6777 # define lt_ptr_t char *
6778 # define const
6779 #endif
6780
6781 /* The mapping between symbol names and symbols. */
6093 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
6094
6095 cat <<_LT_EOF >> conftest.$ac_ext
6096
6097 /* The mapping between symbol names and symbols. */
67826098 const struct {
67836099 const char *name;
6784 lt_ptr_t address;
6100 void *address;
67856101 }
6786 lt_preloaded_symbols[] =
6102 lt__PROGRAM__LTX_preloaded_symbols[] =
67876103 {
6788 EOF
6789 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
6790 cat <<\EOF >> conftest.$ac_ext
6791 {0, (lt_ptr_t) 0}
6104 { "@PROGRAM@", (void *) 0 },
6105 _LT_EOF
6106 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
6107 cat <<\_LT_EOF >> conftest.$ac_ext
6108 {0, (void *) 0}
67926109 };
6110
6111 /* This works around a problem in FreeBSD linker */
6112 #ifdef FREEBSD_WORKAROUND
6113 static const void *lt_preloaded_setup() {
6114 return lt__PROGRAM__LTX_preloaded_symbols;
6115 }
6116 #endif
67936117
67946118 #ifdef __cplusplus
67956119 }
67966120 #endif
6797 EOF
6121 _LT_EOF
67986122 # Now try linking the two files.
67996123 mv conftest.$ac_objext conftstm.$ac_objext
68006124 lt_save_LIBS="$LIBS"
68466170 $as_echo "ok" >&6; }
68476171 fi
68486172
6849 { $as_echo "$as_me:$LINENO: checking for objdir" >&5
6850 $as_echo_n "checking for objdir... " >&6; }
6851 if test "${lt_cv_objdir+set}" = set; then
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194 # Check whether --enable-libtool-lock was given.
6195 if test "${enable_libtool_lock+set}" = set; then
6196 enableval=$enable_libtool_lock;
6197 fi
6198
6199 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
6200
6201 # Some flags need to be propagated to the compiler or linker for good
6202 # libtool support.
6203 case $host in
6204 ia64-*-hpux*)
6205 # Find out which ABI we are using.
6206 echo 'int i;' > conftest.$ac_ext
6207 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
6208 (eval $ac_compile) 2>&5
6209 ac_status=$?
6210 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
6211 (exit $ac_status); }; then
6212 case `/usr/bin/file conftest.$ac_objext` in
6213 *ELF-32*)
6214 HPUX_IA64_MODE="32"
6215 ;;
6216 *ELF-64*)
6217 HPUX_IA64_MODE="64"
6218 ;;
6219 esac
6220 fi
6221 rm -rf conftest*
6222 ;;
6223 *-*-irix6*)
6224 # Find out which ABI we are using.
6225 echo '#line 6226 "configure"' > conftest.$ac_ext
6226 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
6227 (eval $ac_compile) 2>&5
6228 ac_status=$?
6229 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
6230 (exit $ac_status); }; then
6231 if test "$lt_cv_prog_gnu_ld" = yes; then
6232 case `/usr/bin/file conftest.$ac_objext` in
6233 *32-bit*)
6234 LD="${LD-ld} -melf32bsmip"
6235 ;;
6236 *N32*)
6237 LD="${LD-ld} -melf32bmipn32"
6238 ;;
6239 *64-bit*)
6240 LD="${LD-ld} -melf64bmip"
6241 ;;
6242 esac
6243 else
6244 case `/usr/bin/file conftest.$ac_objext` in
6245 *32-bit*)
6246 LD="${LD-ld} -32"
6247 ;;
6248 *N32*)
6249 LD="${LD-ld} -n32"
6250 ;;
6251 *64-bit*)
6252 LD="${LD-ld} -64"
6253 ;;
6254 esac
6255 fi
6256 fi
6257 rm -rf conftest*
6258 ;;
6259
6260 x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
6261 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
6262 # Find out which ABI we are using.
6263 echo 'int i;' > conftest.$ac_ext
6264 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
6265 (eval $ac_compile) 2>&5
6266 ac_status=$?
6267 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
6268 (exit $ac_status); }; then
6269 case `/usr/bin/file conftest.o` in
6270 *32-bit*)
6271 case $host in
6272 x86_64-*kfreebsd*-gnu)
6273 LD="${LD-ld} -m elf_i386_fbsd"
6274 ;;
6275 x86_64-*linux*)
6276 LD="${LD-ld} -m elf_i386"
6277 ;;
6278 ppc64-*linux*|powerpc64-*linux*)
6279 LD="${LD-ld} -m elf32ppclinux"
6280 ;;
6281 s390x-*linux*)
6282 LD="${LD-ld} -m elf_s390"
6283 ;;
6284 sparc64-*linux*)
6285 LD="${LD-ld} -m elf32_sparc"
6286 ;;
6287 esac
6288 ;;
6289 *64-bit*)
6290 case $host in
6291 x86_64-*kfreebsd*-gnu)
6292 LD="${LD-ld} -m elf_x86_64_fbsd"
6293 ;;
6294 x86_64-*linux*)
6295 LD="${LD-ld} -m elf_x86_64"
6296 ;;
6297 ppc*-*linux*|powerpc*-*linux*)
6298 LD="${LD-ld} -m elf64ppc"
6299 ;;
6300 s390*-*linux*|s390*-*tpf*)
6301 LD="${LD-ld} -m elf64_s390"
6302 ;;
6303 sparc*-*linux*)
6304 LD="${LD-ld} -m elf64_sparc"
6305 ;;
6306 esac
6307 ;;
6308 esac
6309 fi
6310 rm -rf conftest*
6311 ;;
6312
6313 *-*-sco3.2v5*)
6314 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
6315 SAVE_CFLAGS="$CFLAGS"
6316 CFLAGS="$CFLAGS -belf"
6317 { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
6318 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
6319 if test "${lt_cv_cc_needs_belf+set}" = set; then
68526320 $as_echo_n "(cached) " >&6
68536321 else
6854 rm -f .libs 2>/dev/null
6855 mkdir .libs 2>/dev/null
6856 if test -d .libs; then
6857 lt_cv_objdir=.libs
6858 else
6859 # MS-DOS does not allow filenames that begin with a dot.
6860 lt_cv_objdir=_libs
6861 fi
6862 rmdir .libs 2>/dev/null
6863 fi
6864 { $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
6865 $as_echo "$lt_cv_objdir" >&6; }
6866 objdir=$lt_cv_objdir
6867
6868
6869
6870
6871
6872 case $host_os in
6873 aix3*)
6874 # AIX sometimes has problems with the GCC collect2 program. For some
6875 # reason, if we set the COLLECT_NAMES environment variable, the problems
6876 # vanish in a puff of smoke.
6877 if test "X${COLLECT_NAMES+set}" != Xset; then
6878 COLLECT_NAMES=
6879 export COLLECT_NAMES
6322 ac_ext=c
6323 ac_cpp='$CPP $CPPFLAGS'
6324 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
6325 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
6326 ac_compiler_gnu=$ac_cv_c_compiler_gnu
6327
6328 cat >conftest.$ac_ext <<_ACEOF
6329 /* confdefs.h. */
6330 _ACEOF
6331 cat confdefs.h >>conftest.$ac_ext
6332 cat >>conftest.$ac_ext <<_ACEOF
6333 /* end confdefs.h. */
6334
6335 int
6336 main ()
6337 {
6338
6339 ;
6340 return 0;
6341 }
6342 _ACEOF
6343 rm -f conftest.$ac_objext conftest$ac_exeext
6344 if { (ac_try="$ac_link"
6345 case "(($ac_try" in
6346 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
6347 *) ac_try_echo=$ac_try;;
6348 esac
6349 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
6350 $as_echo "$ac_try_echo") >&5
6351 (eval "$ac_link") 2>conftest.er1
6352 ac_status=$?
6353 grep -v '^ *+' conftest.er1 >conftest.err
6354 rm -f conftest.er1
6355 cat conftest.err >&5
6356 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
6357 (exit $ac_status); } && {
6358 test -z "$ac_c_werror_flag" ||
6359 test ! -s conftest.err
6360 } && test -s conftest$ac_exeext && {
6361 test "$cross_compiling" = yes ||
6362 $as_test_x conftest$ac_exeext
6363 }; then
6364 lt_cv_cc_needs_belf=yes
6365 else
6366 $as_echo "$as_me: failed program was:" >&5
6367 sed 's/^/| /' conftest.$ac_ext >&5
6368
6369 lt_cv_cc_needs_belf=no
6370 fi
6371
6372 rm -rf conftest.dSYM
6373 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
6374 conftest$ac_exeext conftest.$ac_ext
6375 ac_ext=c
6376 ac_cpp='$CPP $CPPFLAGS'
6377 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
6378 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
6379 ac_compiler_gnu=$ac_cv_c_compiler_gnu
6380
6381 fi
6382 { $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
6383 $as_echo "$lt_cv_cc_needs_belf" >&6; }
6384 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
6385 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
6386 CFLAGS="$SAVE_CFLAGS"
68806387 fi
68816388 ;;
6882 esac
6883
6884 # Sed substitution that helps us do robust quoting. It backslashifies
6885 # metacharacters that are still active within double-quoted strings.
6886 Xsed='sed -e 1s/^X//'
6887 sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
6888
6889 # Same as above, but do not quote variable references.
6890 double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
6891
6892 # Sed substitution to delay expansion of an escaped shell variable in a
6893 # double_quote_subst'ed string.
6894 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
6895
6896 # Sed substitution to avoid accidental globbing in evaled expressions
6897 no_glob_subst='s/\*/\\\*/g'
6898
6899 # Constants:
6900 rm="rm -f"
6901
6902 # Global variables:
6903 default_ofile=libtool
6904 can_build_shared=yes
6905
6906 # All known linkers require a `.a' archive for static linking (except MSVC,
6907 # which needs '.lib').
6908 libext=a
6909 ltmain="$ac_aux_dir/ltmain.sh"
6910 ofile="$default_ofile"
6911 with_gnu_ld="$lt_cv_prog_gnu_ld"
6912
6913 if test -n "$ac_tool_prefix"; then
6914 # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
6915 set dummy ${ac_tool_prefix}ar; ac_word=$2
6916 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
6917 $as_echo_n "checking for $ac_word... " >&6; }
6918 if test "${ac_cv_prog_AR+set}" = set; then
6919 $as_echo_n "(cached) " >&6
6920 else
6921 if test -n "$AR"; then
6922 ac_cv_prog_AR="$AR" # Let the user override the test.
6923 else
6924 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6925 for as_dir in $PATH
6926 do
6927 IFS=$as_save_IFS
6928 test -z "$as_dir" && as_dir=.
6929 for ac_exec_ext in '' $ac_executable_extensions; do
6930 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6931 ac_cv_prog_AR="${ac_tool_prefix}ar"
6932 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
6933 break 2
6389 sparc*-*solaris*)
6390 # Find out which ABI we are using.
6391 echo 'int i;' > conftest.$ac_ext
6392 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
6393 (eval $ac_compile) 2>&5
6394 ac_status=$?
6395 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
6396 (exit $ac_status); }; then
6397 case `/usr/bin/file conftest.o` in
6398 *64-bit*)
6399 case $lt_cv_prog_gnu_ld in
6400 yes*) LD="${LD-ld} -m elf64_sparc" ;;
6401 *)
6402 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
6403 LD="${LD-ld} -64"
6404 fi
6405 ;;
6406 esac
6407 ;;
6408 esac
69346409 fi
6935 done
6936 done
6937 IFS=$as_save_IFS
6938
6939 fi
6940 fi
6941 AR=$ac_cv_prog_AR
6942 if test -n "$AR"; then
6943 { $as_echo "$as_me:$LINENO: result: $AR" >&5
6944 $as_echo "$AR" >&6; }
6945 else
6946 { $as_echo "$as_me:$LINENO: result: no" >&5
6947 $as_echo "no" >&6; }
6948 fi
6949
6950
6951 fi
6952 if test -z "$ac_cv_prog_AR"; then
6953 ac_ct_AR=$AR
6954 # Extract the first word of "ar", so it can be a program name with args.
6955 set dummy ar; ac_word=$2
6956 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
6957 $as_echo_n "checking for $ac_word... " >&6; }
6958 if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
6959 $as_echo_n "(cached) " >&6
6960 else
6961 if test -n "$ac_ct_AR"; then
6962 ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
6963 else
6964 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6965 for as_dir in $PATH
6966 do
6967 IFS=$as_save_IFS
6968 test -z "$as_dir" && as_dir=.
6969 for ac_exec_ext in '' $ac_executable_extensions; do
6970 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6971 ac_cv_prog_ac_ct_AR="ar"
6972 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
6973 break 2
6974 fi
6975 done
6976 done
6977 IFS=$as_save_IFS
6978
6979 fi
6980 fi
6981 ac_ct_AR=$ac_cv_prog_ac_ct_AR
6982 if test -n "$ac_ct_AR"; then
6983 { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
6984 $as_echo "$ac_ct_AR" >&6; }
6985 else
6986 { $as_echo "$as_me:$LINENO: result: no" >&5
6987 $as_echo "no" >&6; }
6988 fi
6989
6990 if test "x$ac_ct_AR" = x; then
6991 AR="false"
6992 else
6993 case $cross_compiling:$ac_tool_warned in
6994 yes:)
6995 { $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
6996 whose name does not start with the host triplet. If you think this
6997 configuration is useful to you, please write to autoconf@gnu.org." >&5
6998 $as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
6999 whose name does not start with the host triplet. If you think this
7000 configuration is useful to you, please write to autoconf@gnu.org." >&2;}
7001 ac_tool_warned=yes ;;
7002 esac
7003 AR=$ac_ct_AR
7004 fi
7005 else
7006 AR="$ac_cv_prog_AR"
7007 fi
7008
7009 if test -n "$ac_tool_prefix"; then
7010 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
7011 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
7012 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
7013 $as_echo_n "checking for $ac_word... " >&6; }
7014 if test "${ac_cv_prog_RANLIB+set}" = set; then
7015 $as_echo_n "(cached) " >&6
7016 else
7017 if test -n "$RANLIB"; then
7018 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
7019 else
7020 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7021 for as_dir in $PATH
7022 do
7023 IFS=$as_save_IFS
7024 test -z "$as_dir" && as_dir=.
7025 for ac_exec_ext in '' $ac_executable_extensions; do
7026 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7027 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
7028 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
7029 break 2
7030 fi
7031 done
7032 done
7033 IFS=$as_save_IFS
7034
7035 fi
7036 fi
7037 RANLIB=$ac_cv_prog_RANLIB
7038 if test -n "$RANLIB"; then
7039 { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
7040 $as_echo "$RANLIB" >&6; }
7041 else
7042 { $as_echo "$as_me:$LINENO: result: no" >&5
7043 $as_echo "no" >&6; }
7044 fi
7045
7046
7047 fi
7048 if test -z "$ac_cv_prog_RANLIB"; then
7049 ac_ct_RANLIB=$RANLIB
7050 # Extract the first word of "ranlib", so it can be a program name with args.
7051 set dummy ranlib; ac_word=$2
7052 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
7053 $as_echo_n "checking for $ac_word... " >&6; }
7054 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
7055 $as_echo_n "(cached) " >&6
7056 else
7057 if test -n "$ac_ct_RANLIB"; then
7058 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
7059 else
7060 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7061 for as_dir in $PATH
7062 do
7063 IFS=$as_save_IFS
7064 test -z "$as_dir" && as_dir=.
7065 for ac_exec_ext in '' $ac_executable_extensions; do
7066 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7067 ac_cv_prog_ac_ct_RANLIB="ranlib"
7068 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
7069 break 2
7070 fi
7071 done
7072 done
7073 IFS=$as_save_IFS
7074
7075 fi
7076 fi
7077 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
7078 if test -n "$ac_ct_RANLIB"; then
7079 { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
7080 $as_echo "$ac_ct_RANLIB" >&6; }
7081 else
7082 { $as_echo "$as_me:$LINENO: result: no" >&5
7083 $as_echo "no" >&6; }
7084 fi
7085
7086 if test "x$ac_ct_RANLIB" = x; then
7087 RANLIB=":"
7088 else
7089 case $cross_compiling:$ac_tool_warned in
7090 yes:)
7091 { $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
7092 whose name does not start with the host triplet. If you think this
7093 configuration is useful to you, please write to autoconf@gnu.org." >&5
7094 $as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
7095 whose name does not start with the host triplet. If you think this
7096 configuration is useful to you, please write to autoconf@gnu.org." >&2;}
7097 ac_tool_warned=yes ;;
7098 esac
7099 RANLIB=$ac_ct_RANLIB
7100 fi
7101 else
7102 RANLIB="$ac_cv_prog_RANLIB"
7103 fi
7104
7105 if test -n "$ac_tool_prefix"; then
7106 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
7107 set dummy ${ac_tool_prefix}strip; ac_word=$2
7108 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
7109 $as_echo_n "checking for $ac_word... " >&6; }
7110 if test "${ac_cv_prog_STRIP+set}" = set; then
7111 $as_echo_n "(cached) " >&6
7112 else
7113 if test -n "$STRIP"; then
7114 ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
7115 else
7116 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7117 for as_dir in $PATH
7118 do
7119 IFS=$as_save_IFS
7120 test -z "$as_dir" && as_dir=.
7121 for ac_exec_ext in '' $ac_executable_extensions; do
7122 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7123 ac_cv_prog_STRIP="${ac_tool_prefix}strip"
7124 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
7125 break 2
7126 fi
7127 done
7128 done
7129 IFS=$as_save_IFS
7130
7131 fi
7132 fi
7133 STRIP=$ac_cv_prog_STRIP
7134 if test -n "$STRIP"; then
7135 { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
7136 $as_echo "$STRIP" >&6; }
7137 else
7138 { $as_echo "$as_me:$LINENO: result: no" >&5
7139 $as_echo "no" >&6; }
7140 fi
7141
7142
7143 fi
7144 if test -z "$ac_cv_prog_STRIP"; then
7145 ac_ct_STRIP=$STRIP
7146 # Extract the first word of "strip", so it can be a program name with args.
7147 set dummy strip; ac_word=$2
7148 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
7149 $as_echo_n "checking for $ac_word... " >&6; }
7150 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
7151 $as_echo_n "(cached) " >&6
7152 else
7153 if test -n "$ac_ct_STRIP"; then
7154 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
7155 else
7156 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7157 for as_dir in $PATH
7158 do
7159 IFS=$as_save_IFS
7160 test -z "$as_dir" && as_dir=.
7161 for ac_exec_ext in '' $ac_executable_extensions; do
7162 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7163 ac_cv_prog_ac_ct_STRIP="strip"
7164 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
7165 break 2
7166 fi
7167 done
7168 done
7169 IFS=$as_save_IFS
7170
7171 fi
7172 fi
7173 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
7174 if test -n "$ac_ct_STRIP"; then
7175 { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
7176 $as_echo "$ac_ct_STRIP" >&6; }
7177 else
7178 { $as_echo "$as_me:$LINENO: result: no" >&5
7179 $as_echo "no" >&6; }
7180 fi
7181
7182 if test "x$ac_ct_STRIP" = x; then
7183 STRIP=":"
7184 else
7185 case $cross_compiling:$ac_tool_warned in
7186 yes:)
7187 { $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
7188 whose name does not start with the host triplet. If you think this
7189 configuration is useful to you, please write to autoconf@gnu.org." >&5
7190 $as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
7191 whose name does not start with the host triplet. If you think this
7192 configuration is useful to you, please write to autoconf@gnu.org." >&2;}
7193 ac_tool_warned=yes ;;
7194 esac
7195 STRIP=$ac_ct_STRIP
7196 fi
7197 else
7198 STRIP="$ac_cv_prog_STRIP"
7199 fi
7200
7201
7202 old_CC="$CC"
7203 old_CFLAGS="$CFLAGS"
7204
7205 # Set sane defaults for various variables
7206 test -z "$AR" && AR=ar
7207 test -z "$AR_FLAGS" && AR_FLAGS=cru
7208 test -z "$AS" && AS=as
7209 test -z "$CC" && CC=cc
7210 test -z "$LTCC" && LTCC=$CC
7211 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
7212 test -z "$DLLTOOL" && DLLTOOL=dlltool
7213 test -z "$LD" && LD=ld
7214 test -z "$LN_S" && LN_S="ln -s"
7215 test -z "$MAGIC_CMD" && MAGIC_CMD=file
7216 test -z "$NM" && NM=nm
7217 test -z "$SED" && SED=sed
7218 test -z "$OBJDUMP" && OBJDUMP=objdump
7219 test -z "$RANLIB" && RANLIB=:
7220 test -z "$STRIP" && STRIP=:
7221 test -z "$ac_objext" && ac_objext=o
7222
7223 # Determine commands to create old-style static archives.
7224 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
7225 old_postinstall_cmds='chmod 644 $oldlib'
7226 old_postuninstall_cmds=
7227
7228 if test -n "$RANLIB"; then
7229 case $host_os in
7230 openbsd*)
7231 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
7232 ;;
7233 *)
7234 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
7235 ;;
7236 esac
7237 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
7238 fi
7239
7240 for cc_temp in $compiler""; do
7241 case $cc_temp in
7242 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
7243 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
7244 \-*) ;;
7245 *) break;;
7246 esac
7247 done
7248 cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
7249
7250
7251 # Only perform the check for file, if the check method requires it
7252 case $deplibs_check_method in
7253 file_magic*)
7254 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
7255 { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
7256 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
7257 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
7258 $as_echo_n "(cached) " >&6
7259 else
7260 case $MAGIC_CMD in
7261 [\\/*] | ?:[\\/]*)
7262 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
7263 ;;
7264 *)
7265 lt_save_MAGIC_CMD="$MAGIC_CMD"
7266 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
7267 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
7268 for ac_dir in $ac_dummy; do
7269 IFS="$lt_save_ifs"
7270 test -z "$ac_dir" && ac_dir=.
7271 if test -f $ac_dir/${ac_tool_prefix}file; then
7272 lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
7273 if test -n "$file_magic_test_file"; then
7274 case $deplibs_check_method in
7275 "file_magic "*)
7276 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
7277 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
7278 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
7279 $EGREP "$file_magic_regex" > /dev/null; then
7280 :
7281 else
7282 cat <<EOF 1>&2
7283
7284 *** Warning: the command libtool uses to detect shared libraries,
7285 *** $file_magic_cmd, produces output that libtool cannot recognize.
7286 *** The result is that libtool may fail to recognize shared libraries
7287 *** as such. This will affect the creation of libtool libraries that
7288 *** depend on shared libraries, but programs linked with such libtool
7289 *** libraries will work regardless of this problem. Nevertheless, you
7290 *** may want to report the problem to your system manager and/or to
7291 *** bug-libtool@gnu.org
7292
7293 EOF
7294 fi ;;
7295 esac
7296 fi
7297 break
7298 fi
7299 done
7300 IFS="$lt_save_ifs"
7301 MAGIC_CMD="$lt_save_MAGIC_CMD"
6410 rm -rf conftest*
73026411 ;;
73036412 esac
7304 fi
7305
7306 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
7307 if test -n "$MAGIC_CMD"; then
7308 { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
7309 $as_echo "$MAGIC_CMD" >&6; }
7310 else
7311 { $as_echo "$as_me:$LINENO: result: no" >&5
7312 $as_echo "no" >&6; }
7313 fi
7314
7315 if test -z "$lt_cv_path_MAGIC_CMD"; then
7316 if test -n "$ac_tool_prefix"; then
7317 { $as_echo "$as_me:$LINENO: checking for file" >&5
7318 $as_echo_n "checking for file... " >&6; }
7319 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
7320 $as_echo_n "(cached) " >&6
7321 else
7322 case $MAGIC_CMD in
7323 [\\/*] | ?:[\\/]*)
7324 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
7325 ;;
7326 *)
7327 lt_save_MAGIC_CMD="$MAGIC_CMD"
7328 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
7329 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
7330 for ac_dir in $ac_dummy; do
7331 IFS="$lt_save_ifs"
7332 test -z "$ac_dir" && ac_dir=.
7333 if test -f $ac_dir/file; then
7334 lt_cv_path_MAGIC_CMD="$ac_dir/file"
7335 if test -n "$file_magic_test_file"; then
7336 case $deplibs_check_method in
7337 "file_magic "*)
7338 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
7339 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
7340 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
7341 $EGREP "$file_magic_regex" > /dev/null; then
7342 :
7343 else
7344 cat <<EOF 1>&2
7345
7346 *** Warning: the command libtool uses to detect shared libraries,
7347 *** $file_magic_cmd, produces output that libtool cannot recognize.
7348 *** The result is that libtool may fail to recognize shared libraries
7349 *** as such. This will affect the creation of libtool libraries that
7350 *** depend on shared libraries, but programs linked with such libtool
7351 *** libraries will work regardless of this problem. Nevertheless, you
7352 *** may want to report the problem to your system manager and/or to
7353 *** bug-libtool@gnu.org
7354
7355 EOF
7356 fi ;;
7357 esac
7358 fi
7359 break
7360 fi
7361 done
7362 IFS="$lt_save_ifs"
7363 MAGIC_CMD="$lt_save_MAGIC_CMD"
7364 ;;
7365 esac
7366 fi
7367
7368 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
7369 if test -n "$MAGIC_CMD"; then
7370 { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
7371 $as_echo "$MAGIC_CMD" >&6; }
7372 else
7373 { $as_echo "$as_me:$LINENO: result: no" >&5
7374 $as_echo "no" >&6; }
7375 fi
7376
7377 else
7378 MAGIC_CMD=:
7379 fi
7380 fi
7381
7382 fi
7383 ;;
7384 esac
6413
6414 need_locks="$enable_libtool_lock"
73856415
73866416
73876417 case $host_os in
74686498 else
74696499 case $cross_compiling:$ac_tool_warned in
74706500 yes:)
7471 { $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
7472 whose name does not start with the host triplet. If you think this
7473 configuration is useful to you, please write to autoconf@gnu.org." >&5
7474 $as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
7475 whose name does not start with the host triplet. If you think this
7476 configuration is useful to you, please write to autoconf@gnu.org." >&2;}
6501 { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
6502 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
74776503 ac_tool_warned=yes ;;
74786504 esac
74796505 DSYMUTIL=$ac_ct_DSYMUTIL
75646590 else
75656591 case $cross_compiling:$ac_tool_warned in
75666592 yes:)
7567 { $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
7568 whose name does not start with the host triplet. If you think this
7569 configuration is useful to you, please write to autoconf@gnu.org." >&5
7570 $as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
7571 whose name does not start with the host triplet. If you think this
7572 configuration is useful to you, please write to autoconf@gnu.org." >&2;}
6593 { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
6594 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
75736595 ac_tool_warned=yes ;;
75746596 esac
75756597 NMEDIT=$ac_ct_NMEDIT
75786600 NMEDIT="$ac_cv_prog_NMEDIT"
75796601 fi
75806602
6603 if test -n "$ac_tool_prefix"; then
6604 # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
6605 set dummy ${ac_tool_prefix}lipo; ac_word=$2
6606 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
6607 $as_echo_n "checking for $ac_word... " >&6; }
6608 if test "${ac_cv_prog_LIPO+set}" = set; then
6609 $as_echo_n "(cached) " >&6
6610 else
6611 if test -n "$LIPO"; then
6612 ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
6613 else
6614 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6615 for as_dir in $PATH
6616 do
6617 IFS=$as_save_IFS
6618 test -z "$as_dir" && as_dir=.
6619 for ac_exec_ext in '' $ac_executable_extensions; do
6620 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6621 ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
6622 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
6623 break 2
6624 fi
6625 done
6626 done
6627 IFS=$as_save_IFS
6628
6629 fi
6630 fi
6631 LIPO=$ac_cv_prog_LIPO
6632 if test -n "$LIPO"; then
6633 { $as_echo "$as_me:$LINENO: result: $LIPO" >&5
6634 $as_echo "$LIPO" >&6; }
6635 else
6636 { $as_echo "$as_me:$LINENO: result: no" >&5
6637 $as_echo "no" >&6; }
6638 fi
6639
6640
6641 fi
6642 if test -z "$ac_cv_prog_LIPO"; then
6643 ac_ct_LIPO=$LIPO
6644 # Extract the first word of "lipo", so it can be a program name with args.
6645 set dummy lipo; ac_word=$2
6646 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
6647 $as_echo_n "checking for $ac_word... " >&6; }
6648 if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then
6649 $as_echo_n "(cached) " >&6
6650 else
6651 if test -n "$ac_ct_LIPO"; then
6652 ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
6653 else
6654 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6655 for as_dir in $PATH
6656 do
6657 IFS=$as_save_IFS
6658 test -z "$as_dir" && as_dir=.
6659 for ac_exec_ext in '' $ac_executable_extensions; do
6660 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6661 ac_cv_prog_ac_ct_LIPO="lipo"
6662 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
6663 break 2
6664 fi
6665 done
6666 done
6667 IFS=$as_save_IFS
6668
6669 fi
6670 fi
6671 ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
6672 if test -n "$ac_ct_LIPO"; then
6673 { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5
6674 $as_echo "$ac_ct_LIPO" >&6; }
6675 else
6676 { $as_echo "$as_me:$LINENO: result: no" >&5
6677 $as_echo "no" >&6; }
6678 fi
6679
6680 if test "x$ac_ct_LIPO" = x; then
6681 LIPO=":"
6682 else
6683 case $cross_compiling:$ac_tool_warned in
6684 yes:)
6685 { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
6686 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
6687 ac_tool_warned=yes ;;
6688 esac
6689 LIPO=$ac_ct_LIPO
6690 fi
6691 else
6692 LIPO="$ac_cv_prog_LIPO"
6693 fi
6694
6695 if test -n "$ac_tool_prefix"; then
6696 # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
6697 set dummy ${ac_tool_prefix}otool; ac_word=$2
6698 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
6699 $as_echo_n "checking for $ac_word... " >&6; }
6700 if test "${ac_cv_prog_OTOOL+set}" = set; then
6701 $as_echo_n "(cached) " >&6
6702 else
6703 if test -n "$OTOOL"; then
6704 ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
6705 else
6706 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6707 for as_dir in $PATH
6708 do
6709 IFS=$as_save_IFS
6710 test -z "$as_dir" && as_dir=.
6711 for ac_exec_ext in '' $ac_executable_extensions; do
6712 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6713 ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
6714 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
6715 break 2
6716 fi
6717 done
6718 done
6719 IFS=$as_save_IFS
6720
6721 fi
6722 fi
6723 OTOOL=$ac_cv_prog_OTOOL
6724 if test -n "$OTOOL"; then
6725 { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5
6726 $as_echo "$OTOOL" >&6; }
6727 else
6728 { $as_echo "$as_me:$LINENO: result: no" >&5
6729 $as_echo "no" >&6; }
6730 fi
6731
6732
6733 fi
6734 if test -z "$ac_cv_prog_OTOOL"; then
6735 ac_ct_OTOOL=$OTOOL
6736 # Extract the first word of "otool", so it can be a program name with args.
6737 set dummy otool; ac_word=$2
6738 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
6739 $as_echo_n "checking for $ac_word... " >&6; }
6740 if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then
6741 $as_echo_n "(cached) " >&6
6742 else
6743 if test -n "$ac_ct_OTOOL"; then
6744 ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
6745 else
6746 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6747 for as_dir in $PATH
6748 do
6749 IFS=$as_save_IFS
6750 test -z "$as_dir" && as_dir=.
6751 for ac_exec_ext in '' $ac_executable_extensions; do
6752 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6753 ac_cv_prog_ac_ct_OTOOL="otool"
6754 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
6755 break 2
6756 fi
6757 done
6758 done
6759 IFS=$as_save_IFS
6760
6761 fi
6762 fi
6763 ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
6764 if test -n "$ac_ct_OTOOL"; then
6765 { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5
6766 $as_echo "$ac_ct_OTOOL" >&6; }
6767 else
6768 { $as_echo "$as_me:$LINENO: result: no" >&5
6769 $as_echo "no" >&6; }
6770 fi
6771
6772 if test "x$ac_ct_OTOOL" = x; then
6773 OTOOL=":"
6774 else
6775 case $cross_compiling:$ac_tool_warned in
6776 yes:)
6777 { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
6778 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
6779 ac_tool_warned=yes ;;
6780 esac
6781 OTOOL=$ac_ct_OTOOL
6782 fi
6783 else
6784 OTOOL="$ac_cv_prog_OTOOL"
6785 fi
6786
6787 if test -n "$ac_tool_prefix"; then
6788 # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
6789 set dummy ${ac_tool_prefix}otool64; ac_word=$2
6790 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
6791 $as_echo_n "checking for $ac_word... " >&6; }
6792 if test "${ac_cv_prog_OTOOL64+set}" = set; then
6793 $as_echo_n "(cached) " >&6
6794 else
6795 if test -n "$OTOOL64"; then
6796 ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
6797 else
6798 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6799 for as_dir in $PATH
6800 do
6801 IFS=$as_save_IFS
6802 test -z "$as_dir" && as_dir=.
6803 for ac_exec_ext in '' $ac_executable_extensions; do
6804 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6805 ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
6806 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
6807 break 2
6808 fi
6809 done
6810 done
6811 IFS=$as_save_IFS
6812
6813 fi
6814 fi
6815 OTOOL64=$ac_cv_prog_OTOOL64
6816 if test -n "$OTOOL64"; then
6817 { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5
6818 $as_echo "$OTOOL64" >&6; }
6819 else
6820 { $as_echo "$as_me:$LINENO: result: no" >&5
6821 $as_echo "no" >&6; }
6822 fi
6823
6824
6825 fi
6826 if test -z "$ac_cv_prog_OTOOL64"; then
6827 ac_ct_OTOOL64=$OTOOL64
6828 # Extract the first word of "otool64", so it can be a program name with args.
6829 set dummy otool64; ac_word=$2
6830 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
6831 $as_echo_n "checking for $ac_word... " >&6; }
6832 if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then
6833 $as_echo_n "(cached) " >&6
6834 else
6835 if test -n "$ac_ct_OTOOL64"; then
6836 ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
6837 else
6838 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6839 for as_dir in $PATH
6840 do
6841 IFS=$as_save_IFS
6842 test -z "$as_dir" && as_dir=.
6843 for ac_exec_ext in '' $ac_executable_extensions; do
6844 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6845 ac_cv_prog_ac_ct_OTOOL64="otool64"
6846 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
6847 break 2
6848 fi
6849 done
6850 done
6851 IFS=$as_save_IFS
6852
6853 fi
6854 fi
6855 ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
6856 if test -n "$ac_ct_OTOOL64"; then
6857 { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5
6858 $as_echo "$ac_ct_OTOOL64" >&6; }
6859 else
6860 { $as_echo "$as_me:$LINENO: result: no" >&5
6861 $as_echo "no" >&6; }
6862 fi
6863
6864 if test "x$ac_ct_OTOOL64" = x; then
6865 OTOOL64=":"
6866 else
6867 case $cross_compiling:$ac_tool_warned in
6868 yes:)
6869 { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
6870 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
6871 ac_tool_warned=yes ;;
6872 esac
6873 OTOOL64=$ac_ct_OTOOL64
6874 fi
6875 else
6876 OTOOL64="$ac_cv_prog_OTOOL64"
6877 fi
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
75816904
75826905 { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
75836906 $as_echo_n "checking for -single_module linker flag... " >&6; }
75866909 else
75876910 lt_cv_apple_cc_single_mod=no
75886911 if test -z "${LT_MULTI_MODULE}"; then
7589 # By default we will add the -single_module flag. You can override
7590 # by either setting the environment variable LT_MULTI_MODULE
7591 # non-empty at configure time, or by adding -multi_module to the
7592 # link flags.
7593 echo "int foo(void){return 1;}" > conftest.c
7594 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
7595 -dynamiclib ${wl}-single_module conftest.c
7596 if test -f libconftest.dylib; then
7597 lt_cv_apple_cc_single_mod=yes
7598 rm -rf libconftest.dylib*
7599 fi
7600 rm conftest.c
6912 # By default we will add the -single_module flag. You can override
6913 # by either setting the environment variable LT_MULTI_MODULE
6914 # non-empty at configure time, or by adding -multi_module to the
6915 # link flags.
6916 rm -rf libconftest.dylib*
6917 echo "int foo(void){return 1;}" > conftest.c
6918 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
6919 -dynamiclib -Wl,-single_module conftest.c" >&5
6920 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
6921 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
6922 _lt_result=$?
6923 if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
6924 lt_cv_apple_cc_single_mod=yes
6925 else
6926 cat conftest.err >&5
6927 fi
6928 rm -rf libconftest.dylib*
6929 rm -f conftest.*
76016930 fi
76026931 fi
76036932 { $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
76586987 rm -rf conftest.dSYM
76596988 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
76606989 conftest$ac_exeext conftest.$ac_ext
7661 LDFLAGS="$save_LDFLAGS"
6990 LDFLAGS="$save_LDFLAGS"
76626991
76636992 fi
76646993 { $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
76656994 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
76666995 case $host_os in
7667 rhapsody* | darwin1.[0123])
6996 rhapsody* | darwin1.[012])
76686997 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
76696998 darwin1.*)
7670 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
7671 darwin*)
6999 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
7000 darwin*) # darwin 5.x on
76727001 # if running on 10.5 or later, the deployment target defaults
76737002 # to the OS version, if on x86, and 10.4, the deployment
76747003 # target defaults to 10.4. Don't you love it?
76757004 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
7676 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
7677 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
7678 10.[012]*)
7679 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
7680 10.*)
7681 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
7005 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
7006 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
7007 10.[012]*)
7008 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
7009 10.*)
7010 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
76827011 esac
76837012 ;;
76847013 esac
76887017 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
76897018 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
76907019 else
7691 _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
7020 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
76927021 fi
76937022 if test "$DSYMUTIL" != ":"; then
7694 _lt_dsymutil="~$DSYMUTIL \$lib || :"
7023 _lt_dsymutil='~$DSYMUTIL $lib || :'
76957024 else
76967025 _lt_dsymutil=
76977026 fi
76987027 ;;
76997028 esac
77007029
7701
7702 enable_dlopen=no
7703 enable_win32_dll=no
7704
7705 # Check whether --enable-libtool-lock was given.
7706 if test "${enable_libtool_lock+set}" = set; then
7707 enableval=$enable_libtool_lock;
7708 fi
7709
7710 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
7030 # On IRIX 5.3, sys/types and inttypes.h are conflicting.
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040 for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
7041 inttypes.h stdint.h unistd.h
7042 do
7043 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
7044 { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
7045 $as_echo_n "checking for $ac_header... " >&6; }
7046 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
7047 $as_echo_n "(cached) " >&6
7048 else
7049 cat >conftest.$ac_ext <<_ACEOF
7050 /* confdefs.h. */
7051 _ACEOF
7052 cat confdefs.h >>conftest.$ac_ext
7053 cat >>conftest.$ac_ext <<_ACEOF
7054 /* end confdefs.h. */
7055 $ac_includes_default
7056
7057 #include <$ac_header>
7058 _ACEOF
7059 rm -f conftest.$ac_objext
7060 if { (ac_try="$ac_compile"
7061 case "(($ac_try" in
7062 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
7063 *) ac_try_echo=$ac_try;;
7064 esac
7065 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
7066 $as_echo "$ac_try_echo") >&5
7067 (eval "$ac_compile") 2>conftest.er1
7068 ac_status=$?
7069 grep -v '^ *+' conftest.er1 >conftest.err
7070 rm -f conftest.er1
7071 cat conftest.err >&5
7072 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
7073 (exit $ac_status); } && {
7074 test -z "$ac_c_werror_flag" ||
7075 test ! -s conftest.err
7076 } && test -s conftest.$ac_objext; then
7077 eval "$as_ac_Header=yes"
7078 else
7079 $as_echo "$as_me: failed program was:" >&5
7080 sed 's/^/| /' conftest.$ac_ext >&5
7081
7082 eval "$as_ac_Header=no"
7083 fi
7084
7085 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7086 fi
7087 ac_res=`eval 'as_val=${'$as_ac_Header'}
7088 $as_echo "$as_val"'`
7089 { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
7090 $as_echo "$ac_res" >&6; }
7091 as_val=`eval 'as_val=${'$as_ac_Header'}
7092 $as_echo "$as_val"'`
7093 if test "x$as_val" = x""yes; then
7094 cat >>confdefs.h <<_ACEOF
7095 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
7096 _ACEOF
7097
7098 fi
7099
7100 done
7101
7102
7103
7104 for ac_header in dlfcn.h
7105 do
7106 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
7107 { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
7108 $as_echo_n "checking for $ac_header... " >&6; }
7109 if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
7110 $as_echo_n "(cached) " >&6
7111 else
7112 cat >conftest.$ac_ext <<_ACEOF
7113 /* confdefs.h. */
7114 _ACEOF
7115 cat confdefs.h >>conftest.$ac_ext
7116 cat >>conftest.$ac_ext <<_ACEOF
7117 /* end confdefs.h. */
7118 $ac_includes_default
7119
7120 #include <$ac_header>
7121 _ACEOF
7122 rm -f conftest.$ac_objext
7123 if { (ac_try="$ac_compile"
7124 case "(($ac_try" in
7125 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
7126 *) ac_try_echo=$ac_try;;
7127 esac
7128 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
7129 $as_echo "$ac_try_echo") >&5
7130 (eval "$ac_compile") 2>conftest.er1
7131 ac_status=$?
7132 grep -v '^ *+' conftest.er1 >conftest.err
7133 rm -f conftest.er1
7134 cat conftest.err >&5
7135 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
7136 (exit $ac_status); } && {
7137 test -z "$ac_c_werror_flag" ||
7138 test ! -s conftest.err
7139 } && test -s conftest.$ac_objext; then
7140 eval "$as_ac_Header=yes"
7141 else
7142 $as_echo "$as_me: failed program was:" >&5
7143 sed 's/^/| /' conftest.$ac_ext >&5
7144
7145 eval "$as_ac_Header=no"
7146 fi
7147
7148 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7149 fi
7150 ac_res=`eval 'as_val=${'$as_ac_Header'}
7151 $as_echo "$as_val"'`
7152 { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
7153 $as_echo "$ac_res" >&6; }
7154 as_val=`eval 'as_val=${'$as_ac_Header'}
7155 $as_echo "$as_val"'`
7156 if test "x$as_val" = x""yes; then
7157 cat >>confdefs.h <<_ACEOF
7158 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
7159 _ACEOF
7160
7161 fi
7162
7163 done
7164
7165
7166
7167 # Set options
7168
7169
7170
7171 enable_dlopen=no
7172
7173
7174 enable_win32_dll=no
7175
7176
7177 # Check whether --enable-shared was given.
7178 if test "${enable_shared+set}" = set; then
7179 enableval=$enable_shared; p=${PACKAGE-default}
7180 case $enableval in
7181 yes) enable_shared=yes ;;
7182 no) enable_shared=no ;;
7183 *)
7184 enable_shared=no
7185 # Look at the argument we got. We use all the common list separators.
7186 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7187 for pkg in $enableval; do
7188 IFS="$lt_save_ifs"
7189 if test "X$pkg" = "X$p"; then
7190 enable_shared=yes
7191 fi
7192 done
7193 IFS="$lt_save_ifs"
7194 ;;
7195 esac
7196 else
7197 enable_shared=yes
7198 fi
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208 # Check whether --enable-static was given.
7209 if test "${enable_static+set}" = set; then
7210 enableval=$enable_static; p=${PACKAGE-default}
7211 case $enableval in
7212 yes) enable_static=yes ;;
7213 no) enable_static=no ;;
7214 *)
7215 enable_static=no
7216 # Look at the argument we got. We use all the common list separators.
7217 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7218 for pkg in $enableval; do
7219 IFS="$lt_save_ifs"
7220 if test "X$pkg" = "X$p"; then
7221 enable_static=yes
7222 fi
7223 done
7224 IFS="$lt_save_ifs"
7225 ;;
7226 esac
7227 else
7228 enable_static=yes
7229 fi
7230
7231
7232
7233
7234
7235
7236
7237
77117238
77127239
77137240 # Check whether --with-pic was given.
77177244 pic_mode=default
77187245 fi
77197246
7247
77207248 test -z "$pic_mode" && pic_mode=default
77217249
7250
7251
7252
7253
7254
7255
7256 # Check whether --enable-fast-install was given.
7257 if test "${enable_fast_install+set}" = set; then
7258 enableval=$enable_fast_install; p=${PACKAGE-default}
7259 case $enableval in
7260 yes) enable_fast_install=yes ;;
7261 no) enable_fast_install=no ;;
7262 *)
7263 enable_fast_install=no
7264 # Look at the argument we got. We use all the common list separators.
7265 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7266 for pkg in $enableval; do
7267 IFS="$lt_save_ifs"
7268 if test "X$pkg" = "X$p"; then
7269 enable_fast_install=yes
7270 fi
7271 done
7272 IFS="$lt_save_ifs"
7273 ;;
7274 esac
7275 else
7276 enable_fast_install=yes
7277 fi
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289 # This can be used to rebuild libtool when needed
7290 LIBTOOL_DEPS="$ltmain"
7291
7292 # Always use our own libtool.
7293 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319 test -z "$LN_S" && LN_S="ln -s"
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334 if test -n "${ZSH_VERSION+set}" ; then
7335 setopt NO_GLOB_SUBST
7336 fi
7337
7338 { $as_echo "$as_me:$LINENO: checking for objdir" >&5
7339 $as_echo_n "checking for objdir... " >&6; }
7340 if test "${lt_cv_objdir+set}" = set; then
7341 $as_echo_n "(cached) " >&6
7342 else
7343 rm -f .libs 2>/dev/null
7344 mkdir .libs 2>/dev/null
7345 if test -d .libs; then
7346 lt_cv_objdir=.libs
7347 else
7348 # MS-DOS does not allow filenames that begin with a dot.
7349 lt_cv_objdir=_libs
7350 fi
7351 rmdir .libs 2>/dev/null
7352 fi
7353 { $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
7354 $as_echo "$lt_cv_objdir" >&6; }
7355 objdir=$lt_cv_objdir
7356
7357
7358
7359
7360
7361 cat >>confdefs.h <<_ACEOF
7362 #define LT_OBJDIR "$lt_cv_objdir/"
7363 _ACEOF
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381 case $host_os in
7382 aix3*)
7383 # AIX sometimes has problems with the GCC collect2 program. For some
7384 # reason, if we set the COLLECT_NAMES environment variable, the problems
7385 # vanish in a puff of smoke.
7386 if test "X${COLLECT_NAMES+set}" != Xset; then
7387 COLLECT_NAMES=
7388 export COLLECT_NAMES
7389 fi
7390 ;;
7391 esac
7392
7393 # Sed substitution that helps us do robust quoting. It backslashifies
7394 # metacharacters that are still active within double-quoted strings.
7395 sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
7396
7397 # Same as above, but do not quote variable references.
7398 double_quote_subst='s/\(["`\\]\)/\\\1/g'
7399
7400 # Sed substitution to delay expansion of an escaped shell variable in a
7401 # double_quote_subst'ed string.
7402 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
7403
7404 # Sed substitution to delay expansion of an escaped single quote.
7405 delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
7406
7407 # Sed substitution to avoid accidental globbing in evaled expressions
7408 no_glob_subst='s/\*/\\\*/g'
7409
7410 # Global variables:
7411 ofile=libtool
7412 can_build_shared=yes
7413
7414 # All known linkers require a `.a' archive for static linking (except MSVC,
7415 # which needs '.lib').
7416 libext=a
7417
7418 with_gnu_ld="$lt_cv_prog_gnu_ld"
7419
7420 old_CC="$CC"
7421 old_CFLAGS="$CFLAGS"
7422
7423 # Set sane defaults for various variables
7424 test -z "$CC" && CC=cc
7425 test -z "$LTCC" && LTCC=$CC
7426 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
7427 test -z "$LD" && LD=ld
7428 test -z "$ac_objext" && ac_objext=o
7429
7430 for cc_temp in $compiler""; do
7431 case $cc_temp in
7432 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
7433 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
7434 \-*) ;;
7435 *) break;;
7436 esac
7437 done
7438 cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
7439
7440
7441 # Only perform the check for file, if the check method requires it
7442 test -z "$MAGIC_CMD" && MAGIC_CMD=file
7443 case $deplibs_check_method in
7444 file_magic*)
7445 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
7446 { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
7447 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
7448 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
7449 $as_echo_n "(cached) " >&6
7450 else
7451 case $MAGIC_CMD in
7452 [\\/*] | ?:[\\/]*)
7453 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
7454 ;;
7455 *)
7456 lt_save_MAGIC_CMD="$MAGIC_CMD"
7457 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
7458 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
7459 for ac_dir in $ac_dummy; do
7460 IFS="$lt_save_ifs"
7461 test -z "$ac_dir" && ac_dir=.
7462 if test -f $ac_dir/${ac_tool_prefix}file; then
7463 lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
7464 if test -n "$file_magic_test_file"; then
7465 case $deplibs_check_method in
7466 "file_magic "*)
7467 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
7468 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
7469 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
7470 $EGREP "$file_magic_regex" > /dev/null; then
7471 :
7472 else
7473 cat <<_LT_EOF 1>&2
7474
7475 *** Warning: the command libtool uses to detect shared libraries,
7476 *** $file_magic_cmd, produces output that libtool cannot recognize.
7477 *** The result is that libtool may fail to recognize shared libraries
7478 *** as such. This will affect the creation of libtool libraries that
7479 *** depend on shared libraries, but programs linked with such libtool
7480 *** libraries will work regardless of this problem. Nevertheless, you
7481 *** may want to report the problem to your system manager and/or to
7482 *** bug-libtool@gnu.org
7483
7484 _LT_EOF
7485 fi ;;
7486 esac
7487 fi
7488 break
7489 fi
7490 done
7491 IFS="$lt_save_ifs"
7492 MAGIC_CMD="$lt_save_MAGIC_CMD"
7493 ;;
7494 esac
7495 fi
7496
7497 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
7498 if test -n "$MAGIC_CMD"; then
7499 { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
7500 $as_echo "$MAGIC_CMD" >&6; }
7501 else
7502 { $as_echo "$as_me:$LINENO: result: no" >&5
7503 $as_echo "no" >&6; }
7504 fi
7505
7506
7507
7508
7509
7510 if test -z "$lt_cv_path_MAGIC_CMD"; then
7511 if test -n "$ac_tool_prefix"; then
7512 { $as_echo "$as_me:$LINENO: checking for file" >&5
7513 $as_echo_n "checking for file... " >&6; }
7514 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
7515 $as_echo_n "(cached) " >&6
7516 else
7517 case $MAGIC_CMD in
7518 [\\/*] | ?:[\\/]*)
7519 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
7520 ;;
7521 *)
7522 lt_save_MAGIC_CMD="$MAGIC_CMD"
7523 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
7524 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
7525 for ac_dir in $ac_dummy; do
7526 IFS="$lt_save_ifs"
7527 test -z "$ac_dir" && ac_dir=.
7528 if test -f $ac_dir/file; then
7529 lt_cv_path_MAGIC_CMD="$ac_dir/file"
7530 if test -n "$file_magic_test_file"; then
7531 case $deplibs_check_method in
7532 "file_magic "*)
7533 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
7534 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
7535 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
7536 $EGREP "$file_magic_regex" > /dev/null; then
7537 :
7538 else
7539 cat <<_LT_EOF 1>&2
7540
7541 *** Warning: the command libtool uses to detect shared libraries,
7542 *** $file_magic_cmd, produces output that libtool cannot recognize.
7543 *** The result is that libtool may fail to recognize shared libraries
7544 *** as such. This will affect the creation of libtool libraries that
7545 *** depend on shared libraries, but programs linked with such libtool
7546 *** libraries will work regardless of this problem. Nevertheless, you
7547 *** may want to report the problem to your system manager and/or to
7548 *** bug-libtool@gnu.org
7549
7550 _LT_EOF
7551 fi ;;
7552 esac
7553 fi
7554 break
7555 fi
7556 done
7557 IFS="$lt_save_ifs"
7558 MAGIC_CMD="$lt_save_MAGIC_CMD"
7559 ;;
7560 esac
7561 fi
7562
7563 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
7564 if test -n "$MAGIC_CMD"; then
7565 { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
7566 $as_echo "$MAGIC_CMD" >&6; }
7567 else
7568 { $as_echo "$as_me:$LINENO: result: no" >&5
7569 $as_echo "no" >&6; }
7570 fi
7571
7572
7573 else
7574 MAGIC_CMD=:
7575 fi
7576 fi
7577
7578 fi
7579 ;;
7580 esac
7581
77227582 # Use C for the default configuration in the libtool script
7723 tagname=
7583
77247584 lt_save_CC="$CC"
77257585 ac_ext=c
77267586 ac_cpp='$CPP $CPPFLAGS'
77437603 lt_simple_link_test_code='int main(){return(0);}'
77447604
77457605
7606
7607
7608
7609
7610
77467611 # If no C compiler was specified, use CC.
77477612 LTCC=${LTCC-"$CC"}
77487613
77527617 # Allow CC to be a program name with arguments.
77537618 compiler=$CC
77547619
7620 # Save the default compiler, since it gets overwritten when the other
7621 # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
7622 compiler_DEFAULT=$CC
77557623
77567624 # save warnings/boilerplate of simple test code
77577625 ac_outfile=conftest.$ac_objext
77587626 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
77597627 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
77607628 _lt_compiler_boilerplate=`cat conftest.err`
7761 $rm conftest*
7629 $RM conftest*
77627630
77637631 ac_outfile=conftest.$ac_objext
77647632 echo "$lt_simple_link_test_code" >conftest.$ac_ext
77657633 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
77667634 _lt_linker_boilerplate=`cat conftest.err`
7767 $rm -r conftest*
7768
7769
7635 $RM -r conftest*
7636
7637
7638 if test -n "$compiler"; then
77707639
77717640 lt_prog_compiler_no_builtin_flag=
77727641
77737642 if test "$GCC" = yes; then
77747643 lt_prog_compiler_no_builtin_flag=' -fno-builtin'
77757644
7776
7777 { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
7645 { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
77787646 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
77797647 if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
77807648 $as_echo_n "(cached) " >&6
77817649 else
77827650 lt_cv_prog_compiler_rtti_exceptions=no
7783 ac_outfile=conftest.$ac_objext
7651 ac_outfile=conftest.$ac_objext
77847652 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
77857653 lt_compiler_flag="-fno-rtti -fno-exceptions"
77867654 # Insert the option either (1) after the last *FLAGS variable, or
77927660 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
77937661 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
77947662 -e 's:$: $lt_compiler_flag:'`
7795 (eval echo "\"\$as_me:7796: $lt_compile\"" >&5)
7663 (eval echo "\"\$as_me:7664: $lt_compile\"" >&5)
77967664 (eval "$lt_compile" 2>conftest.err)
77977665 ac_status=$?
77987666 cat conftest.err >&5
7799 echo "$as_me:7800: \$? = $ac_status" >&5
7667 echo "$as_me:7668: \$? = $ac_status" >&5
78007668 if (exit $ac_status) && test -s "$ac_outfile"; then
78017669 # The compiler can only warn and ignore the option if not recognized
78027670 # So say no if there are warnings other than the usual output.
7803 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
7671 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
78047672 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
78057673 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
78067674 lt_cv_prog_compiler_rtti_exceptions=yes
78077675 fi
78087676 fi
7809 $rm conftest*
7677 $RM conftest*
78107678
78117679 fi
78127680 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
78207688
78217689 fi
78227690
7823 lt_prog_compiler_wl=
7691
7692
7693
7694
7695
7696 lt_prog_compiler_wl=
78247697 lt_prog_compiler_pic=
78257698 lt_prog_compiler_static=
78267699
78417714 ;;
78427715
78437716 amigaos*)
7844 # FIXME: we need at least 68020 code to build shared libraries, but
7845 # adding the `-m68020' flag to GCC prevents building anything better,
7846 # like `-m68040'.
7847 lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
7717 case $host_cpu in
7718 powerpc)
7719 # see comment about AmigaOS4 .so support
7720 lt_prog_compiler_pic='-fPIC'
7721 ;;
7722 m68k)
7723 # FIXME: we need at least 68020 code to build shared libraries, but
7724 # adding the `-m68020' flag to GCC prevents building anything better,
7725 # like `-m68040'.
7726 lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
7727 ;;
7728 esac
78487729 ;;
78497730
78507731 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
78517732 # PIC is the default for these OSes.
78527733 ;;
78537734
7854 mingw* | cygwin* | pw32* | os2*)
7735 mingw* | cygwin* | pw32* | os2* | cegcc*)
78557736 # This hack is so that the source file can tell whether it is being
78567737 # built for inclusion in a dll (and should export symbols for example).
78577738 # Although the cygwin gcc ignores -fPIC, still need this for old-style
78657746 lt_prog_compiler_pic='-fno-common'
78667747 ;;
78677748
7749 hpux*)
7750 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
7751 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
7752 # sets the default TLS model and affects inlining.
7753 case $host_cpu in
7754 hppa*64*)
7755 # +Z the default
7756 ;;
7757 *)
7758 lt_prog_compiler_pic='-fPIC'
7759 ;;
7760 esac
7761 ;;
7762
78687763 interix[3-9]*)
78697764 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
78707765 # Instead, we relocate shared libraries at runtime.
78777772 enable_shared=no
78787773 ;;
78797774
7775 *nto* | *qnx*)
7776 # QNX uses GNU C++, but need to define -shared option too, otherwise
7777 # it will coredump.
7778 lt_prog_compiler_pic='-fPIC -shared'
7779 ;;
7780
78807781 sysv4*MP*)
78817782 if test -d /usr/nec; then
78827783 lt_prog_compiler_pic=-Kconform_pic
78837784 fi
7884 ;;
7885
7886 hpux*)
7887 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
7888 # not for PA HP-UX.
7889 case $host_cpu in
7890 hppa*64*|ia64*)
7891 # +Z the default
7892 ;;
7893 *)
7894 lt_prog_compiler_pic='-fPIC'
7895 ;;
7896 esac
78977785 ;;
78987786
78997787 *)
79127800 lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
79137801 fi
79147802 ;;
7915 darwin*)
7916 # PIC is the default on this platform
7917 # Common symbols not allowed in MH_DYLIB files
7918 case $cc_basename in
7919 xlc*)
7920 lt_prog_compiler_pic='-qnocommon'
7921 lt_prog_compiler_wl='-Wl,'
7922 ;;
7923 esac
7924 ;;
7925
7926 mingw* | cygwin* | pw32* | os2*)
7803
7804 mingw* | cygwin* | pw32* | os2* | cegcc*)
79277805 # This hack is so that the source file can tell whether it is being
79287806 # built for inclusion in a dll (and should export symbols for example).
79297807 lt_prog_compiler_pic='-DDLL_EXPORT'
79517829 lt_prog_compiler_static='-non_shared'
79527830 ;;
79537831
7954 newsos6)
7955 lt_prog_compiler_pic='-KPIC'
7956 lt_prog_compiler_static='-Bstatic'
7957 ;;
7958
79597832 linux* | k*bsd*-gnu)
79607833 case $cc_basename in
7961 icc* | ecc*)
7834 # old Intel for x86_64 which still supported -KPIC.
7835 ecc*)
79627836 lt_prog_compiler_wl='-Wl,'
79637837 lt_prog_compiler_pic='-KPIC'
79647838 lt_prog_compiler_static='-static'
79657839 ;;
7840 # icc used to be incompatible with GCC.
7841 # ICC 10 doesn't accept -KPIC any more.
7842 icc* | ifort*)
7843 lt_prog_compiler_wl='-Wl,'
7844 lt_prog_compiler_pic='-fPIC'
7845 lt_prog_compiler_static='-static'
7846 ;;
7847 # Lahey Fortran 8.1.
7848 lf95*)
7849 lt_prog_compiler_wl='-Wl,'
7850 lt_prog_compiler_pic='--shared'
7851 lt_prog_compiler_static='--static'
7852 ;;
79667853 pgcc* | pgf77* | pgf90* | pgf95*)
79677854 # Portland Group compilers (*not* the Pentium gcc compiler,
79687855 # which looks to be a dead project)
79757862 # All Alpha code is PIC.
79767863 lt_prog_compiler_static='-non_shared'
79777864 ;;
7865 xl*)
7866 # IBM XL C 8.0/Fortran 10.1 on PPC
7867 lt_prog_compiler_wl='-Wl,'
7868 lt_prog_compiler_pic='-qpic'
7869 lt_prog_compiler_static='-qstaticlink'
7870 ;;
79787871 *)
7979 case `$CC -V 2>&1 | sed 5q` in
7872 case `$CC -V 2>&1 | sed 5q` in
79807873 *Sun\ C*)
79817874 # Sun C 5.9
79827875 lt_prog_compiler_pic='-KPIC'
79947887 esac
79957888 ;;
79967889
7890 newsos6)
7891 lt_prog_compiler_pic='-KPIC'
7892 lt_prog_compiler_static='-Bstatic'
7893 ;;
7894
7895 *nto* | *qnx*)
7896 # QNX uses GNU C++, but need to define -shared option too, otherwise
7897 # it will coredump.
7898 lt_prog_compiler_pic='-fPIC -shared'
7899 ;;
7900
79977901 osf3* | osf4* | osf5*)
79987902 lt_prog_compiler_wl='-Wl,'
79997903 # All OSF/1 code is PIC.
80567960 esac
80577961 fi
80587962
7963 case $host_os in
7964 # For platforms which do not support PIC, -DPIC is meaningless:
7965 *djgpp*)
7966 lt_prog_compiler_pic=
7967 ;;
7968 *)
7969 lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
7970 ;;
7971 esac
80597972 { $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
80607973 $as_echo "$lt_prog_compiler_pic" >&6; }
7974
7975
7976
7977
7978
80617979
80627980 #
80637981 # Check to make sure the PIC flag actually works.
80647982 #
80657983 if test -n "$lt_prog_compiler_pic"; then
8066
8067 { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
7984 { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
80687985 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
80697986 if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
80707987 $as_echo_n "(cached) " >&6
80717988 else
80727989 lt_cv_prog_compiler_pic_works=no
8073 ac_outfile=conftest.$ac_objext
7990 ac_outfile=conftest.$ac_objext
80747991 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
80757992 lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
80767993 # Insert the option either (1) after the last *FLAGS variable, or
80827999 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
80838000 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
80848001 -e 's:$: $lt_compiler_flag:'`
8085 (eval echo "\"\$as_me:8086: $lt_compile\"" >&5)
8002 (eval echo "\"\$as_me:8003: $lt_compile\"" >&5)
80868003 (eval "$lt_compile" 2>conftest.err)
80878004 ac_status=$?
80888005 cat conftest.err >&5
8089 echo "$as_me:8090: \$? = $ac_status" >&5
8006 echo "$as_me:8007: \$? = $ac_status" >&5
80908007 if (exit $ac_status) && test -s "$ac_outfile"; then
80918008 # The compiler can only warn and ignore the option if not recognized
80928009 # So say no if there are warnings other than the usual output.
8093 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
8010 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
80948011 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
80958012 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
80968013 lt_cv_prog_compiler_pic_works=yes
80978014 fi
80988015 fi
8099 $rm conftest*
8016 $RM conftest*
81008017
81018018 fi
81028019 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
81138030 fi
81148031
81158032 fi
8116 case $host_os in
8117 # For platforms which do not support PIC, -DPIC is meaningless:
8118 *djgpp*)
8119 lt_prog_compiler_pic=
8120 ;;
8121 *)
8122 lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
8123 ;;
8124 esac
8033
8034
8035
8036
8037
81258038
81268039 #
81278040 # Check to make sure the static flag actually works.
81428055 if test -s conftest.err; then
81438056 # Append any errors to the config.log.
81448057 cat conftest.err 1>&5
8145 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
8058 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
81468059 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
81478060 if diff conftest.exp conftest.er2 >/dev/null; then
81488061 lt_cv_prog_compiler_static_works=yes
81518064 lt_cv_prog_compiler_static_works=yes
81528065 fi
81538066 fi
8154 $rm -r conftest*
8067 $RM -r conftest*
81558068 LDFLAGS="$save_LDFLAGS"
81568069
81578070 fi
81658078 fi
81668079
81678080
8168 { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
8081
8082
8083
8084
8085
8086 { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
81698087 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
81708088 if test "${lt_cv_prog_compiler_c_o+set}" = set; then
81718089 $as_echo_n "(cached) " >&6
81728090 else
81738091 lt_cv_prog_compiler_c_o=no
8174 $rm -r conftest 2>/dev/null
8092 $RM -r conftest 2>/dev/null
81758093 mkdir conftest
81768094 cd conftest
81778095 mkdir out
81868104 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
81878105 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
81888106 -e 's:$: $lt_compiler_flag:'`
8189 (eval echo "\"\$as_me:8190: $lt_compile\"" >&5)
8107 (eval echo "\"\$as_me:8108: $lt_compile\"" >&5)
81908108 (eval "$lt_compile" 2>out/conftest.err)
81918109 ac_status=$?
81928110 cat out/conftest.err >&5
8193 echo "$as_me:8194: \$? = $ac_status" >&5
8111 echo "$as_me:8112: \$? = $ac_status" >&5
81948112 if (exit $ac_status) && test -s out/conftest2.$ac_objext
81958113 then
81968114 # The compiler can only warn and ignore the option if not recognized
81978115 # So say no if there are warnings
8198 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
8116 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
81998117 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
82008118 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
82018119 lt_cv_prog_compiler_c_o=yes
82028120 fi
82038121 fi
82048122 chmod u+w . 2>&5
8205 $rm conftest*
8123 $RM conftest*
82068124 # SGI C++ compiler will create directory out/ii_files/ for
82078125 # template instantiation
8208 test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
8209 $rm out/* && rmdir out
8126 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
8127 $RM out/* && rmdir out
82108128 cd ..
8211 rmdir conftest
8212 $rm conftest*
8129 $RM -r conftest
8130 $RM conftest*
82138131
82148132 fi
82158133 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
82168134 $as_echo "$lt_cv_prog_compiler_c_o" >&6; }
8135
8136
8137
8138
8139
8140
8141 { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
8142 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
8143 if test "${lt_cv_prog_compiler_c_o+set}" = set; then
8144 $as_echo_n "(cached) " >&6
8145 else
8146 lt_cv_prog_compiler_c_o=no
8147 $RM -r conftest 2>/dev/null
8148 mkdir conftest
8149 cd conftest
8150 mkdir out
8151 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
8152
8153 lt_compiler_flag="-o out/conftest2.$ac_objext"
8154 # Insert the option either (1) after the last *FLAGS variable, or
8155 # (2) before a word containing "conftest.", or (3) at the end.
8156 # Note that $ac_compile itself does not contain backslashes and begins
8157 # with a dollar sign (not a hyphen), so the echo should work correctly.
8158 lt_compile=`echo "$ac_compile" | $SED \
8159 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
8160 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
8161 -e 's:$: $lt_compiler_flag:'`
8162 (eval echo "\"\$as_me:8163: $lt_compile\"" >&5)
8163 (eval "$lt_compile" 2>out/conftest.err)
8164 ac_status=$?
8165 cat out/conftest.err >&5
8166 echo "$as_me:8167: \$? = $ac_status" >&5
8167 if (exit $ac_status) && test -s out/conftest2.$ac_objext
8168 then
8169 # The compiler can only warn and ignore the option if not recognized
8170 # So say no if there are warnings
8171 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
8172 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
8173 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
8174 lt_cv_prog_compiler_c_o=yes
8175 fi
8176 fi
8177 chmod u+w . 2>&5
8178 $RM conftest*
8179 # SGI C++ compiler will create directory out/ii_files/ for
8180 # template instantiation
8181 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
8182 $RM out/* && rmdir out
8183 cd ..
8184 $RM -r conftest
8185 $RM conftest*
8186
8187 fi
8188 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
8189 $as_echo "$lt_cv_prog_compiler_c_o" >&6; }
8190
8191
82178192
82188193
82198194 hard_links="nottested"
82228197 { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
82238198 $as_echo_n "checking if we can lock with hard links... " >&6; }
82248199 hard_links=yes
8225 $rm conftest*
8200 $RM conftest*
82268201 ln conftest.a conftest.b 2>/dev/null && hard_links=no
82278202 touch conftest.a
82288203 ln conftest.a conftest.b 2>&5 || hard_links=no
82388213 need_locks=no
82398214 fi
82408215
8241 { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
8216
8217
8218
8219
8220
8221 { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
82428222 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
82438223
82448224 runpath_var=
82458225 allow_undefined_flag=
8246 enable_shared_with_static_runtimes=no
8226 always_export_symbols=no
82478227 archive_cmds=
82488228 archive_expsym_cmds=
8249 old_archive_From_new_cmds=
8250 old_archive_from_expsyms_cmds=
8229 compiler_needs_object=no
8230 enable_shared_with_static_runtimes=no
82518231 export_dynamic_flag_spec=
8252 whole_archive_flag_spec=
8253 thread_safe_flag_spec=
8232 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
8233 hardcode_automatic=no
8234 hardcode_direct=no
8235 hardcode_direct_absolute=no
82548236 hardcode_libdir_flag_spec=
82558237 hardcode_libdir_flag_spec_ld=
82568238 hardcode_libdir_separator=
8257 hardcode_direct=no
82588239 hardcode_minus_L=no
82598240 hardcode_shlibpath_var=unsupported
8241 inherit_rpath=no
82608242 link_all_deplibs=unknown
8261 hardcode_automatic=no
82628243 module_cmds=
82638244 module_expsym_cmds=
8264 always_export_symbols=no
8265 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
8245 old_archive_from_new_cmds=
8246 old_archive_from_expsyms_cmds=
8247 thread_safe_flag_spec=
8248 whole_archive_flag_spec=
82668249 # include_expsyms should be a list of space-separated symbols to be *always*
82678250 # included in the symbol list
82688251 include_expsyms=
82788261 # preloaded symbol tables.
82798262 # Exclude shared library initialization/finalization symbols.
82808263 extract_expsyms_cmds=
8281 # Just being paranoid about ensuring that cc_basename is set.
8282 for cc_temp in $compiler""; do
8283 case $cc_temp in
8284 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
8285 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
8286 \-*) ;;
8287 *) break;;
8288 esac
8289 done
8290 cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
82918264
82928265 case $host_os in
8293 cygwin* | mingw* | pw32*)
8266 cygwin* | mingw* | pw32* | cegcc*)
82948267 # FIXME: the MSVC++ port hasn't been tested in a loooong time
82958268 # When not using gcc, we currently assume that we are using
82968269 # Microsoft Visual C++.
83168289 # are reset later if shared libraries are not supported. Putting them
83178290 # here allows them to be overridden if necessary.
83188291 runpath_var=LD_RUN_PATH
8319 hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
8292 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
83208293 export_dynamic_flag_spec='${wl}--export-dynamic'
83218294 # ancient GNU ld didn't support --whole-archive et. al.
8322 if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
8323 whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
8324 else
8325 whole_archive_flag_spec=
8295 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
8296 whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
8297 else
8298 whole_archive_flag_spec=
83268299 fi
83278300 supports_anon_versioning=no
8328 case `$LD -v 2>/dev/null` in
8301 case `$LD -v 2>&1` in
83298302 *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
83308303 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
83318304 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
83398312 # On AIX/PPC, the GNU linker is very broken
83408313 if test "$host_cpu" != ia64; then
83418314 ld_shlibs=no
8342 cat <<EOF 1>&2
8315 cat <<_LT_EOF 1>&2
83438316
83448317 *** Warning: the GNU linker, at least up to release 2.9.1, is reported
83458318 *** to be unable to reliably create shared libraries on AIX.
83478320 *** really care for shared libraries, you may want to modify your PATH
83488321 *** so that a non-GNU linker is found, and then restart.
83498322
8350 EOF
8323 _LT_EOF
83518324 fi
83528325 ;;
83538326
83548327 amigaos*)
8355 archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
8356 hardcode_libdir_flag_spec='-L$libdir'
8357 hardcode_minus_L=yes
8358
8359 # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
8360 # that the semantics of dynamic libraries on AmigaOS, at least up
8361 # to version 4, is to share data among multiple programs linked
8362 # with the same dynamic library. Since this doesn't match the
8363 # behavior of shared libraries on other platforms, we can't use
8364 # them.
8365 ld_shlibs=no
8328 case $host_cpu in
8329 powerpc)
8330 # see comment about AmigaOS4 .so support
8331 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
8332 archive_expsym_cmds=''
8333 ;;
8334 m68k)
8335 archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
8336 hardcode_libdir_flag_spec='-L$libdir'
8337 hardcode_minus_L=yes
8338 ;;
8339 esac
83668340 ;;
83678341
83688342 beos*)
8369 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
8343 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
83708344 allow_undefined_flag=unsupported
83718345 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
83728346 # support --undefined. This deserves some investigation. FIXME
83768350 fi
83778351 ;;
83788352
8379 cygwin* | mingw* | pw32*)
8380 # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
8353 cygwin* | mingw* | pw32* | cegcc*)
8354 # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
83818355 # as there is no search path for DLLs.
83828356 hardcode_libdir_flag_spec='-L$libdir'
83838357 allow_undefined_flag=unsupported
83848358 always_export_symbols=no
83858359 enable_shared_with_static_runtimes=yes
8386 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
8387
8388 if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
8360 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
8361
8362 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
83898363 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
83908364 # If the export-symbols file already is a .def file (1st line
83918365 # is EXPORTS), use it as is; otherwise, prepend...
84168390 archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
84178391 ;;
84188392
8419 gnu* | linux* | k*bsd*-gnu)
8420 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
8393 gnu* | linux* | tpf* | k*bsd*-gnu)
8394 tmp_diet=no
8395 if test "$host_os" = linux-dietlibc; then
8396 case $cc_basename in
8397 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
8398 esac
8399 fi
8400 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
8401 && test "$tmp_diet" = no
8402 then
84218403 tmp_addflag=
8404 tmp_sharedflag='-shared'
84228405 case $cc_basename,$host_cpu in
8423 pgcc*) # Portland Group C compiler
8424 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
8406 pgcc*) # Portland Group C compiler
8407 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
84258408 tmp_addflag=' $pic_flag'
84268409 ;;
84278410 pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
8428 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
8411 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
84298412 tmp_addflag=' $pic_flag -Mnomain' ;;
8430 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
8413 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
84318414 tmp_addflag=' -i_dynamic' ;;
84328415 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
84338416 tmp_addflag=' -i_dynamic -nofor_main' ;;
84348417 ifc* | ifort*) # Intel Fortran compiler
84358418 tmp_addflag=' -nofor_main' ;;
8419 lf95*) # Lahey Fortran 8.1
8420 whole_archive_flag_spec=
8421 tmp_sharedflag='--shared' ;;
8422 xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
8423 tmp_sharedflag='-qmkshrobj'
8424 tmp_addflag= ;;
84368425 esac
84378426 case `$CC -V 2>&1 | sed 5q` in
84388427 *Sun\ C*) # Sun C 5.9
8439 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
8428 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
8429 compiler_needs_object=yes
84408430 tmp_sharedflag='-G' ;;
84418431 *Sun\ F*) # Sun Fortran 8.3
84428432 tmp_sharedflag='-G' ;;
8443 *)
8444 tmp_sharedflag='-shared' ;;
84458433 esac
84468434 archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
84478435
8448 if test $supports_anon_versioning = yes; then
8449 archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
8450 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
8451 $echo "local: *; };" >> $output_objdir/$libname.ver~
8452 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
8453 fi
8436 if test "x$supports_anon_versioning" = xyes; then
8437 archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
8438 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
8439 echo "local: *; };" >> $output_objdir/$libname.ver~
8440 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
8441 fi
8442
8443 case $cc_basename in
8444 xlf*)
8445 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
8446 whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
8447 hardcode_libdir_flag_spec=
8448 hardcode_libdir_flag_spec_ld='-rpath $libdir'
8449 archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
8450 if test "x$supports_anon_versioning" = xyes; then
8451 archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
8452 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
8453 echo "local: *; };" >> $output_objdir/$libname.ver~
8454 $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
8455 fi
8456 ;;
8457 esac
84548458 else
8455 ld_shlibs=no
8459 ld_shlibs=no
84568460 fi
84578461 ;;
84588462
84598463 netbsd*)
8460 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
8464 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
84618465 archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
84628466 wlarc=
84638467 else
84678471 ;;
84688472
84698473 solaris*)
8470 if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
8474 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
84718475 ld_shlibs=no
8472 cat <<EOF 1>&2
8476 cat <<_LT_EOF 1>&2
84738477
84748478 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
84758479 *** create shared libraries on Solaris systems. Therefore, libtool
84788482 *** your PATH or compiler configuration so that the native linker is
84798483 *** used, and then restart.
84808484
8481 EOF
8482 elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
8485 _LT_EOF
8486 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
84838487 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
84848488 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
84858489 else
85038507 _LT_EOF
85048508 ;;
85058509 *)
8506 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
8507 hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
8508 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
8509 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
8510 # For security reasons, it is highly recommended that you always
8511 # use absolute paths for naming shared libraries, and exclude the
8512 # DT_RUNPATH tag from executables and libraries. But doing so
8513 # requires that you compile everything twice, which is a pain.
8514 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
8515 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
8516 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
8517 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
85108518 else
85118519 ld_shlibs=no
85128520 fi
85228530 ;;
85238531
85248532 *)
8525 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
8533 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
85268534 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
85278535 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
85288536 else
85648572 else
85658573 # If we're using GNU nm, then we don't want the "-C" option.
85668574 # -C means demangle to AIX nm, but means don't demangle with GNU nm
8567 if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
8568 export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
8575 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
8576 export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
85698577 else
8570 export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
8578 export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
85718579 fi
85728580 aix_use_runtimelinking=no
85738581
85768584 # need to do runtime linking.
85778585 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
85788586 for ld_flag in $LDFLAGS; do
8579 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
8580 aix_use_runtimelinking=yes
8581 break
8582 fi
8587 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
8588 aix_use_runtimelinking=yes
8589 break
8590 fi
85838591 done
85848592 ;;
85858593 esac
85968604
85978605 archive_cmds=''
85988606 hardcode_direct=yes
8607 hardcode_direct_absolute=yes
85998608 hardcode_libdir_separator=':'
86008609 link_all_deplibs=yes
8610 file_list_spec='${wl}-f,'
86018611
86028612 if test "$GCC" = yes; then
86038613 case $host_os in aix4.[012]|aix4.[012].*)
86048614 # We only want to do this on AIX 4.2 and lower, the check
86058615 # below for broken collect2 doesn't work under 4.3+
86068616 collect2name=`${CC} -print-prog-name=collect2`
8607 if test -f "$collect2name" && \
8608 strings "$collect2name" | grep resolve_lib_name >/dev/null
8617 if test -f "$collect2name" &&
8618 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
86098619 then
8610 # We have reworked collect2
8611 :
8620 # We have reworked collect2
8621 :
86128622 else
8613 # We have old collect2
8614 hardcode_direct=unsupported
8615 # It fails to find uninstalled libraries when the uninstalled
8616 # path is not listed in the libpath. Setting hardcode_minus_L
8617 # to unsupported forces relinking
8618 hardcode_minus_L=yes
8619 hardcode_libdir_flag_spec='-L$libdir'
8620 hardcode_libdir_separator=
8623 # We have old collect2
8624 hardcode_direct=unsupported
8625 # It fails to find uninstalled libraries when the uninstalled
8626 # path is not listed in the libpath. Setting hardcode_minus_L
8627 # to unsupported forces relinking
8628 hardcode_minus_L=yes
8629 hardcode_libdir_flag_spec='-L$libdir'
8630 hardcode_libdir_separator=
86218631 fi
86228632 ;;
86238633 esac
86288638 else
86298639 # not using gcc
86308640 if test "$host_cpu" = ia64; then
8631 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
8632 # chokes on -Wl,-G. The following line is correct:
8641 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
8642 # chokes on -Wl,-G. The following line is correct:
86338643 shared_flag='-G'
86348644 else
86358645 if test "$aix_use_runtimelinking" = yes; then
86408650 fi
86418651 fi
86428652
8653 export_dynamic_flag_spec='${wl}-bexpall'
86438654 # It seems that -bexpall does not export symbols beginning with
86448655 # underscore (_), so it is better to generate a list of symbols to export.
86458656 always_export_symbols=yes
86478658 # Warning - without using the other runtime loading flags (-brtl),
86488659 # -berok will link without error, but may produce a broken library.
86498660 allow_undefined_flag='-berok'
8650 # Determine the default libpath from the value encoded in an empty executable.
8651 cat >conftest.$ac_ext <<_ACEOF
8661 # Determine the default libpath from the value encoded in an
8662 # empty executable.
8663 cat >conftest.$ac_ext <<_ACEOF
86528664 /* confdefs.h. */
86538665 _ACEOF
86548666 cat confdefs.h >>conftest.$ac_ext
87098721 conftest$ac_exeext conftest.$ac_ext
87108722 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
87118723
8712 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
8713 archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
8714 else
8724 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
8725 archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
8726 else
87158727 if test "$host_cpu" = ia64; then
87168728 hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
87178729 allow_undefined_flag="-z nodefs"
87188730 archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
87198731 else
8720 # Determine the default libpath from the value encoded in an empty executable.
8732 # Determine the default libpath from the value encoded in an
8733 # empty executable.
87218734 cat >conftest.$ac_ext <<_ACEOF
87228735 /* confdefs.h. */
87238736 _ACEOF
87948807 ;;
87958808
87968809 amigaos*)
8797 archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
8798 hardcode_libdir_flag_spec='-L$libdir'
8799 hardcode_minus_L=yes
8800 # see comment about different semantics on the GNU ld section
8801 ld_shlibs=no
8810 case $host_cpu in
8811 powerpc)
8812 # see comment about AmigaOS4 .so support
8813 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
8814 archive_expsym_cmds=''
8815 ;;
8816 m68k)
8817 archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
8818 hardcode_libdir_flag_spec='-L$libdir'
8819 hardcode_minus_L=yes
8820 ;;
8821 esac
88028822 ;;
88038823
88048824 bsdi[45]*)
88058825 export_dynamic_flag_spec=-rdynamic
88068826 ;;
88078827
8808 cygwin* | mingw* | pw32*)
8828 cygwin* | mingw* | pw32* | cegcc*)
88098829 # When not using gcc, we currently assume that we are using
88108830 # Microsoft Visual C++.
88118831 # hardcode_libdir_flag_spec is actually meaningless, as there is
88178837 # Tell ltmain to make .dll files, not .so files.
88188838 shrext_cmds=".dll"
88198839 # FIXME: Setting linknames here is a bad hack.
8820 archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
8840 archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
88218841 # The linker will automatically build a .lib file if we build a DLL.
8822 old_archive_From_new_cmds='true'
8842 old_archive_from_new_cmds='true'
88238843 # FIXME: Should let the user specify the lib program.
88248844 old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
88258845 fix_srcfile_path='`cygpath -w "$srcfile"`'
88278847 ;;
88288848
88298849 darwin* | rhapsody*)
8830 case $host_os in
8831 rhapsody* | darwin1.[012])
8832 allow_undefined_flag='${wl}-undefined ${wl}suppress'
8833 ;;
8834 *) # Darwin 1.3 on
8835 if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
8836 allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
8837 else
8838 case ${MACOSX_DEPLOYMENT_TARGET} in
8839 10.[012])
8840 allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
8841 ;;
8842 10.*)
8843 allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
8844 ;;
8845 esac
8846 fi
8847 ;;
8848 esac
8849 archive_cmds_need_lc=no
8850 hardcode_direct=no
8851 hardcode_automatic=yes
8852 hardcode_shlibpath_var=unsupported
8853 whole_archive_flag_spec=''
8854 link_all_deplibs=yes
8855 if test "$GCC" = yes ; then
8856 output_verbose_link_cmd='echo'
8857 archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
8858 module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
8859 archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
8860 module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
8861 else
8862 case $cc_basename in
8863 xlc*)
8864 output_verbose_link_cmd='echo'
8865 archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
8866 module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
8867 # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
8868 archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
8869 module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
8870 ;;
8871 *)
8872 ld_shlibs=no
8873 ;;
8874 esac
8875 fi
8850
8851
8852 archive_cmds_need_lc=no
8853 hardcode_direct=no
8854 hardcode_automatic=yes
8855 hardcode_shlibpath_var=unsupported
8856 whole_archive_flag_spec=''
8857 link_all_deplibs=yes
8858 allow_undefined_flag="$_lt_dar_allow_undefined"
8859 case $cc_basename in
8860 ifort*) _lt_dar_can_shared=yes ;;
8861 *) _lt_dar_can_shared=$GCC ;;
8862 esac
8863 if test "$_lt_dar_can_shared" = "yes"; then
8864 output_verbose_link_cmd=echo
8865 archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
8866 module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
8867 archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
8868 module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
8869
8870 else
8871 ld_shlibs=no
8872 fi
8873
88768874 ;;
88778875
88788876 dgux*)
89148912
89158913 hpux9*)
89168914 if test "$GCC" = yes; then
8917 archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
8915 archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
89188916 else
8919 archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
8917 archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
89208918 fi
89218919 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
89228920 hardcode_libdir_separator=:
89368934 fi
89378935 if test "$with_gnu_ld" = no; then
89388936 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
8937 hardcode_libdir_flag_spec_ld='+b $libdir'
89398938 hardcode_libdir_separator=:
8940
89418939 hardcode_direct=yes
8940 hardcode_direct_absolute=yes
89428941 export_dynamic_flag_spec='${wl}-E'
8943
89448942 # hardcode_minus_L: Not really in the search PATH,
89458943 # but as the default location of the library.
89468944 hardcode_minus_L=yes
89548952 archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
89558953 ;;
89568954 ia64*)
8957 archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
8955 archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
89588956 ;;
89598957 *)
89608958 archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
89798977
89808978 case $host_cpu in
89818979 hppa*64*|ia64*)
8982 hardcode_libdir_flag_spec_ld='+b $libdir'
89838980 hardcode_direct=no
89848981 hardcode_shlibpath_var=no
89858982 ;;
89868983 *)
89878984 hardcode_direct=yes
8985 hardcode_direct_absolute=yes
89888986 export_dynamic_flag_spec='${wl}-E'
89898987
89908988 # hardcode_minus_L: Not really in the search PATH,
89978995
89988996 irix5* | irix6* | nonstopux*)
89998997 if test "$GCC" = yes; then
9000 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
8998 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
8999 # Try to use the -exported_symbol ld option, if it does not
9000 # work, assume that -exports_file does not work either and
9001 # implicitly export all symbols.
9002 save_LDFLAGS="$LDFLAGS"
9003 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
9004 cat >conftest.$ac_ext <<_ACEOF
9005 int foo(void) {}
9006 _ACEOF
9007 rm -f conftest.$ac_objext conftest$ac_exeext
9008 if { (ac_try="$ac_link"
9009 case "(($ac_try" in
9010 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
9011 *) ac_try_echo=$ac_try;;
9012 esac
9013 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
9014 $as_echo "$ac_try_echo") >&5
9015 (eval "$ac_link") 2>conftest.er1
9016 ac_status=$?
9017 grep -v '^ *+' conftest.er1 >conftest.err
9018 rm -f conftest.er1
9019 cat conftest.err >&5
9020 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
9021 (exit $ac_status); } && {
9022 test -z "$ac_c_werror_flag" ||
9023 test ! -s conftest.err
9024 } && test -s conftest$ac_exeext && {
9025 test "$cross_compiling" = yes ||
9026 $as_test_x conftest$ac_exeext
9027 }; then
9028 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
9029
9030 else
9031 $as_echo "$as_me: failed program was:" >&5
9032 sed 's/^/| /' conftest.$ac_ext >&5
9033
9034
9035 fi
9036
9037 rm -rf conftest.dSYM
9038 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
9039 conftest$ac_exeext conftest.$ac_ext
9040 LDFLAGS="$save_LDFLAGS"
90019041 else
9002 archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
9003 hardcode_libdir_flag_spec_ld='-rpath $libdir'
9042 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
9043 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
90049044 fi
9045 archive_cmds_need_lc='no'
90059046 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
90069047 hardcode_libdir_separator=:
9048 inherit_rpath=yes
90079049 link_all_deplibs=yes
90089050 ;;
90099051
90109052 netbsd*)
9011 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
9053 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
90129054 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
90139055 else
90149056 archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
90269068 hardcode_shlibpath_var=no
90279069 ;;
90289070
9071 *nto* | *qnx*)
9072 ;;
9073
90299074 openbsd*)
90309075 if test -f /usr/libexec/ld.so; then
90319076 hardcode_direct=yes
90329077 hardcode_shlibpath_var=no
9033 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
9078 hardcode_direct_absolute=yes
9079 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
90349080 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
90359081 archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
90369082 hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
90469092 hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
90479093 ;;
90489094 esac
9049 fi
9095 fi
90509096 else
90519097 ld_shlibs=no
90529098 fi
90569102 hardcode_libdir_flag_spec='-L$libdir'
90579103 hardcode_minus_L=yes
90589104 allow_undefined_flag=unsupported
9059 archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
9060 old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
9105 archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
9106 old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
90619107 ;;
90629108
90639109 osf3*)
90649110 if test "$GCC" = yes; then
90659111 allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
9066 archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
9112 archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
90679113 else
90689114 allow_undefined_flag=' -expect_unresolved \*'
9069 archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
9115 archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
90709116 fi
9117 archive_cmds_need_lc='no'
90719118 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
90729119 hardcode_libdir_separator=:
90739120 ;;
90759122 osf4* | osf5*) # as osf3* with the addition of -msym flag
90769123 if test "$GCC" = yes; then
90779124 allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
9078 archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
9125 archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
90799126 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
90809127 else
90819128 allow_undefined_flag=' -expect_unresolved \*'
9082 archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
9083 archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
9084 $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
9129 archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
9130 archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
9131 $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
90859132
90869133 # Both c and cxx compiler support -rpath directly
90879134 hardcode_libdir_flag_spec='-rpath $libdir'
90889135 fi
9136 archive_cmds_need_lc='no'
90899137 hardcode_libdir_separator=:
90909138 ;;
90919139
90929140 solaris*)
9093 no_undefined_flag=' -z text'
9141 no_undefined_flag=' -z defs'
90949142 if test "$GCC" = yes; then
90959143 wlarc='${wl}'
9096 archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
9097 archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
9098 $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
9144 archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
9145 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
9146 $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
90999147 else
9100 wlarc=''
9101 archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
9102 archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
9103 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
9148 case `$CC -V 2>&1` in
9149 *"Compilers 5.0"*)
9150 wlarc=''
9151 archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
9152 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
9153 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
9154 ;;
9155 *)
9156 wlarc='${wl}'
9157 archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
9158 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
9159 $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
9160 ;;
9161 esac
91049162 fi
91059163 hardcode_libdir_flag_spec='-R$libdir'
91069164 hardcode_shlibpath_var=no
91109168 # The compiler driver will combine and reorder linker options,
91119169 # but understands `-z linker_flag'. GCC discards it without `$wl',
91129170 # but is careful enough not to reorder.
9113 # Supported since Solaris 2.6 (maybe 2.5.1?)
9171 # Supported since Solaris 2.6 (maybe 2.5.1?)
91149172 if test "$GCC" = yes; then
91159173 whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
91169174 else
91999257 allow_undefined_flag='${wl}-z,nodefs'
92009258 archive_cmds_need_lc=no
92019259 hardcode_shlibpath_var=no
9202 hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
9260 hardcode_libdir_flag_spec='${wl}-R,$libdir'
92039261 hardcode_libdir_separator=':'
92049262 link_all_deplibs=yes
92059263 export_dynamic_flag_spec='${wl}-Bexport'
92069264 runpath_var='LD_RUN_PATH'
92079265
92089266 if test "$GCC" = yes; then
9209 archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
9210 archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
9267 archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9268 archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
92119269 else
9212 archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
9213 archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
9270 archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9271 archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
92149272 fi
92159273 ;;
92169274
92249282 ld_shlibs=no
92259283 ;;
92269284 esac
9285
9286 if test x$host_vendor = xsni; then
9287 case $host in
9288 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
9289 export_dynamic_flag_spec='${wl}-Blargedynsym'
9290 ;;
9291 esac
9292 fi
92279293 fi
92289294
92299295 { $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5
92309296 $as_echo "$ld_shlibs" >&6; }
92319297 test "$ld_shlibs" = no && can_build_shared=no
9298
9299 with_gnu_ld=$with_gnu_ld
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
92329314
92339315 #
92349316 # Do we need to explicitly link libc?
92499331 # to ld, don't add -lc before -lgcc.
92509332 { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
92519333 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
9252 $rm conftest*
9334 $RM conftest*
92539335 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
92549336
92559337 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
92709352 libname=conftest
92719353 lt_save_allow_undefined_flag=$allow_undefined_flag
92729354 allow_undefined_flag=
9273 if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
9274 (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
9355 if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
9356 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
92759357 ac_status=$?
92769358 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
92779359 (exit $ac_status); }
92849366 else
92859367 cat conftest.err 1>&5
92869368 fi
9287 $rm conftest*
9369 $RM conftest*
92889370 { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
92899371 $as_echo "$archive_cmds_need_lc" >&6; }
92909372 ;;
92939375 ;;
92949376 esac
92959377
9296 { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534 { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
92979535 $as_echo_n "checking dynamic linker characteristics... " >&6; }
9298 library_names_spec=
9299 libname_spec='lib$name'
9300 soname_spec=
9301 shrext_cmds=".so"
9302 postinstall_cmds=
9303 postuninstall_cmds=
9304 finish_cmds=
9305 finish_eval=
9306 shlibpath_var=
9307 shlibpath_overrides_runpath=unknown
9308 version_type=none
9309 dynamic_linker="$host_os ld.so"
9310 sys_lib_dlsearch_path_spec="/lib /usr/lib"
93119536
93129537 if test "$GCC" = yes; then
93139538 case $host_os in
93159540 *) lt_awk_arg="/^libraries:/" ;;
93169541 esac
93179542 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
9318 if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
9543 if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
93199544 # if the path contains ";" then we assume it to be the separator
93209545 # otherwise default to the standard path separator (i.e. ":") - it is
93219546 # assumed that no part of a normal pathname contains ";" but that should
93229547 # okay in the real world where ";" in dirpaths is itself problematic.
9323 lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
9548 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
93249549 else
9325 lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
9550 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
93269551 fi
93279552 # Ok, now we have the path, separated by spaces, we can step through it
93289553 # and add multilib dir if necessary.
93369561 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
93379562 fi
93389563 done
9339 lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
9564 lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
93409565 BEGIN {RS=" "; FS="/|\n";} {
93419566 lt_foo="";
93429567 lt_count=0;
93569581 if (lt_foo != "") { lt_freq[lt_foo]++; }
93579582 if (lt_freq[lt_foo] == 1) { print lt_foo; }
93589583 }'`
9359 sys_lib_search_path_spec=`echo $lt_search_path_spec`
9584 sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
93609585 else
93619586 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
93629587 fi
9588 library_names_spec=
9589 libname_spec='lib$name'
9590 soname_spec=
9591 shrext_cmds=".so"
9592 postinstall_cmds=
9593 postuninstall_cmds=
9594 finish_cmds=
9595 finish_eval=
9596 shlibpath_var=
9597 shlibpath_overrides_runpath=unknown
9598 version_type=none
9599 dynamic_linker="$host_os ld.so"
9600 sys_lib_dlsearch_path_spec="/lib /usr/lib"
93639601 need_lib_prefix=unknown
93649602 hardcode_into_libs=no
93659603
93969634 aix4 | aix4.[01] | aix4.[01].*)
93979635 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
93989636 echo ' yes '
9399 echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
9637 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
94009638 :
94019639 else
94029640 can_build_shared=no
94229660 ;;
94239661
94249662 amigaos*)
9425 library_names_spec='$libname.ixlibrary $libname.a'
9426 # Create ${libname}_ixlibrary.a entries in /sys/libs.
9427 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
9663 case $host_cpu in
9664 powerpc)
9665 # Since July 2007 AmigaOS4 officially supports .so libraries.
9666 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
9667 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
9668 ;;
9669 m68k)
9670 library_names_spec='$libname.ixlibrary $libname.a'
9671 # Create ${libname}_ixlibrary.a entries in /sys/libs.
9672 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
9673 ;;
9674 esac
94289675 ;;
94299676
94309677 beos*)
94479694 # libtool to hard-code these into programs
94489695 ;;
94499696
9450 cygwin* | mingw* | pw32*)
9697 cygwin* | mingw* | pw32* | cegcc*)
94519698 version_type=windows
94529699 shrext_cmds=".dll"
94539700 need_version=no
94549701 need_lib_prefix=no
94559702
94569703 case $GCC,$host_os in
9457 yes,cygwin* | yes,mingw* | yes,pw32*)
9704 yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
94589705 library_names_spec='$libname.dll.a'
94599706 # DLL is installed to $(libdir)/../bin by postinstall_cmds
94609707 postinstall_cmds='base_file=`basename \${file}`~
9461 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
9708 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
94629709 dldir=$destdir/`dirname \$dlpath`~
94639710 test -d \$dldir || mkdir -p \$dldir~
94649711 $install_prog $dir/$dlname \$dldir/$dlname~
9465 chmod a+x \$dldir/$dlname'
9712 chmod a+x \$dldir/$dlname~
9713 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
9714 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
9715 fi'
94669716 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
94679717 dlpath=$dir/\$dldll~
9468 $rm \$dlpath'
9718 $RM \$dlpath'
94699719 shlibpath_overrides_runpath=yes
94709720
94719721 case $host_os in
94749724 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
94759725 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
94769726 ;;
9477 mingw*)
9727 mingw* | cegcc*)
94789728 # MinGW DLLs use traditional 'lib' prefix
94799729 soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
9480 sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
9481 if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
9730 sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
9731 if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
94829732 # It is most probably a Windows format PATH printed by
94839733 # mingw gcc, but we are running on Cygwin. Gcc prints its search
94849734 # path with ; separators, and with drive letters. We can handle the
94859735 # drive letters (cygwin fileutils understands them), so leave them,
94869736 # especially as we might pass files found there to a mingw objdump,
94879737 # which wouldn't understand a cygwinified path. Ahh.
9488 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
9738 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
94899739 else
9490 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
9740 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
94919741 fi
94929742 ;;
94939743 pw32*)
95119761 version_type=darwin
95129762 need_lib_prefix=no
95139763 need_version=no
9514 library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
9764 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
95159765 soname_spec='${libname}${release}${major}$shared_ext'
95169766 shlibpath_overrides_runpath=yes
95179767 shlibpath_var=DYLD_LIBRARY_PATH
96109860 fi
96119861 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
96129862 ;;
9613 hppa*64*)
9614 shrext_cmds='.sl'
9615 hardcode_into_libs=yes
9616 dynamic_linker="$host_os dld.sl"
9617 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
9618 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
9619 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
9620 soname_spec='${libname}${release}${shared_ext}$major'
9621 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
9622 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
9623 ;;
9624 *)
9863 hppa*64*)
9864 shrext_cmds='.sl'
9865 hardcode_into_libs=yes
9866 dynamic_linker="$host_os dld.sl"
9867 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
9868 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
9869 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
9870 soname_spec='${libname}${release}${shared_ext}$major'
9871 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
9872 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
9873 ;;
9874 *)
96259875 shrext_cmds='.sl'
96269876 dynamic_linker="$host_os dld.sl"
96279877 shlibpath_var=SHLIB_PATH
96989948 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
96999949 shlibpath_var=LD_LIBRARY_PATH
97009950 shlibpath_overrides_runpath=no
9951 # Some binutils ld are patched to set DT_RUNPATH
9952 save_LDFLAGS=$LDFLAGS
9953 save_libdir=$libdir
9954 eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
9955 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
9956 cat >conftest.$ac_ext <<_ACEOF
9957 /* confdefs.h. */
9958 _ACEOF
9959 cat confdefs.h >>conftest.$ac_ext
9960 cat >>conftest.$ac_ext <<_ACEOF
9961 /* end confdefs.h. */
9962
9963 int
9964 main ()
9965 {
9966
9967 ;
9968 return 0;
9969 }
9970 _ACEOF
9971 rm -f conftest.$ac_objext conftest$ac_exeext
9972 if { (ac_try="$ac_link"
9973 case "(($ac_try" in
9974 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
9975 *) ac_try_echo=$ac_try;;
9976 esac
9977 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
9978 $as_echo "$ac_try_echo") >&5
9979 (eval "$ac_link") 2>conftest.er1
9980 ac_status=$?
9981 grep -v '^ *+' conftest.er1 >conftest.err
9982 rm -f conftest.er1
9983 cat conftest.err >&5
9984 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
9985 (exit $ac_status); } && {
9986 test -z "$ac_c_werror_flag" ||
9987 test ! -s conftest.err
9988 } && test -s conftest$ac_exeext && {
9989 test "$cross_compiling" = yes ||
9990 $as_test_x conftest$ac_exeext
9991 }; then
9992 if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
9993 shlibpath_overrides_runpath=yes
9994 fi
9995
9996 else
9997 $as_echo "$as_me: failed program was:" >&5
9998 sed 's/^/| /' conftest.$ac_ext >&5
9999
10000
10001 fi
10002
10003 rm -rf conftest.dSYM
10004 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
10005 conftest$ac_exeext conftest.$ac_ext
10006 LDFLAGS=$save_LDFLAGS
10007 libdir=$save_libdir
10008
970110009 # This implies no fast_install, which is unacceptable.
970210010 # Some rework will be needed to allow for fast_install
970310011 # before this can be enabled.
970410012 hardcode_into_libs=yes
9705 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
9706 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
10013
10014 # Add ABI-specific directories to the system library path.
10015 sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
970710016
970810017 # Append ld.so.conf contents to the search path
970910018 if test -f /etc/ld.so.conf; then
9710 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
10019 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
971110020 sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
971210021 fi
971310022
972410033 version_type=sunos
972510034 need_lib_prefix=no
972610035 need_version=no
9727 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
10036 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
972810037 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
972910038 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
973010039 dynamic_linker='NetBSD (a.out) ld.so'
974510054 shlibpath_overrides_runpath=yes
974610055 ;;
974710056
9748 nto-qnx*)
9749 version_type=linux
10057 *nto* | *qnx*)
10058 version_type=qnx
975010059 need_lib_prefix=no
975110060 need_version=no
975210061 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
975310062 soname_spec='${libname}${release}${shared_ext}$major'
975410063 shlibpath_var=LD_LIBRARY_PATH
9755 shlibpath_overrides_runpath=yes
10064 shlibpath_overrides_runpath=no
10065 hardcode_into_libs=yes
10066 dynamic_linker='ldqnx.so'
975610067 ;;
975710068
975810069 openbsd*)
976110072 need_lib_prefix=no
976210073 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
976310074 case $host_os in
9764 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
9765 *) need_version=no ;;
10075 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
10076 *) need_version=no ;;
976610077 esac
976710078 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
976810079 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
976910080 shlibpath_var=LD_LIBRARY_PATH
9770 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
10081 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
977110082 case $host_os in
977210083 openbsd2.[89] | openbsd2.[89].*)
977310084 shlibpath_overrides_runpath=no
983910150 sni)
984010151 shlibpath_overrides_runpath=no
984110152 need_lib_prefix=no
9842 export_dynamic_flag_spec='${wl}-Blargedynsym'
984310153 runpath_var=LD_RUN_PATH
984410154 ;;
984510155 siemens)
987010180 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
987110181 soname_spec='${libname}${release}${shared_ext}$major'
987210182 shlibpath_var=LD_LIBRARY_PATH
10183 shlibpath_overrides_runpath=yes
987310184 hardcode_into_libs=yes
987410185 if test "$with_gnu_ld" = yes; then
987510186 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
9876 shlibpath_overrides_runpath=no
987710187 else
987810188 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
9879 shlibpath_overrides_runpath=yes
988010189 case $host_os in
988110190 sco3.2v5*)
988210191 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
988610195 sys_lib_dlsearch_path_spec='/usr/lib'
988710196 ;;
988810197
10198 tpf*)
10199 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
10200 version_type=linux
10201 need_lib_prefix=no
10202 need_version=no
10203 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10204 shlibpath_var=LD_LIBRARY_PATH
10205 shlibpath_overrides_runpath=no
10206 hardcode_into_libs=yes
10207 ;;
10208
988910209 uts4*)
989010210 version_type=linux
989110211 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
990110221 $as_echo "$dynamic_linker" >&6; }
990210222 test "$dynamic_linker" = no && can_build_shared=no
990310223
9904 if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
9905 $as_echo_n "(cached) " >&6
9906 else
9907 lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
9908 fi
9909
9910 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
9911 if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
9912 $as_echo_n "(cached) " >&6
9913 else
9914 lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
9915 fi
9916
9917 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
9918
991910224 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
992010225 if test "$GCC" = yes; then
992110226 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
992210227 fi
992310228
9924 { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
10229 if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
10230 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
10231 fi
10232 if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
10233 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
10234 fi
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322 { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
992510323 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
992610324 hardcode_action=
9927 if test -n "$hardcode_libdir_flag_spec" || \
9928 test -n "$runpath_var" || \
10325 if test -n "$hardcode_libdir_flag_spec" ||
10326 test -n "$runpath_var" ||
992910327 test "X$hardcode_automatic" = "Xyes" ; then
993010328
9931 # We can hardcode non-existant directories.
10329 # We can hardcode non-existent directories.
993210330 if test "$hardcode_direct" != no &&
993310331 # If the only mechanism to avoid hardcoding is shlibpath_var, we
993410332 # have to relink, otherwise we might link with an installed library
993510333 # when we should be linking with a yet-to-be-installed one
9936 ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
10334 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
993710335 test "$hardcode_minus_L" != no; then
993810336 # Linking always hardcodes the temporary library directory.
993910337 hardcode_action=relink
994910347 { $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5
995010348 $as_echo "$hardcode_action" >&6; }
995110349
9952 if test "$hardcode_action" = relink; then
10350 if test "$hardcode_action" = relink ||
10351 test "$inherit_rpath" = yes; then
995310352 # Fast installation is not supported
995410353 enable_fast_install=no
995510354 elif test "$shlibpath_overrides_runpath" = yes ||
995810357 enable_fast_install=needless
995910358 fi
996010359
9961 striplib=
9962 old_striplib=
9963 { $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
9964 $as_echo_n "checking whether stripping libraries is possible... " >&6; }
9965 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
9966 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
9967 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
9968 { $as_echo "$as_me:$LINENO: result: yes" >&5
9969 $as_echo "yes" >&6; }
9970 else
9971 # FIXME - insert some real tests, host_os isn't really good enough
9972 case $host_os in
9973 darwin*)
9974 if test -n "$STRIP" ; then
9975 striplib="$STRIP -x"
9976 old_striplib="$STRIP -S"
9977 { $as_echo "$as_me:$LINENO: result: yes" >&5
9978 $as_echo "yes" >&6; }
9979 else
9980 { $as_echo "$as_me:$LINENO: result: no" >&5
9981 $as_echo "no" >&6; }
9982 fi
9983 ;;
9984 *)
9985 { $as_echo "$as_me:$LINENO: result: no" >&5
9986 $as_echo "no" >&6; }
9987 ;;
9988 esac
9989 fi
9990
9991 if test "x$enable_dlopen" != xyes; then
10360
10361
10362
10363
10364
10365 if test "x$enable_dlopen" != xyes; then
999210366 enable_dlopen=unknown
999310367 enable_dlopen_self=unknown
999410368 enable_dlopen_self_static=unknown
1000310377 lt_cv_dlopen_self=yes
1000410378 ;;
1000510379
10006 mingw* | pw32*)
10380 mingw* | pw32* | cegcc*)
1000710381 lt_cv_dlopen="LoadLibrary"
1000810382 lt_cv_dlopen_libs=
10009 ;;
10383 ;;
1001010384
1001110385 cygwin*)
1001210386 lt_cv_dlopen="dlopen"
1001310387 lt_cv_dlopen_libs=
10014 ;;
10388 ;;
1001510389
1001610390 darwin*)
1001710391 # if libdl is installed we need to link against it
1008010454 fi
1008110455 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
1008210456 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
10083 if test $ac_cv_lib_dl_dlopen = yes; then
10457 if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
1008410458 lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
1008510459 else
1008610460
1009010464
1009110465 fi
1009210466
10093 ;;
10467 ;;
1009410468
1009510469 *)
1009610470 { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
1017810552 fi
1017910553 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
1018010554 $as_echo "$ac_cv_func_shl_load" >&6; }
10181 if test $ac_cv_func_shl_load = yes; then
10555 if test "x$ac_cv_func_shl_load" = x""yes; then
1018210556 lt_cv_dlopen="shl_load"
1018310557 else
1018410558 { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
1024610620 fi
1024710621 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
1024810622 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
10249 if test $ac_cv_lib_dld_shl_load = yes; then
10623 if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
1025010624 lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
1025110625 else
1025210626 { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
1033410708 fi
1033510709 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
1033610710 $as_echo "$ac_cv_func_dlopen" >&6; }
10337 if test $ac_cv_func_dlopen = yes; then
10711 if test "x$ac_cv_func_dlopen" = x""yes; then
1033810712 lt_cv_dlopen="dlopen"
1033910713 else
1034010714 { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
1040210776 fi
1040310777 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
1040410778 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
10405 if test $ac_cv_lib_dl_dlopen = yes; then
10779 if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
1040610780 lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
1040710781 else
1040810782 { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
1047010844 fi
1047110845 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
1047210846 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
10473 if test $ac_cv_lib_svld_dlopen = yes; then
10847 if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
1047410848 lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
1047510849 else
1047610850 { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
1053810912 fi
1053910913 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
1054010914 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
10541 if test $ac_cv_lib_dld_dld_link = yes; then
10915 if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
1054210916 lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
1054310917 fi
1054410918
1058710961 else
1058810962 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1058910963 lt_status=$lt_dlunknown
10590 cat > conftest.$ac_ext <<EOF
10591 #line 10592 "configure"
10964 cat > conftest.$ac_ext <<_LT_EOF
10965 #line 10966 "configure"
1059210966 #include "confdefs.h"
1059310967
1059410968 #if HAVE_DLFCN_H
1062911003 # endif
1063011004 #endif
1063111005
10632 #ifdef __cplusplus
10633 extern "C" void exit (int);
10634 #endif
10635
1063611006 void fnord() { int i=42;}
1063711007 int main ()
1063811008 {
1064811018 else
1064911019 puts (dlerror ());
1065011020
10651 exit (status);
11021 return status;
1065211022 }
10653 EOF
11023 _LT_EOF
1065411024 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
1065511025 (eval $ac_link) 2>&5
1065611026 ac_status=$?
1068711057 else
1068811058 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1068911059 lt_status=$lt_dlunknown
10690 cat > conftest.$ac_ext <<EOF
10691 #line 10692 "configure"
11060 cat > conftest.$ac_ext <<_LT_EOF
11061 #line 11062 "configure"
1069211062 #include "confdefs.h"
1069311063
1069411064 #if HAVE_DLFCN_H
1072911099 # endif
1073011100 #endif
1073111101
10732 #ifdef __cplusplus
10733 extern "C" void exit (int);
10734 #endif
10735
1073611102 void fnord() { int i=42;}
1073711103 int main ()
1073811104 {
1074811114 else
1074911115 puts (dlerror ());
1075011116
10751 exit (status);
11117 return status;
1075211118 }
10753 EOF
11119 _LT_EOF
1075411120 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
1075511121 (eval $ac_link) 2>&5
1075611122 ac_status=$?
1079411160 fi
1079511161
1079611162
10797 # Report which library types will actually be built
10798 { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
10799 $as_echo_n "checking if libtool supports shared libraries... " >&6; }
10800 { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
10801 $as_echo "$can_build_shared" >&6; }
10802
10803 { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
10804 $as_echo_n "checking whether to build shared libraries... " >&6; }
10805 test "$can_build_shared" = "no" && enable_shared=no
10806
10807 # On AIX, shared libraries and static libraries use the same namespace, and
10808 # are all built from PIC.
10809 case $host_os in
10810 aix3*)
10811 test "$enable_shared" = yes && enable_static=no
10812 if test -n "$RANLIB"; then
10813 archive_cmds="$archive_cmds~\$RANLIB \$lib"
10814 postinstall_cmds='$RANLIB $lib'
10815 fi
10816 ;;
10817
10818 aix[4-9]*)
10819 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
10820 test "$enable_shared" = yes && enable_static=no
10821 fi
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178 striplib=
11179 old_striplib=
11180 { $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
11181 $as_echo_n "checking whether stripping libraries is possible... " >&6; }
11182 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
11183 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
11184 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
11185 { $as_echo "$as_me:$LINENO: result: yes" >&5
11186 $as_echo "yes" >&6; }
11187 else
11188 # FIXME - insert some real tests, host_os isn't really good enough
11189 case $host_os in
11190 darwin*)
11191 if test -n "$STRIP" ; then
11192 striplib="$STRIP -x"
11193 old_striplib="$STRIP -S"
11194 { $as_echo "$as_me:$LINENO: result: yes" >&5
11195 $as_echo "yes" >&6; }
11196 else
11197 { $as_echo "$as_me:$LINENO: result: no" >&5
11198 $as_echo "no" >&6; }
11199 fi
1082211200 ;;
10823 esac
10824 { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
10825 $as_echo "$enable_shared" >&6; }
10826
10827 { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
10828 $as_echo_n "checking whether to build static libraries... " >&6; }
10829 # Make sure either enable_shared or enable_static is yes.
10830 test "$enable_shared" = yes || enable_static=yes
10831 { $as_echo "$as_me:$LINENO: result: $enable_static" >&5
10832 $as_echo "$enable_static" >&6; }
10833
10834 # The else clause should only fire when bootstrapping the
10835 # libtool distribution, otherwise you forgot to ship ltmain.sh
10836 # with your package, and you will get complaints that there are
10837 # no rules to generate ltmain.sh.
10838 if test -f "$ltmain"; then
10839 # See if we are running on zsh, and set the options which allow our commands through
10840 # without removal of \ escapes.
10841 if test -n "${ZSH_VERSION+set}" ; then
10842 setopt NO_GLOB_SUBST
10843 fi
10844 # Now quote all the things that may contain metacharacters while being
10845 # careful not to overquote the AC_SUBSTed values. We take copies of the
10846 # variables and quote the copies for generation of the libtool script.
10847 for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
10848 SED SHELL STRIP \
10849 libname_spec library_names_spec soname_spec extract_expsyms_cmds \
10850 old_striplib striplib file_magic_cmd finish_cmds finish_eval \
10851 deplibs_check_method reload_flag reload_cmds need_locks \
10852 lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
10853 lt_cv_sys_global_symbol_to_c_name_address \
10854 sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
10855 old_postinstall_cmds old_postuninstall_cmds \
10856 compiler \
10857 CC \
10858 LD \
10859 lt_prog_compiler_wl \
10860 lt_prog_compiler_pic \
10861 lt_prog_compiler_static \
10862 lt_prog_compiler_no_builtin_flag \
10863 export_dynamic_flag_spec \
10864 thread_safe_flag_spec \
10865 whole_archive_flag_spec \
10866 enable_shared_with_static_runtimes \
10867 old_archive_cmds \
10868 old_archive_from_new_cmds \
10869 predep_objects \
10870 postdep_objects \
10871 predeps \
10872 postdeps \
10873 compiler_lib_search_path \
10874 compiler_lib_search_dirs \
10875 archive_cmds \
10876 archive_expsym_cmds \
10877 postinstall_cmds \
10878 postuninstall_cmds \
10879 old_archive_from_expsyms_cmds \
10880 allow_undefined_flag \
10881 no_undefined_flag \
10882 export_symbols_cmds \
10883 hardcode_libdir_flag_spec \
10884 hardcode_libdir_flag_spec_ld \
10885 hardcode_libdir_separator \
10886 hardcode_automatic \
10887 module_cmds \
10888 module_expsym_cmds \
10889 lt_cv_prog_compiler_c_o \
10890 fix_srcfile_path \
10891 exclude_expsyms \
10892 include_expsyms; do
10893
10894 case $var in
10895 old_archive_cmds | \
10896 old_archive_from_new_cmds | \
10897 archive_cmds | \
10898 archive_expsym_cmds | \
10899 module_cmds | \
10900 module_expsym_cmds | \
10901 old_archive_from_expsyms_cmds | \
10902 export_symbols_cmds | \
10903 extract_expsyms_cmds | reload_cmds | finish_cmds | \
10904 postinstall_cmds | postuninstall_cmds | \
10905 old_postinstall_cmds | old_postuninstall_cmds | \
10906 sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
10907 # Double-quote double-evaled strings.
10908 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
10909 ;;
10910 *)
10911 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
10912 ;;
10913 esac
10914 done
10915
10916 case $lt_echo in
10917 *'\$0 --fallback-echo"')
10918 lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
11201 *)
11202 { $as_echo "$as_me:$LINENO: result: no" >&5
11203 $as_echo "no" >&6; }
1091911204 ;;
1092011205 esac
10921
10922 cfgfile="${ofile}T"
10923 trap "$rm \"$cfgfile\"; exit 1" 1 2 15
10924 $rm -f "$cfgfile"
10925 { $as_echo "$as_me:$LINENO: creating $ofile" >&5
10926 $as_echo "$as_me: creating $ofile" >&6;}
10927
10928 cat <<__EOF__ >> "$cfgfile"
10929 #! $SHELL
10930
10931 # `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
10932 # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
10933 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
10934 #
10935 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
10936 # Free Software Foundation, Inc.
10937 #
10938 # This file is part of GNU Libtool:
10939 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
10940 #
10941 # This program is free software; you can redistribute it and/or modify
10942 # it under the terms of the GNU General Public License as published by
10943 # the Free Software Foundation; either version 2 of the License, or
10944 # (at your option) any later version.
10945 #
10946 # This program is distributed in the hope that it will be useful, but
10947 # WITHOUT ANY WARRANTY; without even the implied warranty of
10948 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10949 # General Public License for more details.
10950 #
10951 # You should have received a copy of the GNU General Public License
10952 # along with this program; if not, write to the Free Software
10953 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
10954 #
10955 # As a special exception to the GNU General Public License, if you
10956 # distribute this file as part of a program that contains a
10957 # configuration script generated by Autoconf, you may include it under
10958 # the same distribution terms that you use for the rest of that program.
10959
10960 # A sed program that does not truncate output.
10961 SED=$lt_SED
10962
10963 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
10964 Xsed="$SED -e 1s/^X//"
10965
10966 # The HP-UX ksh and POSIX shell print the target directory to stdout
10967 # if CDPATH is set.
10968 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
10969
10970 # The names of the tagged configurations supported by this script.
10971 available_tags=
10972
10973 # ### BEGIN LIBTOOL CONFIG
10974
10975 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
10976
10977 # Shell to use when invoking shell scripts.
10978 SHELL=$lt_SHELL
10979
10980 # Whether or not to build shared libraries.
10981 build_libtool_libs=$enable_shared
10982
10983 # Whether or not to build static libraries.
10984 build_old_libs=$enable_static
10985
10986 # Whether or not to add -lc for building shared libraries.
10987 build_libtool_need_lc=$archive_cmds_need_lc
10988
10989 # Whether or not to disallow shared libs when runtime libs are static
10990 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
10991
10992 # Whether or not to optimize for fast installation.
10993 fast_install=$enable_fast_install
10994
10995 # The host system.
10996 host_alias=$host_alias
10997 host=$host
10998 host_os=$host_os
10999
11000 # The build system.
11001 build_alias=$build_alias
11002 build=$build
11003 build_os=$build_os
11004
11005 # An echo program that does not interpret backslashes.
11006 echo=$lt_echo
11007
11008 # The archiver.
11009 AR=$lt_AR
11010 AR_FLAGS=$lt_AR_FLAGS
11011
11012 # A C compiler.
11013 LTCC=$lt_LTCC
11014
11015 # LTCC compiler flags.
11016 LTCFLAGS=$lt_LTCFLAGS
11017
11018 # A language-specific compiler.
11019 CC=$lt_compiler
11020
11021 # Is the compiler the GNU C compiler?
11022 with_gcc=$GCC
11023
11024 # An ERE matcher.
11025 EGREP=$lt_EGREP
11026
11027 # The linker used to build libraries.
11028 LD=$lt_LD
11029
11030 # Whether we need hard or soft links.
11031 LN_S=$lt_LN_S
11032
11033 # A BSD-compatible nm program.
11034 NM=$lt_NM
11035
11036 # A symbol stripping program
11037 STRIP=$lt_STRIP
11038
11039 # Used to examine libraries when file_magic_cmd begins "file"
11040 MAGIC_CMD=$MAGIC_CMD
11041
11042 # Used on cygwin: DLL creation program.
11043 DLLTOOL="$DLLTOOL"
11044
11045 # Used on cygwin: object dumper.
11046 OBJDUMP="$OBJDUMP"
11047
11048 # Used on cygwin: assembler.
11049 AS="$AS"
11050
11051 # The name of the directory that contains temporary libtool files.
11052 objdir=$objdir
11053
11054 # How to create reloadable object files.
11055 reload_flag=$lt_reload_flag
11056 reload_cmds=$lt_reload_cmds
11057
11058 # How to pass a linker flag through the compiler.
11059 wl=$lt_lt_prog_compiler_wl
11060
11061 # Object file suffix (normally "o").
11062 objext="$ac_objext"
11063
11064 # Old archive suffix (normally "a").
11065 libext="$libext"
11066
11067 # Shared library suffix (normally ".so").
11068 shrext_cmds='$shrext_cmds'
11069
11070 # Executable file suffix (normally "").
11071 exeext="$exeext"
11072
11073 # Additional compiler flags for building library objects.
11074 pic_flag=$lt_lt_prog_compiler_pic
11075 pic_mode=$pic_mode
11076
11077 # What is the maximum length of a command?
11078 max_cmd_len=$lt_cv_sys_max_cmd_len
11079
11080 # Does compiler simultaneously support -c and -o options?
11081 compiler_c_o=$lt_lt_cv_prog_compiler_c_o
11082
11083 # Must we lock files when doing compilation?
11084 need_locks=$lt_need_locks
11085
11086 # Do we need the lib prefix for modules?
11087 need_lib_prefix=$need_lib_prefix
11088
11089 # Do we need a version for libraries?
11090 need_version=$need_version
11091
11092 # Whether dlopen is supported.
11093 dlopen_support=$enable_dlopen
11094
11095 # Whether dlopen of programs is supported.
11096 dlopen_self=$enable_dlopen_self
11097
11098 # Whether dlopen of statically linked programs is supported.
11099 dlopen_self_static=$enable_dlopen_self_static
11100
11101 # Compiler flag to prevent dynamic linking.
11102 link_static_flag=$lt_lt_prog_compiler_static
11103
11104 # Compiler flag to turn off builtin functions.
11105 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
11106
11107 # Compiler flag to allow reflexive dlopens.
11108 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
11109
11110 # Compiler flag to generate shared objects directly from archives.
11111 whole_archive_flag_spec=$lt_whole_archive_flag_spec
11112
11113 # Compiler flag to generate thread-safe objects.
11114 thread_safe_flag_spec=$lt_thread_safe_flag_spec
11115
11116 # Library versioning type.
11117 version_type=$version_type
11118
11119 # Format of library name prefix.
11120 libname_spec=$lt_libname_spec
11121
11122 # List of archive names. First name is the real one, the rest are links.
11123 # The last name is the one that the linker finds with -lNAME.
11124 library_names_spec=$lt_library_names_spec
11125
11126 # The coded name of the library, if different from the real name.
11127 soname_spec=$lt_soname_spec
11128
11129 # Commands used to build and install an old-style archive.
11130 RANLIB=$lt_RANLIB
11131 old_archive_cmds=$lt_old_archive_cmds
11132 old_postinstall_cmds=$lt_old_postinstall_cmds
11133 old_postuninstall_cmds=$lt_old_postuninstall_cmds
11134
11135 # Create an old-style archive from a shared archive.
11136 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
11137
11138 # Create a temporary old-style archive to link instead of a shared archive.
11139 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
11140
11141 # Commands used to build and install a shared archive.
11142 archive_cmds=$lt_archive_cmds
11143 archive_expsym_cmds=$lt_archive_expsym_cmds
11144 postinstall_cmds=$lt_postinstall_cmds
11145 postuninstall_cmds=$lt_postuninstall_cmds
11146
11147 # Commands used to build a loadable module (assumed same as above if empty)
11148 module_cmds=$lt_module_cmds
11149 module_expsym_cmds=$lt_module_expsym_cmds
11150
11151 # Commands to strip libraries.
11152 old_striplib=$lt_old_striplib
11153 striplib=$lt_striplib
11154
11155 # Dependencies to place before the objects being linked to create a
11156 # shared library.
11157 predep_objects=$lt_predep_objects
11158
11159 # Dependencies to place after the objects being linked to create a
11160 # shared library.
11161 postdep_objects=$lt_postdep_objects
11162
11163 # Dependencies to place before the objects being linked to create a
11164 # shared library.
11165 predeps=$lt_predeps
11166
11167 # Dependencies to place after the objects being linked to create a
11168 # shared library.
11169 postdeps=$lt_postdeps
11170
11171 # The directories searched by this compiler when creating a shared
11172 # library
11173 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
11174
11175 # The library search path used internally by the compiler when linking
11176 # a shared library.
11177 compiler_lib_search_path=$lt_compiler_lib_search_path
11178
11179 # Method to check whether dependent libraries are shared objects.
11180 deplibs_check_method=$lt_deplibs_check_method
11181
11182 # Command to use when deplibs_check_method == file_magic.
11183 file_magic_cmd=$lt_file_magic_cmd
11184
11185 # Flag that allows shared libraries with undefined symbols to be built.
11186 allow_undefined_flag=$lt_allow_undefined_flag
11187
11188 # Flag that forces no undefined symbols.
11189 no_undefined_flag=$lt_no_undefined_flag
11190
11191 # Commands used to finish a libtool library installation in a directory.
11192 finish_cmds=$lt_finish_cmds
11193
11194 # Same as above, but a single script fragment to be evaled but not shown.
11195 finish_eval=$lt_finish_eval
11196
11197 # Take the output of nm and produce a listing of raw symbols and C names.
11198 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
11199
11200 # Transform the output of nm in a proper C declaration
11201 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
11202
11203 # Transform the output of nm in a C name address pair
11204 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
11205
11206 # This is the shared library runtime path variable.
11207 runpath_var=$runpath_var
11208
11209 # This is the shared library path variable.
11210 shlibpath_var=$shlibpath_var
11211
11212 # Is shlibpath searched before the hard-coded library search path?
11213 shlibpath_overrides_runpath=$shlibpath_overrides_runpath
11214
11215 # How to hardcode a shared library path into an executable.
11216 hardcode_action=$hardcode_action
11217
11218 # Whether we should hardcode library paths into libraries.
11219 hardcode_into_libs=$hardcode_into_libs
11220
11221 # Flag to hardcode \$libdir into a binary during linking.
11222 # This must work even if \$libdir does not exist.
11223 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
11224
11225 # If ld is used when linking, flag to hardcode \$libdir into
11226 # a binary during linking. This must work even if \$libdir does
11227 # not exist.
11228 hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
11229
11230 # Whether we need a single -rpath flag with a separated argument.
11231 hardcode_libdir_separator=$lt_hardcode_libdir_separator
11232
11233 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
11234 # resulting binary.
11235 hardcode_direct=$hardcode_direct
11236
11237 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
11238 # resulting binary.
11239 hardcode_minus_L=$hardcode_minus_L
11240
11241 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
11242 # the resulting binary.
11243 hardcode_shlibpath_var=$hardcode_shlibpath_var
11244
11245 # Set to yes if building a shared library automatically hardcodes DIR into the library
11246 # and all subsequent libraries and executables linked against it.
11247 hardcode_automatic=$hardcode_automatic
11248
11249 # Variables whose values should be saved in libtool wrapper scripts and
11250 # restored at relink time.
11251 variables_saved_for_relink="$variables_saved_for_relink"
11252
11253 # Whether libtool must link a program against all its dependency libraries.
11254 link_all_deplibs=$link_all_deplibs
11255
11256 # Compile-time system search path for libraries
11257 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
11258
11259 # Run-time system search path for libraries
11260 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
11261
11262 # Fix the shell variable \$srcfile for the compiler.
11263 fix_srcfile_path=$lt_fix_srcfile_path
11264
11265 # Set to yes if exported symbols are required.
11266 always_export_symbols=$always_export_symbols
11267
11268 # The commands to list exported symbols.
11269 export_symbols_cmds=$lt_export_symbols_cmds
11270
11271 # The commands to extract the exported symbol list from a shared archive.
11272 extract_expsyms_cmds=$lt_extract_expsyms_cmds
11273
11274 # Symbols that should not be listed in the preloaded symbols.
11275 exclude_expsyms=$lt_exclude_expsyms
11276
11277 # Symbols that must always be exported.
11278 include_expsyms=$lt_include_expsyms
11279
11280 # ### END LIBTOOL CONFIG
11281
11282 __EOF__
11283
11284
11206 fi
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219 # Report which library types will actually be built
11220 { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
11221 $as_echo_n "checking if libtool supports shared libraries... " >&6; }
11222 { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
11223 $as_echo "$can_build_shared" >&6; }
11224
11225 { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
11226 $as_echo_n "checking whether to build shared libraries... " >&6; }
11227 test "$can_build_shared" = "no" && enable_shared=no
11228
11229 # On AIX, shared libraries and static libraries use the same namespace, and
11230 # are all built from PIC.
1128511231 case $host_os in
1128611232 aix3*)
11287 cat <<\EOF >> "$cfgfile"
11288
11289 # AIX sometimes has problems with the GCC collect2 program. For some
11290 # reason, if we set the COLLECT_NAMES environment variable, the problems
11291 # vanish in a puff of smoke.
11292 if test "X${COLLECT_NAMES+set}" != Xset; then
11293 COLLECT_NAMES=
11294 export COLLECT_NAMES
11295 fi
11296 EOF
11233 test "$enable_shared" = yes && enable_static=no
11234 if test -n "$RANLIB"; then
11235 archive_cmds="$archive_cmds~\$RANLIB \$lib"
11236 postinstall_cmds='$RANLIB $lib'
11237 fi
11238 ;;
11239
11240 aix[4-9]*)
11241 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
11242 test "$enable_shared" = yes && enable_static=no
11243 fi
1129711244 ;;
1129811245 esac
11299
11300 # We use sed instead of cat because bash on DJGPP gets confused if
11301 # if finds mixed CR/LF and LF-only lines. Since sed operates in
11302 # text mode, it properly converts lines to CR/LF. This bash problem
11303 # is reportedly fixed, but why not run on old versions too?
11304 sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
11305
11306 mv -f "$cfgfile" "$ofile" || \
11307 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
11308 chmod +x "$ofile"
11309
11310 else
11311 # If there is no Makefile yet, we rely on a make rule to execute
11312 # `config.status --recheck' to rerun these tests and create the
11313 # libtool script then.
11314 ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
11315 if test -f "$ltmain_in"; then
11316 test -f Makefile && make "$ltmain"
11317 fi
11318 fi
11319
11320
11246 { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
11247 $as_echo "$enable_shared" >&6; }
11248
11249 { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
11250 $as_echo_n "checking whether to build static libraries... " >&6; }
11251 # Make sure either enable_shared or enable_static is yes.
11252 test "$enable_shared" = yes || enable_static=yes
11253 { $as_echo "$as_me:$LINENO: result: $enable_static" >&5
11254 $as_echo "$enable_static" >&6; }
11255
11256
11257
11258
11259 fi
1132111260 ac_ext=c
1132211261 ac_cpp='$CPP $CPPFLAGS'
1132311262 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
1132711266 CC="$lt_save_CC"
1132811267
1132911268
11330 # Check whether --with-tags was given.
11331 if test "${with_tags+set}" = set; then
11332 withval=$with_tags; tagnames="$withval"
11333 fi
11334
11335
11336 if test -f "$ltmain" && test -n "$tagnames"; then
11337 if test ! -f "${ofile}"; then
11338 { $as_echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
11339 $as_echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
11340 fi
11341
11342 if test -z "$LTCC"; then
11343 eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
11344 if test -z "$LTCC"; then
11345 { $as_echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
11346 $as_echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
11347 else
11348 { $as_echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
11349 $as_echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
11350 fi
11351 fi
11352 if test -z "$LTCFLAGS"; then
11353 eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
11354 fi
11355
11356 # Extract list of available tagged configurations in $ofile.
11357 # Note that this assumes the entire list is on one line.
11358 available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
11359
11360 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
11361 for tagname in $tagnames; do
11362 IFS="$lt_save_ifs"
11363 # Check whether tagname contains only valid characters
11364 case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
11365 "") ;;
11366 *) { { $as_echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
11367 $as_echo "$as_me: error: invalid tag name: $tagname" >&2;}
11368 { (exit 1); exit 1; }; }
11369 ;;
11370 esac
11371
11372 if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
11373 then
11374 { { $as_echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
11375 $as_echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
11376 { (exit 1); exit 1; }; }
11377 fi
11378
11379 # Update the list of available tags.
11380 if test -n "$tagname"; then
11381 echo appending configuration tag \"$tagname\" to $ofile
11382
11383 case $tagname in
11384 CXX)
11385 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
11386 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
11387 (test "X$CXX" != "Xg++"))) ; then
11388 ac_ext=cpp
11389 ac_cpp='$CXXCPP $CPPFLAGS'
11390 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
11391 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
11392 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
11393
11394
11395
11396
11397 archive_cmds_need_lc_CXX=no
11398 allow_undefined_flag_CXX=
11399 always_export_symbols_CXX=no
11400 archive_expsym_cmds_CXX=
11401 export_dynamic_flag_spec_CXX=
11402 hardcode_direct_CXX=no
11403 hardcode_libdir_flag_spec_CXX=
11404 hardcode_libdir_flag_spec_ld_CXX=
11405 hardcode_libdir_separator_CXX=
11406 hardcode_minus_L_CXX=no
11407 hardcode_shlibpath_var_CXX=unsupported
11408 hardcode_automatic_CXX=no
11409 module_cmds_CXX=
11410 module_expsym_cmds_CXX=
11411 link_all_deplibs_CXX=unknown
11412 old_archive_cmds_CXX=$old_archive_cmds
11413 no_undefined_flag_CXX=
11414 whole_archive_flag_spec_CXX=
11415 enable_shared_with_static_runtimes_CXX=no
11416
11417 # Dependencies to place before and after the object being linked:
11418 predep_objects_CXX=
11419 postdep_objects_CXX=
11420 predeps_CXX=
11421 postdeps_CXX=
11422 compiler_lib_search_path_CXX=
11423 compiler_lib_search_dirs_CXX=
11424
11425 # Source file extension for C++ test sources.
11426 ac_ext=cpp
11427
11428 # Object file extension for compiled C++ test sources.
11429 objext=o
11430 objext_CXX=$objext
11431
11432 # Code to be used in simple compile tests
11433 lt_simple_compile_test_code="int some_variable = 0;"
11434
11435 # Code to be used in simple link tests
11436 lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
11437
11438 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
11439
11440 # If no C compiler was specified, use CC.
11441 LTCC=${LTCC-"$CC"}
11442
11443 # If no C compiler flags were specified, use CFLAGS.
11444 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
11445
11446 # Allow CC to be a program name with arguments.
11447 compiler=$CC
11448
11449
11450 # save warnings/boilerplate of simple test code
11451 ac_outfile=conftest.$ac_objext
11452 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
11453 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
11454 _lt_compiler_boilerplate=`cat conftest.err`
11455 $rm conftest*
11456
11457 ac_outfile=conftest.$ac_objext
11458 echo "$lt_simple_link_test_code" >conftest.$ac_ext
11459 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
11460 _lt_linker_boilerplate=`cat conftest.err`
11461 $rm -r conftest*
11462
11463
11464 # Allow CC to be a program name with arguments.
11465 lt_save_CC=$CC
11466 lt_save_LD=$LD
11467 lt_save_GCC=$GCC
11468 GCC=$GXX
11469 lt_save_with_gnu_ld=$with_gnu_ld
11470 lt_save_path_LD=$lt_cv_path_LD
11471 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
11472 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
11473 else
11474 $as_unset lt_cv_prog_gnu_ld
11475 fi
11476 if test -n "${lt_cv_path_LDCXX+set}"; then
11477 lt_cv_path_LD=$lt_cv_path_LDCXX
11478 else
11479 $as_unset lt_cv_path_LD
11480 fi
11481 test -z "${LDCXX+set}" || LD=$LDCXX
11482 CC=${CXX-"c++"}
11483 compiler=$CC
11484 compiler_CXX=$CC
11485 for cc_temp in $compiler""; do
11486 case $cc_temp in
11487 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
11488 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
11489 \-*) ;;
11490 *) break;;
11491 esac
11492 done
11493 cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
11494
11495
11496 # We don't want -fno-exception wen compiling C++ code, so set the
11497 # no_builtin_flag separately
11498 if test "$GXX" = yes; then
11499 lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
11500 else
11501 lt_prog_compiler_no_builtin_flag_CXX=
11502 fi
11503
11504 if test "$GXX" = yes; then
11505 # Set up default GNU C++ configuration
11506
11507
11508 # Check whether --with-gnu-ld was given.
11509 if test "${with_gnu_ld+set}" = set; then
11510 withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
11511 else
11512 with_gnu_ld=no
11513 fi
11514
11515 ac_prog=ld
11516 if test "$GCC" = yes; then
11517 # Check if gcc -print-prog-name=ld gives a path.
11518 { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5
11519 $as_echo_n "checking for ld used by $CC... " >&6; }
11520 case $host in
11521 *-*-mingw*)
11522 # gcc leaves a trailing carriage return which upsets mingw
11523 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
11524 *)
11525 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
11526 esac
11527 case $ac_prog in
11528 # Accept absolute paths.
11529 [\\/]* | ?:[\\/]*)
11530 re_direlt='/[^/][^/]*/\.\./'
11531 # Canonicalize the pathname of ld
11532 ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
11533 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
11534 ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
11535 done
11536 test -z "$LD" && LD="$ac_prog"
11537 ;;
11538 "")
11539 # If it fails, then pretend we aren't using GCC.
11540 ac_prog=ld
11541 ;;
11542 *)
11543 # If it is relative, then search for the first ld in PATH.
11544 with_gnu_ld=unknown
11545 ;;
11546 esac
11547 elif test "$with_gnu_ld" = yes; then
11548 { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
11549 $as_echo_n "checking for GNU ld... " >&6; }
11550 else
11551 { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
11552 $as_echo_n "checking for non-GNU ld... " >&6; }
11553 fi
11554 if test "${lt_cv_path_LD+set}" = set; then
11555 $as_echo_n "(cached) " >&6
11556 else
11557 if test -z "$LD"; then
11558 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
11559 for ac_dir in $PATH; do
11560 IFS="$lt_save_ifs"
11561 test -z "$ac_dir" && ac_dir=.
11562 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
11563 lt_cv_path_LD="$ac_dir/$ac_prog"
11564 # Check to see if the program is GNU ld. I'd rather use --version,
11565 # but apparently some variants of GNU ld only accept -v.
11566 # Break only if it was the GNU/non-GNU ld that we prefer.
11567 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
11568 *GNU* | *'with BFD'*)
11569 test "$with_gnu_ld" != no && break
11570 ;;
11571 *)
11572 test "$with_gnu_ld" != yes && break
11573 ;;
11574 esac
11575 fi
11576 done
11577 IFS="$lt_save_ifs"
11578 else
11579 lt_cv_path_LD="$LD" # Let the user override the test with a path.
11580 fi
11581 fi
11582
11583 LD="$lt_cv_path_LD"
11584 if test -n "$LD"; then
11585 { $as_echo "$as_me:$LINENO: result: $LD" >&5
11586 $as_echo "$LD" >&6; }
11587 else
11588 { $as_echo "$as_me:$LINENO: result: no" >&5
11589 $as_echo "no" >&6; }
11590 fi
11591 test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
11592 $as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
11593 { (exit 1); exit 1; }; }
11594 { $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
11595 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
11596 if test "${lt_cv_prog_gnu_ld+set}" = set; then
11597 $as_echo_n "(cached) " >&6
11598 else
11599 # I'd rather use --version here, but apparently some GNU lds only accept -v.
11600 case `$LD -v 2>&1 </dev/null` in
11601 *GNU* | *'with BFD'*)
11602 lt_cv_prog_gnu_ld=yes
11603 ;;
11604 *)
11605 lt_cv_prog_gnu_ld=no
11606 ;;
11607 esac
11608 fi
11609 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
11610 $as_echo "$lt_cv_prog_gnu_ld" >&6; }
11611 with_gnu_ld=$lt_cv_prog_gnu_ld
11612
11613
11614
11615 # Check if GNU C++ uses GNU ld as the underlying linker, since the
11616 # archiving commands below assume that GNU ld is being used.
11617 if test "$with_gnu_ld" = yes; then
11618 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
11619 archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
11620
11621 hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
11622 export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
11623
11624 # If archive_cmds runs LD, not CC, wlarc should be empty
11625 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
11626 # investigate it a little bit more. (MM)
11627 wlarc='${wl}'
11628
11629 # ancient GNU ld didn't support --whole-archive et. al.
11630 if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
11631 grep 'no-whole-archive' > /dev/null; then
11632 whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
11633 else
11634 whole_archive_flag_spec_CXX=
11635 fi
11636 else
11637 with_gnu_ld=no
11638 wlarc=
11639
11640 # A generic and very simple default shared library creation
11641 # command for GNU C++ for the case where it uses the native
11642 # linker, instead of GNU ld. If possible, this setting should
11643 # overridden to take advantage of the native linker features on
11644 # the platform it is being used on.
11645 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
11646 fi
11647
11648 # Commands to make compiler produce verbose output that lists
11649 # what "hidden" libraries, object files and flags are used when
11650 # linking a shared library.
11651 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
11652
11653 else
11654 GXX=no
11655 with_gnu_ld=no
11656 wlarc=
11657 fi
11658
11659 # PORTME: fill in a description of your system's C++ link characteristics
11660 { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
11661 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
11662 ld_shlibs_CXX=yes
11663 case $host_os in
11664 aix3*)
11665 # FIXME: insert proper C++ library support
11666 ld_shlibs_CXX=no
11667 ;;
11668 aix[4-9]*)
11669 if test "$host_cpu" = ia64; then
11670 # On IA64, the linker does run time linking by default, so we don't
11671 # have to do anything special.
11672 aix_use_runtimelinking=no
11673 exp_sym_flag='-Bexport'
11674 no_entry_flag=""
11675 else
11676 aix_use_runtimelinking=no
11677
11678 # Test if we are trying to use run time linking or normal
11679 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
11680 # need to do runtime linking.
11681 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
11682 for ld_flag in $LDFLAGS; do
11683 case $ld_flag in
11684 *-brtl*)
11685 aix_use_runtimelinking=yes
11686 break
11687 ;;
11688 esac
11689 done
11690 ;;
11691 esac
11692
11693 exp_sym_flag='-bexport'
11694 no_entry_flag='-bnoentry'
11695 fi
11696
11697 # When large executables or shared objects are built, AIX ld can
11698 # have problems creating the table of contents. If linking a library
11699 # or program results in "error TOC overflow" add -mminimal-toc to
11700 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
11701 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
11702
11703 archive_cmds_CXX=''
11704 hardcode_direct_CXX=yes
11705 hardcode_libdir_separator_CXX=':'
11706 link_all_deplibs_CXX=yes
11707
11708 if test "$GXX" = yes; then
11709 case $host_os in aix4.[012]|aix4.[012].*)
11710 # We only want to do this on AIX 4.2 and lower, the check
11711 # below for broken collect2 doesn't work under 4.3+
11712 collect2name=`${CC} -print-prog-name=collect2`
11713 if test -f "$collect2name" && \
11714 strings "$collect2name" | grep resolve_lib_name >/dev/null
11715 then
11716 # We have reworked collect2
11717 :
11718 else
11719 # We have old collect2
11720 hardcode_direct_CXX=unsupported
11721 # It fails to find uninstalled libraries when the uninstalled
11722 # path is not listed in the libpath. Setting hardcode_minus_L
11723 # to unsupported forces relinking
11724 hardcode_minus_L_CXX=yes
11725 hardcode_libdir_flag_spec_CXX='-L$libdir'
11726 hardcode_libdir_separator_CXX=
11727 fi
11728 ;;
11729 esac
11730 shared_flag='-shared'
11731 if test "$aix_use_runtimelinking" = yes; then
11732 shared_flag="$shared_flag "'${wl}-G'
11733 fi
11734 else
11735 # not using gcc
11736 if test "$host_cpu" = ia64; then
11737 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
11738 # chokes on -Wl,-G. The following line is correct:
11739 shared_flag='-G'
11740 else
11741 if test "$aix_use_runtimelinking" = yes; then
11742 shared_flag='${wl}-G'
11743 else
11744 shared_flag='${wl}-bM:SRE'
11745 fi
11746 fi
11747 fi
11748
11749 # It seems that -bexpall does not export symbols beginning with
11750 # underscore (_), so it is better to generate a list of symbols to export.
11751 always_export_symbols_CXX=yes
11752 if test "$aix_use_runtimelinking" = yes; then
11753 # Warning - without using the other runtime loading flags (-brtl),
11754 # -berok will link without error, but may produce a broken library.
11755 allow_undefined_flag_CXX='-berok'
11756 # Determine the default libpath from the value encoded in an empty executable.
11757 cat >conftest.$ac_ext <<_ACEOF
11758 /* confdefs.h. */
11759 _ACEOF
11760 cat confdefs.h >>conftest.$ac_ext
11761 cat >>conftest.$ac_ext <<_ACEOF
11762 /* end confdefs.h. */
11763
11764 int
11765 main ()
11766 {
11767
11768 ;
11769 return 0;
11770 }
11771 _ACEOF
11772 rm -f conftest.$ac_objext conftest$ac_exeext
11773 if { (ac_try="$ac_link"
11774 case "(($ac_try" in
11775 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
11776 *) ac_try_echo=$ac_try;;
11777 esac
11778 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
11779 $as_echo "$ac_try_echo") >&5
11780 (eval "$ac_link") 2>conftest.er1
11781 ac_status=$?
11782 grep -v '^ *+' conftest.er1 >conftest.err
11783 rm -f conftest.er1
11784 cat conftest.err >&5
11785 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
11786 (exit $ac_status); } && {
11787 test -z "$ac_cxx_werror_flag" ||
11788 test ! -s conftest.err
11789 } && test -s conftest$ac_exeext && {
11790 test "$cross_compiling" = yes ||
11791 $as_test_x conftest$ac_exeext
11792 }; then
11793
11794 lt_aix_libpath_sed='
11795 /Import File Strings/,/^$/ {
11796 /^0/ {
11797 s/^0 *\(.*\)$/\1/
11798 p
11799 }
11800 }'
11801 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
11802 # Check for a 64-bit object if we didn't find anything.
11803 if test -z "$aix_libpath"; then
11804 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
11805 fi
11806 else
11807 $as_echo "$as_me: failed program was:" >&5
11808 sed 's/^/| /' conftest.$ac_ext >&5
11809
11810
11811 fi
11812
11813 rm -rf conftest.dSYM
11814 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
11815 conftest$ac_exeext conftest.$ac_ext
11816 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
11817
11818 hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
11819
11820 archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
11821 else
11822 if test "$host_cpu" = ia64; then
11823 hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
11824 allow_undefined_flag_CXX="-z nodefs"
11825 archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
11826 else
11827 # Determine the default libpath from the value encoded in an empty executable.
11828 cat >conftest.$ac_ext <<_ACEOF
11829 /* confdefs.h. */
11830 _ACEOF
11831 cat confdefs.h >>conftest.$ac_ext
11832 cat >>conftest.$ac_ext <<_ACEOF
11833 /* end confdefs.h. */
11834
11835 int
11836 main ()
11837 {
11838
11839 ;
11840 return 0;
11841 }
11842 _ACEOF
11843 rm -f conftest.$ac_objext conftest$ac_exeext
11844 if { (ac_try="$ac_link"
11845 case "(($ac_try" in
11846 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
11847 *) ac_try_echo=$ac_try;;
11848 esac
11849 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
11850 $as_echo "$ac_try_echo") >&5
11851 (eval "$ac_link") 2>conftest.er1
11852 ac_status=$?
11853 grep -v '^ *+' conftest.er1 >conftest.err
11854 rm -f conftest.er1
11855 cat conftest.err >&5
11856 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
11857 (exit $ac_status); } && {
11858 test -z "$ac_cxx_werror_flag" ||
11859 test ! -s conftest.err
11860 } && test -s conftest$ac_exeext && {
11861 test "$cross_compiling" = yes ||
11862 $as_test_x conftest$ac_exeext
11863 }; then
11864
11865 lt_aix_libpath_sed='
11866 /Import File Strings/,/^$/ {
11867 /^0/ {
11868 s/^0 *\(.*\)$/\1/
11869 p
11870 }
11871 }'
11872 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
11873 # Check for a 64-bit object if we didn't find anything.
11874 if test -z "$aix_libpath"; then
11875 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
11876 fi
11877 else
11878 $as_echo "$as_me: failed program was:" >&5
11879 sed 's/^/| /' conftest.$ac_ext >&5
11880
11881
11882 fi
11883
11884 rm -rf conftest.dSYM
11885 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
11886 conftest$ac_exeext conftest.$ac_ext
11887 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
11888
11889 hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
11890 # Warning - without using the other run time loading flags,
11891 # -berok will link without error, but may produce a broken library.
11892 no_undefined_flag_CXX=' ${wl}-bernotok'
11893 allow_undefined_flag_CXX=' ${wl}-berok'
11894 # Exported symbols can be pulled into shared objects from archives
11895 whole_archive_flag_spec_CXX='$convenience'
11896 archive_cmds_need_lc_CXX=yes
11897 # This is similar to how AIX traditionally builds its shared libraries.
11898 archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
11899 fi
11900 fi
11901 ;;
11902
11903 beos*)
11904 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
11905 allow_undefined_flag_CXX=unsupported
11906 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
11907 # support --undefined. This deserves some investigation. FIXME
11908 archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
11909 else
11910 ld_shlibs_CXX=no
11911 fi
11912 ;;
11913
11914 chorus*)
11915 case $cc_basename in
11916 *)
11917 # FIXME: insert proper C++ library support
11918 ld_shlibs_CXX=no
11919 ;;
11920 esac
11921 ;;
11922
11923 cygwin* | mingw* | pw32*)
11924 # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
11925 # as there is no search path for DLLs.
11926 hardcode_libdir_flag_spec_CXX='-L$libdir'
11927 allow_undefined_flag_CXX=unsupported
11928 always_export_symbols_CXX=no
11929 enable_shared_with_static_runtimes_CXX=yes
11930
11931 if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
11932 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
11933 # If the export-symbols file already is a .def file (1st line
11934 # is EXPORTS), use it as is; otherwise, prepend...
11935 archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
11936 cp $export_symbols $output_objdir/$soname.def;
11937 else
11938 echo EXPORTS > $output_objdir/$soname.def;
11939 cat $export_symbols >> $output_objdir/$soname.def;
11940 fi~
11941 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
11942 else
11943 ld_shlibs_CXX=no
11944 fi
11945 ;;
11946 darwin* | rhapsody*)
11947 archive_cmds_need_lc_CXX=no
11948 hardcode_direct_CXX=no
11949 hardcode_automatic_CXX=yes
11950 hardcode_shlibpath_var_CXX=unsupported
11951 whole_archive_flag_spec_CXX=''
11952 link_all_deplibs_CXX=yes
11953 allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
11954 if test "$GXX" = yes ; then
11955 output_verbose_link_cmd='echo'
11956 archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
11957 module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
11958 archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
11959 module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
11960 if test "$lt_cv_apple_cc_single_mod" != "yes"; then
11961 archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
11962 archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
11963 fi
11964 else
11965 case $cc_basename in
11966 xlc*)
11967 output_verbose_link_cmd='echo'
11968 archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
11969 module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
11970 # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
11971 archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
11972 module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
11973 ;;
11974 *)
11975 ld_shlibs_CXX=no
11976 ;;
11977 esac
11978 fi
11979 ;;
11980
11981 dgux*)
11982 case $cc_basename in
11983 ec++*)
11984 # FIXME: insert proper C++ library support
11985 ld_shlibs_CXX=no
11986 ;;
11987 ghcx*)
11988 # Green Hills C++ Compiler
11989 # FIXME: insert proper C++ library support
11990 ld_shlibs_CXX=no
11991 ;;
11992 *)
11993 # FIXME: insert proper C++ library support
11994 ld_shlibs_CXX=no
11995 ;;
11996 esac
11997 ;;
11998 freebsd[12]*)
11999 # C++ shared libraries reported to be fairly broken before switch to ELF
12000 ld_shlibs_CXX=no
12001 ;;
12002 freebsd-elf*)
12003 archive_cmds_need_lc_CXX=no
12004 ;;
12005 freebsd* | dragonfly*)
12006 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
12007 # conventions
12008 ld_shlibs_CXX=yes
12009 ;;
12010 gnu*)
12011 ;;
12012 hpux9*)
12013 hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
12014 hardcode_libdir_separator_CXX=:
12015 export_dynamic_flag_spec_CXX='${wl}-E'
12016 hardcode_direct_CXX=yes
12017 hardcode_minus_L_CXX=yes # Not in the search PATH,
12018 # but as the default
12019 # location of the library.
12020
12021 case $cc_basename in
12022 CC*)
12023 # FIXME: insert proper C++ library support
12024 ld_shlibs_CXX=no
12025 ;;
12026 aCC*)
12027 archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
12028 # Commands to make compiler produce verbose output that lists
12029 # what "hidden" libraries, object files and flags are used when
12030 # linking a shared library.
12031 #
12032 # There doesn't appear to be a way to prevent this compiler from
12033 # explicitly linking system object files so we need to strip them
12034 # from the output so that they don't get included in the library
12035 # dependencies.
12036 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
12037 ;;
12038 *)
12039 if test "$GXX" = yes; then
12040 archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
12041 else
12042 # FIXME: insert proper C++ library support
12043 ld_shlibs_CXX=no
12044 fi
12045 ;;
12046 esac
12047 ;;
12048 hpux10*|hpux11*)
12049 if test $with_gnu_ld = no; then
12050 hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
12051 hardcode_libdir_separator_CXX=:
12052
12053 case $host_cpu in
12054 hppa*64*|ia64*) ;;
12055 *)
12056 export_dynamic_flag_spec_CXX='${wl}-E'
12057 ;;
12058 esac
12059 fi
12060 case $host_cpu in
12061 hppa*64*|ia64*)
12062 hardcode_direct_CXX=no
12063 hardcode_shlibpath_var_CXX=no
12064 ;;
12065 *)
12066 hardcode_direct_CXX=yes
12067 hardcode_minus_L_CXX=yes # Not in the search PATH,
12068 # but as the default
12069 # location of the library.
12070 ;;
12071 esac
12072
12073 case $cc_basename in
12074 CC*)
12075 # FIXME: insert proper C++ library support
12076 ld_shlibs_CXX=no
12077 ;;
12078 aCC*)
12079 case $host_cpu in
12080 hppa*64*)
12081 archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12082 ;;
12083 ia64*)
12084 archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12085 ;;
12086 *)
12087 archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12088 ;;
12089 esac
12090 # Commands to make compiler produce verbose output that lists
12091 # what "hidden" libraries, object files and flags are used when
12092 # linking a shared library.
12093 #
12094 # There doesn't appear to be a way to prevent this compiler from
12095 # explicitly linking system object files so we need to strip them
12096 # from the output so that they don't get included in the library
12097 # dependencies.
12098 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
12099 ;;
12100 *)
12101 if test "$GXX" = yes; then
12102 if test $with_gnu_ld = no; then
12103 case $host_cpu in
12104 hppa*64*)
12105 archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12106 ;;
12107 ia64*)
12108 archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12109 ;;
12110 *)
12111 archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12112 ;;
12113 esac
12114 fi
12115 else
12116 # FIXME: insert proper C++ library support
12117 ld_shlibs_CXX=no
12118 fi
12119 ;;
12120 esac
12121 ;;
12122 interix[3-9]*)
12123 hardcode_direct_CXX=no
12124 hardcode_shlibpath_var_CXX=no
12125 hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
12126 export_dynamic_flag_spec_CXX='${wl}-E'
12127 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
12128 # Instead, shared libraries are loaded at an image base (0x10000000 by
12129 # default) and relocated if they conflict, which is a slow very memory
12130 # consuming and fragmenting process. To avoid this, we pick a random,
12131 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
12132 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
12133 archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
12134 archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
12135 ;;
12136 irix5* | irix6*)
12137 case $cc_basename in
12138 CC*)
12139 # SGI C++
12140 archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
12141
12142 # Archives containing C++ object files must be created using
12143 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
12144 # necessary to make sure instantiated templates are included
12145 # in the archive.
12146 old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
12147 ;;
12148 *)
12149 if test "$GXX" = yes; then
12150 if test "$with_gnu_ld" = no; then
12151 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
12152 else
12153 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
12154 fi
12155 fi
12156 link_all_deplibs_CXX=yes
12157 ;;
12158 esac
12159 hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
12160 hardcode_libdir_separator_CXX=:
12161 ;;
12162 linux* | k*bsd*-gnu)
12163 case $cc_basename in
12164 KCC*)
12165 # Kuck and Associates, Inc. (KAI) C++ Compiler
12166
12167 # KCC will only create a shared library if the output file
12168 # ends with ".so" (or ".sl" for HP-UX), so rename the library
12169 # to its proper name (with version) after linking.
12170 archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
12171 archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
12172 # Commands to make compiler produce verbose output that lists
12173 # what "hidden" libraries, object files and flags are used when
12174 # linking a shared library.
12175 #
12176 # There doesn't appear to be a way to prevent this compiler from
12177 # explicitly linking system object files so we need to strip them
12178 # from the output so that they don't get included in the library
12179 # dependencies.
12180 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
12181
12182 hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
12183 export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
12184
12185 # Archives containing C++ object files must be created using
12186 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
12187 old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
12188 ;;
12189 icpc*)
12190 # Intel C++
12191 with_gnu_ld=yes
12192 # version 8.0 and above of icpc choke on multiply defined symbols
12193 # if we add $predep_objects and $postdep_objects, however 7.1 and
12194 # earlier do not add the objects themselves.
12195 case `$CC -V 2>&1` in
12196 *"Version 7."*)
12197 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
12198 archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12199 ;;
12200 *) # Version 8.0 or newer
12201 tmp_idyn=
12202 case $host_cpu in
12203 ia64*) tmp_idyn=' -i_dynamic';;
12204 esac
12205 archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12206 archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12207 ;;
12208 esac
12209 archive_cmds_need_lc_CXX=no
12210 hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
12211 export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
12212 whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
12213 ;;
12214 pgCC* | pgcpp*)
12215 # Portland Group C++ compiler
12216 archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
12217 archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
12218
12219 hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
12220 export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
12221 whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
12222 ;;
12223 cxx*)
12224 # Compaq C++
12225 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
12226 archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
12227
12228 runpath_var=LD_RUN_PATH
12229 hardcode_libdir_flag_spec_CXX='-rpath $libdir'
12230 hardcode_libdir_separator_CXX=:
12231
12232 # Commands to make compiler produce verbose output that lists
12233 # what "hidden" libraries, object files and flags are used when
12234 # linking a shared library.
12235 #
12236 # There doesn't appear to be a way to prevent this compiler from
12237 # explicitly linking system object files so we need to strip them
12238 # from the output so that they don't get included in the library
12239 # dependencies.
12240 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
12241 ;;
12242 *)
12243 case `$CC -V 2>&1 | sed 5q` in
12244 *Sun\ C*)
12245 # Sun C++ 5.9
12246 no_undefined_flag_CXX=' -zdefs'
12247 archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12248 archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
12249 hardcode_libdir_flag_spec_CXX='-R$libdir'
12250 whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
12251
12252 # Not sure whether something based on
12253 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
12254 # would be better.
12255 output_verbose_link_cmd='echo'
12256
12257 # Archives containing C++ object files must be created using
12258 # "CC -xar", where "CC" is the Sun C++ compiler. This is
12259 # necessary to make sure instantiated templates are included
12260 # in the archive.
12261 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
12262 ;;
12263 esac
12264 ;;
12265 esac
12266 ;;
12267 lynxos*)
12268 # FIXME: insert proper C++ library support
12269 ld_shlibs_CXX=no
12270 ;;
12271 m88k*)
12272 # FIXME: insert proper C++ library support
12273 ld_shlibs_CXX=no
12274 ;;
12275 mvs*)
12276 case $cc_basename in
12277 cxx*)
12278 # FIXME: insert proper C++ library support
12279 ld_shlibs_CXX=no
12280 ;;
12281 *)
12282 # FIXME: insert proper C++ library support
12283 ld_shlibs_CXX=no
12284 ;;
12285 esac
12286 ;;
12287 netbsd*)
12288 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
12289 archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
12290 wlarc=
12291 hardcode_libdir_flag_spec_CXX='-R$libdir'
12292 hardcode_direct_CXX=yes
12293 hardcode_shlibpath_var_CXX=no
12294 fi
12295 # Workaround some broken pre-1.5 toolchains
12296 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
12297 ;;
12298 openbsd2*)
12299 # C++ shared libraries are fairly broken
12300 ld_shlibs_CXX=no
12301 ;;
12302 openbsd*)
12303 if test -f /usr/libexec/ld.so; then
12304 hardcode_direct_CXX=yes
12305 hardcode_shlibpath_var_CXX=no
12306 archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
12307 hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
12308 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
12309 archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
12310 export_dynamic_flag_spec_CXX='${wl}-E'
12311 whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
12312 fi
12313 output_verbose_link_cmd='echo'
12314 else
12315 ld_shlibs_CXX=no
12316 fi
12317 ;;
12318 osf3*)
12319 case $cc_basename in
12320 KCC*)
12321 # Kuck and Associates, Inc. (KAI) C++ Compiler
12322
12323 # KCC will only create a shared library if the output file
12324 # ends with ".so" (or ".sl" for HP-UX), so rename the library
12325 # to its proper name (with version) after linking.
12326 archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
12327
12328 hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
12329 hardcode_libdir_separator_CXX=:
12330
12331 # Archives containing C++ object files must be created using
12332 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
12333 old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
12334
12335 ;;
12336 RCC*)
12337 # Rational C++ 2.4.1
12338 # FIXME: insert proper C++ library support
12339 ld_shlibs_CXX=no
12340 ;;
12341 cxx*)
12342 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
12343 archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
12344
12345 hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
12346 hardcode_libdir_separator_CXX=:
12347
12348 # Commands to make compiler produce verbose output that lists
12349 # what "hidden" libraries, object files and flags are used when
12350 # linking a shared library.
12351 #
12352 # There doesn't appear to be a way to prevent this compiler from
12353 # explicitly linking system object files so we need to strip them
12354 # from the output so that they don't get included in the library
12355 # dependencies.
12356 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
12357 ;;
12358 *)
12359 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
12360 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
12361 archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
12362
12363 hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
12364 hardcode_libdir_separator_CXX=:
12365
12366 # Commands to make compiler produce verbose output that lists
12367 # what "hidden" libraries, object files and flags are used when
12368 # linking a shared library.
12369 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
12370
12371 else
12372 # FIXME: insert proper C++ library support
12373 ld_shlibs_CXX=no
12374 fi
12375 ;;
12376 esac
12377 ;;
12378 osf4* | osf5*)
12379 case $cc_basename in
12380 KCC*)
12381 # Kuck and Associates, Inc. (KAI) C++ Compiler
12382
12383 # KCC will only create a shared library if the output file
12384 # ends with ".so" (or ".sl" for HP-UX), so rename the library
12385 # to its proper name (with version) after linking.
12386 archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
12387
12388 hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
12389 hardcode_libdir_separator_CXX=:
12390
12391 # Archives containing C++ object files must be created using
12392 # the KAI C++ compiler.
12393 old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
12394 ;;
12395 RCC*)
12396 # Rational C++ 2.4.1
12397 # FIXME: insert proper C++ library support
12398 ld_shlibs_CXX=no
12399 ;;
12400 cxx*)
12401 allow_undefined_flag_CXX=' -expect_unresolved \*'
12402 archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
12403 archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
12404 echo "-hidden">> $lib.exp~
12405 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
12406 $rm $lib.exp'
12407
12408 hardcode_libdir_flag_spec_CXX='-rpath $libdir'
12409 hardcode_libdir_separator_CXX=:
12410
12411 # Commands to make compiler produce verbose output that lists
12412 # what "hidden" libraries, object files and flags are used when
12413 # linking a shared library.
12414 #
12415 # There doesn't appear to be a way to prevent this compiler from
12416 # explicitly linking system object files so we need to strip them
12417 # from the output so that they don't get included in the library
12418 # dependencies.
12419 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
12420 ;;
12421 *)
12422 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
12423 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
12424 archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
12425
12426 hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
12427 hardcode_libdir_separator_CXX=:
12428
12429 # Commands to make compiler produce verbose output that lists
12430 # what "hidden" libraries, object files and flags are used when
12431 # linking a shared library.
12432 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
12433
12434 else
12435 # FIXME: insert proper C++ library support
12436 ld_shlibs_CXX=no
12437 fi
12438 ;;
12439 esac
12440 ;;
12441 psos*)
12442 # FIXME: insert proper C++ library support
12443 ld_shlibs_CXX=no
12444 ;;
12445 sunos4*)
12446 case $cc_basename in
12447 CC*)
12448 # Sun C++ 4.x
12449 # FIXME: insert proper C++ library support
12450 ld_shlibs_CXX=no
12451 ;;
12452 lcc*)
12453 # Lucid
12454 # FIXME: insert proper C++ library support
12455 ld_shlibs_CXX=no
12456 ;;
12457 *)
12458 # FIXME: insert proper C++ library support
12459 ld_shlibs_CXX=no
12460 ;;
12461 esac
12462 ;;
12463 solaris*)
12464 case $cc_basename in
12465 CC*)
12466 # Sun C++ 4.2, 5.x and Centerline C++
12467 archive_cmds_need_lc_CXX=yes
12468 no_undefined_flag_CXX=' -zdefs'
12469 archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12470 archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
12471 $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
12472
12473 hardcode_libdir_flag_spec_CXX='-R$libdir'
12474 hardcode_shlibpath_var_CXX=no
12475 case $host_os in
12476 solaris2.[0-5] | solaris2.[0-5].*) ;;
12477 *)
12478 # The compiler driver will combine and reorder linker options,
12479 # but understands `-z linker_flag'.
12480 # Supported since Solaris 2.6 (maybe 2.5.1?)
12481 whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
12482 ;;
12483 esac
12484 link_all_deplibs_CXX=yes
12485
12486 output_verbose_link_cmd='echo'
12487
12488 # Archives containing C++ object files must be created using
12489 # "CC -xar", where "CC" is the Sun C++ compiler. This is
12490 # necessary to make sure instantiated templates are included
12491 # in the archive.
12492 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
12493 ;;
12494 gcx*)
12495 # Green Hills C++ Compiler
12496 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
12497
12498 # The C++ compiler must be used to create the archive.
12499 old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
12500 ;;
12501 *)
12502 # GNU C++ compiler with Solaris linker
12503 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
12504 no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
12505 if $CC --version | grep -v '^2\.7' > /dev/null; then
12506 archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
12507 archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
12508 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
12509
12510 # Commands to make compiler produce verbose output that lists
12511 # what "hidden" libraries, object files and flags are used when
12512 # linking a shared library.
12513 output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
12514 else
12515 # g++ 2.7 appears to require `-G' NOT `-shared' on this
12516 # platform.
12517 archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
12518 archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
12519 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
12520
12521 # Commands to make compiler produce verbose output that lists
12522 # what "hidden" libraries, object files and flags are used when
12523 # linking a shared library.
12524 output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
12525 fi
12526
12527 hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
12528 case $host_os in
12529 solaris2.[0-5] | solaris2.[0-5].*) ;;
12530 *)
12531 whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
12532 ;;
12533 esac
12534 fi
12535 ;;
12536 esac
12537 ;;
12538 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
12539 no_undefined_flag_CXX='${wl}-z,text'
12540 archive_cmds_need_lc_CXX=no
12541 hardcode_shlibpath_var_CXX=no
12542 runpath_var='LD_RUN_PATH'
12543
12544 case $cc_basename in
12545 CC*)
12546 archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
12547 archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
12548 ;;
12549 *)
12550 archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
12551 archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
12552 ;;
12553 esac
12554 ;;
12555 sysv5* | sco3.2v5* | sco5v6*)
12556 # Note: We can NOT use -z defs as we might desire, because we do not
12557 # link with -lc, and that would cause any symbols used from libc to
12558 # always be unresolved, which means just about no library would
12559 # ever link correctly. If we're not using GNU ld we use -z text
12560 # though, which does catch some bad symbols but isn't as heavy-handed
12561 # as -z defs.
12562 # For security reasons, it is highly recommended that you always
12563 # use absolute paths for naming shared libraries, and exclude the
12564 # DT_RUNPATH tag from executables and libraries. But doing so
12565 # requires that you compile everything twice, which is a pain.
12566 # So that behaviour is only enabled if SCOABSPATH is set to a
12567 # non-empty value in the environment. Most likely only useful for
12568 # creating official distributions of packages.
12569 # This is a hack until libtool officially supports absolute path
12570 # names for shared libraries.
12571 no_undefined_flag_CXX='${wl}-z,text'
12572 allow_undefined_flag_CXX='${wl}-z,nodefs'
12573 archive_cmds_need_lc_CXX=no
12574 hardcode_shlibpath_var_CXX=no
12575 hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
12576 hardcode_libdir_separator_CXX=':'
12577 link_all_deplibs_CXX=yes
12578 export_dynamic_flag_spec_CXX='${wl}-Bexport'
12579 runpath_var='LD_RUN_PATH'
12580
12581 case $cc_basename in
12582 CC*)
12583 archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
12584 archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
12585 ;;
12586 *)
12587 archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
12588 archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
12589 ;;
12590 esac
12591 ;;
12592 tandem*)
12593 case $cc_basename in
12594 NCC*)
12595 # NonStop-UX NCC 3.20
12596 # FIXME: insert proper C++ library support
12597 ld_shlibs_CXX=no
12598 ;;
12599 *)
12600 # FIXME: insert proper C++ library support
12601 ld_shlibs_CXX=no
12602 ;;
12603 esac
12604 ;;
12605 vxworks*)
12606 # FIXME: insert proper C++ library support
12607 ld_shlibs_CXX=no
12608 ;;
12609 *)
12610 # FIXME: insert proper C++ library support
12611 ld_shlibs_CXX=no
12612 ;;
12613 esac
12614 { $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
12615 $as_echo "$ld_shlibs_CXX" >&6; }
12616 test "$ld_shlibs_CXX" = no && can_build_shared=no
12617
12618 GCC_CXX="$GXX"
12619 LD_CXX="$LD"
12620
12621 cat > conftest.$ac_ext <<EOF
12622 class Foo
12623 {
12624 public:
12625 Foo (void) { a = 0; }
12626 private:
12627 int a;
12628 };
12629 EOF
12630
12631 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
12632 (eval $ac_compile) 2>&5
12633 ac_status=$?
12634 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
12635 (exit $ac_status); }; then
12636 # Parse the compiler output and extract the necessary
12637 # objects, libraries and library flags.
12638
12639 # Sentinel used to keep track of whether or not we are before
12640 # the conftest object file.
12641 pre_test_object_deps_done=no
12642
12643 # The `*' in the case matches for architectures that use `case' in
12644 # $output_verbose_cmd can trigger glob expansion during the loop
12645 # eval without this substitution.
12646 output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
12647
12648 for p in `eval $output_verbose_link_cmd`; do
12649 case $p in
12650
12651 -L* | -R* | -l*)
12652 # Some compilers place space between "-{L,R}" and the path.
12653 # Remove the space.
12654 if test $p = "-L" \
12655 || test $p = "-R"; then
12656 prev=$p
12657 continue
12658 else
12659 prev=
12660 fi
12661
12662 if test "$pre_test_object_deps_done" = no; then
12663 case $p in
12664 -L* | -R*)
12665 # Internal compiler library paths should come after those
12666 # provided the user. The postdeps already come after the
12667 # user supplied libs so there is no need to process them.
12668 if test -z "$compiler_lib_search_path_CXX"; then
12669 compiler_lib_search_path_CXX="${prev}${p}"
12670 else
12671 compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
12672 fi
12673 ;;
12674 # The "-l" case would never come before the object being
12675 # linked, so don't bother handling this case.
12676 esac
12677 else
12678 if test -z "$postdeps_CXX"; then
12679 postdeps_CXX="${prev}${p}"
12680 else
12681 postdeps_CXX="${postdeps_CXX} ${prev}${p}"
12682 fi
12683 fi
12684 ;;
12685
12686 *.$objext)
12687 # This assumes that the test object file only shows up
12688 # once in the compiler output.
12689 if test "$p" = "conftest.$objext"; then
12690 pre_test_object_deps_done=yes
12691 continue
12692 fi
12693
12694 if test "$pre_test_object_deps_done" = no; then
12695 if test -z "$predep_objects_CXX"; then
12696 predep_objects_CXX="$p"
12697 else
12698 predep_objects_CXX="$predep_objects_CXX $p"
12699 fi
12700 else
12701 if test -z "$postdep_objects_CXX"; then
12702 postdep_objects_CXX="$p"
12703 else
12704 postdep_objects_CXX="$postdep_objects_CXX $p"
12705 fi
12706 fi
12707 ;;
12708
12709 *) ;; # Ignore the rest.
12710
12711 esac
12712 done
12713
12714 # Clean up.
12715 rm -f a.out a.exe
12716 else
12717 echo "libtool.m4: error: problem compiling CXX test program"
12718 fi
12719
12720 $rm -f confest.$objext
12721
12722 compiler_lib_search_dirs_CXX=
12723 if test -n "$compiler_lib_search_path_CXX"; then
12724 compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
12725 fi
12726
12727 # PORTME: override above test on systems where it is broken
12728 case $host_os in
12729 interix[3-9]*)
12730 # Interix 3.5 installs completely hosed .la files for C++, so rather than
12731 # hack all around it, let's just trust "g++" to DTRT.
12732 predep_objects_CXX=
12733 postdep_objects_CXX=
12734 postdeps_CXX=
12735 ;;
12736
12737 linux*)
12738 case `$CC -V 2>&1 | sed 5q` in
12739 *Sun\ C*)
12740 # Sun C++ 5.9
12741 #
12742 # The more standards-conforming stlport4 library is
12743 # incompatible with the Cstd library. Avoid specifying
12744 # it if it's in CXXFLAGS. Ignore libCrun as
12745 # -library=stlport4 depends on it.
12746 case " $CXX $CXXFLAGS " in
12747 *" -library=stlport4 "*)
12748 solaris_use_stlport4=yes
12749 ;;
12750 esac
12751 if test "$solaris_use_stlport4" != yes; then
12752 postdeps_CXX='-library=Cstd -library=Crun'
12753 fi
12754 ;;
12755 esac
12756 ;;
12757
12758 solaris*)
12759 case $cc_basename in
12760 CC*)
12761 # The more standards-conforming stlport4 library is
12762 # incompatible with the Cstd library. Avoid specifying
12763 # it if it's in CXXFLAGS. Ignore libCrun as
12764 # -library=stlport4 depends on it.
12765 case " $CXX $CXXFLAGS " in
12766 *" -library=stlport4 "*)
12767 solaris_use_stlport4=yes
12768 ;;
12769 esac
12770
12771 # Adding this requires a known-good setup of shared libraries for
12772 # Sun compiler versions before 5.6, else PIC objects from an old
12773 # archive will be linked into the output, leading to subtle bugs.
12774 if test "$solaris_use_stlport4" != yes; then
12775 postdeps_CXX='-library=Cstd -library=Crun'
12776 fi
12777 ;;
12778 esac
12779 ;;
12780 esac
12781
12782 case " $postdeps_CXX " in
12783 *" -lc "*) archive_cmds_need_lc_CXX=no ;;
12784 esac
12785
12786 lt_prog_compiler_wl_CXX=
12787 lt_prog_compiler_pic_CXX=
12788 lt_prog_compiler_static_CXX=
12789
12790 { $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
12791 $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
12792
12793 # C++ specific cases for pic, static, wl, etc.
12794 if test "$GXX" = yes; then
12795 lt_prog_compiler_wl_CXX='-Wl,'
12796 lt_prog_compiler_static_CXX='-static'
12797
12798 case $host_os in
12799 aix*)
12800 # All AIX code is PIC.
12801 if test "$host_cpu" = ia64; then
12802 # AIX 5 now supports IA64 processor
12803 lt_prog_compiler_static_CXX='-Bstatic'
12804 fi
12805 ;;
12806 amigaos*)
12807 # FIXME: we need at least 68020 code to build shared libraries, but
12808 # adding the `-m68020' flag to GCC prevents building anything better,
12809 # like `-m68040'.
12810 lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
12811 ;;
12812 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
12813 # PIC is the default for these OSes.
12814 ;;
12815 mingw* | cygwin* | os2* | pw32*)
12816 # This hack is so that the source file can tell whether it is being
12817 # built for inclusion in a dll (and should export symbols for example).
12818 # Although the cygwin gcc ignores -fPIC, still need this for old-style
12819 # (--disable-auto-import) libraries
12820 lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
12821 ;;
12822 darwin* | rhapsody*)
12823 # PIC is the default on this platform
12824 # Common symbols not allowed in MH_DYLIB files
12825 lt_prog_compiler_pic_CXX='-fno-common'
12826 ;;
12827 *djgpp*)
12828 # DJGPP does not support shared libraries at all
12829 lt_prog_compiler_pic_CXX=
12830 ;;
12831 interix[3-9]*)
12832 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
12833 # Instead, we relocate shared libraries at runtime.
12834 ;;
12835 sysv4*MP*)
12836 if test -d /usr/nec; then
12837 lt_prog_compiler_pic_CXX=-Kconform_pic
12838 fi
12839 ;;
12840 hpux*)
12841 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
12842 # not for PA HP-UX.
12843 case $host_cpu in
12844 hppa*64*|ia64*)
12845 ;;
12846 *)
12847 lt_prog_compiler_pic_CXX='-fPIC'
12848 ;;
12849 esac
12850 ;;
12851 *)
12852 lt_prog_compiler_pic_CXX='-fPIC'
12853 ;;
12854 esac
12855 else
12856 case $host_os in
12857 aix[4-9]*)
12858 # All AIX code is PIC.
12859 if test "$host_cpu" = ia64; then
12860 # AIX 5 now supports IA64 processor
12861 lt_prog_compiler_static_CXX='-Bstatic'
12862 else
12863 lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
12864 fi
12865 ;;
12866 chorus*)
12867 case $cc_basename in
12868 cxch68*)
12869 # Green Hills C++ Compiler
12870 # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
12871 ;;
12872 esac
12873 ;;
12874 darwin*)
12875 # PIC is the default on this platform
12876 # Common symbols not allowed in MH_DYLIB files
12877 case $cc_basename in
12878 xlc*)
12879 lt_prog_compiler_pic_CXX='-qnocommon'
12880 lt_prog_compiler_wl_CXX='-Wl,'
12881 ;;
12882 esac
12883 ;;
12884 dgux*)
12885 case $cc_basename in
12886 ec++*)
12887 lt_prog_compiler_pic_CXX='-KPIC'
12888 ;;
12889 ghcx*)
12890 # Green Hills C++ Compiler
12891 lt_prog_compiler_pic_CXX='-pic'
12892 ;;
12893 *)
12894 ;;
12895 esac
12896 ;;
12897 freebsd* | dragonfly*)
12898 # FreeBSD uses GNU C++
12899 ;;
12900 hpux9* | hpux10* | hpux11*)
12901 case $cc_basename in
12902 CC*)
12903 lt_prog_compiler_wl_CXX='-Wl,'
12904 lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
12905 if test "$host_cpu" != ia64; then
12906 lt_prog_compiler_pic_CXX='+Z'
12907 fi
12908 ;;
12909 aCC*)
12910 lt_prog_compiler_wl_CXX='-Wl,'
12911 lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
12912 case $host_cpu in
12913 hppa*64*|ia64*)
12914 # +Z the default
12915 ;;
12916 *)
12917 lt_prog_compiler_pic_CXX='+Z'
12918 ;;
12919 esac
12920 ;;
12921 *)
12922 ;;
12923 esac
12924 ;;
12925 interix*)
12926 # This is c89, which is MS Visual C++ (no shared libs)
12927 # Anyone wants to do a port?
12928 ;;
12929 irix5* | irix6* | nonstopux*)
12930 case $cc_basename in
12931 CC*)
12932 lt_prog_compiler_wl_CXX='-Wl,'
12933 lt_prog_compiler_static_CXX='-non_shared'
12934 # CC pic flag -KPIC is the default.
12935 ;;
12936 *)
12937 ;;
12938 esac
12939 ;;
12940 linux* | k*bsd*-gnu)
12941 case $cc_basename in
12942 KCC*)
12943 # KAI C++ Compiler
12944 lt_prog_compiler_wl_CXX='--backend -Wl,'
12945 lt_prog_compiler_pic_CXX='-fPIC'
12946 ;;
12947 icpc* | ecpc*)
12948 # Intel C++
12949 lt_prog_compiler_wl_CXX='-Wl,'
12950 lt_prog_compiler_pic_CXX='-KPIC'
12951 lt_prog_compiler_static_CXX='-static'
12952 ;;
12953 pgCC* | pgcpp*)
12954 # Portland Group C++ compiler.
12955 lt_prog_compiler_wl_CXX='-Wl,'
12956 lt_prog_compiler_pic_CXX='-fpic'
12957 lt_prog_compiler_static_CXX='-Bstatic'
12958 ;;
12959 cxx*)
12960 # Compaq C++
12961 # Make sure the PIC flag is empty. It appears that all Alpha
12962 # Linux and Compaq Tru64 Unix objects are PIC.
12963 lt_prog_compiler_pic_CXX=
12964 lt_prog_compiler_static_CXX='-non_shared'
12965 ;;
12966 *)
12967 case `$CC -V 2>&1 | sed 5q` in
12968 *Sun\ C*)
12969 # Sun C++ 5.9
12970 lt_prog_compiler_pic_CXX='-KPIC'
12971 lt_prog_compiler_static_CXX='-Bstatic'
12972 lt_prog_compiler_wl_CXX='-Qoption ld '
12973 ;;
12974 esac
12975 ;;
12976 esac
12977 ;;
12978 lynxos*)
12979 ;;
12980 m88k*)
12981 ;;
12982 mvs*)
12983 case $cc_basename in
12984 cxx*)
12985 lt_prog_compiler_pic_CXX='-W c,exportall'
12986 ;;
12987 *)
12988 ;;
12989 esac
12990 ;;
12991 netbsd*)
12992 ;;
12993 osf3* | osf4* | osf5*)
12994 case $cc_basename in
12995 KCC*)
12996 lt_prog_compiler_wl_CXX='--backend -Wl,'
12997 ;;
12998 RCC*)
12999 # Rational C++ 2.4.1
13000 lt_prog_compiler_pic_CXX='-pic'
13001 ;;
13002 cxx*)
13003 # Digital/Compaq C++
13004 lt_prog_compiler_wl_CXX='-Wl,'
13005 # Make sure the PIC flag is empty. It appears that all Alpha
13006 # Linux and Compaq Tru64 Unix objects are PIC.
13007 lt_prog_compiler_pic_CXX=
13008 lt_prog_compiler_static_CXX='-non_shared'
13009 ;;
13010 *)
13011 ;;
13012 esac
13013 ;;
13014 psos*)
13015 ;;
13016 solaris*)
13017 case $cc_basename in
13018 CC*)
13019 # Sun C++ 4.2, 5.x and Centerline C++
13020 lt_prog_compiler_pic_CXX='-KPIC'
13021 lt_prog_compiler_static_CXX='-Bstatic'
13022 lt_prog_compiler_wl_CXX='-Qoption ld '
13023 ;;
13024 gcx*)
13025 # Green Hills C++ Compiler
13026 lt_prog_compiler_pic_CXX='-PIC'
13027 ;;
13028 *)
13029 ;;
13030 esac
13031 ;;
13032 sunos4*)
13033 case $cc_basename in
13034 CC*)
13035 # Sun C++ 4.x
13036 lt_prog_compiler_pic_CXX='-pic'
13037 lt_prog_compiler_static_CXX='-Bstatic'
13038 ;;
13039 lcc*)
13040 # Lucid
13041 lt_prog_compiler_pic_CXX='-pic'
13042 ;;
13043 *)
13044 ;;
13045 esac
13046 ;;
13047 tandem*)
13048 case $cc_basename in
13049 NCC*)
13050 # NonStop-UX NCC 3.20
13051 lt_prog_compiler_pic_CXX='-KPIC'
13052 ;;
13053 *)
13054 ;;
13055 esac
13056 ;;
13057 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
13058 case $cc_basename in
13059 CC*)
13060 lt_prog_compiler_wl_CXX='-Wl,'
13061 lt_prog_compiler_pic_CXX='-KPIC'
13062 lt_prog_compiler_static_CXX='-Bstatic'
13063 ;;
13064 esac
13065 ;;
13066 vxworks*)
13067 ;;
13068 *)
13069 lt_prog_compiler_can_build_shared_CXX=no
13070 ;;
13071 esac
13072 fi
13073
13074 { $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
13075 $as_echo "$lt_prog_compiler_pic_CXX" >&6; }
13076
13077 #
13078 # Check to make sure the PIC flag actually works.
13079 #
13080 if test -n "$lt_prog_compiler_pic_CXX"; then
13081
13082 { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
13083 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
13084 if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
13085 $as_echo_n "(cached) " >&6
13086 else
13087 lt_cv_prog_compiler_pic_works_CXX=no
13088 ac_outfile=conftest.$ac_objext
13089 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
13090 lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
13091 # Insert the option either (1) after the last *FLAGS variable, or
13092 # (2) before a word containing "conftest.", or (3) at the end.
13093 # Note that $ac_compile itself does not contain backslashes and begins
13094 # with a dollar sign (not a hyphen), so the echo should work correctly.
13095 # The option is referenced via a variable to avoid confusing sed.
13096 lt_compile=`echo "$ac_compile" | $SED \
13097 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
13098 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
13099 -e 's:$: $lt_compiler_flag:'`
13100 (eval echo "\"\$as_me:13101: $lt_compile\"" >&5)
13101 (eval "$lt_compile" 2>conftest.err)
13102 ac_status=$?
13103 cat conftest.err >&5
13104 echo "$as_me:13105: \$? = $ac_status" >&5
13105 if (exit $ac_status) && test -s "$ac_outfile"; then
13106 # The compiler can only warn and ignore the option if not recognized
13107 # So say no if there are warnings other than the usual output.
13108 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
13109 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
13110 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
13111 lt_cv_prog_compiler_pic_works_CXX=yes
13112 fi
13113 fi
13114 $rm conftest*
13115
13116 fi
13117 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
13118 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
13119
13120 if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
13121 case $lt_prog_compiler_pic_CXX in
13122 "" | " "*) ;;
13123 *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
13124 esac
13125 else
13126 lt_prog_compiler_pic_CXX=
13127 lt_prog_compiler_can_build_shared_CXX=no
13128 fi
13129
13130 fi
13131 case $host_os in
13132 # For platforms which do not support PIC, -DPIC is meaningless:
13133 *djgpp*)
13134 lt_prog_compiler_pic_CXX=
13135 ;;
13136 *)
13137 lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
13138 ;;
13139 esac
13140
13141 #
13142 # Check to make sure the static flag actually works.
13143 #
13144 wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
13145 { $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
13146 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
13147 if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
13148 $as_echo_n "(cached) " >&6
13149 else
13150 lt_cv_prog_compiler_static_works_CXX=no
13151 save_LDFLAGS="$LDFLAGS"
13152 LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
13153 echo "$lt_simple_link_test_code" > conftest.$ac_ext
13154 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
13155 # The linker can only warn and ignore the option if not recognized
13156 # So say no if there are warnings
13157 if test -s conftest.err; then
13158 # Append any errors to the config.log.
13159 cat conftest.err 1>&5
13160 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
13161 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
13162 if diff conftest.exp conftest.er2 >/dev/null; then
13163 lt_cv_prog_compiler_static_works_CXX=yes
13164 fi
13165 else
13166 lt_cv_prog_compiler_static_works_CXX=yes
13167 fi
13168 fi
13169 $rm -r conftest*
13170 LDFLAGS="$save_LDFLAGS"
13171
13172 fi
13173 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
13174 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
13175
13176 if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
13177 :
13178 else
13179 lt_prog_compiler_static_CXX=
13180 fi
13181
13182
13183 { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
13184 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
13185 if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
13186 $as_echo_n "(cached) " >&6
13187 else
13188 lt_cv_prog_compiler_c_o_CXX=no
13189 $rm -r conftest 2>/dev/null
13190 mkdir conftest
13191 cd conftest
13192 mkdir out
13193 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
13194
13195 lt_compiler_flag="-o out/conftest2.$ac_objext"
13196 # Insert the option either (1) after the last *FLAGS variable, or
13197 # (2) before a word containing "conftest.", or (3) at the end.
13198 # Note that $ac_compile itself does not contain backslashes and begins
13199 # with a dollar sign (not a hyphen), so the echo should work correctly.
13200 lt_compile=`echo "$ac_compile" | $SED \
13201 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
13202 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
13203 -e 's:$: $lt_compiler_flag:'`
13204 (eval echo "\"\$as_me:13205: $lt_compile\"" >&5)
13205 (eval "$lt_compile" 2>out/conftest.err)
13206 ac_status=$?
13207 cat out/conftest.err >&5
13208 echo "$as_me:13209: \$? = $ac_status" >&5
13209 if (exit $ac_status) && test -s out/conftest2.$ac_objext
13210 then
13211 # The compiler can only warn and ignore the option if not recognized
13212 # So say no if there are warnings
13213 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
13214 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
13215 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
13216 lt_cv_prog_compiler_c_o_CXX=yes
13217 fi
13218 fi
13219 chmod u+w . 2>&5
13220 $rm conftest*
13221 # SGI C++ compiler will create directory out/ii_files/ for
13222 # template instantiation
13223 test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
13224 $rm out/* && rmdir out
13225 cd ..
13226 rmdir conftest
13227 $rm conftest*
13228
13229 fi
13230 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
13231 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
13232
13233
13234 hard_links="nottested"
13235 if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
13236 # do not overwrite the value of need_locks provided by the user
13237 { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
13238 $as_echo_n "checking if we can lock with hard links... " >&6; }
13239 hard_links=yes
13240 $rm conftest*
13241 ln conftest.a conftest.b 2>/dev/null && hard_links=no
13242 touch conftest.a
13243 ln conftest.a conftest.b 2>&5 || hard_links=no
13244 ln conftest.a conftest.b 2>/dev/null && hard_links=no
13245 { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
13246 $as_echo "$hard_links" >&6; }
13247 if test "$hard_links" = no; then
13248 { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
13249 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
13250 need_locks=warn
13251 fi
13252 else
13253 need_locks=no
13254 fi
13255
13256 { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
13257 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
13258
13259 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
13260 case $host_os in
13261 aix[4-9]*)
13262 # If we're using GNU nm, then we don't want the "-C" option.
13263 # -C means demangle to AIX nm, but means don't demangle with GNU nm
13264 if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
13265 export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
13266 else
13267 export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
13268 fi
13269 ;;
13270 pw32*)
13271 export_symbols_cmds_CXX="$ltdll_cmds"
13272 ;;
13273 cygwin* | mingw*)
13274 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
13275 ;;
13276 *)
13277 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
13278 ;;
13279 esac
13280 exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
13281
13282 { $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
13283 $as_echo "$ld_shlibs_CXX" >&6; }
13284 test "$ld_shlibs_CXX" = no && can_build_shared=no
13285
13286 #
13287 # Do we need to explicitly link libc?
13288 #
13289 case "x$archive_cmds_need_lc_CXX" in
13290 x|xyes)
13291 # Assume -lc should be added
13292 archive_cmds_need_lc_CXX=yes
13293
13294 if test "$enable_shared" = yes && test "$GCC" = yes; then
13295 case $archive_cmds_CXX in
13296 *'~'*)
13297 # FIXME: we may have to deal with multi-command sequences.
13298 ;;
13299 '$CC '*)
13300 # Test whether the compiler implicitly links with -lc since on some
13301 # systems, -lgcc has to come before -lc. If gcc already passes -lc
13302 # to ld, don't add -lc before -lgcc.
13303 { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
13304 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
13305 $rm conftest*
13306 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
13307
13308 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
13309 (eval $ac_compile) 2>&5
13310 ac_status=$?
13311 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
13312 (exit $ac_status); } 2>conftest.err; then
13313 soname=conftest
13314 lib=conftest
13315 libobjs=conftest.$ac_objext
13316 deplibs=
13317 wl=$lt_prog_compiler_wl_CXX
13318 pic_flag=$lt_prog_compiler_pic_CXX
13319 compiler_flags=-v
13320 linker_flags=-v
13321 verstring=
13322 output_objdir=.
13323 libname=conftest
13324 lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
13325 allow_undefined_flag_CXX=
13326 if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
13327 (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
13328 ac_status=$?
13329 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
13330 (exit $ac_status); }
13331 then
13332 archive_cmds_need_lc_CXX=no
13333 else
13334 archive_cmds_need_lc_CXX=yes
13335 fi
13336 allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
13337 else
13338 cat conftest.err 1>&5
13339 fi
13340 $rm conftest*
13341 { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
13342 $as_echo "$archive_cmds_need_lc_CXX" >&6; }
13343 ;;
13344 esac
13345 fi
13346 ;;
13347 esac
13348
13349 { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
13350 $as_echo_n "checking dynamic linker characteristics... " >&6; }
13351 library_names_spec=
13352 libname_spec='lib$name'
13353 soname_spec=
13354 shrext_cmds=".so"
13355 postinstall_cmds=
13356 postuninstall_cmds=
13357 finish_cmds=
13358 finish_eval=
13359 shlibpath_var=
13360 shlibpath_overrides_runpath=unknown
13361 version_type=none
13362 dynamic_linker="$host_os ld.so"
13363 sys_lib_dlsearch_path_spec="/lib /usr/lib"
13364
13365 need_lib_prefix=unknown
13366 hardcode_into_libs=no
13367
13368 # when you set need_version to no, make sure it does not cause -set_version
13369 # flags to be left without arguments
13370 need_version=unknown
13371
13372 case $host_os in
13373 aix3*)
13374 version_type=linux
13375 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
13376 shlibpath_var=LIBPATH
13377
13378 # AIX 3 has no versioning support, so we append a major version to the name.
13379 soname_spec='${libname}${release}${shared_ext}$major'
13380 ;;
13381
13382 aix[4-9]*)
13383 version_type=linux
13384 need_lib_prefix=no
13385 need_version=no
13386 hardcode_into_libs=yes
13387 if test "$host_cpu" = ia64; then
13388 # AIX 5 supports IA64
13389 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
13390 shlibpath_var=LD_LIBRARY_PATH
13391 else
13392 # With GCC up to 2.95.x, collect2 would create an import file
13393 # for dependence libraries. The import file would start with
13394 # the line `#! .'. This would cause the generated library to
13395 # depend on `.', always an invalid library. This was fixed in
13396 # development snapshots of GCC prior to 3.0.
13397 case $host_os in
13398 aix4 | aix4.[01] | aix4.[01].*)
13399 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
13400 echo ' yes '
13401 echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
13402 :
13403 else
13404 can_build_shared=no
13405 fi
13406 ;;
13407 esac
13408 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
13409 # soname into executable. Probably we can add versioning support to
13410 # collect2, so additional links can be useful in future.
13411 if test "$aix_use_runtimelinking" = yes; then
13412 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
13413 # instead of lib<name>.a to let people know that these are not
13414 # typical AIX shared libraries.
13415 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13416 else
13417 # We preserve .a as extension for shared libraries through AIX4.2
13418 # and later when we are not doing run time linking.
13419 library_names_spec='${libname}${release}.a $libname.a'
13420 soname_spec='${libname}${release}${shared_ext}$major'
13421 fi
13422 shlibpath_var=LIBPATH
13423 fi
13424 ;;
13425
13426 amigaos*)
13427 library_names_spec='$libname.ixlibrary $libname.a'
13428 # Create ${libname}_ixlibrary.a entries in /sys/libs.
13429 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
13430 ;;
13431
13432 beos*)
13433 library_names_spec='${libname}${shared_ext}'
13434 dynamic_linker="$host_os ld.so"
13435 shlibpath_var=LIBRARY_PATH
13436 ;;
13437
13438 bsdi[45]*)
13439 version_type=linux
13440 need_version=no
13441 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13442 soname_spec='${libname}${release}${shared_ext}$major'
13443 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
13444 shlibpath_var=LD_LIBRARY_PATH
13445 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
13446 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
13447 # the default ld.so.conf also contains /usr/contrib/lib and
13448 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
13449 # libtool to hard-code these into programs
13450 ;;
13451
13452 cygwin* | mingw* | pw32*)
13453 version_type=windows
13454 shrext_cmds=".dll"
13455 need_version=no
13456 need_lib_prefix=no
13457
13458 case $GCC,$host_os in
13459 yes,cygwin* | yes,mingw* | yes,pw32*)
13460 library_names_spec='$libname.dll.a'
13461 # DLL is installed to $(libdir)/../bin by postinstall_cmds
13462 postinstall_cmds='base_file=`basename \${file}`~
13463 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
13464 dldir=$destdir/`dirname \$dlpath`~
13465 test -d \$dldir || mkdir -p \$dldir~
13466 $install_prog $dir/$dlname \$dldir/$dlname~
13467 chmod a+x \$dldir/$dlname'
13468 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
13469 dlpath=$dir/\$dldll~
13470 $rm \$dlpath'
13471 shlibpath_overrides_runpath=yes
13472
13473 case $host_os in
13474 cygwin*)
13475 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
13476 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
13477 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
13478 ;;
13479 mingw*)
13480 # MinGW DLLs use traditional 'lib' prefix
13481 soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
13482 sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
13483 if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
13484 # It is most probably a Windows format PATH printed by
13485 # mingw gcc, but we are running on Cygwin. Gcc prints its search
13486 # path with ; separators, and with drive letters. We can handle the
13487 # drive letters (cygwin fileutils understands them), so leave them,
13488 # especially as we might pass files found there to a mingw objdump,
13489 # which wouldn't understand a cygwinified path. Ahh.
13490 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
13491 else
13492 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
13493 fi
13494 ;;
13495 pw32*)
13496 # pw32 DLLs use 'pw' prefix rather than 'lib'
13497 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
13498 ;;
13499 esac
13500 ;;
13501
13502 *)
13503 library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
13504 ;;
13505 esac
13506 dynamic_linker='Win32 ld.exe'
13507 # FIXME: first we should search . and the directory the executable is in
13508 shlibpath_var=PATH
13509 ;;
13510
13511 darwin* | rhapsody*)
13512 dynamic_linker="$host_os dyld"
13513 version_type=darwin
13514 need_lib_prefix=no
13515 need_version=no
13516 library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
13517 soname_spec='${libname}${release}${major}$shared_ext'
13518 shlibpath_overrides_runpath=yes
13519 shlibpath_var=DYLD_LIBRARY_PATH
13520 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
13521
13522 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
13523 ;;
13524
13525 dgux*)
13526 version_type=linux
13527 need_lib_prefix=no
13528 need_version=no
13529 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
13530 soname_spec='${libname}${release}${shared_ext}$major'
13531 shlibpath_var=LD_LIBRARY_PATH
13532 ;;
13533
13534 freebsd1*)
13535 dynamic_linker=no
13536 ;;
13537
13538 freebsd* | dragonfly*)
13539 # DragonFly does not have aout. When/if they implement a new
13540 # versioning mechanism, adjust this.
13541 if test -x /usr/bin/objformat; then
13542 objformat=`/usr/bin/objformat`
13543 else
13544 case $host_os in
13545 freebsd[123]*) objformat=aout ;;
13546 *) objformat=elf ;;
13547 esac
13548 fi
13549 version_type=freebsd-$objformat
13550 case $version_type in
13551 freebsd-elf*)
13552 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
13553 need_version=no
13554 need_lib_prefix=no
13555 ;;
13556 freebsd-*)
13557 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
13558 need_version=yes
13559 ;;
13560 esac
13561 shlibpath_var=LD_LIBRARY_PATH
13562 case $host_os in
13563 freebsd2*)
13564 shlibpath_overrides_runpath=yes
13565 ;;
13566 freebsd3.[01]* | freebsdelf3.[01]*)
13567 shlibpath_overrides_runpath=yes
13568 hardcode_into_libs=yes
13569 ;;
13570 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
13571 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
13572 shlibpath_overrides_runpath=no
13573 hardcode_into_libs=yes
13574 ;;
13575 *) # from 4.6 on, and DragonFly
13576 shlibpath_overrides_runpath=yes
13577 hardcode_into_libs=yes
13578 ;;
13579 esac
13580 ;;
13581
13582 gnu*)
13583 version_type=linux
13584 need_lib_prefix=no
13585 need_version=no
13586 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
13587 soname_spec='${libname}${release}${shared_ext}$major'
13588 shlibpath_var=LD_LIBRARY_PATH
13589 hardcode_into_libs=yes
13590 ;;
13591
13592 hpux9* | hpux10* | hpux11*)
13593 # Give a soname corresponding to the major version so that dld.sl refuses to
13594 # link against other versions.
13595 version_type=sunos
13596 need_lib_prefix=no
13597 need_version=no
13598 case $host_cpu in
13599 ia64*)
13600 shrext_cmds='.so'
13601 hardcode_into_libs=yes
13602 dynamic_linker="$host_os dld.so"
13603 shlibpath_var=LD_LIBRARY_PATH
13604 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
13605 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13606 soname_spec='${libname}${release}${shared_ext}$major'
13607 if test "X$HPUX_IA64_MODE" = X32; then
13608 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
13609 else
13610 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
13611 fi
13612 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
13613 ;;
13614 hppa*64*)
13615 shrext_cmds='.sl'
13616 hardcode_into_libs=yes
13617 dynamic_linker="$host_os dld.sl"
13618 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
13619 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
13620 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13621 soname_spec='${libname}${release}${shared_ext}$major'
13622 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
13623 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
13624 ;;
13625 *)
13626 shrext_cmds='.sl'
13627 dynamic_linker="$host_os dld.sl"
13628 shlibpath_var=SHLIB_PATH
13629 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
13630 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13631 soname_spec='${libname}${release}${shared_ext}$major'
13632 ;;
13633 esac
13634 # HP-UX runs *really* slowly unless shared libraries are mode 555.
13635 postinstall_cmds='chmod 555 $lib'
13636 ;;
13637
13638 interix[3-9]*)
13639 version_type=linux
13640 need_lib_prefix=no
13641 need_version=no
13642 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
13643 soname_spec='${libname}${release}${shared_ext}$major'
13644 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
13645 shlibpath_var=LD_LIBRARY_PATH
13646 shlibpath_overrides_runpath=no
13647 hardcode_into_libs=yes
13648 ;;
13649
13650 irix5* | irix6* | nonstopux*)
13651 case $host_os in
13652 nonstopux*) version_type=nonstopux ;;
13653 *)
13654 if test "$lt_cv_prog_gnu_ld" = yes; then
13655 version_type=linux
13656 else
13657 version_type=irix
13658 fi ;;
13659 esac
13660 need_lib_prefix=no
13661 need_version=no
13662 soname_spec='${libname}${release}${shared_ext}$major'
13663 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
13664 case $host_os in
13665 irix5* | nonstopux*)
13666 libsuff= shlibsuff=
13667 ;;
13668 *)
13669 case $LD in # libtool.m4 will add one of these switches to LD
13670 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
13671 libsuff= shlibsuff= libmagic=32-bit;;
13672 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
13673 libsuff=32 shlibsuff=N32 libmagic=N32;;
13674 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
13675 libsuff=64 shlibsuff=64 libmagic=64-bit;;
13676 *) libsuff= shlibsuff= libmagic=never-match;;
13677 esac
13678 ;;
13679 esac
13680 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
13681 shlibpath_overrides_runpath=no
13682 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
13683 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
13684 hardcode_into_libs=yes
13685 ;;
13686
13687 # No shared lib support for Linux oldld, aout, or coff.
13688 linux*oldld* | linux*aout* | linux*coff*)
13689 dynamic_linker=no
13690 ;;
13691
13692 # This must be Linux ELF.
13693 linux* | k*bsd*-gnu)
13694 version_type=linux
13695 need_lib_prefix=no
13696 need_version=no
13697 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13698 soname_spec='${libname}${release}${shared_ext}$major'
13699 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
13700 shlibpath_var=LD_LIBRARY_PATH
13701 shlibpath_overrides_runpath=no
13702 # This implies no fast_install, which is unacceptable.
13703 # Some rework will be needed to allow for fast_install
13704 # before this can be enabled.
13705 hardcode_into_libs=yes
13706 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
13707 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
13708
13709 # Append ld.so.conf contents to the search path
13710 if test -f /etc/ld.so.conf; then
13711 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
13712 sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
13713 fi
13714
13715 # We used to test for /lib/ld.so.1 and disable shared libraries on
13716 # powerpc, because MkLinux only supported shared libraries with the
13717 # GNU dynamic linker. Since this was broken with cross compilers,
13718 # most powerpc-linux boxes support dynamic linking these days and
13719 # people can always --disable-shared, the test was removed, and we
13720 # assume the GNU/Linux dynamic linker is in use.
13721 dynamic_linker='GNU/Linux ld.so'
13722 ;;
13723
13724 netbsd*)
13725 version_type=sunos
13726 need_lib_prefix=no
13727 need_version=no
13728 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
13729 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
13730 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
13731 dynamic_linker='NetBSD (a.out) ld.so'
13732 else
13733 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
13734 soname_spec='${libname}${release}${shared_ext}$major'
13735 dynamic_linker='NetBSD ld.elf_so'
13736 fi
13737 shlibpath_var=LD_LIBRARY_PATH
13738 shlibpath_overrides_runpath=yes
13739 hardcode_into_libs=yes
13740 ;;
13741
13742 newsos6)
13743 version_type=linux
13744 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13745 shlibpath_var=LD_LIBRARY_PATH
13746 shlibpath_overrides_runpath=yes
13747 ;;
13748
13749 nto-qnx*)
13750 version_type=linux
13751 need_lib_prefix=no
13752 need_version=no
13753 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13754 soname_spec='${libname}${release}${shared_ext}$major'
13755 shlibpath_var=LD_LIBRARY_PATH
13756 shlibpath_overrides_runpath=yes
13757 ;;
13758
13759 openbsd*)
13760 version_type=sunos
13761 sys_lib_dlsearch_path_spec="/usr/lib"
13762 need_lib_prefix=no
13763 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
13764 case $host_os in
13765 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
13766 *) need_version=no ;;
13767 esac
13768 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
13769 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
13770 shlibpath_var=LD_LIBRARY_PATH
13771 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
13772 case $host_os in
13773 openbsd2.[89] | openbsd2.[89].*)
13774 shlibpath_overrides_runpath=no
13775 ;;
13776 *)
13777 shlibpath_overrides_runpath=yes
13778 ;;
13779 esac
13780 else
13781 shlibpath_overrides_runpath=yes
13782 fi
13783 ;;
13784
13785 os2*)
13786 libname_spec='$name'
13787 shrext_cmds=".dll"
13788 need_lib_prefix=no
13789 library_names_spec='$libname${shared_ext} $libname.a'
13790 dynamic_linker='OS/2 ld.exe'
13791 shlibpath_var=LIBPATH
13792 ;;
13793
13794 osf3* | osf4* | osf5*)
13795 version_type=osf
13796 need_lib_prefix=no
13797 need_version=no
13798 soname_spec='${libname}${release}${shared_ext}$major'
13799 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13800 shlibpath_var=LD_LIBRARY_PATH
13801 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
13802 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
13803 ;;
13804
13805 rdos*)
13806 dynamic_linker=no
13807 ;;
13808
13809 solaris*)
13810 version_type=linux
13811 need_lib_prefix=no
13812 need_version=no
13813 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13814 soname_spec='${libname}${release}${shared_ext}$major'
13815 shlibpath_var=LD_LIBRARY_PATH
13816 shlibpath_overrides_runpath=yes
13817 hardcode_into_libs=yes
13818 # ldd complains unless libraries are executable
13819 postinstall_cmds='chmod +x $lib'
13820 ;;
13821
13822 sunos4*)
13823 version_type=sunos
13824 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
13825 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
13826 shlibpath_var=LD_LIBRARY_PATH
13827 shlibpath_overrides_runpath=yes
13828 if test "$with_gnu_ld" = yes; then
13829 need_lib_prefix=no
13830 fi
13831 need_version=yes
13832 ;;
13833
13834 sysv4 | sysv4.3*)
13835 version_type=linux
13836 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13837 soname_spec='${libname}${release}${shared_ext}$major'
13838 shlibpath_var=LD_LIBRARY_PATH
13839 case $host_vendor in
13840 sni)
13841 shlibpath_overrides_runpath=no
13842 need_lib_prefix=no
13843 export_dynamic_flag_spec='${wl}-Blargedynsym'
13844 runpath_var=LD_RUN_PATH
13845 ;;
13846 siemens)
13847 need_lib_prefix=no
13848 ;;
13849 motorola)
13850 need_lib_prefix=no
13851 need_version=no
13852 shlibpath_overrides_runpath=no
13853 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
13854 ;;
13855 esac
13856 ;;
13857
13858 sysv4*MP*)
13859 if test -d /usr/nec ;then
13860 version_type=linux
13861 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
13862 soname_spec='$libname${shared_ext}.$major'
13863 shlibpath_var=LD_LIBRARY_PATH
13864 fi
13865 ;;
13866
13867 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
13868 version_type=freebsd-elf
13869 need_lib_prefix=no
13870 need_version=no
13871 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
13872 soname_spec='${libname}${release}${shared_ext}$major'
13873 shlibpath_var=LD_LIBRARY_PATH
13874 hardcode_into_libs=yes
13875 if test "$with_gnu_ld" = yes; then
13876 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
13877 shlibpath_overrides_runpath=no
13878 else
13879 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
13880 shlibpath_overrides_runpath=yes
13881 case $host_os in
13882 sco3.2v5*)
13883 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
13884 ;;
13885 esac
13886 fi
13887 sys_lib_dlsearch_path_spec='/usr/lib'
13888 ;;
13889
13890 uts4*)
13891 version_type=linux
13892 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13893 soname_spec='${libname}${release}${shared_ext}$major'
13894 shlibpath_var=LD_LIBRARY_PATH
13895 ;;
13896
13897 *)
13898 dynamic_linker=no
13899 ;;
13900 esac
13901 { $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
13902 $as_echo "$dynamic_linker" >&6; }
13903 test "$dynamic_linker" = no && can_build_shared=no
13904
13905 if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
13906 $as_echo_n "(cached) " >&6
13907 else
13908 lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
13909 fi
13910
13911 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
13912 if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
13913 $as_echo_n "(cached) " >&6
13914 else
13915 lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
13916 fi
13917
13918 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
13919
13920 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
13921 if test "$GCC" = yes; then
13922 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
13923 fi
13924
13925 { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
13926 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
13927 hardcode_action_CXX=
13928 if test -n "$hardcode_libdir_flag_spec_CXX" || \
13929 test -n "$runpath_var_CXX" || \
13930 test "X$hardcode_automatic_CXX" = "Xyes" ; then
13931
13932 # We can hardcode non-existant directories.
13933 if test "$hardcode_direct_CXX" != no &&
13934 # If the only mechanism to avoid hardcoding is shlibpath_var, we
13935 # have to relink, otherwise we might link with an installed library
13936 # when we should be linking with a yet-to-be-installed one
13937 ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
13938 test "$hardcode_minus_L_CXX" != no; then
13939 # Linking always hardcodes the temporary library directory.
13940 hardcode_action_CXX=relink
13941 else
13942 # We can link without hardcoding, and we can hardcode nonexisting dirs.
13943 hardcode_action_CXX=immediate
13944 fi
13945 else
13946 # We cannot hardcode anything, or else we can only hardcode existing
13947 # directories.
13948 hardcode_action_CXX=unsupported
13949 fi
13950 { $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
13951 $as_echo "$hardcode_action_CXX" >&6; }
13952
13953 if test "$hardcode_action_CXX" = relink; then
13954 # Fast installation is not supported
13955 enable_fast_install=no
13956 elif test "$shlibpath_overrides_runpath" = yes ||
13957 test "$enable_shared" = no; then
13958 # Fast installation is not necessary
13959 enable_fast_install=needless
13960 fi
13961
13962
13963 # The else clause should only fire when bootstrapping the
13964 # libtool distribution, otherwise you forgot to ship ltmain.sh
13965 # with your package, and you will get complaints that there are
13966 # no rules to generate ltmain.sh.
13967 if test -f "$ltmain"; then
13968 # See if we are running on zsh, and set the options which allow our commands through
13969 # without removal of \ escapes.
13970 if test -n "${ZSH_VERSION+set}" ; then
13971 setopt NO_GLOB_SUBST
13972 fi
13973 # Now quote all the things that may contain metacharacters while being
13974 # careful not to overquote the AC_SUBSTed values. We take copies of the
13975 # variables and quote the copies for generation of the libtool script.
13976 for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
13977 SED SHELL STRIP \
13978 libname_spec library_names_spec soname_spec extract_expsyms_cmds \
13979 old_striplib striplib file_magic_cmd finish_cmds finish_eval \
13980 deplibs_check_method reload_flag reload_cmds need_locks \
13981 lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
13982 lt_cv_sys_global_symbol_to_c_name_address \
13983 sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
13984 old_postinstall_cmds old_postuninstall_cmds \
13985 compiler_CXX \
13986 CC_CXX \
13987 LD_CXX \
13988 lt_prog_compiler_wl_CXX \
13989 lt_prog_compiler_pic_CXX \
13990 lt_prog_compiler_static_CXX \
13991 lt_prog_compiler_no_builtin_flag_CXX \
13992 export_dynamic_flag_spec_CXX \
13993 thread_safe_flag_spec_CXX \
13994 whole_archive_flag_spec_CXX \
13995 enable_shared_with_static_runtimes_CXX \
13996 old_archive_cmds_CXX \
13997 old_archive_from_new_cmds_CXX \
13998 predep_objects_CXX \
13999 postdep_objects_CXX \
14000 predeps_CXX \
14001 postdeps_CXX \
14002 compiler_lib_search_path_CXX \
14003 compiler_lib_search_dirs_CXX \
14004 archive_cmds_CXX \
14005 archive_expsym_cmds_CXX \
14006 postinstall_cmds_CXX \
14007 postuninstall_cmds_CXX \
14008 old_archive_from_expsyms_cmds_CXX \
14009 allow_undefined_flag_CXX \
14010 no_undefined_flag_CXX \
14011 export_symbols_cmds_CXX \
14012 hardcode_libdir_flag_spec_CXX \
14013 hardcode_libdir_flag_spec_ld_CXX \
14014 hardcode_libdir_separator_CXX \
14015 hardcode_automatic_CXX \
14016 module_cmds_CXX \
14017 module_expsym_cmds_CXX \
14018 lt_cv_prog_compiler_c_o_CXX \
14019 fix_srcfile_path_CXX \
14020 exclude_expsyms_CXX \
14021 include_expsyms_CXX; do
14022
14023 case $var in
14024 old_archive_cmds_CXX | \
14025 old_archive_from_new_cmds_CXX | \
14026 archive_cmds_CXX | \
14027 archive_expsym_cmds_CXX | \
14028 module_cmds_CXX | \
14029 module_expsym_cmds_CXX | \
14030 old_archive_from_expsyms_cmds_CXX | \
14031 export_symbols_cmds_CXX | \
14032 extract_expsyms_cmds | reload_cmds | finish_cmds | \
14033 postinstall_cmds | postuninstall_cmds | \
14034 old_postinstall_cmds | old_postuninstall_cmds | \
14035 sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
14036 # Double-quote double-evaled strings.
14037 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
14038 ;;
14039 *)
14040 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
14041 ;;
14042 esac
14043 done
14044
14045 case $lt_echo in
14046 *'\$0 --fallback-echo"')
14047 lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
14048 ;;
14049 esac
14050
14051 cfgfile="$ofile"
14052
14053 cat <<__EOF__ >> "$cfgfile"
14054 # ### BEGIN LIBTOOL TAG CONFIG: $tagname
14055
14056 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
14057
14058 # Shell to use when invoking shell scripts.
14059 SHELL=$lt_SHELL
14060
14061 # Whether or not to build shared libraries.
14062 build_libtool_libs=$enable_shared
14063
14064 # Whether or not to build static libraries.
14065 build_old_libs=$enable_static
14066
14067 # Whether or not to add -lc for building shared libraries.
14068 build_libtool_need_lc=$archive_cmds_need_lc_CXX
14069
14070 # Whether or not to disallow shared libs when runtime libs are static
14071 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
14072
14073 # Whether or not to optimize for fast installation.
14074 fast_install=$enable_fast_install
14075
14076 # The host system.
14077 host_alias=$host_alias
14078 host=$host
14079 host_os=$host_os
14080
14081 # The build system.
14082 build_alias=$build_alias
14083 build=$build
14084 build_os=$build_os
14085
14086 # An echo program that does not interpret backslashes.
14087 echo=$lt_echo
14088
14089 # The archiver.
14090 AR=$lt_AR
14091 AR_FLAGS=$lt_AR_FLAGS
14092
14093 # A C compiler.
14094 LTCC=$lt_LTCC
14095
14096 # LTCC compiler flags.
14097 LTCFLAGS=$lt_LTCFLAGS
14098
14099 # A language-specific compiler.
14100 CC=$lt_compiler_CXX
14101
14102 # Is the compiler the GNU C compiler?
14103 with_gcc=$GCC_CXX
14104
14105 # An ERE matcher.
14106 EGREP=$lt_EGREP
14107
14108 # The linker used to build libraries.
14109 LD=$lt_LD_CXX
14110
14111 # Whether we need hard or soft links.
14112 LN_S=$lt_LN_S
14113
14114 # A BSD-compatible nm program.
14115 NM=$lt_NM
14116
14117 # A symbol stripping program
14118 STRIP=$lt_STRIP
14119
14120 # Used to examine libraries when file_magic_cmd begins "file"
14121 MAGIC_CMD=$MAGIC_CMD
14122
14123 # Used on cygwin: DLL creation program.
14124 DLLTOOL="$DLLTOOL"
14125
14126 # Used on cygwin: object dumper.
14127 OBJDUMP="$OBJDUMP"
14128
14129 # Used on cygwin: assembler.
14130 AS="$AS"
14131
14132 # The name of the directory that contains temporary libtool files.
14133 objdir=$objdir
14134
14135 # How to create reloadable object files.
14136 reload_flag=$lt_reload_flag
14137 reload_cmds=$lt_reload_cmds
14138
14139 # How to pass a linker flag through the compiler.
14140 wl=$lt_lt_prog_compiler_wl_CXX
14141
14142 # Object file suffix (normally "o").
14143 objext="$ac_objext"
14144
14145 # Old archive suffix (normally "a").
14146 libext="$libext"
14147
14148 # Shared library suffix (normally ".so").
14149 shrext_cmds='$shrext_cmds'
14150
14151 # Executable file suffix (normally "").
14152 exeext="$exeext"
14153
14154 # Additional compiler flags for building library objects.
14155 pic_flag=$lt_lt_prog_compiler_pic_CXX
14156 pic_mode=$pic_mode
14157
14158 # What is the maximum length of a command?
14159 max_cmd_len=$lt_cv_sys_max_cmd_len
14160
14161 # Does compiler simultaneously support -c and -o options?
14162 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
14163
14164 # Must we lock files when doing compilation?
14165 need_locks=$lt_need_locks
14166
14167 # Do we need the lib prefix for modules?
14168 need_lib_prefix=$need_lib_prefix
14169
14170 # Do we need a version for libraries?
14171 need_version=$need_version
14172
14173 # Whether dlopen is supported.
14174 dlopen_support=$enable_dlopen
14175
14176 # Whether dlopen of programs is supported.
14177 dlopen_self=$enable_dlopen_self
14178
14179 # Whether dlopen of statically linked programs is supported.
14180 dlopen_self_static=$enable_dlopen_self_static
14181
14182 # Compiler flag to prevent dynamic linking.
14183 link_static_flag=$lt_lt_prog_compiler_static_CXX
14184
14185 # Compiler flag to turn off builtin functions.
14186 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
14187
14188 # Compiler flag to allow reflexive dlopens.
14189 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
14190
14191 # Compiler flag to generate shared objects directly from archives.
14192 whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
14193
14194 # Compiler flag to generate thread-safe objects.
14195 thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
14196
14197 # Library versioning type.
14198 version_type=$version_type
14199
14200 # Format of library name prefix.
14201 libname_spec=$lt_libname_spec
14202
14203 # List of archive names. First name is the real one, the rest are links.
14204 # The last name is the one that the linker finds with -lNAME.
14205 library_names_spec=$lt_library_names_spec
14206
14207 # The coded name of the library, if different from the real name.
14208 soname_spec=$lt_soname_spec
14209
14210 # Commands used to build and install an old-style archive.
14211 RANLIB=$lt_RANLIB
14212 old_archive_cmds=$lt_old_archive_cmds_CXX
14213 old_postinstall_cmds=$lt_old_postinstall_cmds
14214 old_postuninstall_cmds=$lt_old_postuninstall_cmds
14215
14216 # Create an old-style archive from a shared archive.
14217 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
14218
14219 # Create a temporary old-style archive to link instead of a shared archive.
14220 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
14221
14222 # Commands used to build and install a shared archive.
14223 archive_cmds=$lt_archive_cmds_CXX
14224 archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
14225 postinstall_cmds=$lt_postinstall_cmds
14226 postuninstall_cmds=$lt_postuninstall_cmds
14227
14228 # Commands used to build a loadable module (assumed same as above if empty)
14229 module_cmds=$lt_module_cmds_CXX
14230 module_expsym_cmds=$lt_module_expsym_cmds_CXX
14231
14232 # Commands to strip libraries.
14233 old_striplib=$lt_old_striplib
14234 striplib=$lt_striplib
14235
14236 # Dependencies to place before the objects being linked to create a
14237 # shared library.
14238 predep_objects=$lt_predep_objects_CXX
14239
14240 # Dependencies to place after the objects being linked to create a
14241 # shared library.
14242 postdep_objects=$lt_postdep_objects_CXX
14243
14244 # Dependencies to place before the objects being linked to create a
14245 # shared library.
14246 predeps=$lt_predeps_CXX
14247
14248 # Dependencies to place after the objects being linked to create a
14249 # shared library.
14250 postdeps=$lt_postdeps_CXX
14251
14252 # The directories searched by this compiler when creating a shared
14253 # library
14254 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
14255
14256 # The library search path used internally by the compiler when linking
14257 # a shared library.
14258 compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
14259
14260 # Method to check whether dependent libraries are shared objects.
14261 deplibs_check_method=$lt_deplibs_check_method
14262
14263 # Command to use when deplibs_check_method == file_magic.
14264 file_magic_cmd=$lt_file_magic_cmd
14265
14266 # Flag that allows shared libraries with undefined symbols to be built.
14267 allow_undefined_flag=$lt_allow_undefined_flag_CXX
14268
14269 # Flag that forces no undefined symbols.
14270 no_undefined_flag=$lt_no_undefined_flag_CXX
14271
14272 # Commands used to finish a libtool library installation in a directory.
14273 finish_cmds=$lt_finish_cmds
14274
14275 # Same as above, but a single script fragment to be evaled but not shown.
14276 finish_eval=$lt_finish_eval
14277
14278 # Take the output of nm and produce a listing of raw symbols and C names.
14279 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
14280
14281 # Transform the output of nm in a proper C declaration
14282 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
14283
14284 # Transform the output of nm in a C name address pair
14285 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
14286
14287 # This is the shared library runtime path variable.
14288 runpath_var=$runpath_var
14289
14290 # This is the shared library path variable.
14291 shlibpath_var=$shlibpath_var
14292
14293 # Is shlibpath searched before the hard-coded library search path?
14294 shlibpath_overrides_runpath=$shlibpath_overrides_runpath
14295
14296 # How to hardcode a shared library path into an executable.
14297 hardcode_action=$hardcode_action_CXX
14298
14299 # Whether we should hardcode library paths into libraries.
14300 hardcode_into_libs=$hardcode_into_libs
14301
14302 # Flag to hardcode \$libdir into a binary during linking.
14303 # This must work even if \$libdir does not exist.
14304 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
14305
14306 # If ld is used when linking, flag to hardcode \$libdir into
14307 # a binary during linking. This must work even if \$libdir does
14308 # not exist.
14309 hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
14310
14311 # Whether we need a single -rpath flag with a separated argument.
14312 hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
14313
14314 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
14315 # resulting binary.
14316 hardcode_direct=$hardcode_direct_CXX
14317
14318 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
14319 # resulting binary.
14320 hardcode_minus_L=$hardcode_minus_L_CXX
14321
14322 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
14323 # the resulting binary.
14324 hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
14325
14326 # Set to yes if building a shared library automatically hardcodes DIR into the library
14327 # and all subsequent libraries and executables linked against it.
14328 hardcode_automatic=$hardcode_automatic_CXX
14329
14330 # Variables whose values should be saved in libtool wrapper scripts and
14331 # restored at relink time.
14332 variables_saved_for_relink="$variables_saved_for_relink"
14333
14334 # Whether libtool must link a program against all its dependency libraries.
14335 link_all_deplibs=$link_all_deplibs_CXX
14336
14337 # Compile-time system search path for libraries
14338 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
14339
14340 # Run-time system search path for libraries
14341 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
14342
14343 # Fix the shell variable \$srcfile for the compiler.
14344 fix_srcfile_path=$lt_fix_srcfile_path
14345
14346 # Set to yes if exported symbols are required.
14347 always_export_symbols=$always_export_symbols_CXX
14348
14349 # The commands to list exported symbols.
14350 export_symbols_cmds=$lt_export_symbols_cmds_CXX
14351
14352 # The commands to extract the exported symbol list from a shared archive.
14353 extract_expsyms_cmds=$lt_extract_expsyms_cmds
14354
14355 # Symbols that should not be listed in the preloaded symbols.
14356 exclude_expsyms=$lt_exclude_expsyms_CXX
14357
14358 # Symbols that must always be exported.
14359 include_expsyms=$lt_include_expsyms_CXX
14360
14361 # ### END LIBTOOL TAG CONFIG: $tagname
14362
14363 __EOF__
14364
14365
14366 else
14367 # If there is no Makefile yet, we rely on a make rule to execute
14368 # `config.status --recheck' to rerun these tests and create the
14369 # libtool script then.
14370 ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
14371 if test -f "$ltmain_in"; then
14372 test -f Makefile && make "$ltmain"
14373 fi
14374 fi
14375
14376
14377 ac_ext=c
14378 ac_cpp='$CPP $CPPFLAGS'
14379 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
14380 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
14381 ac_compiler_gnu=$ac_cv_c_compiler_gnu
14382
14383 CC=$lt_save_CC
14384 LDCXX=$LD
14385 LD=$lt_save_LD
14386 GCC=$lt_save_GCC
14387 with_gnu_ldcxx=$with_gnu_ld
14388 with_gnu_ld=$lt_save_with_gnu_ld
14389 lt_cv_path_LDCXX=$lt_cv_path_LD
14390 lt_cv_path_LD=$lt_save_path_LD
14391 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
14392 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
14393
14394 else
14395 tagname=""
14396 fi
14397 ;;
14398
14399 F77)
14400 if test -n "$F77" && test "X$F77" != "Xno"; then
14401
14402 ac_ext=f
14403 ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
14404 ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
14405 ac_compiler_gnu=$ac_cv_f77_compiler_gnu
14406
14407
14408 archive_cmds_need_lc_F77=no
14409 allow_undefined_flag_F77=
14410 always_export_symbols_F77=no
14411 archive_expsym_cmds_F77=
14412 export_dynamic_flag_spec_F77=
14413 hardcode_direct_F77=no
14414 hardcode_libdir_flag_spec_F77=
14415 hardcode_libdir_flag_spec_ld_F77=
14416 hardcode_libdir_separator_F77=
14417 hardcode_minus_L_F77=no
14418 hardcode_automatic_F77=no
14419 module_cmds_F77=
14420 module_expsym_cmds_F77=
14421 link_all_deplibs_F77=unknown
14422 old_archive_cmds_F77=$old_archive_cmds
14423 no_undefined_flag_F77=
14424 whole_archive_flag_spec_F77=
14425 enable_shared_with_static_runtimes_F77=no
14426
14427 # Source file extension for f77 test sources.
14428 ac_ext=f
14429
14430 # Object file extension for compiled f77 test sources.
14431 objext=o
14432 objext_F77=$objext
14433
14434 # Code to be used in simple compile tests
14435 lt_simple_compile_test_code="\
14436 subroutine t
14437 return
14438 end
14439 "
14440
14441 # Code to be used in simple link tests
14442 lt_simple_link_test_code="\
14443 program t
14444 end
14445 "
14446
14447 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
14448
14449 # If no C compiler was specified, use CC.
14450 LTCC=${LTCC-"$CC"}
14451
14452 # If no C compiler flags were specified, use CFLAGS.
14453 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
14454
14455 # Allow CC to be a program name with arguments.
14456 compiler=$CC
14457
14458
14459 # save warnings/boilerplate of simple test code
14460 ac_outfile=conftest.$ac_objext
14461 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
14462 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
14463 _lt_compiler_boilerplate=`cat conftest.err`
14464 $rm conftest*
14465
14466 ac_outfile=conftest.$ac_objext
14467 echo "$lt_simple_link_test_code" >conftest.$ac_ext
14468 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
14469 _lt_linker_boilerplate=`cat conftest.err`
14470 $rm -r conftest*
14471
14472
14473 # Allow CC to be a program name with arguments.
14474 lt_save_CC="$CC"
14475 CC=${F77-"f77"}
14476 compiler=$CC
14477 compiler_F77=$CC
14478 for cc_temp in $compiler""; do
14479 case $cc_temp in
14480 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
14481 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
14482 \-*) ;;
14483 *) break;;
14484 esac
14485 done
14486 cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
14487
14488
14489 { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
14490 $as_echo_n "checking if libtool supports shared libraries... " >&6; }
14491 { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
14492 $as_echo "$can_build_shared" >&6; }
14493
14494 { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
14495 $as_echo_n "checking whether to build shared libraries... " >&6; }
14496 test "$can_build_shared" = "no" && enable_shared=no
14497
14498 # On AIX, shared libraries and static libraries use the same namespace, and
14499 # are all built from PIC.
14500 case $host_os in
14501 aix3*)
14502 test "$enable_shared" = yes && enable_static=no
14503 if test -n "$RANLIB"; then
14504 archive_cmds="$archive_cmds~\$RANLIB \$lib"
14505 postinstall_cmds='$RANLIB $lib'
14506 fi
14507 ;;
14508 aix[4-9]*)
14509 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
14510 test "$enable_shared" = yes && enable_static=no
14511 fi
14512 ;;
14513 esac
14514 { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5
14515 $as_echo "$enable_shared" >&6; }
14516
14517 { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5
14518 $as_echo_n "checking whether to build static libraries... " >&6; }
14519 # Make sure either enable_shared or enable_static is yes.
14520 test "$enable_shared" = yes || enable_static=yes
14521 { $as_echo "$as_me:$LINENO: result: $enable_static" >&5
14522 $as_echo "$enable_static" >&6; }
14523
14524 GCC_F77="$G77"
14525 LD_F77="$LD"
14526
14527 lt_prog_compiler_wl_F77=
14528 lt_prog_compiler_pic_F77=
14529 lt_prog_compiler_static_F77=
14530
14531 { $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
14532 $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
14533
14534 if test "$GCC" = yes; then
14535 lt_prog_compiler_wl_F77='-Wl,'
14536 lt_prog_compiler_static_F77='-static'
14537
14538 case $host_os in
14539 aix*)
14540 # All AIX code is PIC.
14541 if test "$host_cpu" = ia64; then
14542 # AIX 5 now supports IA64 processor
14543 lt_prog_compiler_static_F77='-Bstatic'
14544 fi
14545 ;;
14546
14547 amigaos*)
14548 # FIXME: we need at least 68020 code to build shared libraries, but
14549 # adding the `-m68020' flag to GCC prevents building anything better,
14550 # like `-m68040'.
14551 lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
14552 ;;
14553
14554 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
14555 # PIC is the default for these OSes.
14556 ;;
14557
14558 mingw* | cygwin* | pw32* | os2*)
14559 # This hack is so that the source file can tell whether it is being
14560 # built for inclusion in a dll (and should export symbols for example).
14561 # Although the cygwin gcc ignores -fPIC, still need this for old-style
14562 # (--disable-auto-import) libraries
14563 lt_prog_compiler_pic_F77='-DDLL_EXPORT'
14564 ;;
14565
14566 darwin* | rhapsody*)
14567 # PIC is the default on this platform
14568 # Common symbols not allowed in MH_DYLIB files
14569 lt_prog_compiler_pic_F77='-fno-common'
14570 ;;
14571
14572 interix[3-9]*)
14573 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
14574 # Instead, we relocate shared libraries at runtime.
14575 ;;
14576
14577 msdosdjgpp*)
14578 # Just because we use GCC doesn't mean we suddenly get shared libraries
14579 # on systems that don't support them.
14580 lt_prog_compiler_can_build_shared_F77=no
14581 enable_shared=no
14582 ;;
14583
14584 sysv4*MP*)
14585 if test -d /usr/nec; then
14586 lt_prog_compiler_pic_F77=-Kconform_pic
14587 fi
14588 ;;
14589
14590 hpux*)
14591 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
14592 # not for PA HP-UX.
14593 case $host_cpu in
14594 hppa*64*|ia64*)
14595 # +Z the default
14596 ;;
14597 *)
14598 lt_prog_compiler_pic_F77='-fPIC'
14599 ;;
14600 esac
14601 ;;
14602
14603 *)
14604 lt_prog_compiler_pic_F77='-fPIC'
14605 ;;
14606 esac
14607 else
14608 # PORTME Check for flag to pass linker flags through the system compiler.
14609 case $host_os in
14610 aix*)
14611 lt_prog_compiler_wl_F77='-Wl,'
14612 if test "$host_cpu" = ia64; then
14613 # AIX 5 now supports IA64 processor
14614 lt_prog_compiler_static_F77='-Bstatic'
14615 else
14616 lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
14617 fi
14618 ;;
14619 darwin*)
14620 # PIC is the default on this platform
14621 # Common symbols not allowed in MH_DYLIB files
14622 case $cc_basename in
14623 xlc*)
14624 lt_prog_compiler_pic_F77='-qnocommon'
14625 lt_prog_compiler_wl_F77='-Wl,'
14626 ;;
14627 esac
14628 ;;
14629
14630 mingw* | cygwin* | pw32* | os2*)
14631 # This hack is so that the source file can tell whether it is being
14632 # built for inclusion in a dll (and should export symbols for example).
14633 lt_prog_compiler_pic_F77='-DDLL_EXPORT'
14634 ;;
14635
14636 hpux9* | hpux10* | hpux11*)
14637 lt_prog_compiler_wl_F77='-Wl,'
14638 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
14639 # not for PA HP-UX.
14640 case $host_cpu in
14641 hppa*64*|ia64*)
14642 # +Z the default
14643 ;;
14644 *)
14645 lt_prog_compiler_pic_F77='+Z'
14646 ;;
14647 esac
14648 # Is there a better lt_prog_compiler_static that works with the bundled CC?
14649 lt_prog_compiler_static_F77='${wl}-a ${wl}archive'
14650 ;;
14651
14652 irix5* | irix6* | nonstopux*)
14653 lt_prog_compiler_wl_F77='-Wl,'
14654 # PIC (with -KPIC) is the default.
14655 lt_prog_compiler_static_F77='-non_shared'
14656 ;;
14657
14658 newsos6)
14659 lt_prog_compiler_pic_F77='-KPIC'
14660 lt_prog_compiler_static_F77='-Bstatic'
14661 ;;
14662
14663 linux* | k*bsd*-gnu)
14664 case $cc_basename in
14665 icc* | ecc*)
14666 lt_prog_compiler_wl_F77='-Wl,'
14667 lt_prog_compiler_pic_F77='-KPIC'
14668 lt_prog_compiler_static_F77='-static'
14669 ;;
14670 pgcc* | pgf77* | pgf90* | pgf95*)
14671 # Portland Group compilers (*not* the Pentium gcc compiler,
14672 # which looks to be a dead project)
14673 lt_prog_compiler_wl_F77='-Wl,'
14674 lt_prog_compiler_pic_F77='-fpic'
14675 lt_prog_compiler_static_F77='-Bstatic'
14676 ;;
14677 ccc*)
14678 lt_prog_compiler_wl_F77='-Wl,'
14679 # All Alpha code is PIC.
14680 lt_prog_compiler_static_F77='-non_shared'
14681 ;;
14682 *)
14683 case `$CC -V 2>&1 | sed 5q` in
14684 *Sun\ C*)
14685 # Sun C 5.9
14686 lt_prog_compiler_pic_F77='-KPIC'
14687 lt_prog_compiler_static_F77='-Bstatic'
14688 lt_prog_compiler_wl_F77='-Wl,'
14689 ;;
14690 *Sun\ F*)
14691 # Sun Fortran 8.3 passes all unrecognized flags to the linker
14692 lt_prog_compiler_pic_F77='-KPIC'
14693 lt_prog_compiler_static_F77='-Bstatic'
14694 lt_prog_compiler_wl_F77=''
14695 ;;
14696 esac
14697 ;;
14698 esac
14699 ;;
14700
14701 osf3* | osf4* | osf5*)
14702 lt_prog_compiler_wl_F77='-Wl,'
14703 # All OSF/1 code is PIC.
14704 lt_prog_compiler_static_F77='-non_shared'
14705 ;;
14706
14707 rdos*)
14708 lt_prog_compiler_static_F77='-non_shared'
14709 ;;
14710
14711 solaris*)
14712 lt_prog_compiler_pic_F77='-KPIC'
14713 lt_prog_compiler_static_F77='-Bstatic'
14714 case $cc_basename in
14715 f77* | f90* | f95*)
14716 lt_prog_compiler_wl_F77='-Qoption ld ';;
14717 *)
14718 lt_prog_compiler_wl_F77='-Wl,';;
14719 esac
14720 ;;
14721
14722 sunos4*)
14723 lt_prog_compiler_wl_F77='-Qoption ld '
14724 lt_prog_compiler_pic_F77='-PIC'
14725 lt_prog_compiler_static_F77='-Bstatic'
14726 ;;
14727
14728 sysv4 | sysv4.2uw2* | sysv4.3*)
14729 lt_prog_compiler_wl_F77='-Wl,'
14730 lt_prog_compiler_pic_F77='-KPIC'
14731 lt_prog_compiler_static_F77='-Bstatic'
14732 ;;
14733
14734 sysv4*MP*)
14735 if test -d /usr/nec ;then
14736 lt_prog_compiler_pic_F77='-Kconform_pic'
14737 lt_prog_compiler_static_F77='-Bstatic'
14738 fi
14739 ;;
14740
14741 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
14742 lt_prog_compiler_wl_F77='-Wl,'
14743 lt_prog_compiler_pic_F77='-KPIC'
14744 lt_prog_compiler_static_F77='-Bstatic'
14745 ;;
14746
14747 unicos*)
14748 lt_prog_compiler_wl_F77='-Wl,'
14749 lt_prog_compiler_can_build_shared_F77=no
14750 ;;
14751
14752 uts4*)
14753 lt_prog_compiler_pic_F77='-pic'
14754 lt_prog_compiler_static_F77='-Bstatic'
14755 ;;
14756
14757 *)
14758 lt_prog_compiler_can_build_shared_F77=no
14759 ;;
14760 esac
14761 fi
14762
14763 { $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
14764 $as_echo "$lt_prog_compiler_pic_F77" >&6; }
14765
14766 #
14767 # Check to make sure the PIC flag actually works.
14768 #
14769 if test -n "$lt_prog_compiler_pic_F77"; then
14770
14771 { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
14772 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; }
14773 if test "${lt_cv_prog_compiler_pic_works_F77+set}" = set; then
14774 $as_echo_n "(cached) " >&6
14775 else
14776 lt_cv_prog_compiler_pic_works_F77=no
14777 ac_outfile=conftest.$ac_objext
14778 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
14779 lt_compiler_flag="$lt_prog_compiler_pic_F77"
14780 # Insert the option either (1) after the last *FLAGS variable, or
14781 # (2) before a word containing "conftest.", or (3) at the end.
14782 # Note that $ac_compile itself does not contain backslashes and begins
14783 # with a dollar sign (not a hyphen), so the echo should work correctly.
14784 # The option is referenced via a variable to avoid confusing sed.
14785 lt_compile=`echo "$ac_compile" | $SED \
14786 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
14787 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
14788 -e 's:$: $lt_compiler_flag:'`
14789 (eval echo "\"\$as_me:14790: $lt_compile\"" >&5)
14790 (eval "$lt_compile" 2>conftest.err)
14791 ac_status=$?
14792 cat conftest.err >&5
14793 echo "$as_me:14794: \$? = $ac_status" >&5
14794 if (exit $ac_status) && test -s "$ac_outfile"; then
14795 # The compiler can only warn and ignore the option if not recognized
14796 # So say no if there are warnings other than the usual output.
14797 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
14798 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
14799 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
14800 lt_cv_prog_compiler_pic_works_F77=yes
14801 fi
14802 fi
14803 $rm conftest*
14804
14805 fi
14806 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_F77" >&5
14807 $as_echo "$lt_cv_prog_compiler_pic_works_F77" >&6; }
14808
14809 if test x"$lt_cv_prog_compiler_pic_works_F77" = xyes; then
14810 case $lt_prog_compiler_pic_F77 in
14811 "" | " "*) ;;
14812 *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
14813 esac
14814 else
14815 lt_prog_compiler_pic_F77=
14816 lt_prog_compiler_can_build_shared_F77=no
14817 fi
14818
14819 fi
14820 case $host_os in
14821 # For platforms which do not support PIC, -DPIC is meaningless:
14822 *djgpp*)
14823 lt_prog_compiler_pic_F77=
14824 ;;
14825 *)
14826 lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
14827 ;;
14828 esac
14829
14830 #
14831 # Check to make sure the static flag actually works.
14832 #
14833 wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
14834 { $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
14835 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
14836 if test "${lt_cv_prog_compiler_static_works_F77+set}" = set; then
14837 $as_echo_n "(cached) " >&6
14838 else
14839 lt_cv_prog_compiler_static_works_F77=no
14840 save_LDFLAGS="$LDFLAGS"
14841 LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
14842 echo "$lt_simple_link_test_code" > conftest.$ac_ext
14843 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
14844 # The linker can only warn and ignore the option if not recognized
14845 # So say no if there are warnings
14846 if test -s conftest.err; then
14847 # Append any errors to the config.log.
14848 cat conftest.err 1>&5
14849 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
14850 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
14851 if diff conftest.exp conftest.er2 >/dev/null; then
14852 lt_cv_prog_compiler_static_works_F77=yes
14853 fi
14854 else
14855 lt_cv_prog_compiler_static_works_F77=yes
14856 fi
14857 fi
14858 $rm -r conftest*
14859 LDFLAGS="$save_LDFLAGS"
14860
14861 fi
14862 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_F77" >&5
14863 $as_echo "$lt_cv_prog_compiler_static_works_F77" >&6; }
14864
14865 if test x"$lt_cv_prog_compiler_static_works_F77" = xyes; then
14866 :
14867 else
14868 lt_prog_compiler_static_F77=
14869 fi
14870
14871
14872 { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
14873 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
14874 if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
14875 $as_echo_n "(cached) " >&6
14876 else
14877 lt_cv_prog_compiler_c_o_F77=no
14878 $rm -r conftest 2>/dev/null
14879 mkdir conftest
14880 cd conftest
14881 mkdir out
14882 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
14883
14884 lt_compiler_flag="-o out/conftest2.$ac_objext"
14885 # Insert the option either (1) after the last *FLAGS variable, or
14886 # (2) before a word containing "conftest.", or (3) at the end.
14887 # Note that $ac_compile itself does not contain backslashes and begins
14888 # with a dollar sign (not a hyphen), so the echo should work correctly.
14889 lt_compile=`echo "$ac_compile" | $SED \
14890 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
14891 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
14892 -e 's:$: $lt_compiler_flag:'`
14893 (eval echo "\"\$as_me:14894: $lt_compile\"" >&5)
14894 (eval "$lt_compile" 2>out/conftest.err)
14895 ac_status=$?
14896 cat out/conftest.err >&5
14897 echo "$as_me:14898: \$? = $ac_status" >&5
14898 if (exit $ac_status) && test -s out/conftest2.$ac_objext
14899 then
14900 # The compiler can only warn and ignore the option if not recognized
14901 # So say no if there are warnings
14902 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
14903 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
14904 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
14905 lt_cv_prog_compiler_c_o_F77=yes
14906 fi
14907 fi
14908 chmod u+w . 2>&5
14909 $rm conftest*
14910 # SGI C++ compiler will create directory out/ii_files/ for
14911 # template instantiation
14912 test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
14913 $rm out/* && rmdir out
14914 cd ..
14915 rmdir conftest
14916 $rm conftest*
14917
14918 fi
14919 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
14920 $as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; }
14921
14922
14923 hard_links="nottested"
14924 if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
14925 # do not overwrite the value of need_locks provided by the user
14926 { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
14927 $as_echo_n "checking if we can lock with hard links... " >&6; }
14928 hard_links=yes
14929 $rm conftest*
14930 ln conftest.a conftest.b 2>/dev/null && hard_links=no
14931 touch conftest.a
14932 ln conftest.a conftest.b 2>&5 || hard_links=no
14933 ln conftest.a conftest.b 2>/dev/null && hard_links=no
14934 { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
14935 $as_echo "$hard_links" >&6; }
14936 if test "$hard_links" = no; then
14937 { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
14938 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
14939 need_locks=warn
14940 fi
14941 else
14942 need_locks=no
14943 fi
14944
14945 { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
14946 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
14947
14948 runpath_var=
14949 allow_undefined_flag_F77=
14950 enable_shared_with_static_runtimes_F77=no
14951 archive_cmds_F77=
14952 archive_expsym_cmds_F77=
14953 old_archive_From_new_cmds_F77=
14954 old_archive_from_expsyms_cmds_F77=
14955 export_dynamic_flag_spec_F77=
14956 whole_archive_flag_spec_F77=
14957 thread_safe_flag_spec_F77=
14958 hardcode_libdir_flag_spec_F77=
14959 hardcode_libdir_flag_spec_ld_F77=
14960 hardcode_libdir_separator_F77=
14961 hardcode_direct_F77=no
14962 hardcode_minus_L_F77=no
14963 hardcode_shlibpath_var_F77=unsupported
14964 link_all_deplibs_F77=unknown
14965 hardcode_automatic_F77=no
14966 module_cmds_F77=
14967 module_expsym_cmds_F77=
14968 always_export_symbols_F77=no
14969 export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
14970 # include_expsyms should be a list of space-separated symbols to be *always*
14971 # included in the symbol list
14972 include_expsyms_F77=
14973 # exclude_expsyms can be an extended regexp of symbols to exclude
14974 # it will be wrapped by ` (' and `)$', so one must not match beginning or
14975 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
14976 # as well as any symbol that contains `d'.
14977 exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
14978 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
14979 # platforms (ab)use it in PIC code, but their linkers get confused if
14980 # the symbol is explicitly referenced. Since portable code cannot
14981 # rely on this symbol name, it's probably fine to never include it in
14982 # preloaded symbol tables.
14983 # Exclude shared library initialization/finalization symbols.
14984 extract_expsyms_cmds=
14985 # Just being paranoid about ensuring that cc_basename is set.
14986 for cc_temp in $compiler""; do
14987 case $cc_temp in
14988 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
14989 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
14990 \-*) ;;
14991 *) break;;
14992 esac
14993 done
14994 cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
14995
14996 case $host_os in
14997 cygwin* | mingw* | pw32*)
14998 # FIXME: the MSVC++ port hasn't been tested in a loooong time
14999 # When not using gcc, we currently assume that we are using
15000 # Microsoft Visual C++.
15001 if test "$GCC" != yes; then
15002 with_gnu_ld=no
15003 fi
15004 ;;
15005 interix*)
15006 # we just hope/assume this is gcc and not c89 (= MSVC++)
15007 with_gnu_ld=yes
15008 ;;
15009 openbsd*)
15010 with_gnu_ld=no
15011 ;;
15012 esac
15013
15014 ld_shlibs_F77=yes
15015 if test "$with_gnu_ld" = yes; then
15016 # If archive_cmds runs LD, not CC, wlarc should be empty
15017 wlarc='${wl}'
15018
15019 # Set some defaults for GNU ld with shared library support. These
15020 # are reset later if shared libraries are not supported. Putting them
15021 # here allows them to be overridden if necessary.
15022 runpath_var=LD_RUN_PATH
15023 hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
15024 export_dynamic_flag_spec_F77='${wl}--export-dynamic'
15025 # ancient GNU ld didn't support --whole-archive et. al.
15026 if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
15027 whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
15028 else
15029 whole_archive_flag_spec_F77=
15030 fi
15031 supports_anon_versioning=no
15032 case `$LD -v 2>/dev/null` in
15033 *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
15034 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
15035 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
15036 *\ 2.11.*) ;; # other 2.11 versions
15037 *) supports_anon_versioning=yes ;;
15038 esac
15039
15040 # See if GNU ld supports shared libraries.
15041 case $host_os in
15042 aix[3-9]*)
15043 # On AIX/PPC, the GNU linker is very broken
15044 if test "$host_cpu" != ia64; then
15045 ld_shlibs_F77=no
15046 cat <<EOF 1>&2
15047
15048 *** Warning: the GNU linker, at least up to release 2.9.1, is reported
15049 *** to be unable to reliably create shared libraries on AIX.
15050 *** Therefore, libtool is disabling shared libraries support. If you
15051 *** really care for shared libraries, you may want to modify your PATH
15052 *** so that a non-GNU linker is found, and then restart.
15053
15054 EOF
15055 fi
15056 ;;
15057
15058 amigaos*)
15059 archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
15060 hardcode_libdir_flag_spec_F77='-L$libdir'
15061 hardcode_minus_L_F77=yes
15062
15063 # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
15064 # that the semantics of dynamic libraries on AmigaOS, at least up
15065 # to version 4, is to share data among multiple programs linked
15066 # with the same dynamic library. Since this doesn't match the
15067 # behavior of shared libraries on other platforms, we can't use
15068 # them.
15069 ld_shlibs_F77=no
15070 ;;
15071
15072 beos*)
15073 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
15074 allow_undefined_flag_F77=unsupported
15075 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
15076 # support --undefined. This deserves some investigation. FIXME
15077 archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
15078 else
15079 ld_shlibs_F77=no
15080 fi
15081 ;;
15082
15083 cygwin* | mingw* | pw32*)
15084 # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
15085 # as there is no search path for DLLs.
15086 hardcode_libdir_flag_spec_F77='-L$libdir'
15087 allow_undefined_flag_F77=unsupported
15088 always_export_symbols_F77=no
15089 enable_shared_with_static_runtimes_F77=yes
15090 export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
15091
15092 if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
15093 archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
15094 # If the export-symbols file already is a .def file (1st line
15095 # is EXPORTS), use it as is; otherwise, prepend...
15096 archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
15097 cp $export_symbols $output_objdir/$soname.def;
15098 else
15099 echo EXPORTS > $output_objdir/$soname.def;
15100 cat $export_symbols >> $output_objdir/$soname.def;
15101 fi~
15102 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
15103 else
15104 ld_shlibs_F77=no
15105 fi
15106 ;;
15107
15108 interix[3-9]*)
15109 hardcode_direct_F77=no
15110 hardcode_shlibpath_var_F77=no
15111 hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
15112 export_dynamic_flag_spec_F77='${wl}-E'
15113 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
15114 # Instead, shared libraries are loaded at an image base (0x10000000 by
15115 # default) and relocated if they conflict, which is a slow very memory
15116 # consuming and fragmenting process. To avoid this, we pick a random,
15117 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
15118 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
15119 archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
15120 archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
15121 ;;
15122
15123 gnu* | linux* | k*bsd*-gnu)
15124 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
15125 tmp_addflag=
15126 case $cc_basename,$host_cpu in
15127 pgcc*) # Portland Group C compiler
15128 whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
15129 tmp_addflag=' $pic_flag'
15130 ;;
15131 pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
15132 whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
15133 tmp_addflag=' $pic_flag -Mnomain' ;;
15134 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
15135 tmp_addflag=' -i_dynamic' ;;
15136 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
15137 tmp_addflag=' -i_dynamic -nofor_main' ;;
15138 ifc* | ifort*) # Intel Fortran compiler
15139 tmp_addflag=' -nofor_main' ;;
15140 esac
15141 case `$CC -V 2>&1 | sed 5q` in
15142 *Sun\ C*) # Sun C 5.9
15143 whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
15144 tmp_sharedflag='-G' ;;
15145 *Sun\ F*) # Sun Fortran 8.3
15146 tmp_sharedflag='-G' ;;
15147 *)
15148 tmp_sharedflag='-shared' ;;
15149 esac
15150 archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
15151
15152 if test $supports_anon_versioning = yes; then
15153 archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
15154 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
15155 $echo "local: *; };" >> $output_objdir/$libname.ver~
15156 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
15157 fi
15158 else
15159 ld_shlibs_F77=no
15160 fi
15161 ;;
15162
15163 netbsd*)
15164 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
15165 archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
15166 wlarc=
15167 else
15168 archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
15169 archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
15170 fi
15171 ;;
15172
15173 solaris*)
15174 if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
15175 ld_shlibs_F77=no
15176 cat <<EOF 1>&2
15177
15178 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
15179 *** create shared libraries on Solaris systems. Therefore, libtool
15180 *** is disabling shared libraries support. We urge you to upgrade GNU
15181 *** binutils to release 2.9.1 or newer. Another option is to modify
15182 *** your PATH or compiler configuration so that the native linker is
15183 *** used, and then restart.
15184
15185 EOF
15186 elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
15187 archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
15188 archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
15189 else
15190 ld_shlibs_F77=no
15191 fi
15192 ;;
15193
15194 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
15195 case `$LD -v 2>&1` in
15196 *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
15197 ld_shlibs_F77=no
15198 cat <<_LT_EOF 1>&2
15199
15200 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
15201 *** reliably create shared libraries on SCO systems. Therefore, libtool
15202 *** is disabling shared libraries support. We urge you to upgrade GNU
15203 *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
15204 *** your PATH or compiler configuration so that the native linker is
15205 *** used, and then restart.
15206
15207 _LT_EOF
15208 ;;
15209 *)
15210 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
15211 hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
15212 archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
15213 archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
15214 else
15215 ld_shlibs_F77=no
15216 fi
15217 ;;
15218 esac
15219 ;;
15220
15221 sunos4*)
15222 archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
15223 wlarc=
15224 hardcode_direct_F77=yes
15225 hardcode_shlibpath_var_F77=no
15226 ;;
15227
15228 *)
15229 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
15230 archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
15231 archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
15232 else
15233 ld_shlibs_F77=no
15234 fi
15235 ;;
15236 esac
15237
15238 if test "$ld_shlibs_F77" = no; then
15239 runpath_var=
15240 hardcode_libdir_flag_spec_F77=
15241 export_dynamic_flag_spec_F77=
15242 whole_archive_flag_spec_F77=
15243 fi
15244 else
15245 # PORTME fill in a description of your system's linker (not GNU ld)
15246 case $host_os in
15247 aix3*)
15248 allow_undefined_flag_F77=unsupported
15249 always_export_symbols_F77=yes
15250 archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
15251 # Note: this linker hardcodes the directories in LIBPATH if there
15252 # are no directories specified by -L.
15253 hardcode_minus_L_F77=yes
15254 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
15255 # Neither direct hardcoding nor static linking is supported with a
15256 # broken collect2.
15257 hardcode_direct_F77=unsupported
15258 fi
15259 ;;
15260
15261 aix[4-9]*)
15262 if test "$host_cpu" = ia64; then
15263 # On IA64, the linker does run time linking by default, so we don't
15264 # have to do anything special.
15265 aix_use_runtimelinking=no
15266 exp_sym_flag='-Bexport'
15267 no_entry_flag=""
15268 else
15269 # If we're using GNU nm, then we don't want the "-C" option.
15270 # -C means demangle to AIX nm, but means don't demangle with GNU nm
15271 if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
15272 export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
15273 else
15274 export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
15275 fi
15276 aix_use_runtimelinking=no
15277
15278 # Test if we are trying to use run time linking or normal
15279 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
15280 # need to do runtime linking.
15281 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
15282 for ld_flag in $LDFLAGS; do
15283 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
15284 aix_use_runtimelinking=yes
15285 break
15286 fi
15287 done
15288 ;;
15289 esac
15290
15291 exp_sym_flag='-bexport'
15292 no_entry_flag='-bnoentry'
15293 fi
15294
15295 # When large executables or shared objects are built, AIX ld can
15296 # have problems creating the table of contents. If linking a library
15297 # or program results in "error TOC overflow" add -mminimal-toc to
15298 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
15299 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
15300
15301 archive_cmds_F77=''
15302 hardcode_direct_F77=yes
15303 hardcode_libdir_separator_F77=':'
15304 link_all_deplibs_F77=yes
15305
15306 if test "$GCC" = yes; then
15307 case $host_os in aix4.[012]|aix4.[012].*)
15308 # We only want to do this on AIX 4.2 and lower, the check
15309 # below for broken collect2 doesn't work under 4.3+
15310 collect2name=`${CC} -print-prog-name=collect2`
15311 if test -f "$collect2name" && \
15312 strings "$collect2name" | grep resolve_lib_name >/dev/null
15313 then
15314 # We have reworked collect2
15315 :
15316 else
15317 # We have old collect2
15318 hardcode_direct_F77=unsupported
15319 # It fails to find uninstalled libraries when the uninstalled
15320 # path is not listed in the libpath. Setting hardcode_minus_L
15321 # to unsupported forces relinking
15322 hardcode_minus_L_F77=yes
15323 hardcode_libdir_flag_spec_F77='-L$libdir'
15324 hardcode_libdir_separator_F77=
15325 fi
15326 ;;
15327 esac
15328 shared_flag='-shared'
15329 if test "$aix_use_runtimelinking" = yes; then
15330 shared_flag="$shared_flag "'${wl}-G'
15331 fi
15332 else
15333 # not using gcc
15334 if test "$host_cpu" = ia64; then
15335 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
15336 # chokes on -Wl,-G. The following line is correct:
15337 shared_flag='-G'
15338 else
15339 if test "$aix_use_runtimelinking" = yes; then
15340 shared_flag='${wl}-G'
15341 else
15342 shared_flag='${wl}-bM:SRE'
15343 fi
15344 fi
15345 fi
15346
15347 # It seems that -bexpall does not export symbols beginning with
15348 # underscore (_), so it is better to generate a list of symbols to export.
15349 always_export_symbols_F77=yes
15350 if test "$aix_use_runtimelinking" = yes; then
15351 # Warning - without using the other runtime loading flags (-brtl),
15352 # -berok will link without error, but may produce a broken library.
15353 allow_undefined_flag_F77='-berok'
15354 # Determine the default libpath from the value encoded in an empty executable.
15355 cat >conftest.$ac_ext <<_ACEOF
15356 program main
15357
15358 end
15359 _ACEOF
15360 rm -f conftest.$ac_objext conftest$ac_exeext
15361 if { (ac_try="$ac_link"
15362 case "(($ac_try" in
15363 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
15364 *) ac_try_echo=$ac_try;;
15365 esac
15366 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
15367 $as_echo "$ac_try_echo") >&5
15368 (eval "$ac_link") 2>conftest.er1
15369 ac_status=$?
15370 grep -v '^ *+' conftest.er1 >conftest.err
15371 rm -f conftest.er1
15372 cat conftest.err >&5
15373 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
15374 (exit $ac_status); } && {
15375 test -z "$ac_f77_werror_flag" ||
15376 test ! -s conftest.err
15377 } && test -s conftest$ac_exeext && {
15378 test "$cross_compiling" = yes ||
15379 $as_test_x conftest$ac_exeext
15380 }; then
15381
15382 lt_aix_libpath_sed='
15383 /Import File Strings/,/^$/ {
15384 /^0/ {
15385 s/^0 *\(.*\)$/\1/
15386 p
15387 }
15388 }'
15389 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
15390 # Check for a 64-bit object if we didn't find anything.
15391 if test -z "$aix_libpath"; then
15392 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
15393 fi
15394 else
15395 $as_echo "$as_me: failed program was:" >&5
15396 sed 's/^/| /' conftest.$ac_ext >&5
15397
15398
15399 fi
15400
15401 rm -rf conftest.dSYM
15402 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
15403 conftest$ac_exeext conftest.$ac_ext
15404 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
15405
15406 hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
15407 archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
15408 else
15409 if test "$host_cpu" = ia64; then
15410 hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
15411 allow_undefined_flag_F77="-z nodefs"
15412 archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
15413 else
15414 # Determine the default libpath from the value encoded in an empty executable.
15415 cat >conftest.$ac_ext <<_ACEOF
15416 program main
15417
15418 end
15419 _ACEOF
15420 rm -f conftest.$ac_objext conftest$ac_exeext
15421 if { (ac_try="$ac_link"
15422 case "(($ac_try" in
15423 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
15424 *) ac_try_echo=$ac_try;;
15425 esac
15426 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
15427 $as_echo "$ac_try_echo") >&5
15428 (eval "$ac_link") 2>conftest.er1
15429 ac_status=$?
15430 grep -v '^ *+' conftest.er1 >conftest.err
15431 rm -f conftest.er1
15432 cat conftest.err >&5
15433 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
15434 (exit $ac_status); } && {
15435 test -z "$ac_f77_werror_flag" ||
15436 test ! -s conftest.err
15437 } && test -s conftest$ac_exeext && {
15438 test "$cross_compiling" = yes ||
15439 $as_test_x conftest$ac_exeext
15440 }; then
15441
15442 lt_aix_libpath_sed='
15443 /Import File Strings/,/^$/ {
15444 /^0/ {
15445 s/^0 *\(.*\)$/\1/
15446 p
15447 }
15448 }'
15449 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
15450 # Check for a 64-bit object if we didn't find anything.
15451 if test -z "$aix_libpath"; then
15452 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
15453 fi
15454 else
15455 $as_echo "$as_me: failed program was:" >&5
15456 sed 's/^/| /' conftest.$ac_ext >&5
15457
15458
15459 fi
15460
15461 rm -rf conftest.dSYM
15462 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
15463 conftest$ac_exeext conftest.$ac_ext
15464 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
15465
15466 hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
15467 # Warning - without using the other run time loading flags,
15468 # -berok will link without error, but may produce a broken library.
15469 no_undefined_flag_F77=' ${wl}-bernotok'
15470 allow_undefined_flag_F77=' ${wl}-berok'
15471 # Exported symbols can be pulled into shared objects from archives
15472 whole_archive_flag_spec_F77='$convenience'
15473 archive_cmds_need_lc_F77=yes
15474 # This is similar to how AIX traditionally builds its shared libraries.
15475 archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
15476 fi
15477 fi
15478 ;;
15479
15480 amigaos*)
15481 archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
15482 hardcode_libdir_flag_spec_F77='-L$libdir'
15483 hardcode_minus_L_F77=yes
15484 # see comment about different semantics on the GNU ld section
15485 ld_shlibs_F77=no
15486 ;;
15487
15488 bsdi[45]*)
15489 export_dynamic_flag_spec_F77=-rdynamic
15490 ;;
15491
15492 cygwin* | mingw* | pw32*)
15493 # When not using gcc, we currently assume that we are using
15494 # Microsoft Visual C++.
15495 # hardcode_libdir_flag_spec is actually meaningless, as there is
15496 # no search path for DLLs.
15497 hardcode_libdir_flag_spec_F77=' '
15498 allow_undefined_flag_F77=unsupported
15499 # Tell ltmain to make .lib files, not .a files.
15500 libext=lib
15501 # Tell ltmain to make .dll files, not .so files.
15502 shrext_cmds=".dll"
15503 # FIXME: Setting linknames here is a bad hack.
15504 archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
15505 # The linker will automatically build a .lib file if we build a DLL.
15506 old_archive_From_new_cmds_F77='true'
15507 # FIXME: Should let the user specify the lib program.
15508 old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs'
15509 fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
15510 enable_shared_with_static_runtimes_F77=yes
15511 ;;
15512
15513 darwin* | rhapsody*)
15514 case $host_os in
15515 rhapsody* | darwin1.[012])
15516 allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
15517 ;;
15518 *) # Darwin 1.3 on
15519 if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
15520 allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
15521 else
15522 case ${MACOSX_DEPLOYMENT_TARGET} in
15523 10.[012])
15524 allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
15525 ;;
15526 10.*)
15527 allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup'
15528 ;;
15529 esac
15530 fi
15531 ;;
15532 esac
15533 archive_cmds_need_lc_F77=no
15534 hardcode_direct_F77=no
15535 hardcode_automatic_F77=yes
15536 hardcode_shlibpath_var_F77=unsupported
15537 whole_archive_flag_spec_F77=''
15538 link_all_deplibs_F77=yes
15539 if test "$GCC" = yes ; then
15540 output_verbose_link_cmd='echo'
15541 archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
15542 module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
15543 archive_expsym_cmds_F77="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
15544 module_expsym_cmds_F77="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
15545 else
15546 case $cc_basename in
15547 xlc*)
15548 output_verbose_link_cmd='echo'
15549 archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
15550 module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
15551 # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
15552 archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
15553 module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
15554 ;;
15555 *)
15556 ld_shlibs_F77=no
15557 ;;
15558 esac
15559 fi
15560 ;;
15561
15562 dgux*)
15563 archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
15564 hardcode_libdir_flag_spec_F77='-L$libdir'
15565 hardcode_shlibpath_var_F77=no
15566 ;;
15567
15568 freebsd1*)
15569 ld_shlibs_F77=no
15570 ;;
15571
15572 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
15573 # support. Future versions do this automatically, but an explicit c++rt0.o
15574 # does not break anything, and helps significantly (at the cost of a little
15575 # extra space).
15576 freebsd2.2*)
15577 archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
15578 hardcode_libdir_flag_spec_F77='-R$libdir'
15579 hardcode_direct_F77=yes
15580 hardcode_shlibpath_var_F77=no
15581 ;;
15582
15583 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
15584 freebsd2*)
15585 archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
15586 hardcode_direct_F77=yes
15587 hardcode_minus_L_F77=yes
15588 hardcode_shlibpath_var_F77=no
15589 ;;
15590
15591 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
15592 freebsd* | dragonfly*)
15593 archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
15594 hardcode_libdir_flag_spec_F77='-R$libdir'
15595 hardcode_direct_F77=yes
15596 hardcode_shlibpath_var_F77=no
15597 ;;
15598
15599 hpux9*)
15600 if test "$GCC" = yes; then
15601 archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
15602 else
15603 archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
15604 fi
15605 hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
15606 hardcode_libdir_separator_F77=:
15607 hardcode_direct_F77=yes
15608
15609 # hardcode_minus_L: Not really in the search PATH,
15610 # but as the default location of the library.
15611 hardcode_minus_L_F77=yes
15612 export_dynamic_flag_spec_F77='${wl}-E'
15613 ;;
15614
15615 hpux10*)
15616 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
15617 archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
15618 else
15619 archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
15620 fi
15621 if test "$with_gnu_ld" = no; then
15622 hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
15623 hardcode_libdir_separator_F77=:
15624
15625 hardcode_direct_F77=yes
15626 export_dynamic_flag_spec_F77='${wl}-E'
15627
15628 # hardcode_minus_L: Not really in the search PATH,
15629 # but as the default location of the library.
15630 hardcode_minus_L_F77=yes
15631 fi
15632 ;;
15633
15634 hpux11*)
15635 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
15636 case $host_cpu in
15637 hppa*64*)
15638 archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
15639 ;;
15640 ia64*)
15641 archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
15642 ;;
15643 *)
15644 archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
15645 ;;
15646 esac
15647 else
15648 case $host_cpu in
15649 hppa*64*)
15650 archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
15651 ;;
15652 ia64*)
15653 archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
15654 ;;
15655 *)
15656 archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
15657 ;;
15658 esac
15659 fi
15660 if test "$with_gnu_ld" = no; then
15661 hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
15662 hardcode_libdir_separator_F77=:
15663
15664 case $host_cpu in
15665 hppa*64*|ia64*)
15666 hardcode_libdir_flag_spec_ld_F77='+b $libdir'
15667 hardcode_direct_F77=no
15668 hardcode_shlibpath_var_F77=no
15669 ;;
15670 *)
15671 hardcode_direct_F77=yes
15672 export_dynamic_flag_spec_F77='${wl}-E'
15673
15674 # hardcode_minus_L: Not really in the search PATH,
15675 # but as the default location of the library.
15676 hardcode_minus_L_F77=yes
15677 ;;
15678 esac
15679 fi
15680 ;;
15681
15682 irix5* | irix6* | nonstopux*)
15683 if test "$GCC" = yes; then
15684 archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
15685 else
15686 archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
15687 hardcode_libdir_flag_spec_ld_F77='-rpath $libdir'
15688 fi
15689 hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
15690 hardcode_libdir_separator_F77=:
15691 link_all_deplibs_F77=yes
15692 ;;
15693
15694 netbsd*)
15695 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
15696 archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
15697 else
15698 archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
15699 fi
15700 hardcode_libdir_flag_spec_F77='-R$libdir'
15701 hardcode_direct_F77=yes
15702 hardcode_shlibpath_var_F77=no
15703 ;;
15704
15705 newsos6)
15706 archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
15707 hardcode_direct_F77=yes
15708 hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
15709 hardcode_libdir_separator_F77=:
15710 hardcode_shlibpath_var_F77=no
15711 ;;
15712
15713 openbsd*)
15714 if test -f /usr/libexec/ld.so; then
15715 hardcode_direct_F77=yes
15716 hardcode_shlibpath_var_F77=no
15717 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
15718 archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
15719 archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
15720 hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
15721 export_dynamic_flag_spec_F77='${wl}-E'
15722 else
15723 case $host_os in
15724 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
15725 archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
15726 hardcode_libdir_flag_spec_F77='-R$libdir'
15727 ;;
15728 *)
15729 archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
15730 hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
15731 ;;
15732 esac
15733 fi
15734 else
15735 ld_shlibs_F77=no
15736 fi
15737 ;;
15738
15739 os2*)
15740 hardcode_libdir_flag_spec_F77='-L$libdir'
15741 hardcode_minus_L_F77=yes
15742 allow_undefined_flag_F77=unsupported
15743 archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
15744 old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
15745 ;;
15746
15747 osf3*)
15748 if test "$GCC" = yes; then
15749 allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
15750 archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
15751 else
15752 allow_undefined_flag_F77=' -expect_unresolved \*'
15753 archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
15754 fi
15755 hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
15756 hardcode_libdir_separator_F77=:
15757 ;;
15758
15759 osf4* | osf5*) # as osf3* with the addition of -msym flag
15760 if test "$GCC" = yes; then
15761 allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
15762 archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
15763 hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
15764 else
15765 allow_undefined_flag_F77=' -expect_unresolved \*'
15766 archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
15767 archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
15768 $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
15769
15770 # Both c and cxx compiler support -rpath directly
15771 hardcode_libdir_flag_spec_F77='-rpath $libdir'
15772 fi
15773 hardcode_libdir_separator_F77=:
15774 ;;
15775
15776 solaris*)
15777 no_undefined_flag_F77=' -z text'
15778 if test "$GCC" = yes; then
15779 wlarc='${wl}'
15780 archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
15781 archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
15782 $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
15783 else
15784 wlarc=''
15785 archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
15786 archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
15787 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
15788 fi
15789 hardcode_libdir_flag_spec_F77='-R$libdir'
15790 hardcode_shlibpath_var_F77=no
15791 case $host_os in
15792 solaris2.[0-5] | solaris2.[0-5].*) ;;
15793 *)
15794 # The compiler driver will combine and reorder linker options,
15795 # but understands `-z linker_flag'. GCC discards it without `$wl',
15796 # but is careful enough not to reorder.
15797 # Supported since Solaris 2.6 (maybe 2.5.1?)
15798 if test "$GCC" = yes; then
15799 whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
15800 else
15801 whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract'
15802 fi
15803 ;;
15804 esac
15805 link_all_deplibs_F77=yes
15806 ;;
15807
15808 sunos4*)
15809 if test "x$host_vendor" = xsequent; then
15810 # Use $CC to link under sequent, because it throws in some extra .o
15811 # files that make .init and .fini sections work.
15812 archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
15813 else
15814 archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
15815 fi
15816 hardcode_libdir_flag_spec_F77='-L$libdir'
15817 hardcode_direct_F77=yes
15818 hardcode_minus_L_F77=yes
15819 hardcode_shlibpath_var_F77=no
15820 ;;
15821
15822 sysv4)
15823 case $host_vendor in
15824 sni)
15825 archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
15826 hardcode_direct_F77=yes # is this really true???
15827 ;;
15828 siemens)
15829 ## LD is ld it makes a PLAMLIB
15830 ## CC just makes a GrossModule.
15831 archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
15832 reload_cmds_F77='$CC -r -o $output$reload_objs'
15833 hardcode_direct_F77=no
15834 ;;
15835 motorola)
15836 archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
15837 hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
15838 ;;
15839 esac
15840 runpath_var='LD_RUN_PATH'
15841 hardcode_shlibpath_var_F77=no
15842 ;;
15843
15844 sysv4.3*)
15845 archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
15846 hardcode_shlibpath_var_F77=no
15847 export_dynamic_flag_spec_F77='-Bexport'
15848 ;;
15849
15850 sysv4*MP*)
15851 if test -d /usr/nec; then
15852 archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
15853 hardcode_shlibpath_var_F77=no
15854 runpath_var=LD_RUN_PATH
15855 hardcode_runpath_var=yes
15856 ld_shlibs_F77=yes
15857 fi
15858 ;;
15859
15860 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
15861 no_undefined_flag_F77='${wl}-z,text'
15862 archive_cmds_need_lc_F77=no
15863 hardcode_shlibpath_var_F77=no
15864 runpath_var='LD_RUN_PATH'
15865
15866 if test "$GCC" = yes; then
15867 archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
15868 archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
15869 else
15870 archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
15871 archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
15872 fi
15873 ;;
15874
15875 sysv5* | sco3.2v5* | sco5v6*)
15876 # Note: We can NOT use -z defs as we might desire, because we do not
15877 # link with -lc, and that would cause any symbols used from libc to
15878 # always be unresolved, which means just about no library would
15879 # ever link correctly. If we're not using GNU ld we use -z text
15880 # though, which does catch some bad symbols but isn't as heavy-handed
15881 # as -z defs.
15882 no_undefined_flag_F77='${wl}-z,text'
15883 allow_undefined_flag_F77='${wl}-z,nodefs'
15884 archive_cmds_need_lc_F77=no
15885 hardcode_shlibpath_var_F77=no
15886 hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
15887 hardcode_libdir_separator_F77=':'
15888 link_all_deplibs_F77=yes
15889 export_dynamic_flag_spec_F77='${wl}-Bexport'
15890 runpath_var='LD_RUN_PATH'
15891
15892 if test "$GCC" = yes; then
15893 archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
15894 archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
15895 else
15896 archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
15897 archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
15898 fi
15899 ;;
15900
15901 uts4*)
15902 archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
15903 hardcode_libdir_flag_spec_F77='-L$libdir'
15904 hardcode_shlibpath_var_F77=no
15905 ;;
15906
15907 *)
15908 ld_shlibs_F77=no
15909 ;;
15910 esac
15911 fi
15912
15913 { $as_echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
15914 $as_echo "$ld_shlibs_F77" >&6; }
15915 test "$ld_shlibs_F77" = no && can_build_shared=no
15916
15917 #
15918 # Do we need to explicitly link libc?
15919 #
15920 case "x$archive_cmds_need_lc_F77" in
15921 x|xyes)
15922 # Assume -lc should be added
15923 archive_cmds_need_lc_F77=yes
15924
15925 if test "$enable_shared" = yes && test "$GCC" = yes; then
15926 case $archive_cmds_F77 in
15927 *'~'*)
15928 # FIXME: we may have to deal with multi-command sequences.
15929 ;;
15930 '$CC '*)
15931 # Test whether the compiler implicitly links with -lc since on some
15932 # systems, -lgcc has to come before -lc. If gcc already passes -lc
15933 # to ld, don't add -lc before -lgcc.
15934 { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
15935 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
15936 $rm conftest*
15937 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
15938
15939 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
15940 (eval $ac_compile) 2>&5
15941 ac_status=$?
15942 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
15943 (exit $ac_status); } 2>conftest.err; then
15944 soname=conftest
15945 lib=conftest
15946 libobjs=conftest.$ac_objext
15947 deplibs=
15948 wl=$lt_prog_compiler_wl_F77
15949 pic_flag=$lt_prog_compiler_pic_F77
15950 compiler_flags=-v
15951 linker_flags=-v
15952 verstring=
15953 output_objdir=.
15954 libname=conftest
15955 lt_save_allow_undefined_flag=$allow_undefined_flag_F77
15956 allow_undefined_flag_F77=
15957 if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
15958 (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
15959 ac_status=$?
15960 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
15961 (exit $ac_status); }
15962 then
15963 archive_cmds_need_lc_F77=no
15964 else
15965 archive_cmds_need_lc_F77=yes
15966 fi
15967 allow_undefined_flag_F77=$lt_save_allow_undefined_flag
15968 else
15969 cat conftest.err 1>&5
15970 fi
15971 $rm conftest*
15972 { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
15973 $as_echo "$archive_cmds_need_lc_F77" >&6; }
15974 ;;
15975 esac
15976 fi
15977 ;;
15978 esac
15979
15980 { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
15981 $as_echo_n "checking dynamic linker characteristics... " >&6; }
15982 library_names_spec=
15983 libname_spec='lib$name'
15984 soname_spec=
15985 shrext_cmds=".so"
15986 postinstall_cmds=
15987 postuninstall_cmds=
15988 finish_cmds=
15989 finish_eval=
15990 shlibpath_var=
15991 shlibpath_overrides_runpath=unknown
15992 version_type=none
15993 dynamic_linker="$host_os ld.so"
15994 sys_lib_dlsearch_path_spec="/lib /usr/lib"
15995
15996 need_lib_prefix=unknown
15997 hardcode_into_libs=no
15998
15999 # when you set need_version to no, make sure it does not cause -set_version
16000 # flags to be left without arguments
16001 need_version=unknown
16002
16003 case $host_os in
16004 aix3*)
16005 version_type=linux
16006 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
16007 shlibpath_var=LIBPATH
16008
16009 # AIX 3 has no versioning support, so we append a major version to the name.
16010 soname_spec='${libname}${release}${shared_ext}$major'
16011 ;;
16012
16013 aix[4-9]*)
16014 version_type=linux
16015 need_lib_prefix=no
16016 need_version=no
16017 hardcode_into_libs=yes
16018 if test "$host_cpu" = ia64; then
16019 # AIX 5 supports IA64
16020 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
16021 shlibpath_var=LD_LIBRARY_PATH
16022 else
16023 # With GCC up to 2.95.x, collect2 would create an import file
16024 # for dependence libraries. The import file would start with
16025 # the line `#! .'. This would cause the generated library to
16026 # depend on `.', always an invalid library. This was fixed in
16027 # development snapshots of GCC prior to 3.0.
16028 case $host_os in
16029 aix4 | aix4.[01] | aix4.[01].*)
16030 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
16031 echo ' yes '
16032 echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
16033 :
16034 else
16035 can_build_shared=no
16036 fi
16037 ;;
16038 esac
16039 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
16040 # soname into executable. Probably we can add versioning support to
16041 # collect2, so additional links can be useful in future.
16042 if test "$aix_use_runtimelinking" = yes; then
16043 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
16044 # instead of lib<name>.a to let people know that these are not
16045 # typical AIX shared libraries.
16046 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
16047 else
16048 # We preserve .a as extension for shared libraries through AIX4.2
16049 # and later when we are not doing run time linking.
16050 library_names_spec='${libname}${release}.a $libname.a'
16051 soname_spec='${libname}${release}${shared_ext}$major'
16052 fi
16053 shlibpath_var=LIBPATH
16054 fi
16055 ;;
16056
16057 amigaos*)
16058 library_names_spec='$libname.ixlibrary $libname.a'
16059 # Create ${libname}_ixlibrary.a entries in /sys/libs.
16060 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
16061 ;;
16062
16063 beos*)
16064 library_names_spec='${libname}${shared_ext}'
16065 dynamic_linker="$host_os ld.so"
16066 shlibpath_var=LIBRARY_PATH
16067 ;;
16068
16069 bsdi[45]*)
16070 version_type=linux
16071 need_version=no
16072 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
16073 soname_spec='${libname}${release}${shared_ext}$major'
16074 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
16075 shlibpath_var=LD_LIBRARY_PATH
16076 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
16077 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
16078 # the default ld.so.conf also contains /usr/contrib/lib and
16079 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
16080 # libtool to hard-code these into programs
16081 ;;
16082
16083 cygwin* | mingw* | pw32*)
16084 version_type=windows
16085 shrext_cmds=".dll"
16086 need_version=no
16087 need_lib_prefix=no
16088
16089 case $GCC,$host_os in
16090 yes,cygwin* | yes,mingw* | yes,pw32*)
16091 library_names_spec='$libname.dll.a'
16092 # DLL is installed to $(libdir)/../bin by postinstall_cmds
16093 postinstall_cmds='base_file=`basename \${file}`~
16094 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
16095 dldir=$destdir/`dirname \$dlpath`~
16096 test -d \$dldir || mkdir -p \$dldir~
16097 $install_prog $dir/$dlname \$dldir/$dlname~
16098 chmod a+x \$dldir/$dlname'
16099 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
16100 dlpath=$dir/\$dldll~
16101 $rm \$dlpath'
16102 shlibpath_overrides_runpath=yes
16103
16104 case $host_os in
16105 cygwin*)
16106 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
16107 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
16108 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
16109 ;;
16110 mingw*)
16111 # MinGW DLLs use traditional 'lib' prefix
16112 soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
16113 sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
16114 if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
16115 # It is most probably a Windows format PATH printed by
16116 # mingw gcc, but we are running on Cygwin. Gcc prints its search
16117 # path with ; separators, and with drive letters. We can handle the
16118 # drive letters (cygwin fileutils understands them), so leave them,
16119 # especially as we might pass files found there to a mingw objdump,
16120 # which wouldn't understand a cygwinified path. Ahh.
16121 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
16122 else
16123 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
16124 fi
16125 ;;
16126 pw32*)
16127 # pw32 DLLs use 'pw' prefix rather than 'lib'
16128 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
16129 ;;
16130 esac
16131 ;;
16132
16133 *)
16134 library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
16135 ;;
16136 esac
16137 dynamic_linker='Win32 ld.exe'
16138 # FIXME: first we should search . and the directory the executable is in
16139 shlibpath_var=PATH
16140 ;;
16141
16142 darwin* | rhapsody*)
16143 dynamic_linker="$host_os dyld"
16144 version_type=darwin
16145 need_lib_prefix=no
16146 need_version=no
16147 library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
16148 soname_spec='${libname}${release}${major}$shared_ext'
16149 shlibpath_overrides_runpath=yes
16150 shlibpath_var=DYLD_LIBRARY_PATH
16151 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
16152
16153 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
16154 ;;
16155
16156 dgux*)
16157 version_type=linux
16158 need_lib_prefix=no
16159 need_version=no
16160 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
16161 soname_spec='${libname}${release}${shared_ext}$major'
16162 shlibpath_var=LD_LIBRARY_PATH
16163 ;;
16164
16165 freebsd1*)
16166 dynamic_linker=no
16167 ;;
16168
16169 freebsd* | dragonfly*)
16170 # DragonFly does not have aout. When/if they implement a new
16171 # versioning mechanism, adjust this.
16172 if test -x /usr/bin/objformat; then
16173 objformat=`/usr/bin/objformat`
16174 else
16175 case $host_os in
16176 freebsd[123]*) objformat=aout ;;
16177 *) objformat=elf ;;
16178 esac
16179 fi
16180 version_type=freebsd-$objformat
16181 case $version_type in
16182 freebsd-elf*)
16183 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
16184 need_version=no
16185 need_lib_prefix=no
16186 ;;
16187 freebsd-*)
16188 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
16189 need_version=yes
16190 ;;
16191 esac
16192 shlibpath_var=LD_LIBRARY_PATH
16193 case $host_os in
16194 freebsd2*)
16195 shlibpath_overrides_runpath=yes
16196 ;;
16197 freebsd3.[01]* | freebsdelf3.[01]*)
16198 shlibpath_overrides_runpath=yes
16199 hardcode_into_libs=yes
16200 ;;
16201 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
16202 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
16203 shlibpath_overrides_runpath=no
16204 hardcode_into_libs=yes
16205 ;;
16206 *) # from 4.6 on, and DragonFly
16207 shlibpath_overrides_runpath=yes
16208 hardcode_into_libs=yes
16209 ;;
16210 esac
16211 ;;
16212
16213 gnu*)
16214 version_type=linux
16215 need_lib_prefix=no
16216 need_version=no
16217 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
16218 soname_spec='${libname}${release}${shared_ext}$major'
16219 shlibpath_var=LD_LIBRARY_PATH
16220 hardcode_into_libs=yes
16221 ;;
16222
16223 hpux9* | hpux10* | hpux11*)
16224 # Give a soname corresponding to the major version so that dld.sl refuses to
16225 # link against other versions.
16226 version_type=sunos
16227 need_lib_prefix=no
16228 need_version=no
16229 case $host_cpu in
16230 ia64*)
16231 shrext_cmds='.so'
16232 hardcode_into_libs=yes
16233 dynamic_linker="$host_os dld.so"
16234 shlibpath_var=LD_LIBRARY_PATH
16235 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
16236 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
16237 soname_spec='${libname}${release}${shared_ext}$major'
16238 if test "X$HPUX_IA64_MODE" = X32; then
16239 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
16240 else
16241 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
16242 fi
16243 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
16244 ;;
16245 hppa*64*)
16246 shrext_cmds='.sl'
16247 hardcode_into_libs=yes
16248 dynamic_linker="$host_os dld.sl"
16249 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
16250 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
16251 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
16252 soname_spec='${libname}${release}${shared_ext}$major'
16253 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
16254 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
16255 ;;
16256 *)
16257 shrext_cmds='.sl'
16258 dynamic_linker="$host_os dld.sl"
16259 shlibpath_var=SHLIB_PATH
16260 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
16261 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
16262 soname_spec='${libname}${release}${shared_ext}$major'
16263 ;;
16264 esac
16265 # HP-UX runs *really* slowly unless shared libraries are mode 555.
16266 postinstall_cmds='chmod 555 $lib'
16267 ;;
16268
16269 interix[3-9]*)
16270 version_type=linux
16271 need_lib_prefix=no
16272 need_version=no
16273 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
16274 soname_spec='${libname}${release}${shared_ext}$major'
16275 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
16276 shlibpath_var=LD_LIBRARY_PATH
16277 shlibpath_overrides_runpath=no
16278 hardcode_into_libs=yes
16279 ;;
16280
16281 irix5* | irix6* | nonstopux*)
16282 case $host_os in
16283 nonstopux*) version_type=nonstopux ;;
16284 *)
16285 if test "$lt_cv_prog_gnu_ld" = yes; then
16286 version_type=linux
16287 else
16288 version_type=irix
16289 fi ;;
16290 esac
16291 need_lib_prefix=no
16292 need_version=no
16293 soname_spec='${libname}${release}${shared_ext}$major'
16294 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
16295 case $host_os in
16296 irix5* | nonstopux*)
16297 libsuff= shlibsuff=
16298 ;;
16299 *)
16300 case $LD in # libtool.m4 will add one of these switches to LD
16301 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
16302 libsuff= shlibsuff= libmagic=32-bit;;
16303 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
16304 libsuff=32 shlibsuff=N32 libmagic=N32;;
16305 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
16306 libsuff=64 shlibsuff=64 libmagic=64-bit;;
16307 *) libsuff= shlibsuff= libmagic=never-match;;
16308 esac
16309 ;;
16310 esac
16311 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
16312 shlibpath_overrides_runpath=no
16313 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
16314 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
16315 hardcode_into_libs=yes
16316 ;;
16317
16318 # No shared lib support for Linux oldld, aout, or coff.
16319 linux*oldld* | linux*aout* | linux*coff*)
16320 dynamic_linker=no
16321 ;;
16322
16323 # This must be Linux ELF.
16324 linux* | k*bsd*-gnu)
16325 version_type=linux
16326 need_lib_prefix=no
16327 need_version=no
16328 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
16329 soname_spec='${libname}${release}${shared_ext}$major'
16330 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
16331 shlibpath_var=LD_LIBRARY_PATH
16332 shlibpath_overrides_runpath=no
16333 # This implies no fast_install, which is unacceptable.
16334 # Some rework will be needed to allow for fast_install
16335 # before this can be enabled.
16336 hardcode_into_libs=yes
16337 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
16338 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
16339
16340 # Append ld.so.conf contents to the search path
16341 if test -f /etc/ld.so.conf; then
16342 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
16343 sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
16344 fi
16345
16346 # We used to test for /lib/ld.so.1 and disable shared libraries on
16347 # powerpc, because MkLinux only supported shared libraries with the
16348 # GNU dynamic linker. Since this was broken with cross compilers,
16349 # most powerpc-linux boxes support dynamic linking these days and
16350 # people can always --disable-shared, the test was removed, and we
16351 # assume the GNU/Linux dynamic linker is in use.
16352 dynamic_linker='GNU/Linux ld.so'
16353 ;;
16354
16355 netbsd*)
16356 version_type=sunos
16357 need_lib_prefix=no
16358 need_version=no
16359 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
16360 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
16361 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
16362 dynamic_linker='NetBSD (a.out) ld.so'
16363 else
16364 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
16365 soname_spec='${libname}${release}${shared_ext}$major'
16366 dynamic_linker='NetBSD ld.elf_so'
16367 fi
16368 shlibpath_var=LD_LIBRARY_PATH
16369 shlibpath_overrides_runpath=yes
16370 hardcode_into_libs=yes
16371 ;;
16372
16373 newsos6)
16374 version_type=linux
16375 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
16376 shlibpath_var=LD_LIBRARY_PATH
16377 shlibpath_overrides_runpath=yes
16378 ;;
16379
16380 nto-qnx*)
16381 version_type=linux
16382 need_lib_prefix=no
16383 need_version=no
16384 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
16385 soname_spec='${libname}${release}${shared_ext}$major'
16386 shlibpath_var=LD_LIBRARY_PATH
16387 shlibpath_overrides_runpath=yes
16388 ;;
16389
16390 openbsd*)
16391 version_type=sunos
16392 sys_lib_dlsearch_path_spec="/usr/lib"
16393 need_lib_prefix=no
16394 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
16395 case $host_os in
16396 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
16397 *) need_version=no ;;
16398 esac
16399 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
16400 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
16401 shlibpath_var=LD_LIBRARY_PATH
16402 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
16403 case $host_os in
16404 openbsd2.[89] | openbsd2.[89].*)
16405 shlibpath_overrides_runpath=no
16406 ;;
16407 *)
16408 shlibpath_overrides_runpath=yes
16409 ;;
16410 esac
16411 else
16412 shlibpath_overrides_runpath=yes
16413 fi
16414 ;;
16415
16416 os2*)
16417 libname_spec='$name'
16418 shrext_cmds=".dll"
16419 need_lib_prefix=no
16420 library_names_spec='$libname${shared_ext} $libname.a'
16421 dynamic_linker='OS/2 ld.exe'
16422 shlibpath_var=LIBPATH
16423 ;;
16424
16425 osf3* | osf4* | osf5*)
16426 version_type=osf
16427 need_lib_prefix=no
16428 need_version=no
16429 soname_spec='${libname}${release}${shared_ext}$major'
16430 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
16431 shlibpath_var=LD_LIBRARY_PATH
16432 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
16433 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
16434 ;;
16435
16436 rdos*)
16437 dynamic_linker=no
16438 ;;
16439
16440 solaris*)
16441 version_type=linux
16442 need_lib_prefix=no
16443 need_version=no
16444 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
16445 soname_spec='${libname}${release}${shared_ext}$major'
16446 shlibpath_var=LD_LIBRARY_PATH
16447 shlibpath_overrides_runpath=yes
16448 hardcode_into_libs=yes
16449 # ldd complains unless libraries are executable
16450 postinstall_cmds='chmod +x $lib'
16451 ;;
16452
16453 sunos4*)
16454 version_type=sunos
16455 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
16456 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
16457 shlibpath_var=LD_LIBRARY_PATH
16458 shlibpath_overrides_runpath=yes
16459 if test "$with_gnu_ld" = yes; then
16460 need_lib_prefix=no
16461 fi
16462 need_version=yes
16463 ;;
16464
16465 sysv4 | sysv4.3*)
16466 version_type=linux
16467 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
16468 soname_spec='${libname}${release}${shared_ext}$major'
16469 shlibpath_var=LD_LIBRARY_PATH
16470 case $host_vendor in
16471 sni)
16472 shlibpath_overrides_runpath=no
16473 need_lib_prefix=no
16474 export_dynamic_flag_spec='${wl}-Blargedynsym'
16475 runpath_var=LD_RUN_PATH
16476 ;;
16477 siemens)
16478 need_lib_prefix=no
16479 ;;
16480 motorola)
16481 need_lib_prefix=no
16482 need_version=no
16483 shlibpath_overrides_runpath=no
16484 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
16485 ;;
16486 esac
16487 ;;
16488
16489 sysv4*MP*)
16490 if test -d /usr/nec ;then
16491 version_type=linux
16492 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
16493 soname_spec='$libname${shared_ext}.$major'
16494 shlibpath_var=LD_LIBRARY_PATH
16495 fi
16496 ;;
16497
16498 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
16499 version_type=freebsd-elf
16500 need_lib_prefix=no
16501 need_version=no
16502 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
16503 soname_spec='${libname}${release}${shared_ext}$major'
16504 shlibpath_var=LD_LIBRARY_PATH
16505 hardcode_into_libs=yes
16506 if test "$with_gnu_ld" = yes; then
16507 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
16508 shlibpath_overrides_runpath=no
16509 else
16510 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
16511 shlibpath_overrides_runpath=yes
16512 case $host_os in
16513 sco3.2v5*)
16514 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
16515 ;;
16516 esac
16517 fi
16518 sys_lib_dlsearch_path_spec='/usr/lib'
16519 ;;
16520
16521 uts4*)
16522 version_type=linux
16523 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
16524 soname_spec='${libname}${release}${shared_ext}$major'
16525 shlibpath_var=LD_LIBRARY_PATH
16526 ;;
16527
16528 *)
16529 dynamic_linker=no
16530 ;;
16531 esac
16532 { $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
16533 $as_echo "$dynamic_linker" >&6; }
16534 test "$dynamic_linker" = no && can_build_shared=no
16535
16536 if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
16537 $as_echo_n "(cached) " >&6
16538 else
16539 lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
16540 fi
16541
16542 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
16543 if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
16544 $as_echo_n "(cached) " >&6
16545 else
16546 lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
16547 fi
16548
16549 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
16550
16551 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
16552 if test "$GCC" = yes; then
16553 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
16554 fi
16555
16556 { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
16557 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
16558 hardcode_action_F77=
16559 if test -n "$hardcode_libdir_flag_spec_F77" || \
16560 test -n "$runpath_var_F77" || \
16561 test "X$hardcode_automatic_F77" = "Xyes" ; then
16562
16563 # We can hardcode non-existant directories.
16564 if test "$hardcode_direct_F77" != no &&
16565 # If the only mechanism to avoid hardcoding is shlibpath_var, we
16566 # have to relink, otherwise we might link with an installed library
16567 # when we should be linking with a yet-to-be-installed one
16568 ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
16569 test "$hardcode_minus_L_F77" != no; then
16570 # Linking always hardcodes the temporary library directory.
16571 hardcode_action_F77=relink
16572 else
16573 # We can link without hardcoding, and we can hardcode nonexisting dirs.
16574 hardcode_action_F77=immediate
16575 fi
16576 else
16577 # We cannot hardcode anything, or else we can only hardcode existing
16578 # directories.
16579 hardcode_action_F77=unsupported
16580 fi
16581 { $as_echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
16582 $as_echo "$hardcode_action_F77" >&6; }
16583
16584 if test "$hardcode_action_F77" = relink; then
16585 # Fast installation is not supported
16586 enable_fast_install=no
16587 elif test "$shlibpath_overrides_runpath" = yes ||
16588 test "$enable_shared" = no; then
16589 # Fast installation is not necessary
16590 enable_fast_install=needless
16591 fi
16592
16593
16594 # The else clause should only fire when bootstrapping the
16595 # libtool distribution, otherwise you forgot to ship ltmain.sh
16596 # with your package, and you will get complaints that there are
16597 # no rules to generate ltmain.sh.
16598 if test -f "$ltmain"; then
16599 # See if we are running on zsh, and set the options which allow our commands through
16600 # without removal of \ escapes.
16601 if test -n "${ZSH_VERSION+set}" ; then
16602 setopt NO_GLOB_SUBST
16603 fi
16604 # Now quote all the things that may contain metacharacters while being
16605 # careful not to overquote the AC_SUBSTed values. We take copies of the
16606 # variables and quote the copies for generation of the libtool script.
16607 for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
16608 SED SHELL STRIP \
16609 libname_spec library_names_spec soname_spec extract_expsyms_cmds \
16610 old_striplib striplib file_magic_cmd finish_cmds finish_eval \
16611 deplibs_check_method reload_flag reload_cmds need_locks \
16612 lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
16613 lt_cv_sys_global_symbol_to_c_name_address \
16614 sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
16615 old_postinstall_cmds old_postuninstall_cmds \
16616 compiler_F77 \
16617 CC_F77 \
16618 LD_F77 \
16619 lt_prog_compiler_wl_F77 \
16620 lt_prog_compiler_pic_F77 \
16621 lt_prog_compiler_static_F77 \
16622 lt_prog_compiler_no_builtin_flag_F77 \
16623 export_dynamic_flag_spec_F77 \
16624 thread_safe_flag_spec_F77 \
16625 whole_archive_flag_spec_F77 \
16626 enable_shared_with_static_runtimes_F77 \
16627 old_archive_cmds_F77 \
16628 old_archive_from_new_cmds_F77 \
16629 predep_objects_F77 \
16630 postdep_objects_F77 \
16631 predeps_F77 \
16632 postdeps_F77 \
16633 compiler_lib_search_path_F77 \
16634 compiler_lib_search_dirs_F77 \
16635 archive_cmds_F77 \
16636 archive_expsym_cmds_F77 \
16637 postinstall_cmds_F77 \
16638 postuninstall_cmds_F77 \
16639 old_archive_from_expsyms_cmds_F77 \
16640 allow_undefined_flag_F77 \
16641 no_undefined_flag_F77 \
16642 export_symbols_cmds_F77 \
16643 hardcode_libdir_flag_spec_F77 \
16644 hardcode_libdir_flag_spec_ld_F77 \
16645 hardcode_libdir_separator_F77 \
16646 hardcode_automatic_F77 \
16647 module_cmds_F77 \
16648 module_expsym_cmds_F77 \
16649 lt_cv_prog_compiler_c_o_F77 \
16650 fix_srcfile_path_F77 \
16651 exclude_expsyms_F77 \
16652 include_expsyms_F77; do
16653
16654 case $var in
16655 old_archive_cmds_F77 | \
16656 old_archive_from_new_cmds_F77 | \
16657 archive_cmds_F77 | \
16658 archive_expsym_cmds_F77 | \
16659 module_cmds_F77 | \
16660 module_expsym_cmds_F77 | \
16661 old_archive_from_expsyms_cmds_F77 | \
16662 export_symbols_cmds_F77 | \
16663 extract_expsyms_cmds | reload_cmds | finish_cmds | \
16664 postinstall_cmds | postuninstall_cmds | \
16665 old_postinstall_cmds | old_postuninstall_cmds | \
16666 sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
16667 # Double-quote double-evaled strings.
16668 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
16669 ;;
16670 *)
16671 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
16672 ;;
16673 esac
16674 done
16675
16676 case $lt_echo in
16677 *'\$0 --fallback-echo"')
16678 lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
16679 ;;
16680 esac
16681
16682 cfgfile="$ofile"
16683
16684 cat <<__EOF__ >> "$cfgfile"
16685 # ### BEGIN LIBTOOL TAG CONFIG: $tagname
16686
16687 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
16688
16689 # Shell to use when invoking shell scripts.
16690 SHELL=$lt_SHELL
16691
16692 # Whether or not to build shared libraries.
16693 build_libtool_libs=$enable_shared
16694
16695 # Whether or not to build static libraries.
16696 build_old_libs=$enable_static
16697
16698 # Whether or not to add -lc for building shared libraries.
16699 build_libtool_need_lc=$archive_cmds_need_lc_F77
16700
16701 # Whether or not to disallow shared libs when runtime libs are static
16702 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
16703
16704 # Whether or not to optimize for fast installation.
16705 fast_install=$enable_fast_install
16706
16707 # The host system.
16708 host_alias=$host_alias
16709 host=$host
16710 host_os=$host_os
16711
16712 # The build system.
16713 build_alias=$build_alias
16714 build=$build
16715 build_os=$build_os
16716
16717 # An echo program that does not interpret backslashes.
16718 echo=$lt_echo
16719
16720 # The archiver.
16721 AR=$lt_AR
16722 AR_FLAGS=$lt_AR_FLAGS
16723
16724 # A C compiler.
16725 LTCC=$lt_LTCC
16726
16727 # LTCC compiler flags.
16728 LTCFLAGS=$lt_LTCFLAGS
16729
16730 # A language-specific compiler.
16731 CC=$lt_compiler_F77
16732
16733 # Is the compiler the GNU C compiler?
16734 with_gcc=$GCC_F77
16735
16736 # An ERE matcher.
16737 EGREP=$lt_EGREP
16738
16739 # The linker used to build libraries.
16740 LD=$lt_LD_F77
16741
16742 # Whether we need hard or soft links.
16743 LN_S=$lt_LN_S
16744
16745 # A BSD-compatible nm program.
16746 NM=$lt_NM
16747
16748 # A symbol stripping program
16749 STRIP=$lt_STRIP
16750
16751 # Used to examine libraries when file_magic_cmd begins "file"
16752 MAGIC_CMD=$MAGIC_CMD
16753
16754 # Used on cygwin: DLL creation program.
16755 DLLTOOL="$DLLTOOL"
16756
16757 # Used on cygwin: object dumper.
16758 OBJDUMP="$OBJDUMP"
16759
16760 # Used on cygwin: assembler.
16761 AS="$AS"
16762
16763 # The name of the directory that contains temporary libtool files.
16764 objdir=$objdir
16765
16766 # How to create reloadable object files.
16767 reload_flag=$lt_reload_flag
16768 reload_cmds=$lt_reload_cmds
16769
16770 # How to pass a linker flag through the compiler.
16771 wl=$lt_lt_prog_compiler_wl_F77
16772
16773 # Object file suffix (normally "o").
16774 objext="$ac_objext"
16775
16776 # Old archive suffix (normally "a").
16777 libext="$libext"
16778
16779 # Shared library suffix (normally ".so").
16780 shrext_cmds='$shrext_cmds'
16781
16782 # Executable file suffix (normally "").
16783 exeext="$exeext"
16784
16785 # Additional compiler flags for building library objects.
16786 pic_flag=$lt_lt_prog_compiler_pic_F77
16787 pic_mode=$pic_mode
16788
16789 # What is the maximum length of a command?
16790 max_cmd_len=$lt_cv_sys_max_cmd_len
16791
16792 # Does compiler simultaneously support -c and -o options?
16793 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
16794
16795 # Must we lock files when doing compilation?
16796 need_locks=$lt_need_locks
16797
16798 # Do we need the lib prefix for modules?
16799 need_lib_prefix=$need_lib_prefix
16800
16801 # Do we need a version for libraries?
16802 need_version=$need_version
16803
16804 # Whether dlopen is supported.
16805 dlopen_support=$enable_dlopen
16806
16807 # Whether dlopen of programs is supported.
16808 dlopen_self=$enable_dlopen_self
16809
16810 # Whether dlopen of statically linked programs is supported.
16811 dlopen_self_static=$enable_dlopen_self_static
16812
16813 # Compiler flag to prevent dynamic linking.
16814 link_static_flag=$lt_lt_prog_compiler_static_F77
16815
16816 # Compiler flag to turn off builtin functions.
16817 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
16818
16819 # Compiler flag to allow reflexive dlopens.
16820 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
16821
16822 # Compiler flag to generate shared objects directly from archives.
16823 whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
16824
16825 # Compiler flag to generate thread-safe objects.
16826 thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77
16827
16828 # Library versioning type.
16829 version_type=$version_type
16830
16831 # Format of library name prefix.
16832 libname_spec=$lt_libname_spec
16833
16834 # List of archive names. First name is the real one, the rest are links.
16835 # The last name is the one that the linker finds with -lNAME.
16836 library_names_spec=$lt_library_names_spec
16837
16838 # The coded name of the library, if different from the real name.
16839 soname_spec=$lt_soname_spec
16840
16841 # Commands used to build and install an old-style archive.
16842 RANLIB=$lt_RANLIB
16843 old_archive_cmds=$lt_old_archive_cmds_F77
16844 old_postinstall_cmds=$lt_old_postinstall_cmds
16845 old_postuninstall_cmds=$lt_old_postuninstall_cmds
16846
16847 # Create an old-style archive from a shared archive.
16848 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77
16849
16850 # Create a temporary old-style archive to link instead of a shared archive.
16851 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
16852
16853 # Commands used to build and install a shared archive.
16854 archive_cmds=$lt_archive_cmds_F77
16855 archive_expsym_cmds=$lt_archive_expsym_cmds_F77
16856 postinstall_cmds=$lt_postinstall_cmds
16857 postuninstall_cmds=$lt_postuninstall_cmds
16858
16859 # Commands used to build a loadable module (assumed same as above if empty)
16860 module_cmds=$lt_module_cmds_F77
16861 module_expsym_cmds=$lt_module_expsym_cmds_F77
16862
16863 # Commands to strip libraries.
16864 old_striplib=$lt_old_striplib
16865 striplib=$lt_striplib
16866
16867 # Dependencies to place before the objects being linked to create a
16868 # shared library.
16869 predep_objects=$lt_predep_objects_F77
16870
16871 # Dependencies to place after the objects being linked to create a
16872 # shared library.
16873 postdep_objects=$lt_postdep_objects_F77
16874
16875 # Dependencies to place before the objects being linked to create a
16876 # shared library.
16877 predeps=$lt_predeps_F77
16878
16879 # Dependencies to place after the objects being linked to create a
16880 # shared library.
16881 postdeps=$lt_postdeps_F77
16882
16883 # The directories searched by this compiler when creating a shared
16884 # library
16885 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77
16886
16887 # The library search path used internally by the compiler when linking
16888 # a shared library.
16889 compiler_lib_search_path=$lt_compiler_lib_search_path_F77
16890
16891 # Method to check whether dependent libraries are shared objects.
16892 deplibs_check_method=$lt_deplibs_check_method
16893
16894 # Command to use when deplibs_check_method == file_magic.
16895 file_magic_cmd=$lt_file_magic_cmd
16896
16897 # Flag that allows shared libraries with undefined symbols to be built.
16898 allow_undefined_flag=$lt_allow_undefined_flag_F77
16899
16900 # Flag that forces no undefined symbols.
16901 no_undefined_flag=$lt_no_undefined_flag_F77
16902
16903 # Commands used to finish a libtool library installation in a directory.
16904 finish_cmds=$lt_finish_cmds
16905
16906 # Same as above, but a single script fragment to be evaled but not shown.
16907 finish_eval=$lt_finish_eval
16908
16909 # Take the output of nm and produce a listing of raw symbols and C names.
16910 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
16911
16912 # Transform the output of nm in a proper C declaration
16913 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
16914
16915 # Transform the output of nm in a C name address pair
16916 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
16917
16918 # This is the shared library runtime path variable.
16919 runpath_var=$runpath_var
16920
16921 # This is the shared library path variable.
16922 shlibpath_var=$shlibpath_var
16923
16924 # Is shlibpath searched before the hard-coded library search path?
16925 shlibpath_overrides_runpath=$shlibpath_overrides_runpath
16926
16927 # How to hardcode a shared library path into an executable.
16928 hardcode_action=$hardcode_action_F77
16929
16930 # Whether we should hardcode library paths into libraries.
16931 hardcode_into_libs=$hardcode_into_libs
16932
16933 # Flag to hardcode \$libdir into a binary during linking.
16934 # This must work even if \$libdir does not exist.
16935 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77
16936
16937 # If ld is used when linking, flag to hardcode \$libdir into
16938 # a binary during linking. This must work even if \$libdir does
16939 # not exist.
16940 hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77
16941
16942 # Whether we need a single -rpath flag with a separated argument.
16943 hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
16944
16945 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
16946 # resulting binary.
16947 hardcode_direct=$hardcode_direct_F77
16948
16949 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
16950 # resulting binary.
16951 hardcode_minus_L=$hardcode_minus_L_F77
16952
16953 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
16954 # the resulting binary.
16955 hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
16956
16957 # Set to yes if building a shared library automatically hardcodes DIR into the library
16958 # and all subsequent libraries and executables linked against it.
16959 hardcode_automatic=$hardcode_automatic_F77
16960
16961 # Variables whose values should be saved in libtool wrapper scripts and
16962 # restored at relink time.
16963 variables_saved_for_relink="$variables_saved_for_relink"
16964
16965 # Whether libtool must link a program against all its dependency libraries.
16966 link_all_deplibs=$link_all_deplibs_F77
16967
16968 # Compile-time system search path for libraries
16969 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
16970
16971 # Run-time system search path for libraries
16972 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
16973
16974 # Fix the shell variable \$srcfile for the compiler.
16975 fix_srcfile_path=$lt_fix_srcfile_path
16976
16977 # Set to yes if exported symbols are required.
16978 always_export_symbols=$always_export_symbols_F77
16979
16980 # The commands to list exported symbols.
16981 export_symbols_cmds=$lt_export_symbols_cmds_F77
16982
16983 # The commands to extract the exported symbol list from a shared archive.
16984 extract_expsyms_cmds=$lt_extract_expsyms_cmds
16985
16986 # Symbols that should not be listed in the preloaded symbols.
16987 exclude_expsyms=$lt_exclude_expsyms_F77
16988
16989 # Symbols that must always be exported.
16990 include_expsyms=$lt_include_expsyms_F77
16991
16992 # ### END LIBTOOL TAG CONFIG: $tagname
16993
16994 __EOF__
16995
16996
16997 else
16998 # If there is no Makefile yet, we rely on a make rule to execute
16999 # `config.status --recheck' to rerun these tests and create the
17000 # libtool script then.
17001 ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
17002 if test -f "$ltmain_in"; then
17003 test -f Makefile && make "$ltmain"
17004 fi
17005 fi
17006
17007
17008 ac_ext=c
17009 ac_cpp='$CPP $CPPFLAGS'
17010 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
17011 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
17012 ac_compiler_gnu=$ac_cv_c_compiler_gnu
17013
17014 CC="$lt_save_CC"
17015
17016 else
17017 tagname=""
17018 fi
17019 ;;
17020
17021 GCJ)
17022 if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
17023
17024
17025 # Source file extension for Java test sources.
17026 ac_ext=java
17027
17028 # Object file extension for compiled Java test sources.
17029 objext=o
17030 objext_GCJ=$objext
17031
17032 # Code to be used in simple compile tests
17033 lt_simple_compile_test_code="class foo {}"
17034
17035 # Code to be used in simple link tests
17036 lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
17037
17038 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
17039
17040 # If no C compiler was specified, use CC.
17041 LTCC=${LTCC-"$CC"}
17042
17043 # If no C compiler flags were specified, use CFLAGS.
17044 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
17045
17046 # Allow CC to be a program name with arguments.
17047 compiler=$CC
17048
17049
17050 # save warnings/boilerplate of simple test code
17051 ac_outfile=conftest.$ac_objext
17052 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
17053 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
17054 _lt_compiler_boilerplate=`cat conftest.err`
17055 $rm conftest*
17056
17057 ac_outfile=conftest.$ac_objext
17058 echo "$lt_simple_link_test_code" >conftest.$ac_ext
17059 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
17060 _lt_linker_boilerplate=`cat conftest.err`
17061 $rm -r conftest*
17062
17063
17064 # Allow CC to be a program name with arguments.
17065 lt_save_CC="$CC"
17066 CC=${GCJ-"gcj"}
17067 compiler=$CC
17068 compiler_GCJ=$CC
17069 for cc_temp in $compiler""; do
17070 case $cc_temp in
17071 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
17072 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
17073 \-*) ;;
17074 *) break;;
17075 esac
17076 done
17077 cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
17078
17079
17080 # GCJ did not exist at the time GCC didn't implicitly link libc in.
17081 archive_cmds_need_lc_GCJ=no
17082
17083 old_archive_cmds_GCJ=$old_archive_cmds
17084
17085
17086 lt_prog_compiler_no_builtin_flag_GCJ=
17087
17088 if test "$GCC" = yes; then
17089 lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
17090
17091
17092 { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
17093 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
17094 if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
17095 $as_echo_n "(cached) " >&6
17096 else
17097 lt_cv_prog_compiler_rtti_exceptions=no
17098 ac_outfile=conftest.$ac_objext
17099 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
17100 lt_compiler_flag="-fno-rtti -fno-exceptions"
17101 # Insert the option either (1) after the last *FLAGS variable, or
17102 # (2) before a word containing "conftest.", or (3) at the end.
17103 # Note that $ac_compile itself does not contain backslashes and begins
17104 # with a dollar sign (not a hyphen), so the echo should work correctly.
17105 # The option is referenced via a variable to avoid confusing sed.
17106 lt_compile=`echo "$ac_compile" | $SED \
17107 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
17108 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
17109 -e 's:$: $lt_compiler_flag:'`
17110 (eval echo "\"\$as_me:17111: $lt_compile\"" >&5)
17111 (eval "$lt_compile" 2>conftest.err)
17112 ac_status=$?
17113 cat conftest.err >&5
17114 echo "$as_me:17115: \$? = $ac_status" >&5
17115 if (exit $ac_status) && test -s "$ac_outfile"; then
17116 # The compiler can only warn and ignore the option if not recognized
17117 # So say no if there are warnings other than the usual output.
17118 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
17119 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
17120 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
17121 lt_cv_prog_compiler_rtti_exceptions=yes
17122 fi
17123 fi
17124 $rm conftest*
17125
17126 fi
17127 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
17128 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
17129
17130 if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
17131 lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
17132 else
17133 :
17134 fi
17135
17136 fi
17137
17138 lt_prog_compiler_wl_GCJ=
17139 lt_prog_compiler_pic_GCJ=
17140 lt_prog_compiler_static_GCJ=
17141
17142 { $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
17143 $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
17144
17145 if test "$GCC" = yes; then
17146 lt_prog_compiler_wl_GCJ='-Wl,'
17147 lt_prog_compiler_static_GCJ='-static'
17148
17149 case $host_os in
17150 aix*)
17151 # All AIX code is PIC.
17152 if test "$host_cpu" = ia64; then
17153 # AIX 5 now supports IA64 processor
17154 lt_prog_compiler_static_GCJ='-Bstatic'
17155 fi
17156 ;;
17157
17158 amigaos*)
17159 # FIXME: we need at least 68020 code to build shared libraries, but
17160 # adding the `-m68020' flag to GCC prevents building anything better,
17161 # like `-m68040'.
17162 lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
17163 ;;
17164
17165 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
17166 # PIC is the default for these OSes.
17167 ;;
17168
17169 mingw* | cygwin* | pw32* | os2*)
17170 # This hack is so that the source file can tell whether it is being
17171 # built for inclusion in a dll (and should export symbols for example).
17172 # Although the cygwin gcc ignores -fPIC, still need this for old-style
17173 # (--disable-auto-import) libraries
17174
17175 ;;
17176
17177 darwin* | rhapsody*)
17178 # PIC is the default on this platform
17179 # Common symbols not allowed in MH_DYLIB files
17180 lt_prog_compiler_pic_GCJ='-fno-common'
17181 ;;
17182
17183 interix[3-9]*)
17184 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
17185 # Instead, we relocate shared libraries at runtime.
17186 ;;
17187
17188 msdosdjgpp*)
17189 # Just because we use GCC doesn't mean we suddenly get shared libraries
17190 # on systems that don't support them.
17191 lt_prog_compiler_can_build_shared_GCJ=no
17192 enable_shared=no
17193 ;;
17194
17195 sysv4*MP*)
17196 if test -d /usr/nec; then
17197 lt_prog_compiler_pic_GCJ=-Kconform_pic
17198 fi
17199 ;;
17200
17201 hpux*)
17202 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
17203 # not for PA HP-UX.
17204 case $host_cpu in
17205 hppa*64*|ia64*)
17206 # +Z the default
17207 ;;
17208 *)
17209 lt_prog_compiler_pic_GCJ='-fPIC'
17210 ;;
17211 esac
17212 ;;
17213
17214 *)
17215 lt_prog_compiler_pic_GCJ='-fPIC'
17216 ;;
17217 esac
17218 else
17219 # PORTME Check for flag to pass linker flags through the system compiler.
17220 case $host_os in
17221 aix*)
17222 lt_prog_compiler_wl_GCJ='-Wl,'
17223 if test "$host_cpu" = ia64; then
17224 # AIX 5 now supports IA64 processor
17225 lt_prog_compiler_static_GCJ='-Bstatic'
17226 else
17227 lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
17228 fi
17229 ;;
17230 darwin*)
17231 # PIC is the default on this platform
17232 # Common symbols not allowed in MH_DYLIB files
17233 case $cc_basename in
17234 xlc*)
17235 lt_prog_compiler_pic_GCJ='-qnocommon'
17236 lt_prog_compiler_wl_GCJ='-Wl,'
17237 ;;
17238 esac
17239 ;;
17240
17241 mingw* | cygwin* | pw32* | os2*)
17242 # This hack is so that the source file can tell whether it is being
17243 # built for inclusion in a dll (and should export symbols for example).
17244
17245 ;;
17246
17247 hpux9* | hpux10* | hpux11*)
17248 lt_prog_compiler_wl_GCJ='-Wl,'
17249 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
17250 # not for PA HP-UX.
17251 case $host_cpu in
17252 hppa*64*|ia64*)
17253 # +Z the default
17254 ;;
17255 *)
17256 lt_prog_compiler_pic_GCJ='+Z'
17257 ;;
17258 esac
17259 # Is there a better lt_prog_compiler_static that works with the bundled CC?
17260 lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
17261 ;;
17262
17263 irix5* | irix6* | nonstopux*)
17264 lt_prog_compiler_wl_GCJ='-Wl,'
17265 # PIC (with -KPIC) is the default.
17266 lt_prog_compiler_static_GCJ='-non_shared'
17267 ;;
17268
17269 newsos6)
17270 lt_prog_compiler_pic_GCJ='-KPIC'
17271 lt_prog_compiler_static_GCJ='-Bstatic'
17272 ;;
17273
17274 linux* | k*bsd*-gnu)
17275 case $cc_basename in
17276 icc* | ecc*)
17277 lt_prog_compiler_wl_GCJ='-Wl,'
17278 lt_prog_compiler_pic_GCJ='-KPIC'
17279 lt_prog_compiler_static_GCJ='-static'
17280 ;;
17281 pgcc* | pgf77* | pgf90* | pgf95*)
17282 # Portland Group compilers (*not* the Pentium gcc compiler,
17283 # which looks to be a dead project)
17284 lt_prog_compiler_wl_GCJ='-Wl,'
17285 lt_prog_compiler_pic_GCJ='-fpic'
17286 lt_prog_compiler_static_GCJ='-Bstatic'
17287 ;;
17288 ccc*)
17289 lt_prog_compiler_wl_GCJ='-Wl,'
17290 # All Alpha code is PIC.
17291 lt_prog_compiler_static_GCJ='-non_shared'
17292 ;;
17293 *)
17294 case `$CC -V 2>&1 | sed 5q` in
17295 *Sun\ C*)
17296 # Sun C 5.9
17297 lt_prog_compiler_pic_GCJ='-KPIC'
17298 lt_prog_compiler_static_GCJ='-Bstatic'
17299 lt_prog_compiler_wl_GCJ='-Wl,'
17300 ;;
17301 *Sun\ F*)
17302 # Sun Fortran 8.3 passes all unrecognized flags to the linker
17303 lt_prog_compiler_pic_GCJ='-KPIC'
17304 lt_prog_compiler_static_GCJ='-Bstatic'
17305 lt_prog_compiler_wl_GCJ=''
17306 ;;
17307 esac
17308 ;;
17309 esac
17310 ;;
17311
17312 osf3* | osf4* | osf5*)
17313 lt_prog_compiler_wl_GCJ='-Wl,'
17314 # All OSF/1 code is PIC.
17315 lt_prog_compiler_static_GCJ='-non_shared'
17316 ;;
17317
17318 rdos*)
17319 lt_prog_compiler_static_GCJ='-non_shared'
17320 ;;
17321
17322 solaris*)
17323 lt_prog_compiler_pic_GCJ='-KPIC'
17324 lt_prog_compiler_static_GCJ='-Bstatic'
17325 case $cc_basename in
17326 f77* | f90* | f95*)
17327 lt_prog_compiler_wl_GCJ='-Qoption ld ';;
17328 *)
17329 lt_prog_compiler_wl_GCJ='-Wl,';;
17330 esac
17331 ;;
17332
17333 sunos4*)
17334 lt_prog_compiler_wl_GCJ='-Qoption ld '
17335 lt_prog_compiler_pic_GCJ='-PIC'
17336 lt_prog_compiler_static_GCJ='-Bstatic'
17337 ;;
17338
17339 sysv4 | sysv4.2uw2* | sysv4.3*)
17340 lt_prog_compiler_wl_GCJ='-Wl,'
17341 lt_prog_compiler_pic_GCJ='-KPIC'
17342 lt_prog_compiler_static_GCJ='-Bstatic'
17343 ;;
17344
17345 sysv4*MP*)
17346 if test -d /usr/nec ;then
17347 lt_prog_compiler_pic_GCJ='-Kconform_pic'
17348 lt_prog_compiler_static_GCJ='-Bstatic'
17349 fi
17350 ;;
17351
17352 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
17353 lt_prog_compiler_wl_GCJ='-Wl,'
17354 lt_prog_compiler_pic_GCJ='-KPIC'
17355 lt_prog_compiler_static_GCJ='-Bstatic'
17356 ;;
17357
17358 unicos*)
17359 lt_prog_compiler_wl_GCJ='-Wl,'
17360 lt_prog_compiler_can_build_shared_GCJ=no
17361 ;;
17362
17363 uts4*)
17364 lt_prog_compiler_pic_GCJ='-pic'
17365 lt_prog_compiler_static_GCJ='-Bstatic'
17366 ;;
17367
17368 *)
17369 lt_prog_compiler_can_build_shared_GCJ=no
17370 ;;
17371 esac
17372 fi
17373
17374 { $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
17375 $as_echo "$lt_prog_compiler_pic_GCJ" >&6; }
17376
17377 #
17378 # Check to make sure the PIC flag actually works.
17379 #
17380 if test -n "$lt_prog_compiler_pic_GCJ"; then
17381
17382 { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
17383 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; }
17384 if test "${lt_cv_prog_compiler_pic_works_GCJ+set}" = set; then
17385 $as_echo_n "(cached) " >&6
17386 else
17387 lt_cv_prog_compiler_pic_works_GCJ=no
17388 ac_outfile=conftest.$ac_objext
17389 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
17390 lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
17391 # Insert the option either (1) after the last *FLAGS variable, or
17392 # (2) before a word containing "conftest.", or (3) at the end.
17393 # Note that $ac_compile itself does not contain backslashes and begins
17394 # with a dollar sign (not a hyphen), so the echo should work correctly.
17395 # The option is referenced via a variable to avoid confusing sed.
17396 lt_compile=`echo "$ac_compile" | $SED \
17397 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
17398 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
17399 -e 's:$: $lt_compiler_flag:'`
17400 (eval echo "\"\$as_me:17401: $lt_compile\"" >&5)
17401 (eval "$lt_compile" 2>conftest.err)
17402 ac_status=$?
17403 cat conftest.err >&5
17404 echo "$as_me:17405: \$? = $ac_status" >&5
17405 if (exit $ac_status) && test -s "$ac_outfile"; then
17406 # The compiler can only warn and ignore the option if not recognized
17407 # So say no if there are warnings other than the usual output.
17408 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
17409 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
17410 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
17411 lt_cv_prog_compiler_pic_works_GCJ=yes
17412 fi
17413 fi
17414 $rm conftest*
17415
17416 fi
17417 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5
17418 $as_echo "$lt_cv_prog_compiler_pic_works_GCJ" >&6; }
17419
17420 if test x"$lt_cv_prog_compiler_pic_works_GCJ" = xyes; then
17421 case $lt_prog_compiler_pic_GCJ in
17422 "" | " "*) ;;
17423 *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
17424 esac
17425 else
17426 lt_prog_compiler_pic_GCJ=
17427 lt_prog_compiler_can_build_shared_GCJ=no
17428 fi
17429
17430 fi
17431 case $host_os in
17432 # For platforms which do not support PIC, -DPIC is meaningless:
17433 *djgpp*)
17434 lt_prog_compiler_pic_GCJ=
17435 ;;
17436 *)
17437 lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
17438 ;;
17439 esac
17440
17441 #
17442 # Check to make sure the static flag actually works.
17443 #
17444 wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
17445 { $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
17446 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
17447 if test "${lt_cv_prog_compiler_static_works_GCJ+set}" = set; then
17448 $as_echo_n "(cached) " >&6
17449 else
17450 lt_cv_prog_compiler_static_works_GCJ=no
17451 save_LDFLAGS="$LDFLAGS"
17452 LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
17453 echo "$lt_simple_link_test_code" > conftest.$ac_ext
17454 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
17455 # The linker can only warn and ignore the option if not recognized
17456 # So say no if there are warnings
17457 if test -s conftest.err; then
17458 # Append any errors to the config.log.
17459 cat conftest.err 1>&5
17460 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
17461 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
17462 if diff conftest.exp conftest.er2 >/dev/null; then
17463 lt_cv_prog_compiler_static_works_GCJ=yes
17464 fi
17465 else
17466 lt_cv_prog_compiler_static_works_GCJ=yes
17467 fi
17468 fi
17469 $rm -r conftest*
17470 LDFLAGS="$save_LDFLAGS"
17471
17472 fi
17473 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_GCJ" >&5
17474 $as_echo "$lt_cv_prog_compiler_static_works_GCJ" >&6; }
17475
17476 if test x"$lt_cv_prog_compiler_static_works_GCJ" = xyes; then
17477 :
17478 else
17479 lt_prog_compiler_static_GCJ=
17480 fi
17481
17482
17483 { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
17484 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
17485 if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
17486 $as_echo_n "(cached) " >&6
17487 else
17488 lt_cv_prog_compiler_c_o_GCJ=no
17489 $rm -r conftest 2>/dev/null
17490 mkdir conftest
17491 cd conftest
17492 mkdir out
17493 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
17494
17495 lt_compiler_flag="-o out/conftest2.$ac_objext"
17496 # Insert the option either (1) after the last *FLAGS variable, or
17497 # (2) before a word containing "conftest.", or (3) at the end.
17498 # Note that $ac_compile itself does not contain backslashes and begins
17499 # with a dollar sign (not a hyphen), so the echo should work correctly.
17500 lt_compile=`echo "$ac_compile" | $SED \
17501 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
17502 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
17503 -e 's:$: $lt_compiler_flag:'`
17504 (eval echo "\"\$as_me:17505: $lt_compile\"" >&5)
17505 (eval "$lt_compile" 2>out/conftest.err)
17506 ac_status=$?
17507 cat out/conftest.err >&5
17508 echo "$as_me:17509: \$? = $ac_status" >&5
17509 if (exit $ac_status) && test -s out/conftest2.$ac_objext
17510 then
17511 # The compiler can only warn and ignore the option if not recognized
17512 # So say no if there are warnings
17513 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
17514 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
17515 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
17516 lt_cv_prog_compiler_c_o_GCJ=yes
17517 fi
17518 fi
17519 chmod u+w . 2>&5
17520 $rm conftest*
17521 # SGI C++ compiler will create directory out/ii_files/ for
17522 # template instantiation
17523 test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
17524 $rm out/* && rmdir out
17525 cd ..
17526 rmdir conftest
17527 $rm conftest*
17528
17529 fi
17530 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
17531 $as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; }
17532
17533
17534 hard_links="nottested"
17535 if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
17536 # do not overwrite the value of need_locks provided by the user
17537 { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
17538 $as_echo_n "checking if we can lock with hard links... " >&6; }
17539 hard_links=yes
17540 $rm conftest*
17541 ln conftest.a conftest.b 2>/dev/null && hard_links=no
17542 touch conftest.a
17543 ln conftest.a conftest.b 2>&5 || hard_links=no
17544 ln conftest.a conftest.b 2>/dev/null && hard_links=no
17545 { $as_echo "$as_me:$LINENO: result: $hard_links" >&5
17546 $as_echo "$hard_links" >&6; }
17547 if test "$hard_links" = no; then
17548 { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
17549 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
17550 need_locks=warn
17551 fi
17552 else
17553 need_locks=no
17554 fi
17555
17556 { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
17557 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
17558
17559 runpath_var=
17560 allow_undefined_flag_GCJ=
17561 enable_shared_with_static_runtimes_GCJ=no
17562 archive_cmds_GCJ=
17563 archive_expsym_cmds_GCJ=
17564 old_archive_From_new_cmds_GCJ=
17565 old_archive_from_expsyms_cmds_GCJ=
17566 export_dynamic_flag_spec_GCJ=
17567 whole_archive_flag_spec_GCJ=
17568 thread_safe_flag_spec_GCJ=
17569 hardcode_libdir_flag_spec_GCJ=
17570 hardcode_libdir_flag_spec_ld_GCJ=
17571 hardcode_libdir_separator_GCJ=
17572 hardcode_direct_GCJ=no
17573 hardcode_minus_L_GCJ=no
17574 hardcode_shlibpath_var_GCJ=unsupported
17575 link_all_deplibs_GCJ=unknown
17576 hardcode_automatic_GCJ=no
17577 module_cmds_GCJ=
17578 module_expsym_cmds_GCJ=
17579 always_export_symbols_GCJ=no
17580 export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
17581 # include_expsyms should be a list of space-separated symbols to be *always*
17582 # included in the symbol list
17583 include_expsyms_GCJ=
17584 # exclude_expsyms can be an extended regexp of symbols to exclude
17585 # it will be wrapped by ` (' and `)$', so one must not match beginning or
17586 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
17587 # as well as any symbol that contains `d'.
17588 exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
17589 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
17590 # platforms (ab)use it in PIC code, but their linkers get confused if
17591 # the symbol is explicitly referenced. Since portable code cannot
17592 # rely on this symbol name, it's probably fine to never include it in
17593 # preloaded symbol tables.
17594 # Exclude shared library initialization/finalization symbols.
17595 extract_expsyms_cmds=
17596 # Just being paranoid about ensuring that cc_basename is set.
17597 for cc_temp in $compiler""; do
17598 case $cc_temp in
17599 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
17600 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
17601 \-*) ;;
17602 *) break;;
17603 esac
17604 done
17605 cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
17606
17607 case $host_os in
17608 cygwin* | mingw* | pw32*)
17609 # FIXME: the MSVC++ port hasn't been tested in a loooong time
17610 # When not using gcc, we currently assume that we are using
17611 # Microsoft Visual C++.
17612 if test "$GCC" != yes; then
17613 with_gnu_ld=no
17614 fi
17615 ;;
17616 interix*)
17617 # we just hope/assume this is gcc and not c89 (= MSVC++)
17618 with_gnu_ld=yes
17619 ;;
17620 openbsd*)
17621 with_gnu_ld=no
17622 ;;
17623 esac
17624
17625 ld_shlibs_GCJ=yes
17626 if test "$with_gnu_ld" = yes; then
17627 # If archive_cmds runs LD, not CC, wlarc should be empty
17628 wlarc='${wl}'
17629
17630 # Set some defaults for GNU ld with shared library support. These
17631 # are reset later if shared libraries are not supported. Putting them
17632 # here allows them to be overridden if necessary.
17633 runpath_var=LD_RUN_PATH
17634 hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
17635 export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
17636 # ancient GNU ld didn't support --whole-archive et. al.
17637 if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
17638 whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
17639 else
17640 whole_archive_flag_spec_GCJ=
17641 fi
17642 supports_anon_versioning=no
17643 case `$LD -v 2>/dev/null` in
17644 *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
17645 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
17646 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
17647 *\ 2.11.*) ;; # other 2.11 versions
17648 *) supports_anon_versioning=yes ;;
17649 esac
17650
17651 # See if GNU ld supports shared libraries.
17652 case $host_os in
17653 aix[3-9]*)
17654 # On AIX/PPC, the GNU linker is very broken
17655 if test "$host_cpu" != ia64; then
17656 ld_shlibs_GCJ=no
17657 cat <<EOF 1>&2
17658
17659 *** Warning: the GNU linker, at least up to release 2.9.1, is reported
17660 *** to be unable to reliably create shared libraries on AIX.
17661 *** Therefore, libtool is disabling shared libraries support. If you
17662 *** really care for shared libraries, you may want to modify your PATH
17663 *** so that a non-GNU linker is found, and then restart.
17664
17665 EOF
17666 fi
17667 ;;
17668
17669 amigaos*)
17670 archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
17671 hardcode_libdir_flag_spec_GCJ='-L$libdir'
17672 hardcode_minus_L_GCJ=yes
17673
17674 # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
17675 # that the semantics of dynamic libraries on AmigaOS, at least up
17676 # to version 4, is to share data among multiple programs linked
17677 # with the same dynamic library. Since this doesn't match the
17678 # behavior of shared libraries on other platforms, we can't use
17679 # them.
17680 ld_shlibs_GCJ=no
17681 ;;
17682
17683 beos*)
17684 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
17685 allow_undefined_flag_GCJ=unsupported
17686 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
17687 # support --undefined. This deserves some investigation. FIXME
17688 archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
17689 else
17690 ld_shlibs_GCJ=no
17691 fi
17692 ;;
17693
17694 cygwin* | mingw* | pw32*)
17695 # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
17696 # as there is no search path for DLLs.
17697 hardcode_libdir_flag_spec_GCJ='-L$libdir'
17698 allow_undefined_flag_GCJ=unsupported
17699 always_export_symbols_GCJ=no
17700 enable_shared_with_static_runtimes_GCJ=yes
17701 export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
17702
17703 if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
17704 archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
17705 # If the export-symbols file already is a .def file (1st line
17706 # is EXPORTS), use it as is; otherwise, prepend...
17707 archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
17708 cp $export_symbols $output_objdir/$soname.def;
17709 else
17710 echo EXPORTS > $output_objdir/$soname.def;
17711 cat $export_symbols >> $output_objdir/$soname.def;
17712 fi~
17713 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
17714 else
17715 ld_shlibs_GCJ=no
17716 fi
17717 ;;
17718
17719 interix[3-9]*)
17720 hardcode_direct_GCJ=no
17721 hardcode_shlibpath_var_GCJ=no
17722 hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
17723 export_dynamic_flag_spec_GCJ='${wl}-E'
17724 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
17725 # Instead, shared libraries are loaded at an image base (0x10000000 by
17726 # default) and relocated if they conflict, which is a slow very memory
17727 # consuming and fragmenting process. To avoid this, we pick a random,
17728 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
17729 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
17730 archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
17731 archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
17732 ;;
17733
17734 gnu* | linux* | k*bsd*-gnu)
17735 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
17736 tmp_addflag=
17737 case $cc_basename,$host_cpu in
17738 pgcc*) # Portland Group C compiler
17739 whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
17740 tmp_addflag=' $pic_flag'
17741 ;;
17742 pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
17743 whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
17744 tmp_addflag=' $pic_flag -Mnomain' ;;
17745 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
17746 tmp_addflag=' -i_dynamic' ;;
17747 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
17748 tmp_addflag=' -i_dynamic -nofor_main' ;;
17749 ifc* | ifort*) # Intel Fortran compiler
17750 tmp_addflag=' -nofor_main' ;;
17751 esac
17752 case `$CC -V 2>&1 | sed 5q` in
17753 *Sun\ C*) # Sun C 5.9
17754 whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
17755 tmp_sharedflag='-G' ;;
17756 *Sun\ F*) # Sun Fortran 8.3
17757 tmp_sharedflag='-G' ;;
17758 *)
17759 tmp_sharedflag='-shared' ;;
17760 esac
17761 archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
17762
17763 if test $supports_anon_versioning = yes; then
17764 archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
17765 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
17766 $echo "local: *; };" >> $output_objdir/$libname.ver~
17767 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
17768 fi
17769 else
17770 ld_shlibs_GCJ=no
17771 fi
17772 ;;
17773
17774 netbsd*)
17775 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
17776 archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
17777 wlarc=
17778 else
17779 archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
17780 archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
17781 fi
17782 ;;
17783
17784 solaris*)
17785 if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
17786 ld_shlibs_GCJ=no
17787 cat <<EOF 1>&2
17788
17789 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
17790 *** create shared libraries on Solaris systems. Therefore, libtool
17791 *** is disabling shared libraries support. We urge you to upgrade GNU
17792 *** binutils to release 2.9.1 or newer. Another option is to modify
17793 *** your PATH or compiler configuration so that the native linker is
17794 *** used, and then restart.
17795
17796 EOF
17797 elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
17798 archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
17799 archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
17800 else
17801 ld_shlibs_GCJ=no
17802 fi
17803 ;;
17804
17805 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
17806 case `$LD -v 2>&1` in
17807 *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
17808 ld_shlibs_GCJ=no
17809 cat <<_LT_EOF 1>&2
17810
17811 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
17812 *** reliably create shared libraries on SCO systems. Therefore, libtool
17813 *** is disabling shared libraries support. We urge you to upgrade GNU
17814 *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
17815 *** your PATH or compiler configuration so that the native linker is
17816 *** used, and then restart.
17817
17818 _LT_EOF
17819 ;;
17820 *)
17821 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
17822 hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
17823 archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
17824 archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
17825 else
17826 ld_shlibs_GCJ=no
17827 fi
17828 ;;
17829 esac
17830 ;;
17831
17832 sunos4*)
17833 archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
17834 wlarc=
17835 hardcode_direct_GCJ=yes
17836 hardcode_shlibpath_var_GCJ=no
17837 ;;
17838
17839 *)
17840 if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
17841 archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
17842 archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
17843 else
17844 ld_shlibs_GCJ=no
17845 fi
17846 ;;
17847 esac
17848
17849 if test "$ld_shlibs_GCJ" = no; then
17850 runpath_var=
17851 hardcode_libdir_flag_spec_GCJ=
17852 export_dynamic_flag_spec_GCJ=
17853 whole_archive_flag_spec_GCJ=
17854 fi
17855 else
17856 # PORTME fill in a description of your system's linker (not GNU ld)
17857 case $host_os in
17858 aix3*)
17859 allow_undefined_flag_GCJ=unsupported
17860 always_export_symbols_GCJ=yes
17861 archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
17862 # Note: this linker hardcodes the directories in LIBPATH if there
17863 # are no directories specified by -L.
17864 hardcode_minus_L_GCJ=yes
17865 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
17866 # Neither direct hardcoding nor static linking is supported with a
17867 # broken collect2.
17868 hardcode_direct_GCJ=unsupported
17869 fi
17870 ;;
17871
17872 aix[4-9]*)
17873 if test "$host_cpu" = ia64; then
17874 # On IA64, the linker does run time linking by default, so we don't
17875 # have to do anything special.
17876 aix_use_runtimelinking=no
17877 exp_sym_flag='-Bexport'
17878 no_entry_flag=""
17879 else
17880 # If we're using GNU nm, then we don't want the "-C" option.
17881 # -C means demangle to AIX nm, but means don't demangle with GNU nm
17882 if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
17883 export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
17884 else
17885 export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
17886 fi
17887 aix_use_runtimelinking=no
17888
17889 # Test if we are trying to use run time linking or normal
17890 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
17891 # need to do runtime linking.
17892 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
17893 for ld_flag in $LDFLAGS; do
17894 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
17895 aix_use_runtimelinking=yes
17896 break
17897 fi
17898 done
17899 ;;
17900 esac
17901
17902 exp_sym_flag='-bexport'
17903 no_entry_flag='-bnoentry'
17904 fi
17905
17906 # When large executables or shared objects are built, AIX ld can
17907 # have problems creating the table of contents. If linking a library
17908 # or program results in "error TOC overflow" add -mminimal-toc to
17909 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
17910 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
17911
17912 archive_cmds_GCJ=''
17913 hardcode_direct_GCJ=yes
17914 hardcode_libdir_separator_GCJ=':'
17915 link_all_deplibs_GCJ=yes
17916
17917 if test "$GCC" = yes; then
17918 case $host_os in aix4.[012]|aix4.[012].*)
17919 # We only want to do this on AIX 4.2 and lower, the check
17920 # below for broken collect2 doesn't work under 4.3+
17921 collect2name=`${CC} -print-prog-name=collect2`
17922 if test -f "$collect2name" && \
17923 strings "$collect2name" | grep resolve_lib_name >/dev/null
17924 then
17925 # We have reworked collect2
17926 :
17927 else
17928 # We have old collect2
17929 hardcode_direct_GCJ=unsupported
17930 # It fails to find uninstalled libraries when the uninstalled
17931 # path is not listed in the libpath. Setting hardcode_minus_L
17932 # to unsupported forces relinking
17933 hardcode_minus_L_GCJ=yes
17934 hardcode_libdir_flag_spec_GCJ='-L$libdir'
17935 hardcode_libdir_separator_GCJ=
17936 fi
17937 ;;
17938 esac
17939 shared_flag='-shared'
17940 if test "$aix_use_runtimelinking" = yes; then
17941 shared_flag="$shared_flag "'${wl}-G'
17942 fi
17943 else
17944 # not using gcc
17945 if test "$host_cpu" = ia64; then
17946 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
17947 # chokes on -Wl,-G. The following line is correct:
17948 shared_flag='-G'
17949 else
17950 if test "$aix_use_runtimelinking" = yes; then
17951 shared_flag='${wl}-G'
17952 else
17953 shared_flag='${wl}-bM:SRE'
17954 fi
17955 fi
17956 fi
17957
17958 # It seems that -bexpall does not export symbols beginning with
17959 # underscore (_), so it is better to generate a list of symbols to export.
17960 always_export_symbols_GCJ=yes
17961 if test "$aix_use_runtimelinking" = yes; then
17962 # Warning - without using the other runtime loading flags (-brtl),
17963 # -berok will link without error, but may produce a broken library.
17964 allow_undefined_flag_GCJ='-berok'
17965 # Determine the default libpath from the value encoded in an empty executable.
17966 cat >conftest.$ac_ext <<_ACEOF
17967 /* confdefs.h. */
17968 _ACEOF
17969 cat confdefs.h >>conftest.$ac_ext
17970 cat >>conftest.$ac_ext <<_ACEOF
17971 /* end confdefs.h. */
17972
17973 int
17974 main ()
17975 {
17976
17977 ;
17978 return 0;
17979 }
17980 _ACEOF
17981 rm -f conftest.$ac_objext conftest$ac_exeext
17982 if { (ac_try="$ac_link"
17983 case "(($ac_try" in
17984 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
17985 *) ac_try_echo=$ac_try;;
17986 esac
17987 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
17988 $as_echo "$ac_try_echo") >&5
17989 (eval "$ac_link") 2>conftest.er1
17990 ac_status=$?
17991 grep -v '^ *+' conftest.er1 >conftest.err
17992 rm -f conftest.er1
17993 cat conftest.err >&5
17994 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
17995 (exit $ac_status); } && {
17996 test -z "$ac_c_werror_flag" ||
17997 test ! -s conftest.err
17998 } && test -s conftest$ac_exeext && {
17999 test "$cross_compiling" = yes ||
18000 $as_test_x conftest$ac_exeext
18001 }; then
18002
18003 lt_aix_libpath_sed='
18004 /Import File Strings/,/^$/ {
18005 /^0/ {
18006 s/^0 *\(.*\)$/\1/
18007 p
18008 }
18009 }'
18010 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
18011 # Check for a 64-bit object if we didn't find anything.
18012 if test -z "$aix_libpath"; then
18013 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
18014 fi
18015 else
18016 $as_echo "$as_me: failed program was:" >&5
18017 sed 's/^/| /' conftest.$ac_ext >&5
18018
18019
18020 fi
18021
18022 rm -rf conftest.dSYM
18023 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
18024 conftest$ac_exeext conftest.$ac_ext
18025 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
18026
18027 hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
18028 archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
18029 else
18030 if test "$host_cpu" = ia64; then
18031 hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
18032 allow_undefined_flag_GCJ="-z nodefs"
18033 archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
18034 else
18035 # Determine the default libpath from the value encoded in an empty executable.
18036 cat >conftest.$ac_ext <<_ACEOF
18037 /* confdefs.h. */
18038 _ACEOF
18039 cat confdefs.h >>conftest.$ac_ext
18040 cat >>conftest.$ac_ext <<_ACEOF
18041 /* end confdefs.h. */
18042
18043 int
18044 main ()
18045 {
18046
18047 ;
18048 return 0;
18049 }
18050 _ACEOF
18051 rm -f conftest.$ac_objext conftest$ac_exeext
18052 if { (ac_try="$ac_link"
18053 case "(($ac_try" in
18054 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
18055 *) ac_try_echo=$ac_try;;
18056 esac
18057 eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
18058 $as_echo "$ac_try_echo") >&5
18059 (eval "$ac_link") 2>conftest.er1
18060 ac_status=$?
18061 grep -v '^ *+' conftest.er1 >conftest.err
18062 rm -f conftest.er1
18063 cat conftest.err >&5
18064 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
18065 (exit $ac_status); } && {
18066 test -z "$ac_c_werror_flag" ||
18067 test ! -s conftest.err
18068 } && test -s conftest$ac_exeext && {
18069 test "$cross_compiling" = yes ||
18070 $as_test_x conftest$ac_exeext
18071 }; then
18072
18073 lt_aix_libpath_sed='
18074 /Import File Strings/,/^$/ {
18075 /^0/ {
18076 s/^0 *\(.*\)$/\1/
18077 p
18078 }
18079 }'
18080 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
18081 # Check for a 64-bit object if we didn't find anything.
18082 if test -z "$aix_libpath"; then
18083 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
18084 fi
18085 else
18086 $as_echo "$as_me: failed program was:" >&5
18087 sed 's/^/| /' conftest.$ac_ext >&5
18088
18089
18090 fi
18091
18092 rm -rf conftest.dSYM
18093 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
18094 conftest$ac_exeext conftest.$ac_ext
18095 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
18096
18097 hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
18098 # Warning - without using the other run time loading flags,
18099 # -berok will link without error, but may produce a broken library.
18100 no_undefined_flag_GCJ=' ${wl}-bernotok'
18101 allow_undefined_flag_GCJ=' ${wl}-berok'
18102 # Exported symbols can be pulled into shared objects from archives
18103 whole_archive_flag_spec_GCJ='$convenience'
18104 archive_cmds_need_lc_GCJ=yes
18105 # This is similar to how AIX traditionally builds its shared libraries.
18106 archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
18107 fi
18108 fi
18109 ;;
18110
18111 amigaos*)
18112 archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
18113 hardcode_libdir_flag_spec_GCJ='-L$libdir'
18114 hardcode_minus_L_GCJ=yes
18115 # see comment about different semantics on the GNU ld section
18116 ld_shlibs_GCJ=no
18117 ;;
18118
18119 bsdi[45]*)
18120 export_dynamic_flag_spec_GCJ=-rdynamic
18121 ;;
18122
18123 cygwin* | mingw* | pw32*)
18124 # When not using gcc, we currently assume that we are using
18125 # Microsoft Visual C++.
18126 # hardcode_libdir_flag_spec is actually meaningless, as there is
18127 # no search path for DLLs.
18128 hardcode_libdir_flag_spec_GCJ=' '
18129 allow_undefined_flag_GCJ=unsupported
18130 # Tell ltmain to make .lib files, not .a files.
18131 libext=lib
18132 # Tell ltmain to make .dll files, not .so files.
18133 shrext_cmds=".dll"
18134 # FIXME: Setting linknames here is a bad hack.
18135 archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
18136 # The linker will automatically build a .lib file if we build a DLL.
18137 old_archive_From_new_cmds_GCJ='true'
18138 # FIXME: Should let the user specify the lib program.
18139 old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs'
18140 fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
18141 enable_shared_with_static_runtimes_GCJ=yes
18142 ;;
18143
18144 darwin* | rhapsody*)
18145 case $host_os in
18146 rhapsody* | darwin1.[012])
18147 allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
18148 ;;
18149 *) # Darwin 1.3 on
18150 if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
18151 allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
18152 else
18153 case ${MACOSX_DEPLOYMENT_TARGET} in
18154 10.[012])
18155 allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
18156 ;;
18157 10.*)
18158 allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
18159 ;;
18160 esac
18161 fi
18162 ;;
18163 esac
18164 archive_cmds_need_lc_GCJ=no
18165 hardcode_direct_GCJ=no
18166 hardcode_automatic_GCJ=yes
18167 hardcode_shlibpath_var_GCJ=unsupported
18168 whole_archive_flag_spec_GCJ=''
18169 link_all_deplibs_GCJ=yes
18170 if test "$GCC" = yes ; then
18171 output_verbose_link_cmd='echo'
18172 archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
18173 module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
18174 archive_expsym_cmds_GCJ="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
18175 module_expsym_cmds_GCJ="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
18176 else
18177 case $cc_basename in
18178 xlc*)
18179 output_verbose_link_cmd='echo'
18180 archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
18181 module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
18182 # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
18183 archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
18184 module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
18185 ;;
18186 *)
18187 ld_shlibs_GCJ=no
18188 ;;
18189 esac
18190 fi
18191 ;;
18192
18193 dgux*)
18194 archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
18195 hardcode_libdir_flag_spec_GCJ='-L$libdir'
18196 hardcode_shlibpath_var_GCJ=no
18197 ;;
18198
18199 freebsd1*)
18200 ld_shlibs_GCJ=no
18201 ;;
18202
18203 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
18204 # support. Future versions do this automatically, but an explicit c++rt0.o
18205 # does not break anything, and helps significantly (at the cost of a little
18206 # extra space).
18207 freebsd2.2*)
18208 archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
18209 hardcode_libdir_flag_spec_GCJ='-R$libdir'
18210 hardcode_direct_GCJ=yes
18211 hardcode_shlibpath_var_GCJ=no
18212 ;;
18213
18214 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
18215 freebsd2*)
18216 archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
18217 hardcode_direct_GCJ=yes
18218 hardcode_minus_L_GCJ=yes
18219 hardcode_shlibpath_var_GCJ=no
18220 ;;
18221
18222 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
18223 freebsd* | dragonfly*)
18224 archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
18225 hardcode_libdir_flag_spec_GCJ='-R$libdir'
18226 hardcode_direct_GCJ=yes
18227 hardcode_shlibpath_var_GCJ=no
18228 ;;
18229
18230 hpux9*)
18231 if test "$GCC" = yes; then
18232 archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
18233 else
18234 archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
18235 fi
18236 hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
18237 hardcode_libdir_separator_GCJ=:
18238 hardcode_direct_GCJ=yes
18239
18240 # hardcode_minus_L: Not really in the search PATH,
18241 # but as the default location of the library.
18242 hardcode_minus_L_GCJ=yes
18243 export_dynamic_flag_spec_GCJ='${wl}-E'
18244 ;;
18245
18246 hpux10*)
18247 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
18248 archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
18249 else
18250 archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
18251 fi
18252 if test "$with_gnu_ld" = no; then
18253 hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
18254 hardcode_libdir_separator_GCJ=:
18255
18256 hardcode_direct_GCJ=yes
18257 export_dynamic_flag_spec_GCJ='${wl}-E'
18258
18259 # hardcode_minus_L: Not really in the search PATH,
18260 # but as the default location of the library.
18261 hardcode_minus_L_GCJ=yes
18262 fi
18263 ;;
18264
18265 hpux11*)
18266 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
18267 case $host_cpu in
18268 hppa*64*)
18269 archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
18270 ;;
18271 ia64*)
18272 archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
18273 ;;
18274 *)
18275 archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
18276 ;;
18277 esac
18278 else
18279 case $host_cpu in
18280 hppa*64*)
18281 archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
18282 ;;
18283 ia64*)
18284 archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
18285 ;;
18286 *)
18287 archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
18288 ;;
18289 esac
18290 fi
18291 if test "$with_gnu_ld" = no; then
18292 hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
18293 hardcode_libdir_separator_GCJ=:
18294
18295 case $host_cpu in
18296 hppa*64*|ia64*)
18297 hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
18298 hardcode_direct_GCJ=no
18299 hardcode_shlibpath_var_GCJ=no
18300 ;;
18301 *)
18302 hardcode_direct_GCJ=yes
18303 export_dynamic_flag_spec_GCJ='${wl}-E'
18304
18305 # hardcode_minus_L: Not really in the search PATH,
18306 # but as the default location of the library.
18307 hardcode_minus_L_GCJ=yes
18308 ;;
18309 esac
18310 fi
18311 ;;
18312
18313 irix5* | irix6* | nonstopux*)
18314 if test "$GCC" = yes; then
18315 archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
18316 else
18317 archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
18318 hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
18319 fi
18320 hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
18321 hardcode_libdir_separator_GCJ=:
18322 link_all_deplibs_GCJ=yes
18323 ;;
18324
18325 netbsd*)
18326 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
18327 archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
18328 else
18329 archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
18330 fi
18331 hardcode_libdir_flag_spec_GCJ='-R$libdir'
18332 hardcode_direct_GCJ=yes
18333 hardcode_shlibpath_var_GCJ=no
18334 ;;
18335
18336 newsos6)
18337 archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
18338 hardcode_direct_GCJ=yes
18339 hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
18340 hardcode_libdir_separator_GCJ=:
18341 hardcode_shlibpath_var_GCJ=no
18342 ;;
18343
18344 openbsd*)
18345 if test -f /usr/libexec/ld.so; then
18346 hardcode_direct_GCJ=yes
18347 hardcode_shlibpath_var_GCJ=no
18348 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
18349 archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
18350 archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
18351 hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
18352 export_dynamic_flag_spec_GCJ='${wl}-E'
18353 else
18354 case $host_os in
18355 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
18356 archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
18357 hardcode_libdir_flag_spec_GCJ='-R$libdir'
18358 ;;
18359 *)
18360 archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
18361 hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
18362 ;;
18363 esac
18364 fi
18365 else
18366 ld_shlibs_GCJ=no
18367 fi
18368 ;;
18369
18370 os2*)
18371 hardcode_libdir_flag_spec_GCJ='-L$libdir'
18372 hardcode_minus_L_GCJ=yes
18373 allow_undefined_flag_GCJ=unsupported
18374 archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
18375 old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
18376 ;;
18377
18378 osf3*)
18379 if test "$GCC" = yes; then
18380 allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
18381 archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
18382 else
18383 allow_undefined_flag_GCJ=' -expect_unresolved \*'
18384 archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
18385 fi
18386 hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
18387 hardcode_libdir_separator_GCJ=:
18388 ;;
18389
18390 osf4* | osf5*) # as osf3* with the addition of -msym flag
18391 if test "$GCC" = yes; then
18392 allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
18393 archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
18394 hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
18395 else
18396 allow_undefined_flag_GCJ=' -expect_unresolved \*'
18397 archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
18398 archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
18399 $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
18400
18401 # Both c and cxx compiler support -rpath directly
18402 hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
18403 fi
18404 hardcode_libdir_separator_GCJ=:
18405 ;;
18406
18407 solaris*)
18408 no_undefined_flag_GCJ=' -z text'
18409 if test "$GCC" = yes; then
18410 wlarc='${wl}'
18411 archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
18412 archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
18413 $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
18414 else
18415 wlarc=''
18416 archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
18417 archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
18418 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
18419 fi
18420 hardcode_libdir_flag_spec_GCJ='-R$libdir'
18421 hardcode_shlibpath_var_GCJ=no
18422 case $host_os in
18423 solaris2.[0-5] | solaris2.[0-5].*) ;;
18424 *)
18425 # The compiler driver will combine and reorder linker options,
18426 # but understands `-z linker_flag'. GCC discards it without `$wl',
18427 # but is careful enough not to reorder.
18428 # Supported since Solaris 2.6 (maybe 2.5.1?)
18429 if test "$GCC" = yes; then
18430 whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
18431 else
18432 whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract'
18433 fi
18434 ;;
18435 esac
18436 link_all_deplibs_GCJ=yes
18437 ;;
18438
18439 sunos4*)
18440 if test "x$host_vendor" = xsequent; then
18441 # Use $CC to link under sequent, because it throws in some extra .o
18442 # files that make .init and .fini sections work.
18443 archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
18444 else
18445 archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
18446 fi
18447 hardcode_libdir_flag_spec_GCJ='-L$libdir'
18448 hardcode_direct_GCJ=yes
18449 hardcode_minus_L_GCJ=yes
18450 hardcode_shlibpath_var_GCJ=no
18451 ;;
18452
18453 sysv4)
18454 case $host_vendor in
18455 sni)
18456 archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
18457 hardcode_direct_GCJ=yes # is this really true???
18458 ;;
18459 siemens)
18460 ## LD is ld it makes a PLAMLIB
18461 ## CC just makes a GrossModule.
18462 archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
18463 reload_cmds_GCJ='$CC -r -o $output$reload_objs'
18464 hardcode_direct_GCJ=no
18465 ;;
18466 motorola)
18467 archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
18468 hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
18469 ;;
18470 esac
18471 runpath_var='LD_RUN_PATH'
18472 hardcode_shlibpath_var_GCJ=no
18473 ;;
18474
18475 sysv4.3*)
18476 archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
18477 hardcode_shlibpath_var_GCJ=no
18478 export_dynamic_flag_spec_GCJ='-Bexport'
18479 ;;
18480
18481 sysv4*MP*)
18482 if test -d /usr/nec; then
18483 archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
18484 hardcode_shlibpath_var_GCJ=no
18485 runpath_var=LD_RUN_PATH
18486 hardcode_runpath_var=yes
18487 ld_shlibs_GCJ=yes
18488 fi
18489 ;;
18490
18491 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
18492 no_undefined_flag_GCJ='${wl}-z,text'
18493 archive_cmds_need_lc_GCJ=no
18494 hardcode_shlibpath_var_GCJ=no
18495 runpath_var='LD_RUN_PATH'
18496
18497 if test "$GCC" = yes; then
18498 archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
18499 archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
18500 else
18501 archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
18502 archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
18503 fi
18504 ;;
18505
18506 sysv5* | sco3.2v5* | sco5v6*)
18507 # Note: We can NOT use -z defs as we might desire, because we do not
18508 # link with -lc, and that would cause any symbols used from libc to
18509 # always be unresolved, which means just about no library would
18510 # ever link correctly. If we're not using GNU ld we use -z text
18511 # though, which does catch some bad symbols but isn't as heavy-handed
18512 # as -z defs.
18513 no_undefined_flag_GCJ='${wl}-z,text'
18514 allow_undefined_flag_GCJ='${wl}-z,nodefs'
18515 archive_cmds_need_lc_GCJ=no
18516 hardcode_shlibpath_var_GCJ=no
18517 hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
18518 hardcode_libdir_separator_GCJ=':'
18519 link_all_deplibs_GCJ=yes
18520 export_dynamic_flag_spec_GCJ='${wl}-Bexport'
18521 runpath_var='LD_RUN_PATH'
18522
18523 if test "$GCC" = yes; then
18524 archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
18525 archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
18526 else
18527 archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
18528 archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
18529 fi
18530 ;;
18531
18532 uts4*)
18533 archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
18534 hardcode_libdir_flag_spec_GCJ='-L$libdir'
18535 hardcode_shlibpath_var_GCJ=no
18536 ;;
18537
18538 *)
18539 ld_shlibs_GCJ=no
18540 ;;
18541 esac
18542 fi
18543
18544 { $as_echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
18545 $as_echo "$ld_shlibs_GCJ" >&6; }
18546 test "$ld_shlibs_GCJ" = no && can_build_shared=no
18547
18548 #
18549 # Do we need to explicitly link libc?
18550 #
18551 case "x$archive_cmds_need_lc_GCJ" in
18552 x|xyes)
18553 # Assume -lc should be added
18554 archive_cmds_need_lc_GCJ=yes
18555
18556 if test "$enable_shared" = yes && test "$GCC" = yes; then
18557 case $archive_cmds_GCJ in
18558 *'~'*)
18559 # FIXME: we may have to deal with multi-command sequences.
18560 ;;
18561 '$CC '*)
18562 # Test whether the compiler implicitly links with -lc since on some
18563 # systems, -lgcc has to come before -lc. If gcc already passes -lc
18564 # to ld, don't add -lc before -lgcc.
18565 { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
18566 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
18567 $rm conftest*
18568 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
18569
18570 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
18571 (eval $ac_compile) 2>&5
18572 ac_status=$?
18573 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
18574 (exit $ac_status); } 2>conftest.err; then
18575 soname=conftest
18576 lib=conftest
18577 libobjs=conftest.$ac_objext
18578 deplibs=
18579 wl=$lt_prog_compiler_wl_GCJ
18580 pic_flag=$lt_prog_compiler_pic_GCJ
18581 compiler_flags=-v
18582 linker_flags=-v
18583 verstring=
18584 output_objdir=.
18585 libname=conftest
18586 lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
18587 allow_undefined_flag_GCJ=
18588 if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
18589 (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
18590 ac_status=$?
18591 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
18592 (exit $ac_status); }
18593 then
18594 archive_cmds_need_lc_GCJ=no
18595 else
18596 archive_cmds_need_lc_GCJ=yes
18597 fi
18598 allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
18599 else
18600 cat conftest.err 1>&5
18601 fi
18602 $rm conftest*
18603 { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
18604 $as_echo "$archive_cmds_need_lc_GCJ" >&6; }
18605 ;;
18606 esac
18607 fi
18608 ;;
18609 esac
18610
18611 { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
18612 $as_echo_n "checking dynamic linker characteristics... " >&6; }
18613 library_names_spec=
18614 libname_spec='lib$name'
18615 soname_spec=
18616 shrext_cmds=".so"
18617 postinstall_cmds=
18618 postuninstall_cmds=
18619 finish_cmds=
18620 finish_eval=
18621 shlibpath_var=
18622 shlibpath_overrides_runpath=unknown
18623 version_type=none
18624 dynamic_linker="$host_os ld.so"
18625 sys_lib_dlsearch_path_spec="/lib /usr/lib"
18626
18627 need_lib_prefix=unknown
18628 hardcode_into_libs=no
18629
18630 # when you set need_version to no, make sure it does not cause -set_version
18631 # flags to be left without arguments
18632 need_version=unknown
18633
18634 case $host_os in
18635 aix3*)
18636 version_type=linux
18637 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
18638 shlibpath_var=LIBPATH
18639
18640 # AIX 3 has no versioning support, so we append a major version to the name.
18641 soname_spec='${libname}${release}${shared_ext}$major'
18642 ;;
18643
18644 aix[4-9]*)
18645 version_type=linux
18646 need_lib_prefix=no
18647 need_version=no
18648 hardcode_into_libs=yes
18649 if test "$host_cpu" = ia64; then
18650 # AIX 5 supports IA64
18651 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
18652 shlibpath_var=LD_LIBRARY_PATH
18653 else
18654 # With GCC up to 2.95.x, collect2 would create an import file
18655 # for dependence libraries. The import file would start with
18656 # the line `#! .'. This would cause the generated library to
18657 # depend on `.', always an invalid library. This was fixed in
18658 # development snapshots of GCC prior to 3.0.
18659 case $host_os in
18660 aix4 | aix4.[01] | aix4.[01].*)
18661 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
18662 echo ' yes '
18663 echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
18664 :
18665 else
18666 can_build_shared=no
18667 fi
18668 ;;
18669 esac
18670 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
18671 # soname into executable. Probably we can add versioning support to
18672 # collect2, so additional links can be useful in future.
18673 if test "$aix_use_runtimelinking" = yes; then
18674 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
18675 # instead of lib<name>.a to let people know that these are not
18676 # typical AIX shared libraries.
18677 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
18678 else
18679 # We preserve .a as extension for shared libraries through AIX4.2
18680 # and later when we are not doing run time linking.
18681 library_names_spec='${libname}${release}.a $libname.a'
18682 soname_spec='${libname}${release}${shared_ext}$major'
18683 fi
18684 shlibpath_var=LIBPATH
18685 fi
18686 ;;
18687
18688 amigaos*)
18689 library_names_spec='$libname.ixlibrary $libname.a'
18690 # Create ${libname}_ixlibrary.a entries in /sys/libs.
18691 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
18692 ;;
18693
18694 beos*)
18695 library_names_spec='${libname}${shared_ext}'
18696 dynamic_linker="$host_os ld.so"
18697 shlibpath_var=LIBRARY_PATH
18698 ;;
18699
18700 bsdi[45]*)
18701 version_type=linux
18702 need_version=no
18703 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
18704 soname_spec='${libname}${release}${shared_ext}$major'
18705 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
18706 shlibpath_var=LD_LIBRARY_PATH
18707 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
18708 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
18709 # the default ld.so.conf also contains /usr/contrib/lib and
18710 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
18711 # libtool to hard-code these into programs
18712 ;;
18713
18714 cygwin* | mingw* | pw32*)
18715 version_type=windows
18716 shrext_cmds=".dll"
18717 need_version=no
18718 need_lib_prefix=no
18719
18720 case $GCC,$host_os in
18721 yes,cygwin* | yes,mingw* | yes,pw32*)
18722 library_names_spec='$libname.dll.a'
18723 # DLL is installed to $(libdir)/../bin by postinstall_cmds
18724 postinstall_cmds='base_file=`basename \${file}`~
18725 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
18726 dldir=$destdir/`dirname \$dlpath`~
18727 test -d \$dldir || mkdir -p \$dldir~
18728 $install_prog $dir/$dlname \$dldir/$dlname~
18729 chmod a+x \$dldir/$dlname'
18730 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
18731 dlpath=$dir/\$dldll~
18732 $rm \$dlpath'
18733 shlibpath_overrides_runpath=yes
18734
18735 case $host_os in
18736 cygwin*)
18737 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
18738 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
18739 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
18740 ;;
18741 mingw*)
18742 # MinGW DLLs use traditional 'lib' prefix
18743 soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
18744 sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
18745 if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
18746 # It is most probably a Windows format PATH printed by
18747 # mingw gcc, but we are running on Cygwin. Gcc prints its search
18748 # path with ; separators, and with drive letters. We can handle the
18749 # drive letters (cygwin fileutils understands them), so leave them,
18750 # especially as we might pass files found there to a mingw objdump,
18751 # which wouldn't understand a cygwinified path. Ahh.
18752 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
18753 else
18754 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
18755 fi
18756 ;;
18757 pw32*)
18758 # pw32 DLLs use 'pw' prefix rather than 'lib'
18759 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
18760 ;;
18761 esac
18762 ;;
18763
18764 *)
18765 library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
18766 ;;
18767 esac
18768 dynamic_linker='Win32 ld.exe'
18769 # FIXME: first we should search . and the directory the executable is in
18770 shlibpath_var=PATH
18771 ;;
18772
18773 darwin* | rhapsody*)
18774 dynamic_linker="$host_os dyld"
18775 version_type=darwin
18776 need_lib_prefix=no
18777 need_version=no
18778 library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
18779 soname_spec='${libname}${release}${major}$shared_ext'
18780 shlibpath_overrides_runpath=yes
18781 shlibpath_var=DYLD_LIBRARY_PATH
18782 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
18783
18784 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
18785 ;;
18786
18787 dgux*)
18788 version_type=linux
18789 need_lib_prefix=no
18790 need_version=no
18791 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
18792 soname_spec='${libname}${release}${shared_ext}$major'
18793 shlibpath_var=LD_LIBRARY_PATH
18794 ;;
18795
18796 freebsd1*)
18797 dynamic_linker=no
18798 ;;
18799
18800 freebsd* | dragonfly*)
18801 # DragonFly does not have aout. When/if they implement a new
18802 # versioning mechanism, adjust this.
18803 if test -x /usr/bin/objformat; then
18804 objformat=`/usr/bin/objformat`
18805 else
18806 case $host_os in
18807 freebsd[123]*) objformat=aout ;;
18808 *) objformat=elf ;;
18809 esac
18810 fi
18811 version_type=freebsd-$objformat
18812 case $version_type in
18813 freebsd-elf*)
18814 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
18815 need_version=no
18816 need_lib_prefix=no
18817 ;;
18818 freebsd-*)
18819 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
18820 need_version=yes
18821 ;;
18822 esac
18823 shlibpath_var=LD_LIBRARY_PATH
18824 case $host_os in
18825 freebsd2*)
18826 shlibpath_overrides_runpath=yes
18827 ;;
18828 freebsd3.[01]* | freebsdelf3.[01]*)
18829 shlibpath_overrides_runpath=yes
18830 hardcode_into_libs=yes
18831 ;;
18832 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
18833 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
18834 shlibpath_overrides_runpath=no
18835 hardcode_into_libs=yes
18836 ;;
18837 *) # from 4.6 on, and DragonFly
18838 shlibpath_overrides_runpath=yes
18839 hardcode_into_libs=yes
18840 ;;
18841 esac
18842 ;;
18843
18844 gnu*)
18845 version_type=linux
18846 need_lib_prefix=no
18847 need_version=no
18848 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
18849 soname_spec='${libname}${release}${shared_ext}$major'
18850 shlibpath_var=LD_LIBRARY_PATH
18851 hardcode_into_libs=yes
18852 ;;
18853
18854 hpux9* | hpux10* | hpux11*)
18855 # Give a soname corresponding to the major version so that dld.sl refuses to
18856 # link against other versions.
18857 version_type=sunos
18858 need_lib_prefix=no
18859 need_version=no
18860 case $host_cpu in
18861 ia64*)
18862 shrext_cmds='.so'
18863 hardcode_into_libs=yes
18864 dynamic_linker="$host_os dld.so"
18865 shlibpath_var=LD_LIBRARY_PATH
18866 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
18867 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
18868 soname_spec='${libname}${release}${shared_ext}$major'
18869 if test "X$HPUX_IA64_MODE" = X32; then
18870 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
18871 else
18872 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
18873 fi
18874 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
18875 ;;
18876 hppa*64*)
18877 shrext_cmds='.sl'
18878 hardcode_into_libs=yes
18879 dynamic_linker="$host_os dld.sl"
18880 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
18881 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
18882 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
18883 soname_spec='${libname}${release}${shared_ext}$major'
18884 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
18885 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
18886 ;;
18887 *)
18888 shrext_cmds='.sl'
18889 dynamic_linker="$host_os dld.sl"
18890 shlibpath_var=SHLIB_PATH
18891 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
18892 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
18893 soname_spec='${libname}${release}${shared_ext}$major'
18894 ;;
18895 esac
18896 # HP-UX runs *really* slowly unless shared libraries are mode 555.
18897 postinstall_cmds='chmod 555 $lib'
18898 ;;
18899
18900 interix[3-9]*)
18901 version_type=linux
18902 need_lib_prefix=no
18903 need_version=no
18904 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
18905 soname_spec='${libname}${release}${shared_ext}$major'
18906 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
18907 shlibpath_var=LD_LIBRARY_PATH
18908 shlibpath_overrides_runpath=no
18909 hardcode_into_libs=yes
18910 ;;
18911
18912 irix5* | irix6* | nonstopux*)
18913 case $host_os in
18914 nonstopux*) version_type=nonstopux ;;
18915 *)
18916 if test "$lt_cv_prog_gnu_ld" = yes; then
18917 version_type=linux
18918 else
18919 version_type=irix
18920 fi ;;
18921 esac
18922 need_lib_prefix=no
18923 need_version=no
18924 soname_spec='${libname}${release}${shared_ext}$major'
18925 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
18926 case $host_os in
18927 irix5* | nonstopux*)
18928 libsuff= shlibsuff=
18929 ;;
18930 *)
18931 case $LD in # libtool.m4 will add one of these switches to LD
18932 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
18933 libsuff= shlibsuff= libmagic=32-bit;;
18934 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
18935 libsuff=32 shlibsuff=N32 libmagic=N32;;
18936 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
18937 libsuff=64 shlibsuff=64 libmagic=64-bit;;
18938 *) libsuff= shlibsuff= libmagic=never-match;;
18939 esac
18940 ;;
18941 esac
18942 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
18943 shlibpath_overrides_runpath=no
18944 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
18945 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
18946 hardcode_into_libs=yes
18947 ;;
18948
18949 # No shared lib support for Linux oldld, aout, or coff.
18950 linux*oldld* | linux*aout* | linux*coff*)
18951 dynamic_linker=no
18952 ;;
18953
18954 # This must be Linux ELF.
18955 linux* | k*bsd*-gnu)
18956 version_type=linux
18957 need_lib_prefix=no
18958 need_version=no
18959 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
18960 soname_spec='${libname}${release}${shared_ext}$major'
18961 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
18962 shlibpath_var=LD_LIBRARY_PATH
18963 shlibpath_overrides_runpath=no
18964 # This implies no fast_install, which is unacceptable.
18965 # Some rework will be needed to allow for fast_install
18966 # before this can be enabled.
18967 hardcode_into_libs=yes
18968 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
18969 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
18970
18971 # Append ld.so.conf contents to the search path
18972 if test -f /etc/ld.so.conf; then
18973 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
18974 sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
18975 fi
18976
18977 # We used to test for /lib/ld.so.1 and disable shared libraries on
18978 # powerpc, because MkLinux only supported shared libraries with the
18979 # GNU dynamic linker. Since this was broken with cross compilers,
18980 # most powerpc-linux boxes support dynamic linking these days and
18981 # people can always --disable-shared, the test was removed, and we
18982 # assume the GNU/Linux dynamic linker is in use.
18983 dynamic_linker='GNU/Linux ld.so'
18984 ;;
18985
18986 netbsd*)
18987 version_type=sunos
18988 need_lib_prefix=no
18989 need_version=no
18990 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
18991 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
18992 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
18993 dynamic_linker='NetBSD (a.out) ld.so'
18994 else
18995 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
18996 soname_spec='${libname}${release}${shared_ext}$major'
18997 dynamic_linker='NetBSD ld.elf_so'
18998 fi
18999 shlibpath_var=LD_LIBRARY_PATH
19000 shlibpath_overrides_runpath=yes
19001 hardcode_into_libs=yes
19002 ;;
19003
19004 newsos6)
19005 version_type=linux
19006 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
19007 shlibpath_var=LD_LIBRARY_PATH
19008 shlibpath_overrides_runpath=yes
19009 ;;
19010
19011 nto-qnx*)
19012 version_type=linux
19013 need_lib_prefix=no
19014 need_version=no
19015 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
19016 soname_spec='${libname}${release}${shared_ext}$major'
19017 shlibpath_var=LD_LIBRARY_PATH
19018 shlibpath_overrides_runpath=yes
19019 ;;
19020
19021 openbsd*)
19022 version_type=sunos
19023 sys_lib_dlsearch_path_spec="/usr/lib"
19024 need_lib_prefix=no
19025 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
19026 case $host_os in
19027 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
19028 *) need_version=no ;;
19029 esac
19030 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
19031 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
19032 shlibpath_var=LD_LIBRARY_PATH
19033 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
19034 case $host_os in
19035 openbsd2.[89] | openbsd2.[89].*)
19036 shlibpath_overrides_runpath=no
19037 ;;
19038 *)
19039 shlibpath_overrides_runpath=yes
19040 ;;
19041 esac
19042 else
19043 shlibpath_overrides_runpath=yes
19044 fi
19045 ;;
19046
19047 os2*)
19048 libname_spec='$name'
19049 shrext_cmds=".dll"
19050 need_lib_prefix=no
19051 library_names_spec='$libname${shared_ext} $libname.a'
19052 dynamic_linker='OS/2 ld.exe'
19053 shlibpath_var=LIBPATH
19054 ;;
19055
19056 osf3* | osf4* | osf5*)
19057 version_type=osf
19058 need_lib_prefix=no
19059 need_version=no
19060 soname_spec='${libname}${release}${shared_ext}$major'
19061 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
19062 shlibpath_var=LD_LIBRARY_PATH
19063 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
19064 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
19065 ;;
19066
19067 rdos*)
19068 dynamic_linker=no
19069 ;;
19070
19071 solaris*)
19072 version_type=linux
19073 need_lib_prefix=no
19074 need_version=no
19075 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
19076 soname_spec='${libname}${release}${shared_ext}$major'
19077 shlibpath_var=LD_LIBRARY_PATH
19078 shlibpath_overrides_runpath=yes
19079 hardcode_into_libs=yes
19080 # ldd complains unless libraries are executable
19081 postinstall_cmds='chmod +x $lib'
19082 ;;
19083
19084 sunos4*)
19085 version_type=sunos
19086 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
19087 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
19088 shlibpath_var=LD_LIBRARY_PATH
19089 shlibpath_overrides_runpath=yes
19090 if test "$with_gnu_ld" = yes; then
19091 need_lib_prefix=no
19092 fi
19093 need_version=yes
19094 ;;
19095
19096 sysv4 | sysv4.3*)
19097 version_type=linux
19098 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
19099 soname_spec='${libname}${release}${shared_ext}$major'
19100 shlibpath_var=LD_LIBRARY_PATH
19101 case $host_vendor in
19102 sni)
19103 shlibpath_overrides_runpath=no
19104 need_lib_prefix=no
19105 export_dynamic_flag_spec='${wl}-Blargedynsym'
19106 runpath_var=LD_RUN_PATH
19107 ;;
19108 siemens)
19109 need_lib_prefix=no
19110 ;;
19111 motorola)
19112 need_lib_prefix=no
19113 need_version=no
19114 shlibpath_overrides_runpath=no
19115 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
19116 ;;
19117 esac
19118 ;;
19119
19120 sysv4*MP*)
19121 if test -d /usr/nec ;then
19122 version_type=linux
19123 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
19124 soname_spec='$libname${shared_ext}.$major'
19125 shlibpath_var=LD_LIBRARY_PATH
19126 fi
19127 ;;
19128
19129 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
19130 version_type=freebsd-elf
19131 need_lib_prefix=no
19132 need_version=no
19133 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
19134 soname_spec='${libname}${release}${shared_ext}$major'
19135 shlibpath_var=LD_LIBRARY_PATH
19136 hardcode_into_libs=yes
19137 if test "$with_gnu_ld" = yes; then
19138 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
19139 shlibpath_overrides_runpath=no
19140 else
19141 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
19142 shlibpath_overrides_runpath=yes
19143 case $host_os in
19144 sco3.2v5*)
19145 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
19146 ;;
19147 esac
19148 fi
19149 sys_lib_dlsearch_path_spec='/usr/lib'
19150 ;;
19151
19152 uts4*)
19153 version_type=linux
19154 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
19155 soname_spec='${libname}${release}${shared_ext}$major'
19156 shlibpath_var=LD_LIBRARY_PATH
19157 ;;
19158
19159 *)
19160 dynamic_linker=no
19161 ;;
19162 esac
19163 { $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5
19164 $as_echo "$dynamic_linker" >&6; }
19165 test "$dynamic_linker" = no && can_build_shared=no
19166
19167 if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
19168 $as_echo_n "(cached) " >&6
19169 else
19170 lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
19171 fi
19172
19173 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
19174 if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
19175 $as_echo_n "(cached) " >&6
19176 else
19177 lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
19178 fi
19179
19180 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
19181
19182 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
19183 if test "$GCC" = yes; then
19184 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
19185 fi
19186
19187 { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
19188 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
19189 hardcode_action_GCJ=
19190 if test -n "$hardcode_libdir_flag_spec_GCJ" || \
19191 test -n "$runpath_var_GCJ" || \
19192 test "X$hardcode_automatic_GCJ" = "Xyes" ; then
19193
19194 # We can hardcode non-existant directories.
19195 if test "$hardcode_direct_GCJ" != no &&
19196 # If the only mechanism to avoid hardcoding is shlibpath_var, we
19197 # have to relink, otherwise we might link with an installed library
19198 # when we should be linking with a yet-to-be-installed one
19199 ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
19200 test "$hardcode_minus_L_GCJ" != no; then
19201 # Linking always hardcodes the temporary library directory.
19202 hardcode_action_GCJ=relink
19203 else
19204 # We can link without hardcoding, and we can hardcode nonexisting dirs.
19205 hardcode_action_GCJ=immediate
19206 fi
19207 else
19208 # We cannot hardcode anything, or else we can only hardcode existing
19209 # directories.
19210 hardcode_action_GCJ=unsupported
19211 fi
19212 { $as_echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
19213 $as_echo "$hardcode_action_GCJ" >&6; }
19214
19215 if test "$hardcode_action_GCJ" = relink; then
19216 # Fast installation is not supported
19217 enable_fast_install=no
19218 elif test "$shlibpath_overrides_runpath" = yes ||
19219 test "$enable_shared" = no; then
19220 # Fast installation is not necessary
19221 enable_fast_install=needless
19222 fi
19223
19224
19225 # The else clause should only fire when bootstrapping the
19226 # libtool distribution, otherwise you forgot to ship ltmain.sh
19227 # with your package, and you will get complaints that there are
19228 # no rules to generate ltmain.sh.
19229 if test -f "$ltmain"; then
19230 # See if we are running on zsh, and set the options which allow our commands through
19231 # without removal of \ escapes.
19232 if test -n "${ZSH_VERSION+set}" ; then
19233 setopt NO_GLOB_SUBST
19234 fi
19235 # Now quote all the things that may contain metacharacters while being
19236 # careful not to overquote the AC_SUBSTed values. We take copies of the
19237 # variables and quote the copies for generation of the libtool script.
19238 for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
19239 SED SHELL STRIP \
19240 libname_spec library_names_spec soname_spec extract_expsyms_cmds \
19241 old_striplib striplib file_magic_cmd finish_cmds finish_eval \
19242 deplibs_check_method reload_flag reload_cmds need_locks \
19243 lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
19244 lt_cv_sys_global_symbol_to_c_name_address \
19245 sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
19246 old_postinstall_cmds old_postuninstall_cmds \
19247 compiler_GCJ \
19248 CC_GCJ \
19249 LD_GCJ \
19250 lt_prog_compiler_wl_GCJ \
19251 lt_prog_compiler_pic_GCJ \
19252 lt_prog_compiler_static_GCJ \
19253 lt_prog_compiler_no_builtin_flag_GCJ \
19254 export_dynamic_flag_spec_GCJ \
19255 thread_safe_flag_spec_GCJ \
19256 whole_archive_flag_spec_GCJ \
19257 enable_shared_with_static_runtimes_GCJ \
19258 old_archive_cmds_GCJ \
19259 old_archive_from_new_cmds_GCJ \
19260 predep_objects_GCJ \
19261 postdep_objects_GCJ \
19262 predeps_GCJ \
19263 postdeps_GCJ \
19264 compiler_lib_search_path_GCJ \
19265 compiler_lib_search_dirs_GCJ \
19266 archive_cmds_GCJ \
19267 archive_expsym_cmds_GCJ \
19268 postinstall_cmds_GCJ \
19269 postuninstall_cmds_GCJ \
19270 old_archive_from_expsyms_cmds_GCJ \
19271 allow_undefined_flag_GCJ \
19272 no_undefined_flag_GCJ \
19273 export_symbols_cmds_GCJ \
19274 hardcode_libdir_flag_spec_GCJ \
19275 hardcode_libdir_flag_spec_ld_GCJ \
19276 hardcode_libdir_separator_GCJ \
19277 hardcode_automatic_GCJ \
19278 module_cmds_GCJ \
19279 module_expsym_cmds_GCJ \
19280 lt_cv_prog_compiler_c_o_GCJ \
19281 fix_srcfile_path_GCJ \
19282 exclude_expsyms_GCJ \
19283 include_expsyms_GCJ; do
19284
19285 case $var in
19286 old_archive_cmds_GCJ | \
19287 old_archive_from_new_cmds_GCJ | \
19288 archive_cmds_GCJ | \
19289 archive_expsym_cmds_GCJ | \
19290 module_cmds_GCJ | \
19291 module_expsym_cmds_GCJ | \
19292 old_archive_from_expsyms_cmds_GCJ | \
19293 export_symbols_cmds_GCJ | \
19294 extract_expsyms_cmds | reload_cmds | finish_cmds | \
19295 postinstall_cmds | postuninstall_cmds | \
19296 old_postinstall_cmds | old_postuninstall_cmds | \
19297 sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
19298 # Double-quote double-evaled strings.
19299 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
19300 ;;
19301 *)
19302 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
19303 ;;
19304 esac
19305 done
19306
19307 case $lt_echo in
19308 *'\$0 --fallback-echo"')
19309 lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
19310 ;;
19311 esac
19312
19313 cfgfile="$ofile"
19314
19315 cat <<__EOF__ >> "$cfgfile"
19316 # ### BEGIN LIBTOOL TAG CONFIG: $tagname
19317
19318 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
19319
19320 # Shell to use when invoking shell scripts.
19321 SHELL=$lt_SHELL
19322
19323 # Whether or not to build shared libraries.
19324 build_libtool_libs=$enable_shared
19325
19326 # Whether or not to build static libraries.
19327 build_old_libs=$enable_static
19328
19329 # Whether or not to add -lc for building shared libraries.
19330 build_libtool_need_lc=$archive_cmds_need_lc_GCJ
19331
19332 # Whether or not to disallow shared libs when runtime libs are static
19333 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
19334
19335 # Whether or not to optimize for fast installation.
19336 fast_install=$enable_fast_install
19337
19338 # The host system.
19339 host_alias=$host_alias
19340 host=$host
19341 host_os=$host_os
19342
19343 # The build system.
19344 build_alias=$build_alias
19345 build=$build
19346 build_os=$build_os
19347
19348 # An echo program that does not interpret backslashes.
19349 echo=$lt_echo
19350
19351 # The archiver.
19352 AR=$lt_AR
19353 AR_FLAGS=$lt_AR_FLAGS
19354
19355 # A C compiler.
19356 LTCC=$lt_LTCC
19357
19358 # LTCC compiler flags.
19359 LTCFLAGS=$lt_LTCFLAGS
19360
19361 # A language-specific compiler.
19362 CC=$lt_compiler_GCJ
19363
19364 # Is the compiler the GNU C compiler?
19365 with_gcc=$GCC_GCJ
19366
19367 # An ERE matcher.
19368 EGREP=$lt_EGREP
19369
19370 # The linker used to build libraries.
19371 LD=$lt_LD_GCJ
19372
19373 # Whether we need hard or soft links.
19374 LN_S=$lt_LN_S
19375
19376 # A BSD-compatible nm program.
19377 NM=$lt_NM
19378
19379 # A symbol stripping program
19380 STRIP=$lt_STRIP
19381
19382 # Used to examine libraries when file_magic_cmd begins "file"
19383 MAGIC_CMD=$MAGIC_CMD
19384
19385 # Used on cygwin: DLL creation program.
19386 DLLTOOL="$DLLTOOL"
19387
19388 # Used on cygwin: object dumper.
19389 OBJDUMP="$OBJDUMP"
19390
19391 # Used on cygwin: assembler.
19392 AS="$AS"
19393
19394 # The name of the directory that contains temporary libtool files.
19395 objdir=$objdir
19396
19397 # How to create reloadable object files.
19398 reload_flag=$lt_reload_flag
19399 reload_cmds=$lt_reload_cmds
19400
19401 # How to pass a linker flag through the compiler.
19402 wl=$lt_lt_prog_compiler_wl_GCJ
19403
19404 # Object file suffix (normally "o").
19405 objext="$ac_objext"
19406
19407 # Old archive suffix (normally "a").
19408 libext="$libext"
19409
19410 # Shared library suffix (normally ".so").
19411 shrext_cmds='$shrext_cmds'
19412
19413 # Executable file suffix (normally "").
19414 exeext="$exeext"
19415
19416 # Additional compiler flags for building library objects.
19417 pic_flag=$lt_lt_prog_compiler_pic_GCJ
19418 pic_mode=$pic_mode
19419
19420 # What is the maximum length of a command?
19421 max_cmd_len=$lt_cv_sys_max_cmd_len
19422
19423 # Does compiler simultaneously support -c and -o options?
19424 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
19425
19426 # Must we lock files when doing compilation?
19427 need_locks=$lt_need_locks
19428
19429 # Do we need the lib prefix for modules?
19430 need_lib_prefix=$need_lib_prefix
19431
19432 # Do we need a version for libraries?
19433 need_version=$need_version
19434
19435 # Whether dlopen is supported.
19436 dlopen_support=$enable_dlopen
19437
19438 # Whether dlopen of programs is supported.
19439 dlopen_self=$enable_dlopen_self
19440
19441 # Whether dlopen of statically linked programs is supported.
19442 dlopen_self_static=$enable_dlopen_self_static
19443
19444 # Compiler flag to prevent dynamic linking.
19445 link_static_flag=$lt_lt_prog_compiler_static_GCJ
19446
19447 # Compiler flag to turn off builtin functions.
19448 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
19449
19450 # Compiler flag to allow reflexive dlopens.
19451 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
19452
19453 # Compiler flag to generate shared objects directly from archives.
19454 whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
19455
19456 # Compiler flag to generate thread-safe objects.
19457 thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
19458
19459 # Library versioning type.
19460 version_type=$version_type
19461
19462 # Format of library name prefix.
19463 libname_spec=$lt_libname_spec
19464
19465 # List of archive names. First name is the real one, the rest are links.
19466 # The last name is the one that the linker finds with -lNAME.
19467 library_names_spec=$lt_library_names_spec
19468
19469 # The coded name of the library, if different from the real name.
19470 soname_spec=$lt_soname_spec
19471
19472 # Commands used to build and install an old-style archive.
19473 RANLIB=$lt_RANLIB
19474 old_archive_cmds=$lt_old_archive_cmds_GCJ
19475 old_postinstall_cmds=$lt_old_postinstall_cmds
19476 old_postuninstall_cmds=$lt_old_postuninstall_cmds
19477
19478 # Create an old-style archive from a shared archive.
19479 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
19480
19481 # Create a temporary old-style archive to link instead of a shared archive.
19482 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
19483
19484 # Commands used to build and install a shared archive.
19485 archive_cmds=$lt_archive_cmds_GCJ
19486 archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
19487 postinstall_cmds=$lt_postinstall_cmds
19488 postuninstall_cmds=$lt_postuninstall_cmds
19489
19490 # Commands used to build a loadable module (assumed same as above if empty)
19491 module_cmds=$lt_module_cmds_GCJ
19492 module_expsym_cmds=$lt_module_expsym_cmds_GCJ
19493
19494 # Commands to strip libraries.
19495 old_striplib=$lt_old_striplib
19496 striplib=$lt_striplib
19497
19498 # Dependencies to place before the objects being linked to create a
19499 # shared library.
19500 predep_objects=$lt_predep_objects_GCJ
19501
19502 # Dependencies to place after the objects being linked to create a
19503 # shared library.
19504 postdep_objects=$lt_postdep_objects_GCJ
19505
19506 # Dependencies to place before the objects being linked to create a
19507 # shared library.
19508 predeps=$lt_predeps_GCJ
19509
19510 # Dependencies to place after the objects being linked to create a
19511 # shared library.
19512 postdeps=$lt_postdeps_GCJ
19513
19514 # The directories searched by this compiler when creating a shared
19515 # library
19516 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ
19517
19518 # The library search path used internally by the compiler when linking
19519 # a shared library.
19520 compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
19521
19522 # Method to check whether dependent libraries are shared objects.
19523 deplibs_check_method=$lt_deplibs_check_method
19524
19525 # Command to use when deplibs_check_method == file_magic.
19526 file_magic_cmd=$lt_file_magic_cmd
19527
19528 # Flag that allows shared libraries with undefined symbols to be built.
19529 allow_undefined_flag=$lt_allow_undefined_flag_GCJ
19530
19531 # Flag that forces no undefined symbols.
19532 no_undefined_flag=$lt_no_undefined_flag_GCJ
19533
19534 # Commands used to finish a libtool library installation in a directory.
19535 finish_cmds=$lt_finish_cmds
19536
19537 # Same as above, but a single script fragment to be evaled but not shown.
19538 finish_eval=$lt_finish_eval
19539
19540 # Take the output of nm and produce a listing of raw symbols and C names.
19541 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
19542
19543 # Transform the output of nm in a proper C declaration
19544 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
19545
19546 # Transform the output of nm in a C name address pair
19547 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
19548
19549 # This is the shared library runtime path variable.
19550 runpath_var=$runpath_var
19551
19552 # This is the shared library path variable.
19553 shlibpath_var=$shlibpath_var
19554
19555 # Is shlibpath searched before the hard-coded library search path?
19556 shlibpath_overrides_runpath=$shlibpath_overrides_runpath
19557
19558 # How to hardcode a shared library path into an executable.
19559 hardcode_action=$hardcode_action_GCJ
19560
19561 # Whether we should hardcode library paths into libraries.
19562 hardcode_into_libs=$hardcode_into_libs
19563
19564 # Flag to hardcode \$libdir into a binary during linking.
19565 # This must work even if \$libdir does not exist.
19566 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
19567
19568 # If ld is used when linking, flag to hardcode \$libdir into
19569 # a binary during linking. This must work even if \$libdir does
19570 # not exist.
19571 hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
19572
19573 # Whether we need a single -rpath flag with a separated argument.
19574 hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
19575
19576 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
19577 # resulting binary.
19578 hardcode_direct=$hardcode_direct_GCJ
19579
19580 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
19581 # resulting binary.
19582 hardcode_minus_L=$hardcode_minus_L_GCJ
19583
19584 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
19585 # the resulting binary.
19586 hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
19587
19588 # Set to yes if building a shared library automatically hardcodes DIR into the library
19589 # and all subsequent libraries and executables linked against it.
19590 hardcode_automatic=$hardcode_automatic_GCJ
19591
19592 # Variables whose values should be saved in libtool wrapper scripts and
19593 # restored at relink time.
19594 variables_saved_for_relink="$variables_saved_for_relink"
19595
19596 # Whether libtool must link a program against all its dependency libraries.
19597 link_all_deplibs=$link_all_deplibs_GCJ
19598
19599 # Compile-time system search path for libraries
19600 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
19601
19602 # Run-time system search path for libraries
19603 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
19604
19605 # Fix the shell variable \$srcfile for the compiler.
19606 fix_srcfile_path=$lt_fix_srcfile_path
19607
19608 # Set to yes if exported symbols are required.
19609 always_export_symbols=$always_export_symbols_GCJ
19610
19611 # The commands to list exported symbols.
19612 export_symbols_cmds=$lt_export_symbols_cmds_GCJ
19613
19614 # The commands to extract the exported symbol list from a shared archive.
19615 extract_expsyms_cmds=$lt_extract_expsyms_cmds
19616
19617 # Symbols that should not be listed in the preloaded symbols.
19618 exclude_expsyms=$lt_exclude_expsyms_GCJ
19619
19620 # Symbols that must always be exported.
19621 include_expsyms=$lt_include_expsyms_GCJ
19622
19623 # ### END LIBTOOL TAG CONFIG: $tagname
19624
19625 __EOF__
19626
19627
19628 else
19629 # If there is no Makefile yet, we rely on a make rule to execute
19630 # `config.status --recheck' to rerun these tests and create the
19631 # libtool script then.
19632 ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
19633 if test -f "$ltmain_in"; then
19634 test -f Makefile && make "$ltmain"
19635 fi
19636 fi
19637
19638
19639 ac_ext=c
19640 ac_cpp='$CPP $CPPFLAGS'
19641 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
19642 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
19643 ac_compiler_gnu=$ac_cv_c_compiler_gnu
19644
19645 CC="$lt_save_CC"
19646
19647 else
19648 tagname=""
19649 fi
19650 ;;
19651
19652 RC)
19653
19654
19655 # Source file extension for RC test sources.
19656 ac_ext=rc
19657
19658 # Object file extension for compiled RC test sources.
19659 objext=o
19660 objext_RC=$objext
19661
19662 # Code to be used in simple compile tests
19663 lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
19664
19665 # Code to be used in simple link tests
19666 lt_simple_link_test_code="$lt_simple_compile_test_code"
19667
19668 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
19669
19670 # If no C compiler was specified, use CC.
19671 LTCC=${LTCC-"$CC"}
19672
19673 # If no C compiler flags were specified, use CFLAGS.
19674 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
19675
19676 # Allow CC to be a program name with arguments.
19677 compiler=$CC
19678
19679
19680 # save warnings/boilerplate of simple test code
19681 ac_outfile=conftest.$ac_objext
19682 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
19683 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
19684 _lt_compiler_boilerplate=`cat conftest.err`
19685 $rm conftest*
19686
19687 ac_outfile=conftest.$ac_objext
19688 echo "$lt_simple_link_test_code" >conftest.$ac_ext
19689 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
19690 _lt_linker_boilerplate=`cat conftest.err`
19691 $rm -r conftest*
19692
19693
19694 # Allow CC to be a program name with arguments.
19695 lt_save_CC="$CC"
19696 CC=${RC-"windres"}
19697 compiler=$CC
19698 compiler_RC=$CC
19699 for cc_temp in $compiler""; do
19700 case $cc_temp in
19701 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
19702 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
19703 \-*) ;;
19704 *) break;;
19705 esac
19706 done
19707 cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
19708
19709 lt_cv_prog_compiler_c_o_RC=yes
19710
19711 # The else clause should only fire when bootstrapping the
19712 # libtool distribution, otherwise you forgot to ship ltmain.sh
19713 # with your package, and you will get complaints that there are
19714 # no rules to generate ltmain.sh.
19715 if test -f "$ltmain"; then
19716 # See if we are running on zsh, and set the options which allow our commands through
19717 # without removal of \ escapes.
19718 if test -n "${ZSH_VERSION+set}" ; then
19719 setopt NO_GLOB_SUBST
19720 fi
19721 # Now quote all the things that may contain metacharacters while being
19722 # careful not to overquote the AC_SUBSTed values. We take copies of the
19723 # variables and quote the copies for generation of the libtool script.
19724 for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
19725 SED SHELL STRIP \
19726 libname_spec library_names_spec soname_spec extract_expsyms_cmds \
19727 old_striplib striplib file_magic_cmd finish_cmds finish_eval \
19728 deplibs_check_method reload_flag reload_cmds need_locks \
19729 lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
19730 lt_cv_sys_global_symbol_to_c_name_address \
19731 sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
19732 old_postinstall_cmds old_postuninstall_cmds \
19733 compiler_RC \
19734 CC_RC \
19735 LD_RC \
19736 lt_prog_compiler_wl_RC \
19737 lt_prog_compiler_pic_RC \
19738 lt_prog_compiler_static_RC \
19739 lt_prog_compiler_no_builtin_flag_RC \
19740 export_dynamic_flag_spec_RC \
19741 thread_safe_flag_spec_RC \
19742 whole_archive_flag_spec_RC \
19743 enable_shared_with_static_runtimes_RC \
19744 old_archive_cmds_RC \
19745 old_archive_from_new_cmds_RC \
19746 predep_objects_RC \
19747 postdep_objects_RC \
19748 predeps_RC \
19749 postdeps_RC \
19750 compiler_lib_search_path_RC \
19751 compiler_lib_search_dirs_RC \
19752 archive_cmds_RC \
19753 archive_expsym_cmds_RC \
19754 postinstall_cmds_RC \
19755 postuninstall_cmds_RC \
19756 old_archive_from_expsyms_cmds_RC \
19757 allow_undefined_flag_RC \
19758 no_undefined_flag_RC \
19759 export_symbols_cmds_RC \
19760 hardcode_libdir_flag_spec_RC \
19761 hardcode_libdir_flag_spec_ld_RC \
19762 hardcode_libdir_separator_RC \
19763 hardcode_automatic_RC \
19764 module_cmds_RC \
19765 module_expsym_cmds_RC \
19766 lt_cv_prog_compiler_c_o_RC \
19767 fix_srcfile_path_RC \
19768 exclude_expsyms_RC \
19769 include_expsyms_RC; do
19770
19771 case $var in
19772 old_archive_cmds_RC | \
19773 old_archive_from_new_cmds_RC | \
19774 archive_cmds_RC | \
19775 archive_expsym_cmds_RC | \
19776 module_cmds_RC | \
19777 module_expsym_cmds_RC | \
19778 old_archive_from_expsyms_cmds_RC | \
19779 export_symbols_cmds_RC | \
19780 extract_expsyms_cmds | reload_cmds | finish_cmds | \
19781 postinstall_cmds | postuninstall_cmds | \
19782 old_postinstall_cmds | old_postuninstall_cmds | \
19783 sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
19784 # Double-quote double-evaled strings.
19785 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
19786 ;;
19787 *)
19788 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
19789 ;;
19790 esac
19791 done
19792
19793 case $lt_echo in
19794 *'\$0 --fallback-echo"')
19795 lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
19796 ;;
19797 esac
19798
19799 cfgfile="$ofile"
19800
19801 cat <<__EOF__ >> "$cfgfile"
19802 # ### BEGIN LIBTOOL TAG CONFIG: $tagname
19803
19804 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
19805
19806 # Shell to use when invoking shell scripts.
19807 SHELL=$lt_SHELL
19808
19809 # Whether or not to build shared libraries.
19810 build_libtool_libs=$enable_shared
19811
19812 # Whether or not to build static libraries.
19813 build_old_libs=$enable_static
19814
19815 # Whether or not to add -lc for building shared libraries.
19816 build_libtool_need_lc=$archive_cmds_need_lc_RC
19817
19818 # Whether or not to disallow shared libs when runtime libs are static
19819 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
19820
19821 # Whether or not to optimize for fast installation.
19822 fast_install=$enable_fast_install
19823
19824 # The host system.
19825 host_alias=$host_alias
19826 host=$host
19827 host_os=$host_os
19828
19829 # The build system.
19830 build_alias=$build_alias
19831 build=$build
19832 build_os=$build_os
19833
19834 # An echo program that does not interpret backslashes.
19835 echo=$lt_echo
19836
19837 # The archiver.
19838 AR=$lt_AR
19839 AR_FLAGS=$lt_AR_FLAGS
19840
19841 # A C compiler.
19842 LTCC=$lt_LTCC
19843
19844 # LTCC compiler flags.
19845 LTCFLAGS=$lt_LTCFLAGS
19846
19847 # A language-specific compiler.
19848 CC=$lt_compiler_RC
19849
19850 # Is the compiler the GNU C compiler?
19851 with_gcc=$GCC_RC
19852
19853 # An ERE matcher.
19854 EGREP=$lt_EGREP
19855
19856 # The linker used to build libraries.
19857 LD=$lt_LD_RC
19858
19859 # Whether we need hard or soft links.
19860 LN_S=$lt_LN_S
19861
19862 # A BSD-compatible nm program.
19863 NM=$lt_NM
19864
19865 # A symbol stripping program
19866 STRIP=$lt_STRIP
19867
19868 # Used to examine libraries when file_magic_cmd begins "file"
19869 MAGIC_CMD=$MAGIC_CMD
19870
19871 # Used on cygwin: DLL creation program.
19872 DLLTOOL="$DLLTOOL"
19873
19874 # Used on cygwin: object dumper.
19875 OBJDUMP="$OBJDUMP"
19876
19877 # Used on cygwin: assembler.
19878 AS="$AS"
19879
19880 # The name of the directory that contains temporary libtool files.
19881 objdir=$objdir
19882
19883 # How to create reloadable object files.
19884 reload_flag=$lt_reload_flag
19885 reload_cmds=$lt_reload_cmds
19886
19887 # How to pass a linker flag through the compiler.
19888 wl=$lt_lt_prog_compiler_wl_RC
19889
19890 # Object file suffix (normally "o").
19891 objext="$ac_objext"
19892
19893 # Old archive suffix (normally "a").
19894 libext="$libext"
19895
19896 # Shared library suffix (normally ".so").
19897 shrext_cmds='$shrext_cmds'
19898
19899 # Executable file suffix (normally "").
19900 exeext="$exeext"
19901
19902 # Additional compiler flags for building library objects.
19903 pic_flag=$lt_lt_prog_compiler_pic_RC
19904 pic_mode=$pic_mode
19905
19906 # What is the maximum length of a command?
19907 max_cmd_len=$lt_cv_sys_max_cmd_len
19908
19909 # Does compiler simultaneously support -c and -o options?
19910 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
19911
19912 # Must we lock files when doing compilation?
19913 need_locks=$lt_need_locks
19914
19915 # Do we need the lib prefix for modules?
19916 need_lib_prefix=$need_lib_prefix
19917
19918 # Do we need a version for libraries?
19919 need_version=$need_version
19920
19921 # Whether dlopen is supported.
19922 dlopen_support=$enable_dlopen
19923
19924 # Whether dlopen of programs is supported.
19925 dlopen_self=$enable_dlopen_self
19926
19927 # Whether dlopen of statically linked programs is supported.
19928 dlopen_self_static=$enable_dlopen_self_static
19929
19930 # Compiler flag to prevent dynamic linking.
19931 link_static_flag=$lt_lt_prog_compiler_static_RC
19932
19933 # Compiler flag to turn off builtin functions.
19934 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
19935
19936 # Compiler flag to allow reflexive dlopens.
19937 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
19938
19939 # Compiler flag to generate shared objects directly from archives.
19940 whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
19941
19942 # Compiler flag to generate thread-safe objects.
19943 thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
19944
19945 # Library versioning type.
19946 version_type=$version_type
19947
19948 # Format of library name prefix.
19949 libname_spec=$lt_libname_spec
19950
19951 # List of archive names. First name is the real one, the rest are links.
19952 # The last name is the one that the linker finds with -lNAME.
19953 library_names_spec=$lt_library_names_spec
19954
19955 # The coded name of the library, if different from the real name.
19956 soname_spec=$lt_soname_spec
19957
19958 # Commands used to build and install an old-style archive.
19959 RANLIB=$lt_RANLIB
19960 old_archive_cmds=$lt_old_archive_cmds_RC
19961 old_postinstall_cmds=$lt_old_postinstall_cmds
19962 old_postuninstall_cmds=$lt_old_postuninstall_cmds
19963
19964 # Create an old-style archive from a shared archive.
19965 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
19966
19967 # Create a temporary old-style archive to link instead of a shared archive.
19968 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
19969
19970 # Commands used to build and install a shared archive.
19971 archive_cmds=$lt_archive_cmds_RC
19972 archive_expsym_cmds=$lt_archive_expsym_cmds_RC
19973 postinstall_cmds=$lt_postinstall_cmds
19974 postuninstall_cmds=$lt_postuninstall_cmds
19975
19976 # Commands used to build a loadable module (assumed same as above if empty)
19977 module_cmds=$lt_module_cmds_RC
19978 module_expsym_cmds=$lt_module_expsym_cmds_RC
19979
19980 # Commands to strip libraries.
19981 old_striplib=$lt_old_striplib
19982 striplib=$lt_striplib
19983
19984 # Dependencies to place before the objects being linked to create a
19985 # shared library.
19986 predep_objects=$lt_predep_objects_RC
19987
19988 # Dependencies to place after the objects being linked to create a
19989 # shared library.
19990 postdep_objects=$lt_postdep_objects_RC
19991
19992 # Dependencies to place before the objects being linked to create a
19993 # shared library.
19994 predeps=$lt_predeps_RC
19995
19996 # Dependencies to place after the objects being linked to create a
19997 # shared library.
19998 postdeps=$lt_postdeps_RC
19999
20000 # The directories searched by this compiler when creating a shared
20001 # library
20002 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC
20003
20004 # The library search path used internally by the compiler when linking
20005 # a shared library.
20006 compiler_lib_search_path=$lt_compiler_lib_search_path_RC
20007
20008 # Method to check whether dependent libraries are shared objects.
20009 deplibs_check_method=$lt_deplibs_check_method
20010
20011 # Command to use when deplibs_check_method == file_magic.
20012 file_magic_cmd=$lt_file_magic_cmd
20013
20014 # Flag that allows shared libraries with undefined symbols to be built.
20015 allow_undefined_flag=$lt_allow_undefined_flag_RC
20016
20017 # Flag that forces no undefined symbols.
20018 no_undefined_flag=$lt_no_undefined_flag_RC
20019
20020 # Commands used to finish a libtool library installation in a directory.
20021 finish_cmds=$lt_finish_cmds
20022
20023 # Same as above, but a single script fragment to be evaled but not shown.
20024 finish_eval=$lt_finish_eval
20025
20026 # Take the output of nm and produce a listing of raw symbols and C names.
20027 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
20028
20029 # Transform the output of nm in a proper C declaration
20030 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
20031
20032 # Transform the output of nm in a C name address pair
20033 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
20034
20035 # This is the shared library runtime path variable.
20036 runpath_var=$runpath_var
20037
20038 # This is the shared library path variable.
20039 shlibpath_var=$shlibpath_var
20040
20041 # Is shlibpath searched before the hard-coded library search path?
20042 shlibpath_overrides_runpath=$shlibpath_overrides_runpath
20043
20044 # How to hardcode a shared library path into an executable.
20045 hardcode_action=$hardcode_action_RC
20046
20047 # Whether we should hardcode library paths into libraries.
20048 hardcode_into_libs=$hardcode_into_libs
20049
20050 # Flag to hardcode \$libdir into a binary during linking.
20051 # This must work even if \$libdir does not exist.
20052 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
20053
20054 # If ld is used when linking, flag to hardcode \$libdir into
20055 # a binary during linking. This must work even if \$libdir does
20056 # not exist.
20057 hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
20058
20059 # Whether we need a single -rpath flag with a separated argument.
20060 hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
20061
20062 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
20063 # resulting binary.
20064 hardcode_direct=$hardcode_direct_RC
20065
20066 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
20067 # resulting binary.
20068 hardcode_minus_L=$hardcode_minus_L_RC
20069
20070 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
20071 # the resulting binary.
20072 hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
20073
20074 # Set to yes if building a shared library automatically hardcodes DIR into the library
20075 # and all subsequent libraries and executables linked against it.
20076 hardcode_automatic=$hardcode_automatic_RC
20077
20078 # Variables whose values should be saved in libtool wrapper scripts and
20079 # restored at relink time.
20080 variables_saved_for_relink="$variables_saved_for_relink"
20081
20082 # Whether libtool must link a program against all its dependency libraries.
20083 link_all_deplibs=$link_all_deplibs_RC
20084
20085 # Compile-time system search path for libraries
20086 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
20087
20088 # Run-time system search path for libraries
20089 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
20090
20091 # Fix the shell variable \$srcfile for the compiler.
20092 fix_srcfile_path=$lt_fix_srcfile_path
20093
20094 # Set to yes if exported symbols are required.
20095 always_export_symbols=$always_export_symbols_RC
20096
20097 # The commands to list exported symbols.
20098 export_symbols_cmds=$lt_export_symbols_cmds_RC
20099
20100 # The commands to extract the exported symbol list from a shared archive.
20101 extract_expsyms_cmds=$lt_extract_expsyms_cmds
20102
20103 # Symbols that should not be listed in the preloaded symbols.
20104 exclude_expsyms=$lt_exclude_expsyms_RC
20105
20106 # Symbols that must always be exported.
20107 include_expsyms=$lt_include_expsyms_RC
20108
20109 # ### END LIBTOOL TAG CONFIG: $tagname
20110
20111 __EOF__
20112
20113
20114 else
20115 # If there is no Makefile yet, we rely on a make rule to execute
20116 # `config.status --recheck' to rerun these tests and create the
20117 # libtool script then.
20118 ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
20119 if test -f "$ltmain_in"; then
20120 test -f Makefile && make "$ltmain"
20121 fi
20122 fi
20123
20124
20125 ac_ext=c
20126 ac_cpp='$CPP $CPPFLAGS'
20127 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
20128 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
20129 ac_compiler_gnu=$ac_cv_c_compiler_gnu
20130
20131 CC="$lt_save_CC"
20132
20133 ;;
20134
20135 *)
20136 { { $as_echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
20137 $as_echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
20138 { (exit 1); exit 1; }; }
20139 ;;
20140 esac
20141
20142 # Append the new tag name to the list of available tags.
20143 if test -n "$tagname" ; then
20144 available_tags="$available_tags $tagname"
20145 fi
20146 fi
20147 done
20148 IFS="$lt_save_ifs"
20149
20150 # Now substitute the updated list of available tags.
20151 if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
20152 mv "${ofile}T" "$ofile"
20153 chmod +x "$ofile"
20154 else
20155 rm -f "${ofile}T"
20156 { { $as_echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
20157 $as_echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
20158 { (exit 1); exit 1; }; }
20159 fi
20160 fi
20161
20162
20163
20164 # This can be used to rebuild libtool when needed
20165 LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
20166
20167 # Always use our own libtool.
20168 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
20169
20170 # Prevent multiple expansion
20171
20172
20173
20174
20175
20176
20177
20178
20179
20180
20181
20182
20183
20184
20185
20186
20187
20188
20189
20190
20191
20192 #### gcc warning flags
20193
20194 if test "x$GCC" = "xyes"; then
20195 case " $CFLAGS " in
20196 *[\ \ ]-Wall[\ \ ]*) ;;
20197 *) CFLAGS="$CFLAGS -Wall" ;;
20198 esac
20199
20200 case " $CFLAGS " in
20201 *[\ \ ]-Wchar-subscripts[\ \ ]*) ;;
20202 *) CFLAGS="$CFLAGS -Wchar-subscripts" ;;
20203 esac
20204
20205 case " $CFLAGS " in
20206 *[\ \ ]-Wmissing-declarations[\ \ ]*) ;;
20207 *) CFLAGS="$CFLAGS -Wmissing-declarations" ;;
20208 esac
20209
20210 case " $CFLAGS " in
20211 *[\ \ ]-Wnested-externs[\ \ ]*) ;;
20212 *) CFLAGS="$CFLAGS -Wnested-externs" ;;
20213 esac
20214
20215 case " $CFLAGS " in
20216 *[\ \ ]-Wpointer-arith[\ \ ]*) ;;
20217 *) CFLAGS="$CFLAGS -Wpointer-arith" ;;
20218 esac
20219
20220 case " $CFLAGS " in
20221 *[\ \ ]-Wcast-align[\ \ ]*) ;;
20222 *) CFLAGS="$CFLAGS -Wcast-align" ;;
20223 esac
20224
20225 case " $CFLAGS " in
20226 *[\ \ ]-Wsign-compare[\ \ ]*) ;;
20227 *) CFLAGS="$CFLAGS -Wsign-compare" ;;
20228 esac
20229
20230 if test "x$enable_ansi" = "xyes"; then
20231 case " $CFLAGS " in
20232 *[\ \ ]-ansi[\ \ ]*) ;;
20233 *) CFLAGS="$CFLAGS -ansi" ;;
20234 esac
20235
20236 case " $CFLAGS " in
20237 *[\ \ ]-D_POSIX_C_SOURCE*) ;;
20238 *) CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=199309L" ;;
20239 esac
20240
20241 case " $CFLAGS " in
20242 *[\ \ ]-D_BSD_SOURCE[\ \ ]*) ;;
20243 *) CFLAGS="$CFLAGS -D_BSD_SOURCE" ;;
20244 esac
20245
20246 case " $CFLAGS " in
20247 *[\ \ ]-pedantic[\ \ ]*) ;;
20248 *) CFLAGS="$CFLAGS -pedantic" ;;
20249 esac
20250 fi
20251 if test x$enable_gcov = xyes; then
20252 case " $CFLAGS " in
20253 *[\ \ ]-fprofile-arcs[\ \ ]*) ;;
20254 *) CFLAGS="$CFLAGS -fprofile-arcs" ;;
20255 esac
20256 case " $CFLAGS " in
20257 *[\ \ ]-ftest-coverage[\ \ ]*) ;;
20258 *) CFLAGS="$CFLAGS -ftest-coverage" ;;
20259 esac
20260
20261 ## remove optimization
20262 CFLAGS=`echo "$CFLAGS" | sed -e 's/-O[0-9]*//g'`
20263 fi
20264 else
20265 if test x$enable_gcov = xyes; then
20266 { { $as_echo "$as_me:$LINENO: error: --enable-gcov can only be used with gcc" >&5
20267 $as_echo "$as_me: error: --enable-gcov can only be used with gcc" >&2;}
20268 { (exit 1); exit 1; }; }
20269 fi
20270 fi
20271
20272 # *****
20273 # GNOME
20274 # *****
20275
20276
20277
20278
20279 ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}"
20280 if test -n "$ac_macro_dir"; then
20281 ACLOCAL_AMFLAGS="-I $ac_macro_dir $ACLOCAL_AMFLAGS"
20282 fi
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280 ac_config_commands="$ac_config_commands libtool"
11281
11282
11283
11284
11285 # Only expand once:
2028311286
2028411287
2028511288
2037411377 else
2037511378 case $cross_compiling:$ac_tool_warned in
2037611379 yes:)
20377 { $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
20378 whose name does not start with the host triplet. If you think this
20379 configuration is useful to you, please write to autoconf@gnu.org." >&5
20380 $as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
20381 whose name does not start with the host triplet. If you think this
20382 configuration is useful to you, please write to autoconf@gnu.org." >&2;}
11380 { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
11381 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
2038311382 ac_tool_warned=yes ;;
2038411383 esac
2038511384 PKG_CONFIG=$ac_pt_PKG_CONFIG
2040411403
2040511404 fi
2040611405
20407 gdu_cv_version_required=0.3.2
20408
20409 if test -n "$PKG_CONFIG" && \
20410 { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gnome-doc-utils >= \$gdu_cv_version_required\"") >&5
20411 ($PKG_CONFIG --exists --print-errors "gnome-doc-utils >= $gdu_cv_version_required") 2>&5
11406
11407 # Check whether --with-html-dir was given.
11408 if test "${with_html_dir+set}" = set; then
11409 withval=$with_html_dir;
11410 else
11411 with_html_dir='${datadir}/gtk-doc/html'
11412 fi
11413
11414 HTML_DIR="$with_html_dir"
11415
11416
11417 # Check whether --enable-gtk-doc was given.
11418 if test "${enable_gtk_doc+set}" = set; then
11419 enableval=$enable_gtk_doc;
11420 else
11421 enable_gtk_doc=no
11422 fi
11423
11424
11425 if test x$enable_gtk_doc = xyes; then
11426 if test -n "$PKG_CONFIG" && \
11427 { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk-doc >= 1.3\"") >&5
11428 ($PKG_CONFIG --exists --print-errors "gtk-doc >= 1.3") 2>&5
2041211429 ac_status=$?
2041311430 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
2041411431 (exit $ac_status); }; then
20415 gdu_cv_have_gdu=yes
20416 else
20417 gdu_cv_have_gdu=no
20418 fi
20419
20420 if test "$gdu_cv_have_gdu" = "yes"; then
20421 :
20422 else
20423 { { $as_echo "$as_me:$LINENO: error: gnome-doc-utils >= $gdu_cv_version_required not found" >&5
20424 $as_echo "$as_me: error: gnome-doc-utils >= $gdu_cv_version_required not found" >&2;}
11432 :
11433 else
11434 { { $as_echo "$as_me:$LINENO: error: You need to have gtk-doc >= 1.3 installed to build gtk-doc" >&5
11435 $as_echo "$as_me: error: You need to have gtk-doc >= 1.3 installed to build gtk-doc" >&2;}
2042511436 { (exit 1); exit 1; }; }
2042611437 fi
20427
20428
20429
20430 # Check whether --with-help-dir was given.
20431 if test "${with_help_dir+set}" = set; then
20432 withval=$with_help_dir;
20433 else
20434 with_help_dir='${datadir}/gnome/help'
20435 fi
20436
20437 HELP_DIR="$with_help_dir"
20438
20439
20440
20441 # Check whether --with-omf-dir was given.
20442 if test "${with_omf_dir+set}" = set; then
20443 withval=$with_omf_dir;
20444 else
20445 with_omf_dir='${datadir}/omf'
20446 fi
20447
20448 OMF_DIR="$with_omf_dir"
20449
20450
20451
20452 # Check whether --with-help-formats was given.
20453 if test "${with_help_formats+set}" = set; then
20454 withval=$with_help_formats;
20455 else
20456 with_help_formats=''
20457 fi
20458
20459 DOC_USER_FORMATS="$with_help_formats"
20460
20461
20462 # Check whether --enable-scrollkeeper was given.
20463 if test "${enable_scrollkeeper+set}" = set; then
20464 enableval=$enable_scrollkeeper;
20465 else
20466 enable_scrollkeeper=yes
20467 fi
20468
20469 if test "$gdu_cv_have_gdu" = "yes" -a "$enable_scrollkeeper" = "yes"; then
20470 ENABLE_SK_TRUE=
20471 ENABLE_SK_FALSE='#'
20472 else
20473 ENABLE_SK_TRUE='#'
20474 ENABLE_SK_FALSE=
20475 fi
20476
20477
20478 DISTCHECK_CONFIGURE_FLAGS="--disable-scrollkeeper $DISTCHECK_CONFIGURE_FLAGS"
20479
20480
20481 if test "$gdu_cv_have_gdu" = "yes"; then
20482 HAVE_GNOME_DOC_UTILS_TRUE=
20483 HAVE_GNOME_DOC_UTILS_FALSE='#'
20484 else
20485 HAVE_GNOME_DOC_UTILS_TRUE='#'
20486 HAVE_GNOME_DOC_UTILS_FALSE=
20487 fi
11438 fi
11439
11440 { $as_echo "$as_me:$LINENO: checking whether to build gtk-doc documentation" >&5
11441 $as_echo_n "checking whether to build gtk-doc documentation... " >&6; }
11442 { $as_echo "$as_me:$LINENO: result: $enable_gtk_doc" >&5
11443 $as_echo "$enable_gtk_doc" >&6; }
11444
11445 for ac_prog in gtkdoc-check
11446 do
11447 # Extract the first word of "$ac_prog", so it can be a program name with args.
11448 set dummy $ac_prog; ac_word=$2
11449 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
11450 $as_echo_n "checking for $ac_word... " >&6; }
11451 if test "${ac_cv_path_GTKDOC_CHECK+set}" = set; then
11452 $as_echo_n "(cached) " >&6
11453 else
11454 case $GTKDOC_CHECK in
11455 [\\/]* | ?:[\\/]*)
11456 ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test with a path.
11457 ;;
11458 *)
11459 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
11460 for as_dir in $PATH
11461 do
11462 IFS=$as_save_IFS
11463 test -z "$as_dir" && as_dir=.
11464 for ac_exec_ext in '' $ac_executable_extensions; do
11465 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
11466 ac_cv_path_GTKDOC_CHECK="$as_dir/$ac_word$ac_exec_ext"
11467 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
11468 break 2
11469 fi
11470 done
11471 done
11472 IFS=$as_save_IFS
11473
11474 ;;
11475 esac
11476 fi
11477 GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK
11478 if test -n "$GTKDOC_CHECK"; then
11479 { $as_echo "$as_me:$LINENO: result: $GTKDOC_CHECK" >&5
11480 $as_echo "$GTKDOC_CHECK" >&6; }
11481 else
11482 { $as_echo "$as_me:$LINENO: result: no" >&5
11483 $as_echo "no" >&6; }
11484 fi
11485
11486
11487 test -n "$GTKDOC_CHECK" && break
11488 done
11489
11490
11491 if test x$enable_gtk_doc = xyes; then
11492 ENABLE_GTK_DOC_TRUE=
11493 ENABLE_GTK_DOC_FALSE='#'
11494 else
11495 ENABLE_GTK_DOC_TRUE='#'
11496 ENABLE_GTK_DOC_FALSE=
11497 fi
11498
11499 if test -n "$LIBTOOL"; then
11500 GTK_DOC_USE_LIBTOOL_TRUE=
11501 GTK_DOC_USE_LIBTOOL_FALSE='#'
11502 else
11503 GTK_DOC_USE_LIBTOOL_TRUE='#'
11504 GTK_DOC_USE_LIBTOOL_FALSE=
11505 fi
11506
11507
11508
11509 #### gcc warning flags
11510
11511 if test "x$GCC" = "xyes"; then
11512 case " $CFLAGS " in
11513 *[\ \ ]-Wall[\ \ ]*) ;;
11514 *) CFLAGS="$CFLAGS -Wall" ;;
11515 esac
11516
11517 case " $CFLAGS " in
11518 *[\ \ ]-Wchar-subscripts[\ \ ]*) ;;
11519 *) CFLAGS="$CFLAGS -Wchar-subscripts" ;;
11520 esac
11521
11522 case " $CFLAGS " in
11523 *[\ \ ]-Wmissing-declarations[\ \ ]*) ;;
11524 *) CFLAGS="$CFLAGS -Wmissing-declarations" ;;
11525 esac
11526
11527 case " $CFLAGS " in
11528 *[\ \ ]-Wnested-externs[\ \ ]*) ;;
11529 *) CFLAGS="$CFLAGS -Wnested-externs" ;;
11530 esac
11531
11532 case " $CFLAGS " in
11533 *[\ \ ]-Wpointer-arith[\ \ ]*) ;;
11534 *) CFLAGS="$CFLAGS -Wpointer-arith" ;;
11535 esac
11536
11537 case " $CFLAGS " in
11538 *[\ \ ]-Wcast-align[\ \ ]*) ;;
11539 *) CFLAGS="$CFLAGS -Wcast-align" ;;
11540 esac
11541
11542 case " $CFLAGS " in
11543 *[\ \ ]-Wsign-compare[\ \ ]*) ;;
11544 *) CFLAGS="$CFLAGS -Wsign-compare" ;;
11545 esac
11546
11547 if test "x$enable_ansi" = "xyes"; then
11548 case " $CFLAGS " in
11549 *[\ \ ]-ansi[\ \ ]*) ;;
11550 *) CFLAGS="$CFLAGS -ansi" ;;
11551 esac
11552
11553 case " $CFLAGS " in
11554 *[\ \ ]-D_POSIX_C_SOURCE*) ;;
11555 *) CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=199309L" ;;
11556 esac
11557
11558 case " $CFLAGS " in
11559 *[\ \ ]-D_BSD_SOURCE[\ \ ]*) ;;
11560 *) CFLAGS="$CFLAGS -D_BSD_SOURCE" ;;
11561 esac
11562
11563 case " $CFLAGS " in
11564 *[\ \ ]-pedantic[\ \ ]*) ;;
11565 *) CFLAGS="$CFLAGS -pedantic" ;;
11566 esac
11567 fi
11568 if test x$enable_gcov = xyes; then
11569 case " $CFLAGS " in
11570 *[\ \ ]-fprofile-arcs[\ \ ]*) ;;
11571 *) CFLAGS="$CFLAGS -fprofile-arcs" ;;
11572 esac
11573 case " $CFLAGS " in
11574 *[\ \ ]-ftest-coverage[\ \ ]*) ;;
11575 *) CFLAGS="$CFLAGS -ftest-coverage" ;;
11576 esac
11577
11578 ## remove optimization
11579 CFLAGS=`echo "$CFLAGS" | sed -e 's/-O[0-9]*//g'`
11580 fi
11581 else
11582 if test x$enable_gcov = xyes; then
11583 { { $as_echo "$as_me:$LINENO: error: --enable-gcov can only be used with gcc" >&5
11584 $as_echo "$as_me: error: --enable-gcov can only be used with gcc" >&2;}
11585 { (exit 1); exit 1; }; }
11586 fi
11587 fi
11588
11589 # *****
11590 # GNOME
11591 # *****
11592
11593
11594
11595
11596 ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}"
11597 if test -n "$ac_macro_dir"; then
11598 ACLOCAL_AMFLAGS="-I $ac_macro_dir $ACLOCAL_AMFLAGS"
11599 fi
2048811600
2048911601
2049011602
2064211754
2064311755
2064411756 if test $USE_MAINTAINER_MODE = yes; then
20645 DISABLE_DEPRECATED="-DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGCONF_DISABLE_DEPRECATED -DBONOBO_DISABLE_DEPRECATED -DBONOBO_UI_DISABLE_DEPRECATED -DGNOME_VFS_DISABLE_DEPRECATED -DGNOME_DISABLE_DEPRECATED -DLIBGLADE_DISABLE_DEPRECATED"
11757 DISABLE_DEPRECATED="-DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGCONF_DISABLE_DEPRECATED -DBONOBO_DISABLE_DEPRECATED -DBONOBO_UI_DISABLE_DEPRECATED -DGNOME_VFS_DISABLE_DEPRECATED -DGNOME_DISABLE_DEPRECATED -DLIBGLADE_DISABLE_DEPRECATED -DWNCK_DISABLE_DEPRECATED -DLIBSOUP_DISABLE_DEPRECATED"
2064611758 else
2064711759 DISABLE_DEPRECATED=""
2064811760 fi
2064911761
2065011762
2065111763
20652 # Check whether --enable-gtk-doc was given.
20653 if test "${enable_gtk_doc+set}" = set; then
20654 enableval=$enable_gtk_doc;
20655 else
20656 enable_gtk_doc=yes
20657 fi
20658
20659
20660
20661 # Check whether --with-html-dir was given.
20662 if test "${with_html_dir+set}" = set; then
20663 withval=$with_html_dir;
20664 else
20665 with_html_dir='${datadir}/gtk-doc/html'
20666 fi
20667
20668 HTML_DIR="$with_html_dir"
20669
20670
20671 # Check whether --enable-gtk-doc was given.
20672 if test "${enable_gtk_doc+set}" = set; then
20673 enableval=$enable_gtk_doc;
20674 else
20675 enable_gtk_doc=no
20676 fi
20677
20678
20679 if test x$enable_gtk_doc = xyes; then
20680 if test -n "$PKG_CONFIG" && \
20681 { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk-doc >= 1.3\"") >&5
20682 ($PKG_CONFIG --exists --print-errors "gtk-doc >= 1.3") 2>&5
20683 ac_status=$?
20684 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
20685 (exit $ac_status); }; then
20686 :
20687 else
20688 { { $as_echo "$as_me:$LINENO: error: You need to have gtk-doc >= 1.3 installed to build gtk-doc" >&5
20689 $as_echo "$as_me: error: You need to have gtk-doc >= 1.3 installed to build gtk-doc" >&2;}
20690 { (exit 1); exit 1; }; }
20691 fi
20692 fi
20693
20694 { $as_echo "$as_me:$LINENO: checking whether to build gtk-doc documentation" >&5
20695 $as_echo_n "checking whether to build gtk-doc documentation... " >&6; }
20696 { $as_echo "$as_me:$LINENO: result: $enable_gtk_doc" >&5
20697 $as_echo "$enable_gtk_doc" >&6; }
20698
20699 for ac_prog in gtkdoc-check
20700 do
20701 # Extract the first word of "$ac_prog", so it can be a program name with args.
20702 set dummy $ac_prog; ac_word=$2
20703 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
20704 $as_echo_n "checking for $ac_word... " >&6; }
20705 if test "${ac_cv_path_GTKDOC_CHECK+set}" = set; then
20706 $as_echo_n "(cached) " >&6
20707 else
20708 case $GTKDOC_CHECK in
20709 [\\/]* | ?:[\\/]*)
20710 ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test with a path.
20711 ;;
20712 *)
20713 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
20714 for as_dir in $PATH
20715 do
20716 IFS=$as_save_IFS
20717 test -z "$as_dir" && as_dir=.
20718 for ac_exec_ext in '' $ac_executable_extensions; do
20719 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
20720 ac_cv_path_GTKDOC_CHECK="$as_dir/$ac_word$ac_exec_ext"
20721 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
20722 break 2
20723 fi
20724 done
20725 done
20726 IFS=$as_save_IFS
20727
20728 ;;
20729 esac
20730 fi
20731 GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK
20732 if test -n "$GTKDOC_CHECK"; then
20733 { $as_echo "$as_me:$LINENO: result: $GTKDOC_CHECK" >&5
20734 $as_echo "$GTKDOC_CHECK" >&6; }
20735 else
20736 { $as_echo "$as_me:$LINENO: result: no" >&5
20737 $as_echo "no" >&6; }
20738 fi
20739
20740
20741 test -n "$GTKDOC_CHECK" && break
20742 done
20743
20744
20745 if test x$enable_gtk_doc = xyes; then
20746 ENABLE_GTK_DOC_TRUE=
20747 ENABLE_GTK_DOC_FALSE='#'
20748 else
20749 ENABLE_GTK_DOC_TRUE='#'
20750 ENABLE_GTK_DOC_FALSE=
20751 fi
20752
20753 if test -n "$LIBTOOL"; then
20754 GTK_DOC_USE_LIBTOOL_TRUE=
20755 GTK_DOC_USE_LIBTOOL_FALSE='#'
20756 else
20757 GTK_DOC_USE_LIBTOOL_TRUE='#'
20758 GTK_DOC_USE_LIBTOOL_FALSE=
20759 fi
20760
20761
20762
2076311764 # ***************************
2076411765 # Check for required packages
2076511766 # ***************************
2076611767
20767 GTK_REQUIRED=2.13.6
20768 GCONF_REQUIRED=2.8
20769 DBUS_GLIB_REQUIRED=0.71
20770 POLKIT_DBUS_REQUIRED=0.9
20771 POLKIT_GRANT_REQUIRED=0.9
11768 GTK_REQUIRED=2.17.1
11769 POLKIT_AGENT_REQUIRED=0.93
11770 POLKIT_GOBJECT_REQUIRED=0.93
2077211771
2077311772
2077411773 pkg_failed=no
2084911848 " >&2;}
2085011849 { (exit 1); exit 1; }; }
2085111850 elif test $pkg_failed = untried; then
20852 { { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
11851 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
11852 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
11853 { { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
2085311854 is in your PATH or set the PKG_CONFIG environment variable to the full
2085411855 path to pkg-config.
2085511856
2086911870
2087011871 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
2087111872 See \`config.log' for more details." >&2;}
20872 { (exit 1); exit 1; }; }
11873 { (exit 1); exit 1; }; }; }
2087311874 else
2087411875 GTK_CFLAGS=$pkg_cv_GTK_CFLAGS
2087511876 GTK_LIBS=$pkg_cv_GTK_LIBS
2088211883
2088311884
2088411885 pkg_failed=no
20885 { $as_echo "$as_me:$LINENO: checking for GCONF" >&5
20886 $as_echo_n "checking for GCONF... " >&6; }
20887
20888 if test -n "$GCONF_CFLAGS"; then
20889 pkg_cv_GCONF_CFLAGS="$GCONF_CFLAGS"
11886 { $as_echo "$as_me:$LINENO: checking for POLKIT_AGENT" >&5
11887 $as_echo_n "checking for POLKIT_AGENT... " >&6; }
11888
11889 if test -n "$POLKIT_AGENT_CFLAGS"; then
11890 pkg_cv_POLKIT_AGENT_CFLAGS="$POLKIT_AGENT_CFLAGS"
2089011891 elif test -n "$PKG_CONFIG"; then
2089111892 if test -n "$PKG_CONFIG" && \
20892 { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gconf-2.0 >= \$GCONF_REQUIRED\"") >&5
20893 ($PKG_CONFIG --exists --print-errors "gconf-2.0 >= $GCONF_REQUIRED") 2>&5
11893 { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"polkit-agent-1 >= \$POLKIT_AGENT_REQUIRED\"") >&5
11894 ($PKG_CONFIG --exists --print-errors "polkit-agent-1 >= $POLKIT_AGENT_REQUIRED") 2>&5
2089411895 ac_status=$?
2089511896 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
2089611897 (exit $ac_status); }; then
20897 pkg_cv_GCONF_CFLAGS=`$PKG_CONFIG --cflags "gconf-2.0 >= $GCONF_REQUIRED" 2>/dev/null`
11898 pkg_cv_POLKIT_AGENT_CFLAGS=`$PKG_CONFIG --cflags "polkit-agent-1 >= $POLKIT_AGENT_REQUIRED" 2>/dev/null`
2089811899 else
2089911900 pkg_failed=yes
2090011901 fi
2090111902 else
2090211903 pkg_failed=untried
2090311904 fi
20904 if test -n "$GCONF_LIBS"; then
20905 pkg_cv_GCONF_LIBS="$GCONF_LIBS"
11905 if test -n "$POLKIT_AGENT_LIBS"; then
11906 pkg_cv_POLKIT_AGENT_LIBS="$POLKIT_AGENT_LIBS"
2090611907 elif test -n "$PKG_CONFIG"; then
2090711908 if test -n "$PKG_CONFIG" && \
20908 { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gconf-2.0 >= \$GCONF_REQUIRED\"") >&5
20909 ($PKG_CONFIG --exists --print-errors "gconf-2.0 >= $GCONF_REQUIRED") 2>&5
11909 { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"polkit-agent-1 >= \$POLKIT_AGENT_REQUIRED\"") >&5
11910 ($PKG_CONFIG --exists --print-errors "polkit-agent-1 >= $POLKIT_AGENT_REQUIRED") 2>&5
2091011911 ac_status=$?
2091111912 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
2091211913 (exit $ac_status); }; then
20913 pkg_cv_GCONF_LIBS=`$PKG_CONFIG --libs "gconf-2.0 >= $GCONF_REQUIRED" 2>/dev/null`
11914 pkg_cv_POLKIT_AGENT_LIBS=`$PKG_CONFIG --libs "polkit-agent-1 >= $POLKIT_AGENT_REQUIRED" 2>/dev/null`
2091411915 else
2091511916 pkg_failed=yes
2091611917 fi
2092811929 _pkg_short_errors_supported=no
2092911930 fi
2093011931 if test $_pkg_short_errors_supported = yes; then
20931 GCONF_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gconf-2.0 >= $GCONF_REQUIRED" 2>&1`
11932 POLKIT_AGENT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "polkit-agent-1 >= $POLKIT_AGENT_REQUIRED" 2>&1`
2093211933 else
20933 GCONF_PKG_ERRORS=`$PKG_CONFIG --print-errors "gconf-2.0 >= $GCONF_REQUIRED" 2>&1`
11934 POLKIT_AGENT_PKG_ERRORS=`$PKG_CONFIG --print-errors "polkit-agent-1 >= $POLKIT_AGENT_REQUIRED" 2>&1`
2093411935 fi
2093511936 # Put the nasty error message in config.log where it belongs
20936 echo "$GCONF_PKG_ERRORS" >&5
20937
20938 { { $as_echo "$as_me:$LINENO: error: Package requirements (gconf-2.0 >= $GCONF_REQUIRED) were not met:
20939
20940 $GCONF_PKG_ERRORS
11937 echo "$POLKIT_AGENT_PKG_ERRORS" >&5
11938
11939 { { $as_echo "$as_me:$LINENO: error: Package requirements (polkit-agent-1 >= $POLKIT_AGENT_REQUIRED) were not met:
11940
11941 $POLKIT_AGENT_PKG_ERRORS
2094111942
2094211943 Consider adjusting the PKG_CONFIG_PATH environment variable if you
2094311944 installed software in a non-standard prefix.
2094411945
20945 Alternatively, you may set the environment variables GCONF_CFLAGS
20946 and GCONF_LIBS to avoid the need to call pkg-config.
11946 Alternatively, you may set the environment variables POLKIT_AGENT_CFLAGS
11947 and POLKIT_AGENT_LIBS to avoid the need to call pkg-config.
2094711948 See the pkg-config man page for more details.
2094811949 " >&5
20949 $as_echo "$as_me: error: Package requirements (gconf-2.0 >= $GCONF_REQUIRED) were not met:
20950
20951 $GCONF_PKG_ERRORS
11950 $as_echo "$as_me: error: Package requirements (polkit-agent-1 >= $POLKIT_AGENT_REQUIRED) were not met:
11951
11952 $POLKIT_AGENT_PKG_ERRORS
2095211953
2095311954 Consider adjusting the PKG_CONFIG_PATH environment variable if you
2095411955 installed software in a non-standard prefix.
2095511956
20956 Alternatively, you may set the environment variables GCONF_CFLAGS
20957 and GCONF_LIBS to avoid the need to call pkg-config.
11957 Alternatively, you may set the environment variables POLKIT_AGENT_CFLAGS
11958 and POLKIT_AGENT_LIBS to avoid the need to call pkg-config.
2095811959 See the pkg-config man page for more details.
2095911960 " >&2;}
2096011961 { (exit 1); exit 1; }; }
2096111962 elif test $pkg_failed = untried; then
20962 { { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
11963 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
11964 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
11965 { { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
2096311966 is in your PATH or set the PKG_CONFIG environment variable to the full
2096411967 path to pkg-config.
2096511968
20966 Alternatively, you may set the environment variables GCONF_CFLAGS
20967 and GCONF_LIBS to avoid the need to call pkg-config.
11969 Alternatively, you may set the environment variables POLKIT_AGENT_CFLAGS
11970 and POLKIT_AGENT_LIBS to avoid the need to call pkg-config.
2096811971 See the pkg-config man page for more details.
2096911972
2097011973 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
2097311976 is in your PATH or set the PKG_CONFIG environment variable to the full
2097411977 path to pkg-config.
2097511978
20976 Alternatively, you may set the environment variables GCONF_CFLAGS
20977 and GCONF_LIBS to avoid the need to call pkg-config.
11979 Alternatively, you may set the environment variables POLKIT_AGENT_CFLAGS
11980 and POLKIT_AGENT_LIBS to avoid the need to call pkg-config.
2097811981 See the pkg-config man page for more details.
2097911982
2098011983 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
2098111984 See \`config.log' for more details." >&2;}
20982 { (exit 1); exit 1; }; }
20983 else
20984 GCONF_CFLAGS=$pkg_cv_GCONF_CFLAGS
20985 GCONF_LIBS=$pkg_cv_GCONF_LIBS
11985 { (exit 1); exit 1; }; }; }
11986 else
11987 POLKIT_AGENT_CFLAGS=$pkg_cv_POLKIT_AGENT_CFLAGS
11988 POLKIT_AGENT_LIBS=$pkg_cv_POLKIT_AGENT_LIBS
2098611989 { $as_echo "$as_me:$LINENO: result: yes" >&5
2098711990 $as_echo "yes" >&6; }
2098811991 :
2099211995
2099311996
2099411997 pkg_failed=no
20995 { $as_echo "$as_me:$LINENO: checking for DBUS_GLIB" >&5
20996 $as_echo_n "checking for DBUS_GLIB... " >&6; }
20997
20998 if test -n "$DBUS_GLIB_CFLAGS"; then
20999 pkg_cv_DBUS_GLIB_CFLAGS="$DBUS_GLIB_CFLAGS"
11998 { $as_echo "$as_me:$LINENO: checking for POLKIT_GOBJECT" >&5
11999 $as_echo_n "checking for POLKIT_GOBJECT... " >&6; }
12000
12001 if test -n "$POLKIT_GOBJECT_CFLAGS"; then
12002 pkg_cv_POLKIT_GOBJECT_CFLAGS="$POLKIT_GOBJECT_CFLAGS"
2100012003 elif test -n "$PKG_CONFIG"; then
2100112004 if test -n "$PKG_CONFIG" && \
21002 { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-glib-1 >= \$DBUS_GLIB_REQUIRED\"") >&5
21003 ($PKG_CONFIG --exists --print-errors "dbus-glib-1 >= $DBUS_GLIB_REQUIRED") 2>&5
12005 { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"polkit-gobject-1 >= \$POLKIT_GOBJECT_REQUIRED\"") >&5
12006 ($PKG_CONFIG --exists --print-errors "polkit-gobject-1 >= $POLKIT_GOBJECT_REQUIRED") 2>&5
2100412007 ac_status=$?
2100512008 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
2100612009 (exit $ac_status); }; then
21007 pkg_cv_DBUS_GLIB_CFLAGS=`$PKG_CONFIG --cflags "dbus-glib-1 >= $DBUS_GLIB_REQUIRED" 2>/dev/null`
12010 pkg_cv_POLKIT_GOBJECT_CFLAGS=`$PKG_CONFIG --cflags "polkit-gobject-1 >= $POLKIT_GOBJECT_REQUIRED" 2>/dev/null`
2100812011 else
2100912012 pkg_failed=yes
2101012013 fi
2101112014 else
2101212015 pkg_failed=untried
2101312016 fi
21014 if test -n "$DBUS_GLIB_LIBS"; then
21015 pkg_cv_DBUS_GLIB_LIBS="$DBUS_GLIB_LIBS"
12017 if test -n "$POLKIT_GOBJECT_LIBS"; then
12018 pkg_cv_POLKIT_GOBJECT_LIBS="$POLKIT_GOBJECT_LIBS"
2101612019 elif test -n "$PKG_CONFIG"; then
2101712020 if test -n "$PKG_CONFIG" && \
21018 { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-glib-1 >= \$DBUS_GLIB_REQUIRED\"") >&5
21019 ($PKG_CONFIG --exists --print-errors "dbus-glib-1 >= $DBUS_GLIB_REQUIRED") 2>&5
12021 { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"polkit-gobject-1 >= \$POLKIT_GOBJECT_REQUIRED\"") >&5
12022 ($PKG_CONFIG --exists --print-errors "polkit-gobject-1 >= $POLKIT_GOBJECT_REQUIRED") 2>&5
2102012023 ac_status=$?
2102112024 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
2102212025 (exit $ac_status); }; then
21023 pkg_cv_DBUS_GLIB_LIBS=`$PKG_CONFIG --libs "dbus-glib-1 >= $DBUS_GLIB_REQUIRED" 2>/dev/null`
12026 pkg_cv_POLKIT_GOBJECT_LIBS=`$PKG_CONFIG --libs "polkit-gobject-1 >= $POLKIT_GOBJECT_REQUIRED" 2>/dev/null`
2102412027 else
2102512028 pkg_failed=yes
2102612029 fi
2103812041 _pkg_short_errors_supported=no
2103912042 fi
2104012043 if test $_pkg_short_errors_supported = yes; then
21041 DBUS_GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "dbus-glib-1 >= $DBUS_GLIB_REQUIRED" 2>&1`
12044 POLKIT_GOBJECT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "polkit-gobject-1 >= $POLKIT_GOBJECT_REQUIRED" 2>&1`
2104212045 else
21043 DBUS_GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "dbus-glib-1 >= $DBUS_GLIB_REQUIRED" 2>&1`
12046 POLKIT_GOBJECT_PKG_ERRORS=`$PKG_CONFIG --print-errors "polkit-gobject-1 >= $POLKIT_GOBJECT_REQUIRED" 2>&1`
2104412047 fi
2104512048 # Put the nasty error message in config.log where it belongs
21046 echo "$DBUS_GLIB_PKG_ERRORS" >&5
21047
21048 { { $as_echo "$as_me:$LINENO: error: Package requirements (dbus-glib-1 >= $DBUS_GLIB_REQUIRED) were not met:
21049
21050 $DBUS_GLIB_PKG_ERRORS
12049 echo "$POLKIT_GOBJECT_PKG_ERRORS" >&5
12050
12051 { { $as_echo "$as_me:$LINENO: error: Package requirements (polkit-gobject-1 >= $POLKIT_GOBJECT_REQUIRED) were not met:
12052
12053 $POLKIT_GOBJECT_PKG_ERRORS
2105112054
2105212055 Consider adjusting the PKG_CONFIG_PATH environment variable if you
2105312056 installed software in a non-standard prefix.
2105412057
21055 Alternatively, you may set the environment variables DBUS_GLIB_CFLAGS
21056 and DBUS_GLIB_LIBS to avoid the need to call pkg-config.
12058 Alternatively, you may set the environment variables POLKIT_GOBJECT_CFLAGS
12059 and POLKIT_GOBJECT_LIBS to avoid the need to call pkg-config.
2105712060 See the pkg-config man page for more details.
2105812061 " >&5
21059 $as_echo "$as_me: error: Package requirements (dbus-glib-1 >= $DBUS_GLIB_REQUIRED) were not met:
21060
21061 $DBUS_GLIB_PKG_ERRORS
12062 $as_echo "$as_me: error: Package requirements (polkit-gobject-1 >= $POLKIT_GOBJECT_REQUIRED) were not met:
12063
12064 $POLKIT_GOBJECT_PKG_ERRORS
2106212065
2106312066 Consider adjusting the PKG_CONFIG_PATH environment variable if you
2106412067 installed software in a non-standard prefix.
2106512068
21066 Alternatively, you may set the environment variables DBUS_GLIB_CFLAGS
21067 and DBUS_GLIB_LIBS to avoid the need to call pkg-config.
12069 Alternatively, you may set the environment variables POLKIT_GOBJECT_CFLAGS
12070 and POLKIT_GOBJECT_LIBS to avoid the need to call pkg-config.
2106812071 See the pkg-config man page for more details.
2106912072 " >&2;}
2107012073 { (exit 1); exit 1; }; }
2107112074 elif test $pkg_failed = untried; then
21072 { { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
12075 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
12076 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
12077 { { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
2107312078 is in your PATH or set the PKG_CONFIG environment variable to the full
2107412079 path to pkg-config.
2107512080
21076 Alternatively, you may set the environment variables DBUS_GLIB_CFLAGS
21077 and DBUS_GLIB_LIBS to avoid the need to call pkg-config.
12081 Alternatively, you may set the environment variables POLKIT_GOBJECT_CFLAGS
12082 and POLKIT_GOBJECT_LIBS to avoid the need to call pkg-config.
2107812083 See the pkg-config man page for more details.
2107912084
2108012085 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
2108312088 is in your PATH or set the PKG_CONFIG environment variable to the full
2108412089 path to pkg-config.
2108512090
21086 Alternatively, you may set the environment variables DBUS_GLIB_CFLAGS
21087 and DBUS_GLIB_LIBS to avoid the need to call pkg-config.
12091 Alternatively, you may set the environment variables POLKIT_GOBJECT_CFLAGS
12092 and POLKIT_GOBJECT_LIBS to avoid the need to call pkg-config.
2108812093 See the pkg-config man page for more details.
2108912094
2109012095 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
2109112096 See \`config.log' for more details." >&2;}
21092 { (exit 1); exit 1; }; }
21093 else
21094 DBUS_GLIB_CFLAGS=$pkg_cv_DBUS_GLIB_CFLAGS
21095 DBUS_GLIB_LIBS=$pkg_cv_DBUS_GLIB_LIBS
12097 { (exit 1); exit 1; }; }; }
12098 else
12099 POLKIT_GOBJECT_CFLAGS=$pkg_cv_POLKIT_GOBJECT_CFLAGS
12100 POLKIT_GOBJECT_LIBS=$pkg_cv_POLKIT_GOBJECT_LIBS
2109612101 { $as_echo "$as_me:$LINENO: result: yes" >&5
2109712102 $as_echo "yes" >&6; }
2109812103 :
2110012105
2110112106
2110212107
21103
21104 pkg_failed=no
21105 { $as_echo "$as_me:$LINENO: checking for POLKIT_DBUS" >&5
21106 $as_echo_n "checking for POLKIT_DBUS... " >&6; }
21107
21108 if test -n "$POLKIT_DBUS_CFLAGS"; then
21109 pkg_cv_POLKIT_DBUS_CFLAGS="$POLKIT_DBUS_CFLAGS"
21110 elif test -n "$PKG_CONFIG"; then
21111 if test -n "$PKG_CONFIG" && \
21112 { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"polkit-dbus >= \$POLKIT_DBUS_REQUIRED\"") >&5
21113 ($PKG_CONFIG --exists --print-errors "polkit-dbus >= $POLKIT_DBUS_REQUIRED") 2>&5
21114 ac_status=$?
21115 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
21116 (exit $ac_status); }; then
21117 pkg_cv_POLKIT_DBUS_CFLAGS=`$PKG_CONFIG --cflags "polkit-dbus >= $POLKIT_DBUS_REQUIRED" 2>/dev/null`
21118 else
21119 pkg_failed=yes
21120 fi
21121 else
21122 pkg_failed=untried
21123 fi
21124 if test -n "$POLKIT_DBUS_LIBS"; then
21125 pkg_cv_POLKIT_DBUS_LIBS="$POLKIT_DBUS_LIBS"
21126 elif test -n "$PKG_CONFIG"; then
21127 if test -n "$PKG_CONFIG" && \
21128 { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"polkit-dbus >= \$POLKIT_DBUS_REQUIRED\"") >&5
21129 ($PKG_CONFIG --exists --print-errors "polkit-dbus >= $POLKIT_DBUS_REQUIRED") 2>&5
21130 ac_status=$?
21131 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
21132 (exit $ac_status); }; then
21133 pkg_cv_POLKIT_DBUS_LIBS=`$PKG_CONFIG --libs "polkit-dbus >= $POLKIT_DBUS_REQUIRED" 2>/dev/null`
21134 else
21135 pkg_failed=yes
21136 fi
21137 else
21138 pkg_failed=untried
21139 fi
21140
21141
21142
21143 if test $pkg_failed = yes; then
21144
21145 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
21146 _pkg_short_errors_supported=yes
21147 else
21148 _pkg_short_errors_supported=no
21149 fi
21150 if test $_pkg_short_errors_supported = yes; then
21151 POLKIT_DBUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "polkit-dbus >= $POLKIT_DBUS_REQUIRED" 2>&1`
21152 else
21153 POLKIT_DBUS_PKG_ERRORS=`$PKG_CONFIG --print-errors "polkit-dbus >= $POLKIT_DBUS_REQUIRED" 2>&1`
21154 fi
21155 # Put the nasty error message in config.log where it belongs
21156 echo "$POLKIT_DBUS_PKG_ERRORS" >&5
21157
21158 { { $as_echo "$as_me:$LINENO: error: Package requirements (polkit-dbus >= $POLKIT_DBUS_REQUIRED) were not met:
21159
21160 $POLKIT_DBUS_PKG_ERRORS
21161
21162 Consider adjusting the PKG_CONFIG_PATH environment variable if you
21163 installed software in a non-standard prefix.
21164
21165 Alternatively, you may set the environment variables POLKIT_DBUS_CFLAGS
21166 and POLKIT_DBUS_LIBS to avoid the need to call pkg-config.
21167 See the pkg-config man page for more details.
21168 " >&5
21169 $as_echo "$as_me: error: Package requirements (polkit-dbus >= $POLKIT_DBUS_REQUIRED) were not met:
21170
21171 $POLKIT_DBUS_PKG_ERRORS
21172
21173 Consider adjusting the PKG_CONFIG_PATH environment variable if you
21174 installed software in a non-standard prefix.
21175
21176 Alternatively, you may set the environment variables POLKIT_DBUS_CFLAGS
21177 and POLKIT_DBUS_LIBS to avoid the need to call pkg-config.
21178 See the pkg-config man page for more details.
21179 " >&2;}
21180 { (exit 1); exit 1; }; }
21181 elif test $pkg_failed = untried; then
21182 { { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
21183 is in your PATH or set the PKG_CONFIG environment variable to the full
21184 path to pkg-config.
21185
21186 Alternatively, you may set the environment variables POLKIT_DBUS_CFLAGS
21187 and POLKIT_DBUS_LIBS to avoid the need to call pkg-config.
21188 See the pkg-config man page for more details.
21189
21190 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
21191 See \`config.log' for more details." >&5
21192 $as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
21193 is in your PATH or set the PKG_CONFIG environment variable to the full
21194 path to pkg-config.
21195
21196 Alternatively, you may set the environment variables POLKIT_DBUS_CFLAGS
21197 and POLKIT_DBUS_LIBS to avoid the need to call pkg-config.
21198 See the pkg-config man page for more details.
21199
21200 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
21201 See \`config.log' for more details." >&2;}
21202 { (exit 1); exit 1; }; }
21203 else
21204 POLKIT_DBUS_CFLAGS=$pkg_cv_POLKIT_DBUS_CFLAGS
21205 POLKIT_DBUS_LIBS=$pkg_cv_POLKIT_DBUS_LIBS
21206 { $as_echo "$as_me:$LINENO: result: yes" >&5
21207 $as_echo "yes" >&6; }
21208 :
21209 fi
21210
21211
21212
21213
21214 pkg_failed=no
21215 { $as_echo "$as_me:$LINENO: checking for POLKIT_GRANT" >&5
21216 $as_echo_n "checking for POLKIT_GRANT... " >&6; }
21217
21218 if test -n "$POLKIT_GRANT_CFLAGS"; then
21219 pkg_cv_POLKIT_GRANT_CFLAGS="$POLKIT_GRANT_CFLAGS"
21220 elif test -n "$PKG_CONFIG"; then
21221 if test -n "$PKG_CONFIG" && \
21222 { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"polkit-grant >= \$POLKIT_GRANT_REQUIRED\"") >&5
21223 ($PKG_CONFIG --exists --print-errors "polkit-grant >= $POLKIT_GRANT_REQUIRED") 2>&5
21224 ac_status=$?
21225 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
21226 (exit $ac_status); }; then
21227 pkg_cv_POLKIT_GRANT_CFLAGS=`$PKG_CONFIG --cflags "polkit-grant >= $POLKIT_GRANT_REQUIRED" 2>/dev/null`
21228 else
21229 pkg_failed=yes
21230 fi
21231 else
21232 pkg_failed=untried
21233 fi
21234 if test -n "$POLKIT_GRANT_LIBS"; then
21235 pkg_cv_POLKIT_GRANT_LIBS="$POLKIT_GRANT_LIBS"
21236 elif test -n "$PKG_CONFIG"; then
21237 if test -n "$PKG_CONFIG" && \
21238 { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"polkit-grant >= \$POLKIT_GRANT_REQUIRED\"") >&5
21239 ($PKG_CONFIG --exists --print-errors "polkit-grant >= $POLKIT_GRANT_REQUIRED") 2>&5
21240 ac_status=$?
21241 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
21242 (exit $ac_status); }; then
21243 pkg_cv_POLKIT_GRANT_LIBS=`$PKG_CONFIG --libs "polkit-grant >= $POLKIT_GRANT_REQUIRED" 2>/dev/null`
21244 else
21245 pkg_failed=yes
21246 fi
21247 else
21248 pkg_failed=untried
21249 fi
21250
21251
21252
21253 if test $pkg_failed = yes; then
21254
21255 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
21256 _pkg_short_errors_supported=yes
21257 else
21258 _pkg_short_errors_supported=no
21259 fi
21260 if test $_pkg_short_errors_supported = yes; then
21261 POLKIT_GRANT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "polkit-grant >= $POLKIT_GRANT_REQUIRED" 2>&1`
21262 else
21263 POLKIT_GRANT_PKG_ERRORS=`$PKG_CONFIG --print-errors "polkit-grant >= $POLKIT_GRANT_REQUIRED" 2>&1`
21264 fi
21265 # Put the nasty error message in config.log where it belongs
21266 echo "$POLKIT_GRANT_PKG_ERRORS" >&5
21267
21268 { { $as_echo "$as_me:$LINENO: error: Package requirements (polkit-grant >= $POLKIT_GRANT_REQUIRED) were not met:
21269
21270 $POLKIT_GRANT_PKG_ERRORS
21271
21272 Consider adjusting the PKG_CONFIG_PATH environment variable if you
21273 installed software in a non-standard prefix.
21274
21275 Alternatively, you may set the environment variables POLKIT_GRANT_CFLAGS
21276 and POLKIT_GRANT_LIBS to avoid the need to call pkg-config.
21277 See the pkg-config man page for more details.
21278 " >&5
21279 $as_echo "$as_me: error: Package requirements (polkit-grant >= $POLKIT_GRANT_REQUIRED) were not met:
21280
21281 $POLKIT_GRANT_PKG_ERRORS
21282
21283 Consider adjusting the PKG_CONFIG_PATH environment variable if you
21284 installed software in a non-standard prefix.
21285
21286 Alternatively, you may set the environment variables POLKIT_GRANT_CFLAGS
21287 and POLKIT_GRANT_LIBS to avoid the need to call pkg-config.
21288 See the pkg-config man page for more details.
21289 " >&2;}
21290 { (exit 1); exit 1; }; }
21291 elif test $pkg_failed = untried; then
21292 { { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
21293 is in your PATH or set the PKG_CONFIG environment variable to the full
21294 path to pkg-config.
21295
21296 Alternatively, you may set the environment variables POLKIT_GRANT_CFLAGS
21297 and POLKIT_GRANT_LIBS to avoid the need to call pkg-config.
21298 See the pkg-config man page for more details.
21299
21300 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
21301 See \`config.log' for more details." >&5
21302 $as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
21303 is in your PATH or set the PKG_CONFIG environment variable to the full
21304 path to pkg-config.
21305
21306 Alternatively, you may set the environment variables POLKIT_GRANT_CFLAGS
21307 and POLKIT_GRANT_LIBS to avoid the need to call pkg-config.
21308 See the pkg-config man page for more details.
21309
21310 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
21311 See \`config.log' for more details." >&2;}
21312 { (exit 1); exit 1; }; }
21313 else
21314 POLKIT_GRANT_CFLAGS=$pkg_cv_POLKIT_GRANT_CFLAGS
21315 POLKIT_GRANT_LIBS=$pkg_cv_POLKIT_GRANT_LIBS
21316 { $as_echo "$as_me:$LINENO: result: yes" >&5
21317 $as_echo "yes" >&6; }
21318 :
21319 fi
21320
21321
21322
2132312108 # Check whether --enable-examples was given.
2132412109 if test "${enable_examples+set}" = set; then
2132512110 enableval=$enable_examples;
2133712122 fi
2133812123
2133912124
21340 if test "x$enable_examples" = "xyes"; then
21341 # Extract the first word of "polkit-policy-file-validate", so it can be a program name with args.
21342 set dummy polkit-policy-file-validate; ac_word=$2
21343 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
21344 $as_echo_n "checking for $ac_word... " >&6; }
21345 if test "${ac_cv_prog_POLKIT_POLICY_FILE_VALIDATE+set}" = set; then
21346 $as_echo_n "(cached) " >&6
21347 else
21348 if test -n "$POLKIT_POLICY_FILE_VALIDATE"; then
21349 ac_cv_prog_POLKIT_POLICY_FILE_VALIDATE="$POLKIT_POLICY_FILE_VALIDATE" # Let the user override the test.
21350 else
21351 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
21352 for as_dir in $PATH
21353 do
21354 IFS=$as_save_IFS
21355 test -z "$as_dir" && as_dir=.
21356 for ac_exec_ext in '' $ac_executable_extensions; do
21357 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
21358 ac_cv_prog_POLKIT_POLICY_FILE_VALIDATE="polkit-policy-file-validate"
21359 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
21360 break 2
21361 fi
21362 done
21363 done
21364 IFS=$as_save_IFS
21365
21366 fi
21367 fi
21368 POLKIT_POLICY_FILE_VALIDATE=$ac_cv_prog_POLKIT_POLICY_FILE_VALIDATE
21369 if test -n "$POLKIT_POLICY_FILE_VALIDATE"; then
21370 { $as_echo "$as_me:$LINENO: result: $POLKIT_POLICY_FILE_VALIDATE" >&5
21371 $as_echo "$POLKIT_POLICY_FILE_VALIDATE" >&6; }
21372 else
21373 { $as_echo "$as_me:$LINENO: result: no" >&5
21374 $as_echo "no" >&6; }
21375 fi
21376
21377
21378 if test -z "$POLKIT_POLICY_FILE_VALIDATE"; then
21379 { { $as_echo "$as_me:$LINENO: error: polkit-policy-file-validate not found" >&5
21380 $as_echo "$as_me: error: polkit-policy-file-validate not found" >&2;}
21381 { (exit 1); exit 1; }; }
21382 fi
21383 fi
21384
21385
21386 # Extract the first word of "gconftool-2", so it can be a program name with args.
21387 set dummy gconftool-2; ac_word=$2
21388 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
21389 $as_echo_n "checking for $ac_word... " >&6; }
21390 if test "${ac_cv_path_GCONFTOOL+set}" = set; then
21391 $as_echo_n "(cached) " >&6
21392 else
21393 case $GCONFTOOL in
21394 [\\/]* | ?:[\\/]*)
21395 ac_cv_path_GCONFTOOL="$GCONFTOOL" # Let the user override the test with a path.
21396 ;;
21397 *)
21398 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
21399 for as_dir in $PATH
21400 do
21401 IFS=$as_save_IFS
21402 test -z "$as_dir" && as_dir=.
21403 for ac_exec_ext in '' $ac_executable_extensions; do
21404 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
21405 ac_cv_path_GCONFTOOL="$as_dir/$ac_word$ac_exec_ext"
21406 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
21407 break 2
21408 fi
21409 done
21410 done
21411 IFS=$as_save_IFS
21412
21413 test -z "$ac_cv_path_GCONFTOOL" && ac_cv_path_GCONFTOOL="no"
21414 ;;
21415 esac
21416 fi
21417 GCONFTOOL=$ac_cv_path_GCONFTOOL
21418 if test -n "$GCONFTOOL"; then
21419 { $as_echo "$as_me:$LINENO: result: $GCONFTOOL" >&5
21420 $as_echo "$GCONFTOOL" >&6; }
21421 else
21422 { $as_echo "$as_me:$LINENO: result: no" >&5
21423 $as_echo "no" >&6; }
21424 fi
21425
21426
21427
21428 if test x"$GCONFTOOL" = xno; then
21429 { { $as_echo "$as_me:$LINENO: error: gconftool-2 executable not found in your path - should be installed with GConf" >&5
21430 $as_echo "$as_me: error: gconftool-2 executable not found in your path - should be installed with GConf" >&2;}
21431 { (exit 1); exit 1; }; }
21432 fi
21433
21434
21435 if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then
21436 GCONF_SCHEMA_CONFIG_SOURCE=`gconftool-2 --get-default-source`
21437 else
21438 GCONF_SCHEMA_CONFIG_SOURCE=$GCONF_SCHEMA_INSTALL_SOURCE
21439 fi
21440
21441
21442 # Check whether --with-gconf-source was given.
21443 if test "${with_gconf_source+set}" = set; then
21444 withval=$with_gconf_source; GCONF_SCHEMA_CONFIG_SOURCE="$withval"
21445 fi
21446
21447
21448
21449 { $as_echo "$as_me:$LINENO: result: Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation" >&5
21450 $as_echo "Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation" >&6; }
21451
21452 if test "x$GCONF_SCHEMA_FILE_DIR" = "x"; then
21453 GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas'
21454 fi
21455
21456
21457 # Check whether --with-gconf-schema-file-dir was given.
21458 if test "${with_gconf_schema_file_dir+set}" = set; then
21459 withval=$with_gconf_schema_file_dir; GCONF_SCHEMA_FILE_DIR="$withval"
21460 fi
21461
21462
21463
21464 { $as_echo "$as_me:$LINENO: result: Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files" >&5
21465 $as_echo "Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files" >&6; }
21466
21467 # Check whether --enable-schemas-install was given.
21468 if test "${enable_schemas_install+set}" = set; then
21469 enableval=$enable_schemas_install; case ${enableval} in
21470 yes|no) ;;
21471 *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-schemas-install" >&5
21472 $as_echo "$as_me: error: bad value ${enableval} for --enable-schemas-install" >&2;}
21473 { (exit 1); exit 1; }; } ;;
21474 esac
21475 fi
21476
21477 if test "$enable_schemas_install" != no; then
21478 GCONF_SCHEMAS_INSTALL_TRUE=
21479 GCONF_SCHEMAS_INSTALL_FALSE='#'
21480 else
21481 GCONF_SCHEMAS_INSTALL_TRUE='#'
21482 GCONF_SCHEMAS_INSTALL_FALSE=
21483 fi
21484
21485
21486
2148712125 # ********************
2148812126 # Internationalisation
2148912127 # ********************
12128
12129
12130 { $as_echo "$as_me:$LINENO: checking whether NLS is requested" >&5
12131 $as_echo_n "checking whether NLS is requested... " >&6; }
12132 # Check whether --enable-nls was given.
12133 if test "${enable_nls+set}" = set; then
12134 enableval=$enable_nls; USE_NLS=$enableval
12135 else
12136 USE_NLS=yes
12137 fi
12138
12139 { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5
12140 $as_echo "$USE_NLS" >&6; }
12141
12142
2149012143
2149112144
2149212145 case "$am__api_version" in
2168112334
2168212335
2168312336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
2168412413 # Check the gettext tools to make sure they are GNU
2168512414 # Extract the first word of "xgettext", so it can be a program name with args.
2168612415 set dummy xgettext; ac_word=$2
2180212531 fi
2180312532
2180412533
12534 # Extract the first word of "gmsgfmt", so it can be a program name with args.
12535 set dummy gmsgfmt; ac_word=$2
12536 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
12537 $as_echo_n "checking for $ac_word... " >&6; }
12538 if test "${ac_cv_path_GMSGFMT+set}" = set; then
12539 $as_echo_n "(cached) " >&6
12540 else
12541 case $GMSGFMT in
12542 [\\/]* | ?:[\\/]*)
12543 ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
12544 ;;
12545 *)
12546 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
12547 for as_dir in $PATH
12548 do
12549 IFS=$as_save_IFS
12550 test -z "$as_dir" && as_dir=.
12551 for ac_exec_ext in '' $ac_executable_extensions; do
12552 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
12553 ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
12554 $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
12555 break 2
12556 fi
12557 done
12558 done
12559 IFS=$as_save_IFS
12560
12561 test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
12562 ;;
12563 esac
12564 fi
12565 GMSGFMT=$ac_cv_path_GMSGFMT
12566 if test -n "$GMSGFMT"; then
12567 { $as_echo "$as_me:$LINENO: result: $GMSGFMT" >&5
12568 $as_echo "$GMSGFMT" >&6; }
12569 else
12570 { $as_echo "$as_me:$LINENO: result: no" >&5
12571 $as_echo "no" >&6; }
12572 fi
12573
12574
2180512575 if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
2180612576 { { $as_echo "$as_me:$LINENO: error: GNU gettext tools not found; required for intltool" >&5
2180712577 $as_echo "$as_me: error: GNU gettext tools not found; required for intltool" >&2;}
2185712627
2185812628
2185912629 if test -z "$INTLTOOL_PERL"; then
21860 { { $as_echo "$as_me:$LINENO: error: perl not found; required for intltool" >&5
21861 $as_echo "$as_me: error: perl not found; required for intltool" >&2;}
12630 { { $as_echo "$as_me:$LINENO: error: perl not found" >&5
12631 $as_echo "$as_me: error: perl not found" >&2;}
2186212632 { (exit 1); exit 1; }; }
2186312633 fi
21864 if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then
21865 { { $as_echo "$as_me:$LINENO: error: perl 5.x required for intltool" >&5
21866 $as_echo "$as_me: error: perl 5.x required for intltool" >&2;}
12634 { $as_echo "$as_me:$LINENO: checking for perl >= 5.8.1" >&5
12635 $as_echo_n "checking for perl >= 5.8.1... " >&6; }
12636 $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1
12637 if test $? -ne 0; then
12638 { { $as_echo "$as_me:$LINENO: error: perl 5.8.1 is required for intltool" >&5
12639 $as_echo "$as_me: error: perl 5.8.1 is required for intltool" >&2;}
2186712640 { (exit 1); exit 1; }; }
12641 else
12642 IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`"
12643 { $as_echo "$as_me:$LINENO: result: $IT_PERL_VERSION" >&5
12644 $as_echo "$IT_PERL_VERSION" >&6; }
2186812645 fi
2186912646 if test "x" != "xno-xml"; then
2187012647 { $as_echo "$as_me:$LINENO: checking for XML::Parser" >&5
2201412791 fi
2201512792 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_bind_textdomain_codeset" >&5
2201612793 $as_echo "$ac_cv_func_bind_textdomain_codeset" >&6; }
22017 if test $ac_cv_func_bind_textdomain_codeset = yes; then
12794 if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then
2201812795 DATADIRNAME=share
2201912796 else
2202012797 DATADIRNAME=lib
2203712814
2203812815
2203912816
22040 GETTEXT_PACKAGE=PolicyKit-gnome
12817 GETTEXT_PACKAGE=polkit-gnome-1
2204112818
2204212819
2204312820
2216012937 { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
2216112938 $as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
2216212939 ( cat <<\_ASBOX
22163 ## ------------------------------------ ##
22164 ## Report this to mailto:david@fubar.dk ##
22165 ## ------------------------------------ ##
12940 ## ------------------------------------------------------------------------- ##
12941 ## Report this to http://lists.freedesktop.org/mailman/listinfo/polkit-devel ##
12942 ## ------------------------------------------------------------------------- ##
2216612943 _ASBOX
2216712944 ) | sed "s/^/$as_me: WARNING: /" >&2
2216812945 ;;
2218012957 $as_echo "$ac_res" >&6; }
2218112958
2218212959 fi
22183 if test `eval 'as_val=${'$as_ac_Header'}
22184 $as_echo "$as_val"'` = yes; then
12960 as_val=`eval 'as_val=${'$as_ac_Header'}
12961 $as_echo "$as_val"'`
12962 if test "x$as_val" = x""yes; then
2218512963 cat >>confdefs.h <<_ACEOF
2218612964 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
2218712965 _ACEOF
2237713155 { $as_echo "$as_me:$LINENO: WARNING: libintl.h: in the future, the compiler will take precedence" >&5
2237813156 $as_echo "$as_me: WARNING: libintl.h: in the future, the compiler will take precedence" >&2;}
2237913157 ( cat <<\_ASBOX
22380 ## ------------------------------------ ##
22381 ## Report this to mailto:david@fubar.dk ##
22382 ## ------------------------------------ ##
13158 ## ------------------------------------------------------------------------- ##
13159 ## Report this to http://lists.freedesktop.org/mailman/listinfo/polkit-devel ##
13160 ## ------------------------------------------------------------------------- ##
2238313161 _ASBOX
2238413162 ) | sed "s/^/$as_me: WARNING: /" >&2
2238513163 ;;
2239513173 $as_echo "$ac_cv_header_libintl_h" >&6; }
2239613174
2239713175 fi
22398 if test $ac_cv_header_libintl_h = yes; then
13176 if test "x$ac_cv_header_libintl_h" = x""yes; then
2239913177 gt_cv_func_dgettext_libintl="no"
2240013178 libintl_extra_libs=""
2240113179
2261413392 $as_echo "$as_val"'`
2261513393 { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
2261613394 $as_echo "$ac_res" >&6; }
22617 if test `eval 'as_val=${'$as_ac_var'}
22618 $as_echo "$as_val"'` = yes; then
13395 as_val=`eval 'as_val=${'$as_ac_var'}
13396 $as_echo "$as_val"'`
13397 if test "x$as_val" = x""yes; then
2261913398 cat >>confdefs.h <<_ACEOF
2262013399 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
2262113400 _ACEOF
2269713476 fi
2269813477 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_intl_bindtextdomain" >&5
2269913478 $as_echo "$ac_cv_lib_intl_bindtextdomain" >&6; }
22700 if test $ac_cv_lib_intl_bindtextdomain = yes; then
13479 if test "x$ac_cv_lib_intl_bindtextdomain" = x""yes; then
2270113480 { $as_echo "$as_me:$LINENO: checking for ngettext in -lintl" >&5
2270213481 $as_echo_n "checking for ngettext in -lintl... " >&6; }
2270313482 if test "${ac_cv_lib_intl_ngettext+set}" = set; then
2276313542 fi
2276413543 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_intl_ngettext" >&5
2276513544 $as_echo "$ac_cv_lib_intl_ngettext" >&6; }
22766 if test $ac_cv_lib_intl_ngettext = yes; then
13545 if test "x$ac_cv_lib_intl_ngettext" = x""yes; then
2276713546 { $as_echo "$as_me:$LINENO: checking for dgettext in -lintl" >&5
2276813547 $as_echo_n "checking for dgettext in -lintl... " >&6; }
2276913548 if test "${ac_cv_lib_intl_dgettext+set}" = set; then
2282913608 fi
2283013609 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dgettext" >&5
2283113610 $as_echo "$ac_cv_lib_intl_dgettext" >&6; }
22832 if test $ac_cv_lib_intl_dgettext = yes; then
13611 if test "x$ac_cv_lib_intl_dgettext" = x""yes; then
2283313612 gt_cv_func_dgettext_libintl=yes
2283413613 fi
2283513614
2290813687 fi
2290913688 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_intl_ngettext" >&5
2291013689 $as_echo "$ac_cv_lib_intl_ngettext" >&6; }
22911 if test $ac_cv_lib_intl_ngettext = yes; then
13690 if test "x$ac_cv_lib_intl_ngettext" = x""yes; then
2291213691 { $as_echo "$as_me:$LINENO: checking for dcgettext in -lintl" >&5
2291313692 $as_echo_n "checking for dcgettext in -lintl... " >&6; }
2291413693 if test "${ac_cv_lib_intl_dcgettext+set}" = set; then
2297413753 fi
2297513754 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_intl_dcgettext" >&5
2297613755 $as_echo "$ac_cv_lib_intl_dcgettext" >&6; }
22977 if test $ac_cv_lib_intl_dcgettext = yes; then
13756 if test "x$ac_cv_lib_intl_dcgettext" = x""yes; then
2297813757 gt_cv_func_dgettext_libintl=yes
2297913758 libintl_extra_libs=-liconv
2298013759 else
2308713866 $as_echo "$as_val"'`
2308813867 { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
2308913868 $as_echo "$ac_res" >&6; }
23090 if test `eval 'as_val=${'$as_ac_var'}
23091 $as_echo "$as_val"'` = yes; then
13869 as_val=`eval 'as_val=${'$as_ac_var'}
13870 $as_echo "$as_val"'`
13871 if test "x$as_val" = x""yes; then
2309213872 cat >>confdefs.h <<_ACEOF
2309313873 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
2309413874 _ACEOF
2325314033 $as_echo "$as_val"'`
2325414034 { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
2325514035 $as_echo "$ac_res" >&6; }
23256 if test `eval 'as_val=${'$as_ac_var'}
23257 $as_echo "$as_val"'` = yes; then
14036 as_val=`eval 'as_val=${'$as_ac_var'}
14037 $as_echo "$as_val"'`
14038 if test "x$as_val" = x""yes; then
2325814039 cat >>confdefs.h <<_ACEOF
2325914040 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
2326014041 _ACEOF
2349814279 fi
2349914280 { $as_echo "$as_me:$LINENO: result: $ac_cv_func_bind_textdomain_codeset" >&5
2350014281 $as_echo "$ac_cv_func_bind_textdomain_codeset" >&6; }
23501 if test $ac_cv_func_bind_textdomain_codeset = yes; then
14282 if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then
2350214283 CATOBJEXT=.gmo
2350314284 DATADIRNAME=share
2350414285 else
2364414425
2364514426
2364614427
23647 ac_config_files="$ac_config_files Makefile data/Makefile data/polkit-gnome.pc examples/Makefile polkit-gnome/Makefile src/Makefile tools/Makefile doc/Makefile doc/version.xml po/Makefile.in"
14428 ac_config_files="$ac_config_files Makefile po/Makefile.in polkitgtk/Makefile polkitgtk/polkit-gtk-1.pc src/Makefile docs/version.xml docs/Makefile"
2364814429
2364914430
2365014431 cat >confcache <<\_ACEOF
2367414455 case $ac_val in #(
2367514456 *${as_nl}*)
2367614457 case $ac_var in #(
23677 *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
23678 $as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
14458 *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
14459 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
2367914460 esac
2368014461 case $ac_var in #(
2368114462 _ | IFS | as_nl) ;; #(
2374414525 LTLIBOBJS=$ac_ltlibobjs
2374514526
2374614527
14528 if test -n "$EXEEXT"; then
14529 am__EXEEXT_TRUE=
14530 am__EXEEXT_FALSE='#'
14531 else
14532 am__EXEEXT_TRUE='#'
14533 am__EXEEXT_FALSE=
14534 fi
14535
2374714536 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
2374814537 { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
2374914538 Usually this means the macro was only invoked conditionally." >&5
2376514554 Usually this means the macro was only invoked conditionally." >&2;}
2376614555 { (exit 1); exit 1; }; }
2376714556 fi
23768 if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
23769 { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
23770 Usually this means the macro was only invoked conditionally." >&5
23771 $as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
23772 Usually this means the macro was only invoked conditionally." >&2;}
23773 { (exit 1); exit 1; }; }
23774 fi
23775 if test -z "${ENABLE_SK_TRUE}" && test -z "${ENABLE_SK_FALSE}"; then
23776 { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_SK\" was never defined.
23777 Usually this means the macro was only invoked conditionally." >&5
23778 $as_echo "$as_me: error: conditional \"ENABLE_SK\" was never defined.
23779 Usually this means the macro was only invoked conditionally." >&2;}
23780 { (exit 1); exit 1; }; }
23781 fi
23782 if test -z "${HAVE_GNOME_DOC_UTILS_TRUE}" && test -z "${HAVE_GNOME_DOC_UTILS_FALSE}"; then
23783 { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_GNOME_DOC_UTILS\" was never defined.
23784 Usually this means the macro was only invoked conditionally." >&5
23785 $as_echo "$as_me: error: conditional \"HAVE_GNOME_DOC_UTILS\" was never defined.
23786 Usually this means the macro was only invoked conditionally." >&2;}
23787 { (exit 1); exit 1; }; }
23788 fi
2378914557 if test -z "${ENABLE_GTK_DOC_TRUE}" && test -z "${ENABLE_GTK_DOC_FALSE}"; then
2379014558 { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_GTK_DOC\" was never defined.
2379114559 Usually this means the macro was only invoked conditionally." >&5
2380414572 { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_EXAMPLES\" was never defined.
2380514573 Usually this means the macro was only invoked conditionally." >&5
2380614574 $as_echo "$as_me: error: conditional \"BUILD_EXAMPLES\" was never defined.
23807 Usually this means the macro was only invoked conditionally." >&2;}
23808 { (exit 1); exit 1; }; }
23809 fi
23810 if test -z "${GCONF_SCHEMAS_INSTALL_TRUE}" && test -z "${GCONF_SCHEMAS_INSTALL_FALSE}"; then
23811 { { $as_echo "$as_me:$LINENO: error: conditional \"GCONF_SCHEMAS_INSTALL\" was never defined.
23812 Usually this means the macro was only invoked conditionally." >&5
23813 $as_echo "$as_me: error: conditional \"GCONF_SCHEMAS_INSTALL\" was never defined.
2381414575 Usually this means the macro was only invoked conditionally." >&2;}
2381514576 { (exit 1); exit 1; }; }
2381614577 fi
2414014901 # report actual input values of CONFIG_FILES etc. instead of their
2414114902 # values after options handling.
2414214903 ac_log="
24143 This file was extended by PolicyKit-gnome $as_me 0.9.2, which was
24144 generated by GNU Autoconf 2.62. Invocation command line was
14904 This file was extended by polkit-gnome $as_me 0.94, which was
14905 generated by GNU Autoconf 2.63. Invocation command line was
2414514906
2414614907 CONFIG_FILES = $CONFIG_FILES
2414714908 CONFIG_HEADERS = $CONFIG_HEADERS
2415414915
2415514916 _ACEOF
2415614917
14918 case $ac_config_files in *"
14919 "*) set x $ac_config_files; shift; ac_config_files=$*;;
14920 esac
14921
14922 case $ac_config_headers in *"
14923 "*) set x $ac_config_headers; shift; ac_config_headers=$*;;
14924 esac
14925
14926
2415714927 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
2415814928 # Files that config.status was made for.
24159 config_files="`echo $ac_config_files`"
24160 config_headers="`echo $ac_config_headers`"
24161 config_commands="`echo $ac_config_commands`"
14929 config_files="$ac_config_files"
14930 config_headers="$ac_config_headers"
14931 config_commands="$ac_config_commands"
2416214932
2416314933 _ACEOF
2416414934
2416714937 \`$as_me' instantiates files from templates according to the
2416814938 current configuration.
2416914939
24170 Usage: $0 [OPTIONS] [FILE]...
14940 Usage: $0 [OPTION]... [FILE]...
2417114941
2417214942 -h, --help print this help, then exit
2417314943 -V, --version print version number and configuration settings, then exit
24174 -q, --quiet do not print progress messages
14944 -q, --quiet, --silent
14945 do not print progress messages
2417514946 -d, --debug don't remove temporary files
2417614947 --recheck update $as_me by reconfiguring in the same conditions
24177 --file=FILE[:TEMPLATE]
14948 --file=FILE[:TEMPLATE]
2417814949 instantiate the configuration file FILE
24179 --header=FILE[:TEMPLATE]
14950 --header=FILE[:TEMPLATE]
2418014951 instantiate the configuration header FILE
2418114952
2418214953 Configuration files:
2419314964 _ACEOF
2419414965 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
2419514966 ac_cs_version="\\
24196 PolicyKit-gnome config.status 0.9.2
24197 configured by $0, generated by GNU Autoconf 2.62,
14967 polkit-gnome config.status 0.94
14968 configured by $0, generated by GNU Autoconf 2.63,
2419814969 with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
2419914970
2420014971 Copyright (C) 2008 Free Software Foundation, Inc.
2430915080 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
2431015081
2431115082
15083 # The HP-UX ksh and POSIX shell print the target directory to stdout
15084 # if CDPATH is set.
15085 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
15086
15087 sed_quote_subst='$sed_quote_subst'
15088 double_quote_subst='$double_quote_subst'
15089 delay_variable_subst='$delay_variable_subst'
15090 macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
15091 macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
15092 enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
15093 enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
15094 pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
15095 enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
15096 host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
15097 host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
15098 host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
15099 build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
15100 build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
15101 build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
15102 SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
15103 Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
15104 GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
15105 EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
15106 FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
15107 LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
15108 NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
15109 LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
15110 max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
15111 ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
15112 exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
15113 lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
15114 lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
15115 lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
15116 reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
15117 reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15118 OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
15119 deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
15120 file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
15121 AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
15122 AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
15123 STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
15124 RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
15125 old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15126 old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15127 old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15128 CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
15129 CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
15130 compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
15131 GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
15132 lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
15133 lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
15134 lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
15135 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
15136 objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
15137 SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
15138 ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
15139 MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
15140 lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
15141 lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
15142 lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
15143 lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
15144 lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
15145 need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
15146 DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
15147 NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
15148 LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
15149 OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
15150 OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
15151 libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
15152 shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15153 extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15154 archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
15155 enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
15156 export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
15157 whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
15158 compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
15159 old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15160 old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15161 archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15162 archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15163 module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15164 module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15165 with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
15166 allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
15167 no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
15168 hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
15169 hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
15170 hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
15171 hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
15172 hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
15173 hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
15174 hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
15175 hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
15176 inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
15177 link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
15178 fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
15179 always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
15180 export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15181 exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
15182 include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
15183 prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15184 file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
15185 variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
15186 need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
15187 need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
15188 version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
15189 runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
15190 shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
15191 shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
15192 libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
15193 library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
15194 soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
15195 postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15196 postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15197 finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
15198 finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
15199 hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
15200 sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
15201 sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
15202 hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
15203 enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
15204 enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
15205 enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
15206 old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
15207 striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
15208
15209 LTCC='$LTCC'
15210 LTCFLAGS='$LTCFLAGS'
15211 compiler='$compiler_DEFAULT'
15212
15213 # Quote evaled strings.
15214 for var in SED \
15215 GREP \
15216 EGREP \
15217 FGREP \
15218 LD \
15219 NM \
15220 LN_S \
15221 lt_SP2NL \
15222 lt_NL2SP \
15223 reload_flag \
15224 OBJDUMP \
15225 deplibs_check_method \
15226 file_magic_cmd \
15227 AR \
15228 AR_FLAGS \
15229 STRIP \
15230 RANLIB \
15231 CC \
15232 CFLAGS \
15233 compiler \
15234 lt_cv_sys_global_symbol_pipe \
15235 lt_cv_sys_global_symbol_to_cdecl \
15236 lt_cv_sys_global_symbol_to_c_name_address \
15237 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
15238 SHELL \
15239 ECHO \
15240 lt_prog_compiler_no_builtin_flag \
15241 lt_prog_compiler_wl \
15242 lt_prog_compiler_pic \
15243 lt_prog_compiler_static \
15244 lt_cv_prog_compiler_c_o \
15245 need_locks \
15246 DSYMUTIL \
15247 NMEDIT \
15248 LIPO \
15249 OTOOL \
15250 OTOOL64 \
15251 shrext_cmds \
15252 export_dynamic_flag_spec \
15253 whole_archive_flag_spec \
15254 compiler_needs_object \
15255 with_gnu_ld \
15256 allow_undefined_flag \
15257 no_undefined_flag \
15258 hardcode_libdir_flag_spec \
15259 hardcode_libdir_flag_spec_ld \
15260 hardcode_libdir_separator \
15261 fix_srcfile_path \
15262 exclude_expsyms \
15263 include_expsyms \
15264 file_list_spec \
15265 variables_saved_for_relink \
15266 libname_spec \
15267 library_names_spec \
15268 soname_spec \
15269 finish_eval \
15270 old_striplib \
15271 striplib; do
15272 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
15273 *[\\\\\\\`\\"\\\$]*)
15274 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
15275 ;;
15276 *)
15277 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
15278 ;;
15279 esac
15280 done
15281
15282 # Double-quote double-evaled strings.
15283 for var in reload_cmds \
15284 old_postinstall_cmds \
15285 old_postuninstall_cmds \
15286 old_archive_cmds \
15287 extract_expsyms_cmds \
15288 old_archive_from_new_cmds \
15289 old_archive_from_expsyms_cmds \
15290 archive_cmds \
15291 archive_expsym_cmds \
15292 module_cmds \
15293 module_expsym_cmds \
15294 export_symbols_cmds \
15295 prelink_cmds \
15296 postinstall_cmds \
15297 postuninstall_cmds \
15298 finish_cmds \
15299 sys_lib_search_path_spec \
15300 sys_lib_dlsearch_path_spec; do
15301 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
15302 *[\\\\\\\`\\"\\\$]*)
15303 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
15304 ;;
15305 *)
15306 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
15307 ;;
15308 esac
15309 done
15310
15311 # Fix-up fallback echo if it was mangled by the above quoting rules.
15312 case \$lt_ECHO in
15313 *'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
15314 ;;
15315 esac
15316
15317 ac_aux_dir='$ac_aux_dir'
15318 xsi_shell='$xsi_shell'
15319 lt_shell_append='$lt_shell_append'
15320
15321 # See if we are running on zsh, and set the options which allow our
15322 # commands through without removal of \ escapes INIT.
15323 if test -n "\${ZSH_VERSION+set}" ; then
15324 setopt NO_GLOB_SUBST
15325 fi
15326
15327
15328 PACKAGE='$PACKAGE'
15329 VERSION='$VERSION'
15330 TIMESTAMP='$TIMESTAMP'
15331 RM='$RM'
15332 ofile='$ofile'
15333
15334
15335
15336
15337
2431215338 _ACEOF
2431315339
2431415340 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
2431915345 case $ac_config_target in
2432015346 "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
2432115347 "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
15348 "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
2432215349 "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
2432315350 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
24324 "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;;
24325 "data/polkit-gnome.pc") CONFIG_FILES="$CONFIG_FILES data/polkit-gnome.pc" ;;
24326 "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
24327 "polkit-gnome/Makefile") CONFIG_FILES="$CONFIG_FILES polkit-gnome/Makefile" ;;
15351 "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
15352 "polkitgtk/Makefile") CONFIG_FILES="$CONFIG_FILES polkitgtk/Makefile" ;;
15353 "polkitgtk/polkit-gtk-1.pc") CONFIG_FILES="$CONFIG_FILES polkitgtk/polkit-gtk-1.pc" ;;
2432815354 "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
24329 "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
24330 "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
24331 "doc/version.xml") CONFIG_FILES="$CONFIG_FILES doc/version.xml" ;;
24332 "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
15355 "docs/version.xml") CONFIG_FILES="$CONFIG_FILES docs/version.xml" ;;
15356 "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
2433315357 "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;;
2433415358
2433515359 *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
2441315437 $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
2441415438 { (exit 1); exit 1; }; }
2441515439
24416 if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then
15440 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
15441 if test $ac_delim_n = $ac_delim_num; then
2441715442 break
2441815443 elif $ac_last_try; then
2441915444 { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
2465215677 esac
2465315678 case $ac_mode$ac_tag in
2465415679 :[FHL]*:*);;
24655 :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
24656 $as_echo "$as_me: error: Invalid tag $ac_tag." >&2;}
15680 :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
15681 $as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
2465715682 { (exit 1); exit 1; }; };;
2465815683 :[FH]-) ac_tag=-:-;;
2465915684 :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
2498516010
2498616011
2498716012 case $ac_file$ac_mode in
24988 "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
24989 # Strip MF so we end up with the name of the file.
24990 mf=`echo "$mf" | sed -e 's/:.*$//'`
24991 # Check whether this is an Automake generated Makefile or not.
24992 # We used to match only the files named `Makefile.in', but
24993 # some people rename them; so instead we look at the file content.
24994 # Grep'ing the first line is not enough: some people post-process
24995 # each Makefile.in and add a new line on top of each file to say so.
24996 # Grep'ing the whole file is not good either: AIX grep has a line
24997 # limit of 2048, but all sed's we know have understand at least 4000.
24998 if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
24999 dirpart=`$as_dirname -- "$mf" ||
16013 "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
16014 # Autoconf 2.62 quotes --file arguments for eval, but not when files
16015 # are listed without --file. Let's play safe and only enable the eval
16016 # if we detect the quoting.
16017 case $CONFIG_FILES in
16018 *\'*) eval set x "$CONFIG_FILES" ;;
16019 *) set x $CONFIG_FILES ;;
16020 esac
16021 shift
16022 for mf
16023 do
16024 # Strip MF so we end up with the name of the file.
16025 mf=`echo "$mf" | sed -e 's/:.*$//'`
16026 # Check whether this is an Automake generated Makefile or not.
16027 # We used to match only the files named `Makefile.in', but
16028 # some people rename them; so instead we look at the file content.
16029 # Grep'ing the first line is not enough: some people post-process
16030 # each Makefile.in and add a new line on top of each file to say so.
16031 # Grep'ing the whole file is not good either: AIX grep has a line
16032 # limit of 2048, but all sed's we know have understand at least 4000.
16033 if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
16034 dirpart=`$as_dirname -- "$mf" ||
2500016035 $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
2500116036 X"$mf" : 'X\(//\)[^/]' \| \
2500216037 X"$mf" : 'X\(//\)$' \| \
2501916054 q
2502016055 }
2502116056 s/.*/./; q'`
25022 else
25023 continue
25024 fi
25025 # Extract the definition of DEPDIR, am__include, and am__quote
25026 # from the Makefile without running `make'.
25027 DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
25028 test -z "$DEPDIR" && continue
25029 am__include=`sed -n 's/^am__include = //p' < "$mf"`
25030 test -z "am__include" && continue
25031 am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
25032 # When using ansi2knr, U may be empty or an underscore; expand it
25033 U=`sed -n 's/^U = //p' < "$mf"`
25034 # Find all dependency output files, they are included files with
25035 # $(DEPDIR) in their names. We invoke sed twice because it is the
25036 # simplest approach to changing $(DEPDIR) to its actual value in the
25037 # expansion.
25038 for file in `sed -n "
25039 s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
25040 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
25041 # Make sure the directory exists.
25042 test -f "$dirpart/$file" && continue
25043 fdir=`$as_dirname -- "$file" ||
16057 else
16058 continue
16059 fi
16060 # Extract the definition of DEPDIR, am__include, and am__quote
16061 # from the Makefile without running `make'.
16062 DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
16063 test -z "$DEPDIR" && continue
16064 am__include=`sed -n 's/^am__include = //p' < "$mf"`
16065 test -z "am__include" && continue
16066 am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
16067 # When using ansi2knr, U may be empty or an underscore; expand it
16068 U=`sed -n 's/^U = //p' < "$mf"`
16069 # Find all dependency output files, they are included files with
16070 # $(DEPDIR) in their names. We invoke sed twice because it is the
16071 # simplest approach to changing $(DEPDIR) to its actual value in the
16072 # expansion.
16073 for file in `sed -n "
16074 s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
16075 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
16076 # Make sure the directory exists.
16077 test -f "$dirpart/$file" && continue
16078 fdir=`$as_dirname -- "$file" ||
2504416079 $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
2504516080 X"$file" : 'X\(//\)[^/]' \| \
2504616081 X"$file" : 'X\(//\)$' \| \
2506316098 q
2506416099 }
2506516100 s/.*/./; q'`
25066 { as_dir=$dirpart/$fdir
16101 { as_dir=$dirpart/$fdir
2506716102 case $as_dir in #(
2506816103 -*) as_dir=./$as_dir;;
2506916104 esac
2510416139 } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
2510516140 $as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
2510616141 { (exit 1); exit 1; }; }; }
25107 # echo "creating $dirpart/$file"
25108 echo '# dummy' > "$dirpart/$file"
16142 # echo "creating $dirpart/$file"
16143 echo '# dummy' > "$dirpart/$file"
16144 done
2510916145 done
25110 done
16146 }
16147 ;;
16148 "libtool":C)
16149
16150 # See if we are running on zsh, and set the options which allow our
16151 # commands through without removal of \ escapes.
16152 if test -n "${ZSH_VERSION+set}" ; then
16153 setopt NO_GLOB_SUBST
16154 fi
16155
16156 cfgfile="${ofile}T"
16157 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
16158 $RM "$cfgfile"
16159
16160 cat <<_LT_EOF >> "$cfgfile"
16161 #! $SHELL
16162
16163 # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
16164 # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
16165 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
16166 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
16167 #
16168 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
16169 # 2006, 2007, 2008 Free Software Foundation, Inc.
16170 # Written by Gordon Matzigkeit, 1996
16171 #
16172 # This file is part of GNU Libtool.
16173 #
16174 # GNU Libtool is free software; you can redistribute it and/or
16175 # modify it under the terms of the GNU General Public License as
16176 # published by the Free Software Foundation; either version 2 of
16177 # the License, or (at your option) any later version.
16178 #
16179 # As a special exception to the GNU General Public License,
16180 # if you distribute this file as part of a program or library that
16181 # is built using GNU Libtool, you may include this file under the
16182 # same distribution terms that you use for the rest of that program.
16183 #
16184 # GNU Libtool is distributed in the hope that it will be useful,
16185 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16186 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16187 # GNU General Public License for more details.
16188 #
16189 # You should have received a copy of the GNU General Public License
16190 # along with GNU Libtool; see the file COPYING. If not, a copy
16191 # can be downloaded from http://www.gnu.org/licenses/gpl.html, or
16192 # obtained by writing to the Free Software Foundation, Inc.,
16193 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16194
16195
16196 # The names of the tagged configurations supported by this script.
16197 available_tags=""
16198
16199 # ### BEGIN LIBTOOL CONFIG
16200
16201 # Which release of libtool.m4 was used?
16202 macro_version=$macro_version
16203 macro_revision=$macro_revision
16204
16205 # Whether or not to build shared libraries.
16206 build_libtool_libs=$enable_shared
16207
16208 # Whether or not to build static libraries.
16209 build_old_libs=$enable_static
16210
16211 # What type of objects to build.
16212 pic_mode=$pic_mode
16213
16214 # Whether or not to optimize for fast installation.
16215 fast_install=$enable_fast_install
16216
16217 # The host system.
16218 host_alias=$host_alias
16219 host=$host
16220 host_os=$host_os
16221
16222 # The build system.
16223 build_alias=$build_alias
16224 build=$build
16225 build_os=$build_os
16226
16227 # A sed program that does not truncate output.
16228 SED=$lt_SED
16229
16230 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
16231 Xsed="\$SED -e 1s/^X//"
16232
16233 # A grep program that handles long lines.
16234 GREP=$lt_GREP
16235
16236 # An ERE matcher.
16237 EGREP=$lt_EGREP
16238
16239 # A literal string matcher.
16240 FGREP=$lt_FGREP
16241
16242 # A BSD- or MS-compatible name lister.
16243 NM=$lt_NM
16244
16245 # Whether we need soft or hard links.
16246 LN_S=$lt_LN_S
16247
16248 # What is the maximum length of a command?
16249 max_cmd_len=$max_cmd_len
16250
16251 # Object file suffix (normally "o").
16252 objext=$ac_objext
16253
16254 # Executable file suffix (normally "").
16255 exeext=$exeext
16256
16257 # whether the shell understands "unset".
16258 lt_unset=$lt_unset
16259
16260 # turn spaces into newlines.
16261 SP2NL=$lt_lt_SP2NL
16262
16263 # turn newlines into spaces.
16264 NL2SP=$lt_lt_NL2SP
16265
16266 # How to create reloadable object files.
16267 reload_flag=$lt_reload_flag
16268 reload_cmds=$lt_reload_cmds
16269
16270 # An object symbol dumper.
16271 OBJDUMP=$lt_OBJDUMP
16272
16273 # Method to check whether dependent libraries are shared objects.
16274 deplibs_check_method=$lt_deplibs_check_method
16275
16276 # Command to use when deplibs_check_method == "file_magic".
16277 file_magic_cmd=$lt_file_magic_cmd
16278
16279 # The archiver.
16280 AR=$lt_AR
16281 AR_FLAGS=$lt_AR_FLAGS
16282
16283 # A symbol stripping program.
16284 STRIP=$lt_STRIP
16285
16286 # Commands used to install an old-style archive.
16287 RANLIB=$lt_RANLIB
16288 old_postinstall_cmds=$lt_old_postinstall_cmds
16289 old_postuninstall_cmds=$lt_old_postuninstall_cmds
16290
16291 # A C compiler.
16292 LTCC=$lt_CC
16293
16294 # LTCC compiler flags.
16295 LTCFLAGS=$lt_CFLAGS
16296
16297 # Take the output of nm and produce a listing of raw symbols and C names.
16298 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
16299
16300 # Transform the output of nm in a proper C declaration.
16301 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
16302
16303 # Transform the output of nm in a C name address pair.
16304 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
16305
16306 # Transform the output of nm in a C name address pair when lib prefix is needed.
16307 global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
16308
16309 # The name of the directory that contains temporary libtool files.
16310 objdir=$objdir
16311
16312 # Shell to use when invoking shell scripts.
16313 SHELL=$lt_SHELL
16314
16315 # An echo program that does not interpret backslashes.
16316 ECHO=$lt_ECHO
16317
16318 # Used to examine libraries when file_magic_cmd begins with "file".
16319 MAGIC_CMD=$MAGIC_CMD
16320
16321 # Must we lock files when doing compilation?
16322 need_locks=$lt_need_locks
16323
16324 # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
16325 DSYMUTIL=$lt_DSYMUTIL
16326
16327 # Tool to change global to local symbols on Mac OS X.
16328 NMEDIT=$lt_NMEDIT
16329
16330 # Tool to manipulate fat objects and archives on Mac OS X.
16331 LIPO=$lt_LIPO
16332
16333 # ldd/readelf like tool for Mach-O binaries on Mac OS X.
16334 OTOOL=$lt_OTOOL
16335
16336 # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
16337 OTOOL64=$lt_OTOOL64
16338
16339 # Old archive suffix (normally "a").
16340 libext=$libext
16341
16342 # Shared library suffix (normally ".so").
16343 shrext_cmds=$lt_shrext_cmds
16344
16345 # The commands to extract the exported symbol list from a shared archive.
16346 extract_expsyms_cmds=$lt_extract_expsyms_cmds
16347
16348 # Variables whose values should be saved in libtool wrapper scripts and
16349 # restored at link time.
16350 variables_saved_for_relink=$lt_variables_saved_for_relink
16351
16352 # Do we need the "lib" prefix for modules?
16353 need_lib_prefix=$need_lib_prefix
16354
16355 # Do we need a version for libraries?
16356 need_version=$need_version
16357
16358 # Library versioning type.
16359 version_type=$version_type
16360
16361 # Shared library runtime path variable.
16362 runpath_var=$runpath_var
16363
16364 # Shared library path variable.
16365 shlibpath_var=$shlibpath_var
16366
16367 # Is shlibpath searched before the hard-coded library search path?
16368 shlibpath_overrides_runpath=$shlibpath_overrides_runpath
16369
16370 # Format of library name prefix.
16371 libname_spec=$lt_libname_spec
16372
16373 # List of archive names. First name is the real one, the rest are links.
16374 # The last name is the one that the linker finds with -lNAME
16375 library_names_spec=$lt_library_names_spec
16376
16377 # The coded name of the library, if different from the real name.
16378 soname_spec=$lt_soname_spec
16379
16380 # Command to use after installation of a shared archive.
16381 postinstall_cmds=$lt_postinstall_cmds
16382
16383 # Command to use after uninstallation of a shared archive.
16384 postuninstall_cmds=$lt_postuninstall_cmds
16385
16386 # Commands used to finish a libtool library installation in a directory.
16387 finish_cmds=$lt_finish_cmds
16388
16389 # As "finish_cmds", except a single script fragment to be evaled but
16390 # not shown.
16391 finish_eval=$lt_finish_eval
16392
16393 # Whether we should hardcode library paths into libraries.
16394 hardcode_into_libs=$hardcode_into_libs
16395
16396 # Compile-time system search path for libraries.
16397 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
16398
16399 # Run-time system search path for libraries.
16400 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
16401
16402 # Whether dlopen is supported.
16403 dlopen_support=$enable_dlopen
16404
16405 # Whether dlopen of programs is supported.
16406 dlopen_self=$enable_dlopen_self
16407
16408 # Whether dlopen of statically linked programs is supported.
16409 dlopen_self_static=$enable_dlopen_self_static
16410
16411 # Commands to strip libraries.
16412 old_striplib=$lt_old_striplib
16413 striplib=$lt_striplib
16414
16415
16416 # The linker used to build libraries.
16417 LD=$lt_LD
16418
16419 # Commands used to build an old-style archive.
16420 old_archive_cmds=$lt_old_archive_cmds
16421
16422 # A language specific compiler.
16423 CC=$lt_compiler
16424
16425 # Is the compiler the GNU compiler?
16426 with_gcc=$GCC
16427
16428 # Compiler flag to turn off builtin functions.
16429 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
16430
16431 # How to pass a linker flag through the compiler.
16432 wl=$lt_lt_prog_compiler_wl
16433
16434 # Additional compiler flags for building library objects.
16435 pic_flag=$lt_lt_prog_compiler_pic
16436
16437 # Compiler flag to prevent dynamic linking.
16438 link_static_flag=$lt_lt_prog_compiler_static
16439
16440 # Does compiler simultaneously support -c and -o options?
16441 compiler_c_o=$lt_lt_cv_prog_compiler_c_o
16442
16443 # Whether or not to add -lc for building shared libraries.
16444 build_libtool_need_lc=$archive_cmds_need_lc
16445
16446 # Whether or not to disallow shared libs when runtime libs are static.
16447 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
16448
16449 # Compiler flag to allow reflexive dlopens.
16450 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
16451
16452 # Compiler flag to generate shared objects directly from archives.
16453 whole_archive_flag_spec=$lt_whole_archive_flag_spec
16454
16455 # Whether the compiler copes with passing no objects directly.
16456 compiler_needs_object=$lt_compiler_needs_object
16457
16458 # Create an old-style archive from a shared archive.
16459 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
16460
16461 # Create a temporary old-style archive to link instead of a shared archive.
16462 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
16463
16464 # Commands used to build a shared archive.
16465 archive_cmds=$lt_archive_cmds
16466 archive_expsym_cmds=$lt_archive_expsym_cmds
16467
16468 # Commands used to build a loadable module if different from building
16469 # a shared archive.
16470 module_cmds=$lt_module_cmds
16471 module_expsym_cmds=$lt_module_expsym_cmds
16472
16473 # Whether we are building with GNU ld or not.
16474 with_gnu_ld=$lt_with_gnu_ld
16475
16476 # Flag that allows shared libraries with undefined symbols to be built.
16477 allow_undefined_flag=$lt_allow_undefined_flag
16478
16479 # Flag that enforces no undefined symbols.
16480 no_undefined_flag=$lt_no_undefined_flag
16481
16482 # Flag to hardcode \$libdir into a binary during linking.
16483 # This must work even if \$libdir does not exist
16484 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
16485
16486 # If ld is used when linking, flag to hardcode \$libdir into a binary
16487 # during linking. This must work even if \$libdir does not exist.
16488 hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
16489
16490 # Whether we need a single "-rpath" flag with a separated argument.
16491 hardcode_libdir_separator=$lt_hardcode_libdir_separator
16492
16493 # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
16494 # DIR into the resulting binary.
16495 hardcode_direct=$hardcode_direct
16496
16497 # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
16498 # DIR into the resulting binary and the resulting library dependency is
16499 # "absolute",i.e impossible to change by setting \${shlibpath_var} if the
16500 # library is relocated.
16501 hardcode_direct_absolute=$hardcode_direct_absolute
16502
16503 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR
16504 # into the resulting binary.
16505 hardcode_minus_L=$hardcode_minus_L
16506
16507 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
16508 # into the resulting binary.
16509 hardcode_shlibpath_var=$hardcode_shlibpath_var
16510
16511 # Set to "yes" if building a shared library automatically hardcodes DIR
16512 # into the library and all subsequent libraries and executables linked
16513 # against it.
16514 hardcode_automatic=$hardcode_automatic
16515
16516 # Set to yes if linker adds runtime paths of dependent libraries
16517 # to runtime path list.
16518 inherit_rpath=$inherit_rpath
16519
16520 # Whether libtool must link a program against all its dependency libraries.
16521 link_all_deplibs=$link_all_deplibs
16522
16523 # Fix the shell variable \$srcfile for the compiler.
16524 fix_srcfile_path=$lt_fix_srcfile_path
16525
16526 # Set to "yes" if exported symbols are required.
16527 always_export_symbols=$always_export_symbols
16528
16529 # The commands to list exported symbols.
16530 export_symbols_cmds=$lt_export_symbols_cmds
16531
16532 # Symbols that should not be listed in the preloaded symbols.
16533 exclude_expsyms=$lt_exclude_expsyms
16534
16535 # Symbols that must always be exported.
16536 include_expsyms=$lt_include_expsyms
16537
16538 # Commands necessary for linking programs (against libraries) with templates.
16539 prelink_cmds=$lt_prelink_cmds
16540
16541 # Specify filename containing input files.
16542 file_list_spec=$lt_file_list_spec
16543
16544 # How to hardcode a shared library path into an executable.
16545 hardcode_action=$hardcode_action
16546
16547 # ### END LIBTOOL CONFIG
16548
16549 _LT_EOF
16550
16551 case $host_os in
16552 aix3*)
16553 cat <<\_LT_EOF >> "$cfgfile"
16554 # AIX sometimes has problems with the GCC collect2 program. For some
16555 # reason, if we set the COLLECT_NAMES environment variable, the problems
16556 # vanish in a puff of smoke.
16557 if test "X${COLLECT_NAMES+set}" != Xset; then
16558 COLLECT_NAMES=
16559 export COLLECT_NAMES
16560 fi
16561 _LT_EOF
16562 ;;
16563 esac
16564
16565
16566 ltmain="$ac_aux_dir/ltmain.sh"
16567
16568
16569 # We use sed instead of cat because bash on DJGPP gets confused if
16570 # if finds mixed CR/LF and LF-only lines. Since sed operates in
16571 # text mode, it properly converts lines to CR/LF. This bash problem
16572 # is reportedly fixed, but why not run on old versions too?
16573 sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
16574 || (rm -f "$cfgfile"; exit 1)
16575
16576 case $xsi_shell in
16577 yes)
16578 cat << \_LT_EOF >> "$cfgfile"
16579
16580 # func_dirname file append nondir_replacement
16581 # Compute the dirname of FILE. If nonempty, add APPEND to the result,
16582 # otherwise set result to NONDIR_REPLACEMENT.
16583 func_dirname ()
16584 {
16585 case ${1} in
16586 */*) func_dirname_result="${1%/*}${2}" ;;
16587 * ) func_dirname_result="${3}" ;;
16588 esac
16589 }
16590
16591 # func_basename file
16592 func_basename ()
16593 {
16594 func_basename_result="${1##*/}"
16595 }
16596
16597 # func_dirname_and_basename file append nondir_replacement
16598 # perform func_basename and func_dirname in a single function
16599 # call:
16600 # dirname: Compute the dirname of FILE. If nonempty,
16601 # add APPEND to the result, otherwise set result
16602 # to NONDIR_REPLACEMENT.
16603 # value returned in "$func_dirname_result"
16604 # basename: Compute filename of FILE.
16605 # value retuned in "$func_basename_result"
16606 # Implementation must be kept synchronized with func_dirname
16607 # and func_basename. For efficiency, we do not delegate to
16608 # those functions but instead duplicate the functionality here.
16609 func_dirname_and_basename ()
16610 {
16611 case ${1} in
16612 */*) func_dirname_result="${1%/*}${2}" ;;
16613 * ) func_dirname_result="${3}" ;;
16614 esac
16615 func_basename_result="${1##*/}"
16616 }
16617
16618 # func_stripname prefix suffix name
16619 # strip PREFIX and SUFFIX off of NAME.
16620 # PREFIX and SUFFIX must not contain globbing or regex special
16621 # characters, hashes, percent signs, but SUFFIX may contain a leading
16622 # dot (in which case that matches only a dot).
16623 func_stripname ()
16624 {
16625 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
16626 # positional parameters, so assign one to ordinary parameter first.
16627 func_stripname_result=${3}
16628 func_stripname_result=${func_stripname_result#"${1}"}
16629 func_stripname_result=${func_stripname_result%"${2}"}
16630 }
16631
16632 # func_opt_split
16633 func_opt_split ()
16634 {
16635 func_opt_split_opt=${1%%=*}
16636 func_opt_split_arg=${1#*=}
16637 }
16638
16639 # func_lo2o object
16640 func_lo2o ()
16641 {
16642 case ${1} in
16643 *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
16644 *) func_lo2o_result=${1} ;;
16645 esac
16646 }
16647
16648 # func_xform libobj-or-source
16649 func_xform ()
16650 {
16651 func_xform_result=${1%.*}.lo
16652 }
16653
16654 # func_arith arithmetic-term...
16655 func_arith ()
16656 {
16657 func_arith_result=$(( $* ))
16658 }
16659
16660 # func_len string
16661 # STRING may not start with a hyphen.
16662 func_len ()
16663 {
16664 func_len_result=${#1}
16665 }
16666
16667 _LT_EOF
16668 ;;
16669 *) # Bourne compatible functions.
16670 cat << \_LT_EOF >> "$cfgfile"
16671
16672 # func_dirname file append nondir_replacement
16673 # Compute the dirname of FILE. If nonempty, add APPEND to the result,
16674 # otherwise set result to NONDIR_REPLACEMENT.
16675 func_dirname ()
16676 {
16677 # Extract subdirectory from the argument.
16678 func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
16679 if test "X$func_dirname_result" = "X${1}"; then
16680 func_dirname_result="${3}"
16681 else
16682 func_dirname_result="$func_dirname_result${2}"
16683 fi
16684 }
16685
16686 # func_basename file
16687 func_basename ()
16688 {
16689 func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
16690 }
16691
16692
16693 # func_stripname prefix suffix name
16694 # strip PREFIX and SUFFIX off of NAME.
16695 # PREFIX and SUFFIX must not contain globbing or regex special
16696 # characters, hashes, percent signs, but SUFFIX may contain a leading
16697 # dot (in which case that matches only a dot).
16698 # func_strip_suffix prefix name
16699 func_stripname ()
16700 {
16701 case ${2} in
16702 .*) func_stripname_result=`$ECHO "X${3}" \
16703 | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
16704 *) func_stripname_result=`$ECHO "X${3}" \
16705 | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
16706 esac
16707 }
16708
16709 # sed scripts:
16710 my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
16711 my_sed_long_arg='1s/^-[^=]*=//'
16712
16713 # func_opt_split
16714 func_opt_split ()
16715 {
16716 func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
16717 func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
16718 }
16719
16720 # func_lo2o object
16721 func_lo2o ()
16722 {
16723 func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
16724 }
16725
16726 # func_xform libobj-or-source
16727 func_xform ()
16728 {
16729 func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
16730 }
16731
16732 # func_arith arithmetic-term...
16733 func_arith ()
16734 {
16735 func_arith_result=`expr "$@"`
16736 }
16737
16738 # func_len string
16739 # STRING may not start with a hyphen.
16740 func_len ()
16741 {
16742 func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
16743 }
16744
16745 _LT_EOF
16746 esac
16747
16748 case $lt_shell_append in
16749 yes)
16750 cat << \_LT_EOF >> "$cfgfile"
16751
16752 # func_append var value
16753 # Append VALUE to the end of shell variable VAR.
16754 func_append ()
16755 {
16756 eval "$1+=\$2"
16757 }
16758 _LT_EOF
16759 ;;
16760 *)
16761 cat << \_LT_EOF >> "$cfgfile"
16762
16763 # func_append var value
16764 # Append VALUE to the end of shell variable VAR.
16765 func_append ()
16766 {
16767 eval "$1=\$$1\$2"
16768 }
16769
16770 _LT_EOF
16771 ;;
16772 esac
16773
16774
16775 sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
16776 || (rm -f "$cfgfile"; exit 1)
16777
16778 mv -f "$cfgfile" "$ofile" ||
16779 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
16780 chmod +x "$ofile"
16781
2511116782 ;;
2511216783 "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*)
2511316784 sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
2511416785 esac ;;
2511516786 "po/stamp-it":C)
16787 if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" > /dev/null ; then
16788 { { $as_echo "$as_me:$LINENO: error: po/Makefile.in.in was not created by intltoolize." >&5
16789 $as_echo "$as_me: error: po/Makefile.in.in was not created by intltoolize." >&2;}
16790 { (exit 1); exit 1; }; }
16791 fi
2511616792 rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp"
2511716793 >"po/stamp-it.tmp"
2511816794 sed '/^#/d
2512116797 '"s|^| $ac_top_srcdir/|" \
2512216798 "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES"
2512316799
25124 if test ! -f "po/Makefile"; then
25125 { { $as_echo "$as_me:$LINENO: error: po/Makefile is not ready." >&5
25126 $as_echo "$as_me: error: po/Makefile is not ready." >&2;}
25127 { (exit 1); exit 1; }; }
25128 fi
25129 mv "po/Makefile" "po/Makefile.tmp"
2513016800 sed '/^POTFILES =/,/[^\\]$/ {
2513116801 /^POTFILES =/!d
2513216802 r po/POTFILES
2513316803 }
25134 ' "po/Makefile.tmp" >"po/Makefile"
16804 ' "po/Makefile.in" >"po/Makefile"
2513516805 rm -f "po/Makefile.tmp"
2513616806 mv "po/stamp-it.tmp" "po/stamp-it"
2513716807 ;;
2517216842 $ac_cs_success || { (exit 1); exit 1; }
2517316843 fi
2517416844 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
25175 { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5
25176 $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;}
16845 { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
16846 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
2517716847 fi
2517816848
2517916849
2518016850 echo "
25181 PolicyKit-gnome $VERSION
16851 polkit-gnome $VERSION
2518216852 =======================
2518316853
2518416854 prefix: ${prefix}
0 AC_INIT([PolicyKit-gnome],[0.9.2],[mailto:david@fubar.dk],[PolicyKit-gnome])
0 AC_INIT([polkit-gnome],[0.94],[http://lists.freedesktop.org/mailman/listinfo/polkit-devel],[polkit-gnome])
11
22 AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 no-dist-gzip])
33
2121 AC_ISC_POSIX
2222 AC_HEADER_STDC
2323 AC_PROG_LIBTOOL
24
25 GTK_DOC_CHECK([1.3])
2426
2527 #### gcc warning flags
2628
107109 # *****
108110
109111 GNOME_COMMON_INIT
110 GNOME_DOC_INIT
111112 GNOME_DEBUG_CHECK
112113 GNOME_COMPILE_WARNINGS([maximum])
113114 GNOME_MAINTAINER_MODE_DEFINES
114
115 AC_ARG_ENABLE(gtk-doc, AC_HELP_STRING([--enable-gtk-doc],
116 [use gtk-doc to build documentation [default=yes]]),,
117 enable_gtk_doc=yes)
118 GTK_DOC_CHECK([1.3])
119115
120116 # ***************************
121117 # Check for required packages
122118 # ***************************
123119
124 GTK_REQUIRED=2.13.6
125 GCONF_REQUIRED=2.8
126 DBUS_GLIB_REQUIRED=0.71
127 POLKIT_DBUS_REQUIRED=0.9
128 POLKIT_GRANT_REQUIRED=0.9
120 GTK_REQUIRED=2.17.1
121 POLKIT_AGENT_REQUIRED=0.93
122 POLKIT_GOBJECT_REQUIRED=0.93
129123
130124 PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED)
131125 AC_SUBST(GTK_CFLAGS)
132126 AC_SUBST(GTK_LIBS)
133127
134 PKG_CHECK_MODULES(GCONF, gconf-2.0 >= $GCONF_REQUIRED)
135 AC_SUBST(GCONF_CFLAGS)
136 AC_SUBST(GCONF_LIBS)
128 PKG_CHECK_MODULES(POLKIT_AGENT, polkit-agent-1 >= $POLKIT_AGENT_REQUIRED)
129 AC_SUBST(POLKIT_AGENT_CFLAGS)
130 AC_SUBST(POLKIT_AGENT_LIBS)
137131
138 PKG_CHECK_MODULES(DBUS_GLIB, dbus-glib-1 >= $DBUS_GLIB_REQUIRED)
139 AC_SUBST(DBUS_GLIB_CFLAGS)
140 AC_SUBST(DBUS_GLIB_LIBS)
141
142 PKG_CHECK_MODULES(POLKIT_DBUS, polkit-dbus >= $POLKIT_DBUS_REQUIRED)
143 AC_SUBST(POLKIT_DBUS_CFLAGS)
144 AC_SUBST(POLKIT_DBUS_LIBS)
145
146 PKG_CHECK_MODULES(POLKIT_GRANT, polkit-grant >= $POLKIT_GRANT_REQUIRED)
147 AC_SUBST(POLKIT_GRANT_CFLAGS)
148 AC_SUBST(POLKIT_GRANT_LIBS)
132 PKG_CHECK_MODULES(POLKIT_GOBJECT, polkit-gobject-1 >= $POLKIT_GOBJECT_REQUIRED)
133 AC_SUBST(POLKIT_GOBJECT_CFLAGS)
134 AC_SUBST(POLKIT_GOBJECT_LIBS)
149135
150136 AC_ARG_ENABLE([examples],
151137 AC_HELP_STRING([--enable-examples], [Build the example programs]),,
153139
154140 AM_CONDITIONAL(BUILD_EXAMPLES, test "x$enable_examples" = "xyes")
155141
156 if test "x$enable_examples" = "xyes"; then
157 AC_CHECK_PROG([POLKIT_POLICY_FILE_VALIDATE],
158 [polkit-policy-file-validate], [polkit-policy-file-validate])
159 if test -z "$POLKIT_POLICY_FILE_VALIDATE"; then
160 AC_MSG_ERROR([polkit-policy-file-validate not found])
161 fi
162 fi
163
164 dnl ==============================================
165 dnl Special GConf section
166 dnl ==============================================
167
168 AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
169
170 if test x"$GCONFTOOL" = xno; then
171 AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
172 fi
173
174 AM_GCONF_SOURCE_2
175
176142 # ********************
177143 # Internationalisation
178144 # ********************
179145
180146 IT_PROG_INTLTOOL([0.35.0])
181147
182 GETTEXT_PACKAGE=PolicyKit-gnome
148 GETTEXT_PACKAGE=polkit-gnome-1
183149 AC_SUBST([GETTEXT_PACKAGE])
184150 AM_GLIB_GNU_GETTEXT
185151 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[gettext domain])
194160
195161 AC_CONFIG_FILES([
196162 Makefile
197 data/Makefile
198 data/polkit-gnome.pc
199 examples/Makefile
200 polkit-gnome/Makefile
163 po/Makefile.in
164 polkitgtk/Makefile
165 polkitgtk/polkit-gtk-1.pc
201166 src/Makefile
202 tools/Makefile
203 doc/Makefile
204 doc/version.xml
205 po/Makefile.in
167 docs/version.xml
168 docs/Makefile
206169 ])
207170
208171 AC_OUTPUT
209172
210173 echo "
211 PolicyKit-gnome $VERSION
174 polkit-gnome $VERSION
212175 =======================
213176
214177 prefix: ${prefix}
+0
-49
data/Makefile.am less more
0 schema_in_files = polkit-gnome.schemas.in
1 schemadir = $(GCONF_SCHEMA_FILE_DIR)
2 schema_DATA = $(schema_in_files:.schemas.in=.schemas)
3
4 @INTLTOOL_SCHEMAS_RULE@
5
6 # don't do this if we are building in eg. rpm
7 if GCONF_SCHEMAS_INSTALL
8 install-data-local:
9 if test -z "$(DESTDIR)" ; then \
10 for p in $(schema_DATA) ; do \
11 GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $$p; \
12 done \
13 fi
14 endif
15
16 @INTLTOOL_DESKTOP_RULE@
17 desktopdir = $(datadir)/applications
18 desktop_in_files = polkit-gnome-authorization.desktop.in
19 desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
20
21 servicedir = $(datadir)/dbus-1/services
22 service_in_files = org.gnome.PolicyKit.service.in \
23 org.gnome.PolicyKit.AuthorizationManager.service.in \
24 gnome-org.freedesktop.PolicyKit.AuthenticationAgent.service.in
25 service_DATA = $(service_in_files:.service.in=.service)
26
27 org.gnome.PolicyKit.service : org.gnome.PolicyKit.service.in Makefile
28 @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
29
30 gnome-org.freedesktop.PolicyKit.AuthenticationAgent.service : gnome-org.freedesktop.PolicyKit.AuthenticationAgent.service.in Makefile
31 @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
32
33 org.gnome.PolicyKit.AuthorizationManager.service : org.gnome.PolicyKit.AuthorizationManager.service.in Makefile
34 @sed -e "s|\@bindir\@|$(bindir)|" $< > $@
35
36 pkgconfigdir = $(libdir)/pkgconfig
37 pkgconfig_DATA = polkit-gnome.pc
38
39 DISTCLEANFILES = $(service_DATA) $(desktop_DATA) $(pkgconfig_DATA)
40
41 EXTRA_DIST = \
42 $(service_in_files) \
43 $(desktop_in_files) \
44 $(schema_in_files) \
45 polkit-gnome.pc.in
46
47 clean-local :
48 rm -f *~ $(service_DATA) $(pkgconfig_DATA) $(schema_DATA)
+0
-540
data/Makefile.in less more
0 # Makefile.in generated by automake 1.10.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 VPATH = @srcdir@
17 pkgdatadir = $(datadir)/@PACKAGE@
18 pkglibdir = $(libdir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
20 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
21 install_sh_DATA = $(install_sh) -c -m 644
22 install_sh_PROGRAM = $(install_sh) -c
23 install_sh_SCRIPT = $(install_sh) -c
24 INSTALL_HEADER = $(INSTALL_DATA)
25 transform = $(program_transform_name)
26 NORMAL_INSTALL = :
27 PRE_INSTALL = :
28 POST_INSTALL = :
29 NORMAL_UNINSTALL = :
30 PRE_UNINSTALL = :
31 POST_UNINSTALL = :
32 build_triplet = @build@
33 host_triplet = @host@
34 subdir = data
35 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
36 $(srcdir)/polkit-gnome.pc.in
37 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
38 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
39 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
40 $(ACLOCAL_M4)
41 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
42 CONFIG_HEADER = $(top_builddir)/config.h
43 CONFIG_CLEAN_FILES = polkit-gnome.pc
44 SOURCES =
45 DIST_SOURCES =
46 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
47 am__vpath_adj = case $$p in \
48 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
49 *) f=$$p;; \
50 esac;
51 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
52 am__installdirs = "$(DESTDIR)$(desktopdir)" \
53 "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(schemadir)" \
54 "$(DESTDIR)$(servicedir)"
55 desktopDATA_INSTALL = $(INSTALL_DATA)
56 pkgconfigDATA_INSTALL = $(INSTALL_DATA)
57 schemaDATA_INSTALL = $(INSTALL_DATA)
58 serviceDATA_INSTALL = $(INSTALL_DATA)
59 DATA = $(desktop_DATA) $(pkgconfig_DATA) $(schema_DATA) \
60 $(service_DATA)
61 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
62 ACLOCAL = @ACLOCAL@
63 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
64 ALL_LINGUAS = @ALL_LINGUAS@
65 AMTAR = @AMTAR@
66 AM_CFLAGS = @AM_CFLAGS@
67 AM_CPPFLAGS = @AM_CPPFLAGS@
68 AM_CXXFLAGS = @AM_CXXFLAGS@
69 AM_LDFLAGS = @AM_LDFLAGS@
70 AR = @AR@
71 AUTOCONF = @AUTOCONF@
72 AUTOHEADER = @AUTOHEADER@
73 AUTOMAKE = @AUTOMAKE@
74 AWK = @AWK@
75 CATALOGS = @CATALOGS@
76 CATOBJEXT = @CATOBJEXT@
77 CC = @CC@
78 CCDEPMODE = @CCDEPMODE@
79 CFLAGS = @CFLAGS@
80 CPP = @CPP@
81 CPPFLAGS = @CPPFLAGS@
82 CXX = @CXX@
83 CXXCPP = @CXXCPP@
84 CXXDEPMODE = @CXXDEPMODE@
85 CXXFLAGS = @CXXFLAGS@
86 CYGPATH_W = @CYGPATH_W@
87 DATADIRNAME = @DATADIRNAME@
88 DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@
89 DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@
90 DEFS = @DEFS@
91 DEPDIR = @DEPDIR@
92 DISABLE_DEPRECATED = @DISABLE_DEPRECATED@
93 DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
94 DOC_USER_FORMATS = @DOC_USER_FORMATS@
95 DSYMUTIL = @DSYMUTIL@
96 ECHO = @ECHO@
97 ECHO_C = @ECHO_C@
98 ECHO_N = @ECHO_N@
99 ECHO_T = @ECHO_T@
100 EGREP = @EGREP@
101 EXEEXT = @EXEEXT@
102 F77 = @F77@
103 FFLAGS = @FFLAGS@
104 GCONFTOOL = @GCONFTOOL@
105 GCONF_CFLAGS = @GCONF_CFLAGS@
106 GCONF_LIBS = @GCONF_LIBS@
107 GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
108 GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
109 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
110 GMOFILES = @GMOFILES@
111 GMSGFMT = @GMSGFMT@
112 GREP = @GREP@
113 GTKDOC_CHECK = @GTKDOC_CHECK@
114 GTK_CFLAGS = @GTK_CFLAGS@
115 GTK_LIBS = @GTK_LIBS@
116 HELP_DIR = @HELP_DIR@
117 HTML_DIR = @HTML_DIR@
118 INSTALL = @INSTALL@
119 INSTALL_DATA = @INSTALL_DATA@
120 INSTALL_PROGRAM = @INSTALL_PROGRAM@
121 INSTALL_SCRIPT = @INSTALL_SCRIPT@
122 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
123 INSTOBJEXT = @INSTOBJEXT@
124 INTLLIBS = @INTLLIBS@
125 INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
126 INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
127 INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
128 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
129 INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@
130 INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
131 INTLTOOL_MERGE = @INTLTOOL_MERGE@
132 INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
133 INTLTOOL_PERL = @INTLTOOL_PERL@
134 INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@
135 INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
136 INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
137 INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
138 INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
139 INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
140 INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
141 INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
142 INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
143 INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
144 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
145 INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
146 INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@
147 INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
148 LDFLAGS = @LDFLAGS@
149 LIBOBJS = @LIBOBJS@
150 LIBS = @LIBS@
151 LIBTOOL = @LIBTOOL@
152 LN_S = @LN_S@
153 LTLIBOBJS = @LTLIBOBJS@
154 LT_AGE = @LT_AGE@
155 LT_CURRENT = @LT_CURRENT@
156 LT_REVISION = @LT_REVISION@
157 MAINT = @MAINT@
158 MAKEINFO = @MAKEINFO@
159 MKDIR_P = @MKDIR_P@
160 MKINSTALLDIRS = @MKINSTALLDIRS@
161 MSGFMT = @MSGFMT@
162 MSGFMT_OPTS = @MSGFMT_OPTS@
163 MSGMERGE = @MSGMERGE@
164 NMEDIT = @NMEDIT@
165 OBJEXT = @OBJEXT@
166 OMF_DIR = @OMF_DIR@
167 PACKAGE = @PACKAGE@
168 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
169 PACKAGE_NAME = @PACKAGE_NAME@
170 PACKAGE_STRING = @PACKAGE_STRING@
171 PACKAGE_TARNAME = @PACKAGE_TARNAME@
172 PACKAGE_VERSION = @PACKAGE_VERSION@
173 PATH_SEPARATOR = @PATH_SEPARATOR@
174 PKG_CONFIG = @PKG_CONFIG@
175 POFILES = @POFILES@
176 POLKIT_DBUS_CFLAGS = @POLKIT_DBUS_CFLAGS@
177 POLKIT_DBUS_LIBS = @POLKIT_DBUS_LIBS@
178 POLKIT_GRANT_CFLAGS = @POLKIT_GRANT_CFLAGS@
179 POLKIT_GRANT_LIBS = @POLKIT_GRANT_LIBS@
180 POLKIT_POLICY_FILE_VALIDATE = @POLKIT_POLICY_FILE_VALIDATE@
181 POSUB = @POSUB@
182 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
183 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
184 RANLIB = @RANLIB@
185 SED = @SED@
186 SET_MAKE = @SET_MAKE@
187 SHELL = @SHELL@
188 STRIP = @STRIP@
189 USE_NLS = @USE_NLS@
190 VERSION = @VERSION@
191 WARN_CFLAGS = @WARN_CFLAGS@
192 XGETTEXT = @XGETTEXT@
193 abs_builddir = @abs_builddir@
194 abs_srcdir = @abs_srcdir@
195 abs_top_builddir = @abs_top_builddir@
196 abs_top_srcdir = @abs_top_srcdir@
197 ac_ct_CC = @ac_ct_CC@
198 ac_ct_CXX = @ac_ct_CXX@
199 ac_ct_F77 = @ac_ct_F77@
200 am__include = @am__include@
201 am__leading_dot = @am__leading_dot@
202 am__quote = @am__quote@
203 am__tar = @am__tar@
204 am__untar = @am__untar@
205 bindir = @bindir@
206 build = @build@
207 build_alias = @build_alias@
208 build_cpu = @build_cpu@
209 build_os = @build_os@
210 build_vendor = @build_vendor@
211 builddir = @builddir@
212 datadir = @datadir@
213 datarootdir = @datarootdir@
214 docdir = @docdir@
215 dvidir = @dvidir@
216 exec_prefix = @exec_prefix@
217 host = @host@
218 host_alias = @host_alias@
219 host_cpu = @host_cpu@
220 host_os = @host_os@
221 host_vendor = @host_vendor@
222 htmldir = @htmldir@
223 includedir = @includedir@
224 infodir = @infodir@
225 install_sh = @install_sh@
226 libdir = @libdir@
227 libexecdir = @libexecdir@
228 localedir = @localedir@
229 localstatedir = @localstatedir@
230 mandir = @mandir@
231 mkdir_p = @mkdir_p@
232 oldincludedir = @oldincludedir@
233 pdfdir = @pdfdir@
234 prefix = @prefix@
235 program_transform_name = @program_transform_name@
236 psdir = @psdir@
237 sbindir = @sbindir@
238 sharedstatedir = @sharedstatedir@
239 srcdir = @srcdir@
240 sysconfdir = @sysconfdir@
241 target_alias = @target_alias@
242 top_build_prefix = @top_build_prefix@
243 top_builddir = @top_builddir@
244 top_srcdir = @top_srcdir@
245 schema_in_files = polkit-gnome.schemas.in
246 schemadir = $(GCONF_SCHEMA_FILE_DIR)
247 schema_DATA = $(schema_in_files:.schemas.in=.schemas)
248 desktopdir = $(datadir)/applications
249 desktop_in_files = polkit-gnome-authorization.desktop.in
250 desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
251 servicedir = $(datadir)/dbus-1/services
252 service_in_files = org.gnome.PolicyKit.service.in \
253 org.gnome.PolicyKit.AuthorizationManager.service.in \
254 gnome-org.freedesktop.PolicyKit.AuthenticationAgent.service.in
255
256 service_DATA = $(service_in_files:.service.in=.service)
257 pkgconfigdir = $(libdir)/pkgconfig
258 pkgconfig_DATA = polkit-gnome.pc
259 DISTCLEANFILES = $(service_DATA) $(desktop_DATA) $(pkgconfig_DATA)
260 EXTRA_DIST = \
261 $(service_in_files) \
262 $(desktop_in_files) \
263 $(schema_in_files) \
264 polkit-gnome.pc.in
265
266 all: all-am
267
268 .SUFFIXES:
269 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
270 @for dep in $?; do \
271 case '$(am__configure_deps)' in \
272 *$$dep*) \
273 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
274 && exit 0; \
275 exit 1;; \
276 esac; \
277 done; \
278 echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign data/Makefile'; \
279 cd $(top_srcdir) && \
280 $(AUTOMAKE) --foreign data/Makefile
281 .PRECIOUS: Makefile
282 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
283 @case '$?' in \
284 *config.status*) \
285 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
286 *) \
287 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
288 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
289 esac;
290
291 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
292 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
293
294 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
295 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
296 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
297 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
298 polkit-gnome.pc: $(top_builddir)/config.status $(srcdir)/polkit-gnome.pc.in
299 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
300
301 mostlyclean-libtool:
302 -rm -f *.lo
303
304 clean-libtool:
305 -rm -rf .libs _libs
306 install-desktopDATA: $(desktop_DATA)
307 @$(NORMAL_INSTALL)
308 test -z "$(desktopdir)" || $(MKDIR_P) "$(DESTDIR)$(desktopdir)"
309 @list='$(desktop_DATA)'; for p in $$list; do \
310 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
311 f=$(am__strip_dir) \
312 echo " $(desktopDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(desktopdir)/$$f'"; \
313 $(desktopDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(desktopdir)/$$f"; \
314 done
315
316 uninstall-desktopDATA:
317 @$(NORMAL_UNINSTALL)
318 @list='$(desktop_DATA)'; for p in $$list; do \
319 f=$(am__strip_dir) \
320 echo " rm -f '$(DESTDIR)$(desktopdir)/$$f'"; \
321 rm -f "$(DESTDIR)$(desktopdir)/$$f"; \
322 done
323 install-pkgconfigDATA: $(pkgconfig_DATA)
324 @$(NORMAL_INSTALL)
325 test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
326 @list='$(pkgconfig_DATA)'; for p in $$list; do \
327 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
328 f=$(am__strip_dir) \
329 echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
330 $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
331 done
332
333 uninstall-pkgconfigDATA:
334 @$(NORMAL_UNINSTALL)
335 @list='$(pkgconfig_DATA)'; for p in $$list; do \
336 f=$(am__strip_dir) \
337 echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
338 rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
339 done
340 install-schemaDATA: $(schema_DATA)
341 @$(NORMAL_INSTALL)
342 test -z "$(schemadir)" || $(MKDIR_P) "$(DESTDIR)$(schemadir)"
343 @list='$(schema_DATA)'; for p in $$list; do \
344 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
345 f=$(am__strip_dir) \
346 echo " $(schemaDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(schemadir)/$$f'"; \
347 $(schemaDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(schemadir)/$$f"; \
348 done
349
350 uninstall-schemaDATA:
351 @$(NORMAL_UNINSTALL)
352 @list='$(schema_DATA)'; for p in $$list; do \
353 f=$(am__strip_dir) \
354 echo " rm -f '$(DESTDIR)$(schemadir)/$$f'"; \
355 rm -f "$(DESTDIR)$(schemadir)/$$f"; \
356 done
357 install-serviceDATA: $(service_DATA)
358 @$(NORMAL_INSTALL)
359 test -z "$(servicedir)" || $(MKDIR_P) "$(DESTDIR)$(servicedir)"
360 @list='$(service_DATA)'; for p in $$list; do \
361 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
362 f=$(am__strip_dir) \
363 echo " $(serviceDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(servicedir)/$$f'"; \
364 $(serviceDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(servicedir)/$$f"; \
365 done
366
367 uninstall-serviceDATA:
368 @$(NORMAL_UNINSTALL)
369 @list='$(service_DATA)'; for p in $$list; do \
370 f=$(am__strip_dir) \
371 echo " rm -f '$(DESTDIR)$(servicedir)/$$f'"; \
372 rm -f "$(DESTDIR)$(servicedir)/$$f"; \
373 done
374 tags: TAGS
375 TAGS:
376
377 ctags: CTAGS
378 CTAGS:
379
380
381 distdir: $(DISTFILES)
382 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
383 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
384 list='$(DISTFILES)'; \
385 dist_files=`for file in $$list; do echo $$file; done | \
386 sed -e "s|^$$srcdirstrip/||;t" \
387 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
388 case $$dist_files in \
389 */*) $(MKDIR_P) `echo "$$dist_files" | \
390 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
391 sort -u` ;; \
392 esac; \
393 for file in $$dist_files; do \
394 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
395 if test -d $$d/$$file; then \
396 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
397 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
398 cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
399 fi; \
400 cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
401 else \
402 test -f $(distdir)/$$file \
403 || cp -p $$d/$$file $(distdir)/$$file \
404 || exit 1; \
405 fi; \
406 done
407 check-am: all-am
408 check: check-am
409 all-am: Makefile $(DATA)
410 installdirs:
411 for dir in "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(schemadir)" "$(DESTDIR)$(servicedir)"; do \
412 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
413 done
414 install: install-am
415 install-exec: install-exec-am
416 install-data: install-data-am
417 uninstall: uninstall-am
418
419 install-am: all-am
420 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
421
422 installcheck: installcheck-am
423 install-strip:
424 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
425 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
426 `test -z '$(STRIP)' || \
427 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
428 mostlyclean-generic:
429
430 clean-generic:
431
432 distclean-generic:
433 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
434 -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
435
436 maintainer-clean-generic:
437 @echo "This command is intended for maintainers to use"
438 @echo "it deletes files that may require special tools to rebuild."
439 @GCONF_SCHEMAS_INSTALL_FALSE@install-data-local:
440 clean: clean-am
441
442 clean-am: clean-generic clean-libtool clean-local mostlyclean-am
443
444 distclean: distclean-am
445 -rm -f Makefile
446 distclean-am: clean-am distclean-generic
447
448 dvi: dvi-am
449
450 dvi-am:
451
452 html: html-am
453
454 info: info-am
455
456 info-am:
457
458 install-data-am: install-data-local install-desktopDATA \
459 install-pkgconfigDATA install-schemaDATA install-serviceDATA
460
461 install-dvi: install-dvi-am
462
463 install-exec-am:
464
465 install-html: install-html-am
466
467 install-info: install-info-am
468
469 install-man:
470
471 install-pdf: install-pdf-am
472
473 install-ps: install-ps-am
474
475 installcheck-am:
476
477 maintainer-clean: maintainer-clean-am
478 -rm -f Makefile
479 maintainer-clean-am: distclean-am maintainer-clean-generic
480
481 mostlyclean: mostlyclean-am
482
483 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
484
485 pdf: pdf-am
486
487 pdf-am:
488
489 ps: ps-am
490
491 ps-am:
492
493 uninstall-am: uninstall-desktopDATA uninstall-pkgconfigDATA \
494 uninstall-schemaDATA uninstall-serviceDATA
495
496 .MAKE: install-am install-strip
497
498 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
499 clean-local distclean distclean-generic distclean-libtool \
500 distdir dvi dvi-am html html-am info info-am install \
501 install-am install-data install-data-am install-data-local \
502 install-desktopDATA install-dvi install-dvi-am install-exec \
503 install-exec-am install-html install-html-am install-info \
504 install-info-am install-man install-pdf install-pdf-am \
505 install-pkgconfigDATA install-ps install-ps-am \
506 install-schemaDATA install-serviceDATA install-strip \
507 installcheck installcheck-am installdirs maintainer-clean \
508 maintainer-clean-generic mostlyclean mostlyclean-generic \
509 mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
510 uninstall-desktopDATA uninstall-pkgconfigDATA \
511 uninstall-schemaDATA uninstall-serviceDATA
512
513
514 @INTLTOOL_SCHEMAS_RULE@
515
516 # don't do this if we are building in eg. rpm
517 @GCONF_SCHEMAS_INSTALL_TRUE@install-data-local:
518 @GCONF_SCHEMAS_INSTALL_TRUE@ if test -z "$(DESTDIR)" ; then \
519 @GCONF_SCHEMAS_INSTALL_TRUE@ for p in $(schema_DATA) ; do \
520 @GCONF_SCHEMAS_INSTALL_TRUE@ GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $$p; \
521 @GCONF_SCHEMAS_INSTALL_TRUE@ done \
522 @GCONF_SCHEMAS_INSTALL_TRUE@ fi
523
524 @INTLTOOL_DESKTOP_RULE@
525
526 org.gnome.PolicyKit.service : org.gnome.PolicyKit.service.in Makefile
527 @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
528
529 gnome-org.freedesktop.PolicyKit.AuthenticationAgent.service : gnome-org.freedesktop.PolicyKit.AuthenticationAgent.service.in Makefile
530 @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
531
532 org.gnome.PolicyKit.AuthorizationManager.service : org.gnome.PolicyKit.AuthorizationManager.service.in Makefile
533 @sed -e "s|\@bindir\@|$(bindir)|" $< > $@
534
535 clean-local :
536 rm -f *~ $(service_DATA) $(pkgconfig_DATA) $(schema_DATA)
537 # Tell versions [3.59,3.63) of GNU make to not export all variables.
538 # Otherwise a system limit (for SysV at least) may be exceeded.
539 .NOEXPORT:
+0
-3
data/gnome-org.freedesktop.PolicyKit.AuthenticationAgent.service.in less more
0 [D-BUS Service]
1 Name=org.freedesktop.PolicyKit.AuthenticationAgent
2 Exec=@libexecdir@/polkit-gnome-manager
+0
-3
data/org.gnome.PolicyKit.AuthorizationManager.service.in less more
0 [D-BUS Service]
1 Name=org.gnome.PolicyKit.AuthorizationManager
2 Exec=@bindir@/polkit-gnome-authorization
+0
-3
data/org.gnome.PolicyKit.service.in less more
0 [D-BUS Service]
1 Name=org.gnome.PolicyKit
2 Exec=@libexecdir@/polkit-gnome-manager
+0
-11
data/polkit-gnome-authorization.desktop.in less more
0 [Desktop Entry]
1 Encoding=UTF-8
2 _Name=Authorizations
3 _Comment=Configure authorizations
4 Icon=gtk-dialog-authentication
5 Exec=polkit-gnome-authorization
6 Terminal=false
7 Type=Application
8 Categories=Settings;X-GNOME-SystemSettings;
9 OnlyShowIn=GNOME;
10 StartupNotify=true
+0
-11
data/polkit-gnome.pc.in less more
0 prefix=@prefix@
1 exec_prefix=@exec_prefix@
2 libdir=@libdir@
3 includedir=@includedir@
4
5 Name: polkit-gnome
6 Description: PolicyKit add-on library for GNOME
7 Version: @VERSION@
8 Requires: polkit polkit-dbus polkit-grant gtk+-2.0
9 Libs: -L${libdir} -lpolkit-gnome
10 Cflags: -I${includedir}/PolicyKit
+0
-60
data/polkit-gnome.schemas.in less more
0 <gconfschemafile>
1 <schemalist>
2
3 <schema>
4 <key>/schemas/desktop/gnome/policykit/auth_dialog_grab_keyboard</key>
5 <applyto>/desktop/gnome/policykit/auth_dialog_grab_keyboard</applyto>
6 <owner>policykit-gnome</owner>
7 <type>bool</type>
8 <default>true</default>
9 <locale name="C">
10 <short>Whether the authentication dialog should grab the keyboard</short>
11 <long>
12 If set to true, the authentication dialog from PolicyKit-gnome will grab the keyboard,
13 so that you will not be able to type in other programs while the dialog is active.
14 Use this if your window manager does not focus the authentication dialog automatically,
15 and you want to avoid accidentally typing passwords in other programs.
16 </long>
17 </locale>
18 </schema>
19
20 <schema>
21 <key>/schemas/desktop/gnome/policykit/auth_dialog_retain_authorization</key>
22 <applyto>/desktop/gnome/policykit/auth_dialog_retain_authorization</applyto>
23 <owner>policykit-gnome</owner>
24 <type>bool</type>
25 <default>true</default>
26 <locale name="C">
27 <short>Whether the retain authorization check box is checked by default</short>
28 <long>
29 If set to true, then "retain authorization" check box (if present) is
30 checked by default in the authentication dialog unless the action
31 is mentioned in the
32 "/desktop/gnome/policykit/auth_dialog_retain_authorization_blacklist"
33 key.
34 </long>
35 </locale>
36 </schema>
37
38 <schema>
39 <key>/schemas/desktop/gnome/policykit/auth_dialog_retain_authorization_blacklist</key>
40 <applyto>/desktop/gnome/policykit/auth_dialog_retain_authorization_blacklist</applyto>
41 <owner>policykit-gnome</owner>
42 <type>list</type>
43 <list_type>string</list_type>
44 <default>[]</default>
45 <locale name="C">
46 <short>A list of actions where the "retain authorization" checkbox isn't checked by default</short>
47 <long>
48 A list of PolicyKit action where the "retain authorization"
49 checkbox isn't checked by default; this list is maintained
50 by the authentication dialog code itself. For example, if a
51 user unchecks the "retain authorization" check box for an
52 action and successfully obtains an authorization for the
53 action, the action will be added to this list.
54 </long>
55 </locale>
56 </schema>
57
58 </schemalist>
59 </gconfschemafile>
00 #! /bin/sh
11 # depcomp - compile a program generating dependencies as side-effects
22
3 scriptversion=2007-03-29.01
4
5 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
6 # Foundation, Inc.
3 scriptversion=2009-04-28.21; # UTC
4
5 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
6 # Software Foundation, Inc.
77
88 # This program is free software; you can redistribute it and/or modify
99 # it under the terms of the GNU General Public License as published by
1616 # GNU General Public License for more details.
1717
1818 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21 # 02110-1301, USA.
19 # along with this program. If not, see <http://www.gnu.org/licenses/>.
2220
2321 # As a special exception to the GNU General Public License, if you
2422 # distribute this file as part of a program that contains a
8482 # This is just like dashmstdout with a different argument.
8583 dashmflag=-xM
8684 depmode=dashmstdout
85 fi
86
87 cygpath_u="cygpath -u -f -"
88 if test "$depmode" = msvcmsys; then
89 # This is just like msvisualcpp but w/o cygpath translation.
90 # Just convert the backslash-escaped backslashes to single forward
91 # slashes to satisfy depend.m4
92 cygpath_u="sed s,\\\\\\\\,/,g"
93 depmode=msvisualcpp
8794 fi
8895
8996 case "$depmode" in
191198 ' < "$tmpdepfile" \
192199 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
193200 tr '
194 ' ' ' >> $depfile
195 echo >> $depfile
201 ' ' ' >> "$depfile"
202 echo >> "$depfile"
196203
197204 # The second pass generates a dummy entry for each header file.
198205 tr ' ' '
199206 ' < "$tmpdepfile" \
200207 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
201 >> $depfile
208 >> "$depfile"
202209 else
203210 # The sourcefile does not contain any dependencies, so just
204211 # store a dummy comment line, to avoid errors with the Makefile
327334 if test -f "$tmpdepfile"; then
328335 sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
329336 # Add `dependent.h:' lines.
330 sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
337 sed -ne '2,${
338 s/^ *//
339 s/ \\*$//
340 s/$/:/
341 p
342 }' "$tmpdepfile" >> "$depfile"
331343 else
332344 echo "#dummy" > "$depfile"
333345 fi
403415
404416 # Remove the call to Libtool.
405417 if test "$libtool" = yes; then
406 while test $1 != '--mode=compile'; do
418 while test "X$1" != 'X--mode=compile'; do
407419 shift
408420 done
409421 shift
454466 "$@" || exit $?
455467 # Remove any Libtool call
456468 if test "$libtool" = yes; then
457 while test $1 != '--mode=compile'; do
469 while test "X$1" != 'X--mode=compile'; do
458470 shift
459471 done
460472 shift
461473 fi
462474 # X makedepend
463475 shift
464 cleared=no
465 for arg in "$@"; do
476 cleared=no eat=no
477 for arg
478 do
466479 case $cleared in
467480 no)
468481 set ""; shift
469482 cleared=yes ;;
470483 esac
484 if test $eat = yes; then
485 eat=no
486 continue
487 fi
471488 case "$arg" in
472489 -D*|-I*)
473490 set fnord "$@" "$arg"; shift ;;
474491 # Strip any option that makedepend may not understand. Remove
475492 # the object too, otherwise makedepend will parse it as a source file.
493 -arch)
494 eat=yes ;;
476495 -*|$object)
477496 ;;
478497 *)
479498 set fnord "$@" "$arg"; shift ;;
480499 esac
481500 done
482 obj_suffix="`echo $object | sed 's/^.*\././'`"
501 obj_suffix=`echo "$object" | sed 's/^.*\././'`
483502 touch "$tmpdepfile"
484503 ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
485504 rm -f "$depfile"
499518
500519 # Remove the call to Libtool.
501520 if test "$libtool" = yes; then
502 while test $1 != '--mode=compile'; do
521 while test "X$1" != 'X--mode=compile'; do
503522 shift
504523 done
505524 shift
537556
538557 msvisualcpp)
539558 # Important note: in order to support this mode, a compiler *must*
540 # always write the preprocessed file to stdout, regardless of -o,
541 # because we must use -o when running libtool.
559 # always write the preprocessed file to stdout.
542560 "$@" || exit $?
561
562 # Remove the call to Libtool.
563 if test "$libtool" = yes; then
564 while test "X$1" != 'X--mode=compile'; do
565 shift
566 done
567 shift
568 fi
569
543570 IFS=" "
544571 for arg
545572 do
546573 case "$arg" in
574 -o)
575 shift
576 ;;
577 $object)
578 shift
579 ;;
547580 "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
548581 set fnord "$@"
549582 shift
556589 ;;
557590 esac
558591 done
559 "$@" -E |
560 sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
592 "$@" -E 2>/dev/null |
593 sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
561594 rm -f "$depfile"
562595 echo "$object : \\" > "$depfile"
563 . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
596 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
564597 echo " " >> "$depfile"
565 . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
598 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
566599 rm -f "$tmpdepfile"
600 ;;
601
602 msvcmsys)
603 # This case exists only to let depend.m4 do its work. It works by
604 # looking at the text of this script. This case will never be run,
605 # since it is checked for above.
606 exit 1
567607 ;;
568608
569609 none)
584624 # eval: (add-hook 'write-file-hooks 'time-stamp)
585625 # time-stamp-start: "scriptversion="
586626 # time-stamp-format: "%:y-%02m-%02d.%02H"
587 # time-stamp-end: "$"
627 # time-stamp-time-zone: "UTC"
628 # time-stamp-end: "; # UTC"
588629 # End:
+0
-83
doc/Makefile.am less more
0 ## Process this file with automake to create Makefile.in.
1
2 NULL =
3
4 AUTOMAKE_OPTIONS = 1.7
5
6 # The name of the module.
7 DOC_MODULE=polkit-gnome
8
9 # The top-level SGML file.
10 DOC_MAIN_SGML_FILE=polkit-gnome-docs.xml
11
12 # Extra options to supply to gtkdoc-scan
13 SCAN_OPTIONS=--ignore-headers=config.h
14
15 # The directory containing the source code. Relative to $(srcdir)
16 DOC_SOURCE_DIR=../polkit-gnome
17
18 # Used for dependencies
19 HFILE_GLOB=$(top_srcdir)/polkit-gnome/*.h
20 CFILE_GLOB=$(top_srcdir)/polkit-gnome/*.c
21
22 # Headers to ignore
23 IGNORE_HFILES= \
24 $(NULL)
25
26 # CFLAGS and LDFLAGS for compiling scan program. Only needed
27 # if $(DOC_MODULE).types is non-empty.
28 INCLUDES = \
29 $(GTK_CFLAGS) \
30 $(DBUS_GLIB_CFLAGS) \
31 $(POLKIT_DBUS_CFLAGS) \
32 $(POLKIT_GRANT_CFLAGS) \
33 -I$(top_srcdir) \
34 -I$(top_builddir) \
35 $(NULL)
36
37 GTKDOC_LIBS = \
38 $(GTK_LIBS) \
39 $(DBUS_GLIB_LIBS) \
40 $(POLKIT_DBUS_LIBS) \
41 $(POLKIT_GRANT_LIBS) \
42 $(top_builddir)/polkit-gnome/libpolkit-gnome.la \
43 $(NULL)
44
45 # Extra options to supply to gtkdoc-mkdb
46 MKDB_OPTIONS=--sgml-mode --output-format=xml
47
48 # Extra options to supply to gtkdoc-mktmpl
49 MKTMPL_OPTIONS=
50
51 # Non-autogenerated SGML files to be included in $(DOC_MAIN_SGML_FILE)
52 content_files = \
53 version.xml \
54 $(NULL)
55
56 # Images to copy into HTML directory
57 HTML_IMAGES = \
58 polkit-gnome-example-screenshot.png \
59 polkit-gnome-example-screenshot-authorized.png \
60 polkit-gnome-example-auth-dialog-twiddle.png \
61 auth-details.png \
62 auth-retain-always.png \
63 auth-retain-session.png \
64 auth-root.png \
65 auth-self.png \
66 auth-wheel-group-1.png \
67 auth-wheel-group-2.png
68
69 # Extra options to supply to gtkdoc-fixref
70 FIXXREF_OPTIONS=
71
72 MAINTAINERCLEANFILES = \
73 *~ \
74 Makefile.in \
75 polkit-gnome.types \
76 polkit-gnome-*.txt \
77 $(NULL)
78
79 include $(top_srcdir)/gtk-doc.make
80
81 # Version information for marking the documentation
82 EXTRA_DIST += version.xml.in
+0
-646
doc/Makefile.in less more
0 # Makefile.in generated by automake 1.10.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # -*- mode: makefile -*-
17
18 ####################################
19 # Everything below here is generic #
20 ####################################
21 VPATH = @srcdir@
22 pkgdatadir = $(datadir)/@PACKAGE@
23 pkglibdir = $(libdir)/@PACKAGE@
24 pkgincludedir = $(includedir)/@PACKAGE@
25 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
26 install_sh_DATA = $(install_sh) -c -m 644
27 install_sh_PROGRAM = $(install_sh) -c
28 install_sh_SCRIPT = $(install_sh) -c
29 INSTALL_HEADER = $(INSTALL_DATA)
30 transform = $(program_transform_name)
31 NORMAL_INSTALL = :
32 PRE_INSTALL = :
33 POST_INSTALL = :
34 NORMAL_UNINSTALL = :
35 PRE_UNINSTALL = :
36 POST_UNINSTALL = :
37 build_triplet = @build@
38 host_triplet = @host@
39 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
40 $(srcdir)/version.xml.in $(top_srcdir)/gtk-doc.make
41 subdir = doc
42 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
43 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
44 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
45 $(ACLOCAL_M4)
46 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
47 CONFIG_HEADER = $(top_builddir)/config.h
48 CONFIG_CLEAN_FILES = version.xml
49 SOURCES =
50 DIST_SOURCES =
51 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
52 ACLOCAL = @ACLOCAL@
53 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
54 ALL_LINGUAS = @ALL_LINGUAS@
55 AMTAR = @AMTAR@
56 AM_CFLAGS = @AM_CFLAGS@
57 AM_CPPFLAGS = @AM_CPPFLAGS@
58 AM_CXXFLAGS = @AM_CXXFLAGS@
59 AM_LDFLAGS = @AM_LDFLAGS@
60 AR = @AR@
61 AUTOCONF = @AUTOCONF@
62 AUTOHEADER = @AUTOHEADER@
63 AUTOMAKE = @AUTOMAKE@
64 AWK = @AWK@
65 CATALOGS = @CATALOGS@
66 CATOBJEXT = @CATOBJEXT@
67 CC = @CC@
68 CCDEPMODE = @CCDEPMODE@
69 CFLAGS = @CFLAGS@
70 CPP = @CPP@
71 CPPFLAGS = @CPPFLAGS@
72 CXX = @CXX@
73 CXXCPP = @CXXCPP@
74 CXXDEPMODE = @CXXDEPMODE@
75 CXXFLAGS = @CXXFLAGS@
76 CYGPATH_W = @CYGPATH_W@
77 DATADIRNAME = @DATADIRNAME@
78 DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@
79 DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@
80 DEFS = @DEFS@
81 DEPDIR = @DEPDIR@
82 DISABLE_DEPRECATED = @DISABLE_DEPRECATED@
83 DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
84 DOC_USER_FORMATS = @DOC_USER_FORMATS@
85 DSYMUTIL = @DSYMUTIL@
86 ECHO = @ECHO@
87 ECHO_C = @ECHO_C@
88 ECHO_N = @ECHO_N@
89 ECHO_T = @ECHO_T@
90 EGREP = @EGREP@
91 EXEEXT = @EXEEXT@
92 F77 = @F77@
93 FFLAGS = @FFLAGS@
94 GCONFTOOL = @GCONFTOOL@
95 GCONF_CFLAGS = @GCONF_CFLAGS@
96 GCONF_LIBS = @GCONF_LIBS@
97 GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
98 GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
99 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
100 GMOFILES = @GMOFILES@
101 GMSGFMT = @GMSGFMT@
102 GREP = @GREP@
103 GTKDOC_CHECK = @GTKDOC_CHECK@
104 GTK_CFLAGS = @GTK_CFLAGS@
105 GTK_LIBS = @GTK_LIBS@
106 HELP_DIR = @HELP_DIR@
107 HTML_DIR = @HTML_DIR@
108 INSTALL = @INSTALL@
109 INSTALL_DATA = @INSTALL_DATA@
110 INSTALL_PROGRAM = @INSTALL_PROGRAM@
111 INSTALL_SCRIPT = @INSTALL_SCRIPT@
112 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
113 INSTOBJEXT = @INSTOBJEXT@
114 INTLLIBS = @INTLLIBS@
115 INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
116 INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
117 INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
118 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
119 INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@
120 INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
121 INTLTOOL_MERGE = @INTLTOOL_MERGE@
122 INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
123 INTLTOOL_PERL = @INTLTOOL_PERL@
124 INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@
125 INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
126 INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
127 INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
128 INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
129 INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
130 INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
131 INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
132 INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
133 INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
134 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
135 INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
136 INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@
137 INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
138 LDFLAGS = @LDFLAGS@
139 LIBOBJS = @LIBOBJS@
140 LIBS = @LIBS@
141 LIBTOOL = @LIBTOOL@
142 LN_S = @LN_S@
143 LTLIBOBJS = @LTLIBOBJS@
144 LT_AGE = @LT_AGE@
145 LT_CURRENT = @LT_CURRENT@
146 LT_REVISION = @LT_REVISION@
147 MAINT = @MAINT@
148 MAKEINFO = @MAKEINFO@
149 MKDIR_P = @MKDIR_P@
150 MKINSTALLDIRS = @MKINSTALLDIRS@
151 MSGFMT = @MSGFMT@
152 MSGFMT_OPTS = @MSGFMT_OPTS@
153 MSGMERGE = @MSGMERGE@
154 NMEDIT = @NMEDIT@
155 OBJEXT = @OBJEXT@
156 OMF_DIR = @OMF_DIR@
157 PACKAGE = @PACKAGE@
158 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
159 PACKAGE_NAME = @PACKAGE_NAME@
160 PACKAGE_STRING = @PACKAGE_STRING@
161 PACKAGE_TARNAME = @PACKAGE_TARNAME@
162 PACKAGE_VERSION = @PACKAGE_VERSION@
163 PATH_SEPARATOR = @PATH_SEPARATOR@
164 PKG_CONFIG = @PKG_CONFIG@
165 POFILES = @POFILES@
166 POLKIT_DBUS_CFLAGS = @POLKIT_DBUS_CFLAGS@
167 POLKIT_DBUS_LIBS = @POLKIT_DBUS_LIBS@
168 POLKIT_GRANT_CFLAGS = @POLKIT_GRANT_CFLAGS@
169 POLKIT_GRANT_LIBS = @POLKIT_GRANT_LIBS@
170 POLKIT_POLICY_FILE_VALIDATE = @POLKIT_POLICY_FILE_VALIDATE@
171 POSUB = @POSUB@
172 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
173 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
174 RANLIB = @RANLIB@
175 SED = @SED@
176 SET_MAKE = @SET_MAKE@
177 SHELL = @SHELL@
178 STRIP = @STRIP@
179 USE_NLS = @USE_NLS@
180 VERSION = @VERSION@
181 WARN_CFLAGS = @WARN_CFLAGS@
182 XGETTEXT = @XGETTEXT@
183 abs_builddir = @abs_builddir@
184 abs_srcdir = @abs_srcdir@
185 abs_top_builddir = @abs_top_builddir@
186 abs_top_srcdir = @abs_top_srcdir@
187 ac_ct_CC = @ac_ct_CC@
188 ac_ct_CXX = @ac_ct_CXX@
189 ac_ct_F77 = @ac_ct_F77@
190 am__include = @am__include@
191 am__leading_dot = @am__leading_dot@
192 am__quote = @am__quote@
193 am__tar = @am__tar@
194 am__untar = @am__untar@
195 bindir = @bindir@
196 build = @build@
197 build_alias = @build_alias@
198 build_cpu = @build_cpu@
199 build_os = @build_os@
200 build_vendor = @build_vendor@
201 builddir = @builddir@
202 datadir = @datadir@
203 datarootdir = @datarootdir@
204 docdir = @docdir@
205 dvidir = @dvidir@
206 exec_prefix = @exec_prefix@
207 host = @host@
208 host_alias = @host_alias@
209 host_cpu = @host_cpu@
210 host_os = @host_os@
211 host_vendor = @host_vendor@
212 htmldir = @htmldir@
213 includedir = @includedir@
214 infodir = @infodir@
215 install_sh = @install_sh@
216 libdir = @libdir@
217 libexecdir = @libexecdir@
218 localedir = @localedir@
219 localstatedir = @localstatedir@
220 mandir = @mandir@
221 mkdir_p = @mkdir_p@
222 oldincludedir = @oldincludedir@
223 pdfdir = @pdfdir@
224 prefix = @prefix@
225 program_transform_name = @program_transform_name@
226 psdir = @psdir@
227 sbindir = @sbindir@
228 sharedstatedir = @sharedstatedir@
229 srcdir = @srcdir@
230 sysconfdir = @sysconfdir@
231 target_alias = @target_alias@
232 top_build_prefix = @top_build_prefix@
233 top_builddir = @top_builddir@
234 top_srcdir = @top_srcdir@
235 NULL =
236 AUTOMAKE_OPTIONS = 1.7
237
238 # The name of the module.
239 DOC_MODULE = polkit-gnome
240
241 # The top-level SGML file.
242 DOC_MAIN_SGML_FILE = polkit-gnome-docs.xml
243
244 # Extra options to supply to gtkdoc-scan
245 SCAN_OPTIONS = --ignore-headers=config.h
246
247 # The directory containing the source code. Relative to $(srcdir)
248 DOC_SOURCE_DIR = ../polkit-gnome
249
250 # Used for dependencies
251 HFILE_GLOB = $(top_srcdir)/polkit-gnome/*.h
252 CFILE_GLOB = $(top_srcdir)/polkit-gnome/*.c
253
254 # Headers to ignore
255 IGNORE_HFILES = \
256 $(NULL)
257
258
259 # CFLAGS and LDFLAGS for compiling scan program. Only needed
260 # if $(DOC_MODULE).types is non-empty.
261 INCLUDES = \
262 $(GTK_CFLAGS) \
263 $(DBUS_GLIB_CFLAGS) \
264 $(POLKIT_DBUS_CFLAGS) \
265 $(POLKIT_GRANT_CFLAGS) \
266 -I$(top_srcdir) \
267 -I$(top_builddir) \
268 $(NULL)
269
270 GTKDOC_LIBS = \
271 $(GTK_LIBS) \
272 $(DBUS_GLIB_LIBS) \
273 $(POLKIT_DBUS_LIBS) \
274 $(POLKIT_GRANT_LIBS) \
275 $(top_builddir)/polkit-gnome/libpolkit-gnome.la \
276 $(NULL)
277
278
279 # Extra options to supply to gtkdoc-mkdb
280 MKDB_OPTIONS = --sgml-mode --output-format=xml
281
282 # Extra options to supply to gtkdoc-mktmpl
283 MKTMPL_OPTIONS =
284
285 # Non-autogenerated SGML files to be included in $(DOC_MAIN_SGML_FILE)
286 content_files = \
287 version.xml \
288 $(NULL)
289
290
291 # Images to copy into HTML directory
292 HTML_IMAGES = \
293 polkit-gnome-example-screenshot.png \
294 polkit-gnome-example-screenshot-authorized.png \
295 polkit-gnome-example-auth-dialog-twiddle.png \
296 auth-details.png \
297 auth-retain-always.png \
298 auth-retain-session.png \
299 auth-root.png \
300 auth-self.png \
301 auth-wheel-group-1.png \
302 auth-wheel-group-2.png
303
304
305 # Extra options to supply to gtkdoc-fixref
306 FIXXREF_OPTIONS =
307 MAINTAINERCLEANFILES = \
308 *~ \
309 Makefile.in \
310 polkit-gnome.types \
311 polkit-gnome-*.txt \
312 $(NULL)
313
314 @GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
315 @GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
316 @GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
317 @GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
318
319 # We set GPATH here; this gives us semantics for GNU make
320 # which are more like other make's VPATH, when it comes to
321 # whether a source that is a target of one rule is then
322 # searched for in VPATH/GPATH.
323 #
324 GPATH = $(srcdir)
325 TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)
326
327 # Version information for marking the documentation
328 EXTRA_DIST = $(content_files) $(HTML_IMAGES) $(DOC_MAIN_SGML_FILE) \
329 $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt \
330 version.xml.in
331 DOC_STAMPS = scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
332 $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
333
334 SCANOBJ_FILES = \
335 $(DOC_MODULE).args \
336 $(DOC_MODULE).hierarchy \
337 $(DOC_MODULE).interfaces \
338 $(DOC_MODULE).prerequisites \
339 $(DOC_MODULE).signals
340
341 REPORT_FILES = \
342 $(DOC_MODULE)-undocumented.txt \
343 $(DOC_MODULE)-undeclared.txt \
344 $(DOC_MODULE)-unused.txt
345
346 CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS)
347 all: all-am
348
349 .SUFFIXES:
350 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/gtk-doc.make $(am__configure_deps)
351 @for dep in $?; do \
352 case '$(am__configure_deps)' in \
353 *$$dep*) \
354 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
355 && exit 0; \
356 exit 1;; \
357 esac; \
358 done; \
359 echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
360 cd $(top_srcdir) && \
361 $(AUTOMAKE) --foreign doc/Makefile
362 .PRECIOUS: Makefile
363 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
364 @case '$?' in \
365 *config.status*) \
366 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
367 *) \
368 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
369 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
370 esac;
371
372 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
373 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
374
375 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
376 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
377 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
378 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
379 version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in
380 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
381
382 mostlyclean-libtool:
383 -rm -f *.lo
384
385 clean-libtool:
386 -rm -rf .libs _libs
387 tags: TAGS
388 TAGS:
389
390 ctags: CTAGS
391 CTAGS:
392
393
394 distdir: $(DISTFILES)
395 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
396 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
397 list='$(DISTFILES)'; \
398 dist_files=`for file in $$list; do echo $$file; done | \
399 sed -e "s|^$$srcdirstrip/||;t" \
400 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
401 case $$dist_files in \
402 */*) $(MKDIR_P) `echo "$$dist_files" | \
403 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
404 sort -u` ;; \
405 esac; \
406 for file in $$dist_files; do \
407 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
408 if test -d $$d/$$file; then \
409 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
410 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
411 cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
412 fi; \
413 cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
414 else \
415 test -f $(distdir)/$$file \
416 || cp -p $$d/$$file $(distdir)/$$file \
417 || exit 1; \
418 fi; \
419 done
420 $(MAKE) $(AM_MAKEFLAGS) \
421 top_distdir="$(top_distdir)" distdir="$(distdir)" \
422 dist-hook
423 check-am: all-am
424 check: check-am
425 all-am: Makefile all-local
426 installdirs:
427 install: install-am
428 install-exec: install-exec-am
429 install-data: install-data-am
430 uninstall: uninstall-am
431
432 install-am: all-am
433 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
434
435 installcheck: installcheck-am
436 install-strip:
437 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
438 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
439 `test -z '$(STRIP)' || \
440 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
441 mostlyclean-generic:
442
443 clean-generic:
444 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
445
446 distclean-generic:
447 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
448
449 maintainer-clean-generic:
450 @echo "This command is intended for maintainers to use"
451 @echo "it deletes files that may require special tools to rebuild."
452 -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
453 clean: clean-am
454
455 clean-am: clean-generic clean-libtool clean-local mostlyclean-am
456
457 distclean: distclean-am
458 -rm -f Makefile
459 distclean-am: clean-am distclean-generic distclean-local
460
461 dvi: dvi-am
462
463 dvi-am:
464
465 html: html-am
466
467 info: info-am
468
469 info-am:
470
471 install-data-am: install-data-local
472
473 install-dvi: install-dvi-am
474
475 install-exec-am:
476
477 install-html: install-html-am
478
479 install-info: install-info-am
480
481 install-man:
482
483 install-pdf: install-pdf-am
484
485 install-ps: install-ps-am
486
487 installcheck-am:
488
489 maintainer-clean: maintainer-clean-am
490 -rm -f Makefile
491 maintainer-clean-am: distclean-am maintainer-clean-generic \
492 maintainer-clean-local
493
494 mostlyclean: mostlyclean-am
495
496 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
497
498 pdf: pdf-am
499
500 pdf-am:
501
502 ps: ps-am
503
504 ps-am:
505
506 uninstall-am: uninstall-local
507
508 .MAKE: install-am install-strip
509
510 .PHONY: all all-am all-local check check-am clean clean-generic \
511 clean-libtool clean-local dist-hook distclean \
512 distclean-generic distclean-libtool distclean-local distdir \
513 dvi dvi-am html html-am info info-am install install-am \
514 install-data install-data-am install-data-local install-dvi \
515 install-dvi-am install-exec install-exec-am install-html \
516 install-html-am install-info install-info-am install-man \
517 install-pdf install-pdf-am install-ps install-ps-am \
518 install-strip installcheck installcheck-am installdirs \
519 maintainer-clean maintainer-clean-generic \
520 maintainer-clean-local mostlyclean mostlyclean-generic \
521 mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
522 uninstall-local
523
524
525 @ENABLE_GTK_DOC_TRUE@all-local: html-build.stamp
526 @ENABLE_GTK_DOC_FALSE@all-local:
527
528 docs: html-build.stamp
529
530 #### scan ####
531
532 scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
533 @echo 'gtk-doc: Scanning header files'
534 @-chmod -R u+w $(srcdir)
535 cd $(srcdir) && \
536 gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
537 if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
538 CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
539 else \
540 cd $(srcdir) ; \
541 for i in $(SCANOBJ_FILES) ; do \
542 test -f $$i || touch $$i ; \
543 done \
544 fi
545 touch scan-build.stamp
546
547 $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
548 @true
549
550 #### templates ####
551
552 tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
553 @echo 'gtk-doc: Rebuilding template files'
554 @-chmod -R u+w $(srcdir)
555 cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
556 touch tmpl-build.stamp
557
558 tmpl.stamp: tmpl-build.stamp
559 @true
560
561 tmpl/*.sgml:
562 @true
563
564 #### xml ####
565
566 sgml-build.stamp: tmpl.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
567 @echo 'gtk-doc: Building XML'
568 @-chmod -R u+w $(srcdir)
569 cd $(srcdir) && \
570 gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS)
571 touch sgml-build.stamp
572
573 sgml.stamp: sgml-build.stamp
574 @true
575
576 #### html ####
577
578 html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
579 @echo 'gtk-doc: Building HTML'
580 @-chmod -R u+w $(srcdir)
581 rm -rf $(srcdir)/html
582 mkdir $(srcdir)/html
583 cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
584 test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
585 @echo 'gtk-doc: Fixing cross-references'
586 cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
587 touch html-build.stamp
588
589 ##############
590
591 clean-local:
592 rm -f *~ *.bak
593 rm -rf .libs
594
595 distclean-local:
596 cd $(srcdir) && \
597 rm -rf xml $(REPORT_FILES) \
598 $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
599
600 maintainer-clean-local: clean
601 cd $(srcdir) && rm -rf xml html
602
603 install-data-local:
604 -installfiles=`echo $(srcdir)/html/*`; \
605 if test "$$installfiles" = '$(srcdir)/html/*'; \
606 then echo '-- Nothing to install' ; \
607 else \
608 $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \
609 for i in $$installfiles; do \
610 echo '-- Installing '$$i ; \
611 $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
612 done; \
613 echo '-- Installing $(srcdir)/html/index.sgml' ; \
614 $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
615 which gtkdoc-rebase >/dev/null && \
616 gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) ; \
617 fi
618
619 uninstall-local:
620 rm -f $(DESTDIR)$(TARGET_DIR)/*
621
622 #
623 # Require gtk-doc when making dist
624 #
625 @ENABLE_GTK_DOC_TRUE@dist-check-gtkdoc:
626 @ENABLE_GTK_DOC_FALSE@dist-check-gtkdoc:
627 @ENABLE_GTK_DOC_FALSE@ @echo "*** gtk-doc must be installed and enabled in order to make dist"
628 @ENABLE_GTK_DOC_FALSE@ @false
629
630 dist-hook: dist-check-gtkdoc dist-hook-local
631 mkdir $(distdir)/tmpl
632 mkdir $(distdir)/xml
633 mkdir $(distdir)/html
634 -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
635 -cp $(srcdir)/xml/*.xml $(distdir)/xml
636 cp $(srcdir)/html/* $(distdir)/html
637 -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
638 -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
639 cd $(distdir) && rm -f $(DISTCLEANFILES)
640 -gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
641
642 .PHONY : dist-hook-local docs
643 # Tell versions [3.59,3.63) of GNU make to not export all variables.
644 # Otherwise a system limit (for SysV at least) may be exceeded.
645 .NOEXPORT:
doc/auth-details.png less more
Binary diff not shown
doc/auth-retain-always.png less more
Binary diff not shown
doc/auth-retain-session.png less more
Binary diff not shown
doc/auth-root.png less more
Binary diff not shown
doc/auth-self.png less more
Binary diff not shown
doc/auth-wheel-group-1.png less more
Binary diff not shown
doc/auth-wheel-group-2.png less more
Binary diff not shown
+0
-1532
doc/html/PolKitGnomeAction.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>PolKitGnomeAction</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
6 <link rel="home" href="index.html" title="PolicyKit-gnome Library Reference Manual">
7 <link rel="up" href="ref-core.html" title="API Reference">
8 <link rel="prev" href="PolKitGnomeContext.html" title="PolKitGnomeContext">
9 <link rel="next" href="PolKitGnomeToggleAction.html" title="PolKitGnomeToggleAction">
10 <meta name="generator" content="GTK-Doc V1.10 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 <link rel="reference" href="ref-core.html" title="API Reference">
13 <link rel="reference" href="ref-auth-daemon.html" title="Authentication Agent">
14 <link rel="appendix" href="license.html" title="Appendix A. License">
15 </head>
16 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
17 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
18 <tr valign="middle">
19 <td><a accesskey="p" href="PolKitGnomeContext.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
20 <td><a accesskey="u" href="ref-core.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
21 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
22 <th width="100%" align="center">PolicyKit-gnome Library Reference Manual</th>
23 <td><a accesskey="n" href="PolKitGnomeToggleAction.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
24 </tr>
25 <tr><td colspan="5" class="shortcuts"><nobr><a href="#PolKitGnomeAction.synopsis" class="shortcut">Top</a>
26  | 
27 <a href="#PolKitGnomeAction.description" class="shortcut">Description</a>
28  | 
29 <a href="#PolKitGnomeAction.object-hierarchy" class="shortcut">Object Hierarchy</a>
30  | 
31 <a href="#PolKitGnomeAction.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
32  | 
33 <a href="#PolKitGnomeAction.properties" class="shortcut">Properties</a>
34  | 
35 <a href="#PolKitGnomeAction.signals" class="shortcut">Signals</a></nobr></td></tr>
36 </table>
37 <div class="refentry" lang="en">
38 <a name="PolKitGnomeAction"></a><div class="titlepage"></div>
39 <div class="refnamediv"><table width="100%"><tr>
40 <td valign="top">
41 <h2><span class="refentrytitle"><a name="PolKitGnomeAction.top_of_page"></a>PolKitGnomeAction</span></h2>
42 <p>PolKitGnomeAction — A GtkAction subclass where instances can be tied to a specific PolicyKit action.</p>
43 </td>
44 <td valign="top" align="right"></td>
45 </tr></table></div>
46 <div class="refsynopsisdiv">
47 <a name="PolKitGnomeAction.synopsis"></a><h2>Synopsis</h2>
48 <pre class="synopsis">
49 <a class="link" href="PolKitGnomeAction.html#PolKitGnomeActionPrivate" title="PolKitGnomeActionPrivate">PolKitGnomeActionPrivate</a>;
50 <a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction-struct" title="PolKitGnomeAction">PolKitGnomeAction</a>;
51 <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a>* <a class="link" href="PolKitGnomeAction.html#polkit-gnome-action-new" title="polkit_gnome_action_new ()">polkit_gnome_action_new</a> (const <a
52 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
53 >gchar</a> *name);
54 <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a>* <a class="link" href="PolKitGnomeAction.html#polkit-gnome-action-new-default" title="polkit_gnome_action_new_default ()">polkit_gnome_action_new_default</a> (const <a
55 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
56 >gchar</a> *name,
57 <a
58 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
59 >PolKitAction</a> *polkit_action,
60 const <a
61 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
62 >gchar</a> *label,
63 const <a
64 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
65 >gchar</a> *tooltip);
66 <a
67 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-result.html#PolKitResult"
68 >PolKitResult</a> <a class="link" href="PolKitGnomeAction.html#polkit-gnome-action-get-polkit-result" title="polkit_gnome_action_get_polkit_result ()">polkit_gnome_action_get_polkit_result</a>
69 (<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a> *action);
70 <a
71 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
72 >gboolean</a> <a class="link" href="PolKitGnomeAction.html#polkit-gnome-action-get-sensitive" title="polkit_gnome_action_get_sensitive ()">polkit_gnome_action_get_sensitive</a> (<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a> *action);
73 void <a class="link" href="PolKitGnomeAction.html#polkit-gnome-action-set-sensitive" title="polkit_gnome_action_set_sensitive ()">polkit_gnome_action_set_sensitive</a> (<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a> *action,
74 <a
75 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
76 >gboolean</a> sensitive);
77 <a
78 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
79 >gboolean</a> <a class="link" href="PolKitGnomeAction.html#polkit-gnome-action-get-visible" title="polkit_gnome_action_get_visible ()">polkit_gnome_action_get_visible</a> (<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a> *action);
80 void <a class="link" href="PolKitGnomeAction.html#polkit-gnome-action-set-visible" title="polkit_gnome_action_set_visible ()">polkit_gnome_action_set_visible</a> (<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a> *action,
81 <a
82 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
83 >gboolean</a> visible);
84 <a
85 href="/usr/share/gtk-doc/html/gtk/GtkWidget.html"
86 >GtkWidget</a>* <a class="link" href="PolKitGnomeAction.html#polkit-gnome-action-create-button" title="polkit_gnome_action_create_button ()">polkit_gnome_action_create_button</a> (<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a> *action);
87 </pre>
88 </div>
89 <div class="refsect1" lang="en">
90 <a name="PolKitGnomeAction.object-hierarchy"></a><h2>Object Hierarchy</h2>
91 <pre class="synopsis">
92 <a
93 href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject"
94 >GObject</a>
95 +----<a
96 href="/usr/share/gtk-doc/html/gtk/GtkAction.html"
97 >GtkAction</a>
98 +----PolKitGnomeAction
99 +----<a class="link" href="PolKitGnomeToggleAction.html" title="PolKitGnomeToggleAction">PolKitGnomeToggleAction</a>
100 </pre>
101 </div>
102 <div class="refsect1" lang="en">
103 <a name="PolKitGnomeAction.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
104 <p>
105 PolKitGnomeAction implements
106 <a
107 href="/usr/share/gtk-doc/html/gtk/gtk-gtkbuildable.html#GtkBuildable"
108 >GtkBuildable</a>.</p>
109 </div>
110 <div class="refsect1" lang="en">
111 <a name="PolKitGnomeAction.properties"></a><h2>Properties</h2>
112 <pre class="synopsis">
113 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--auth-icon-name" title='The "auth-icon-name" property'>auth-icon-name</a>" <a
114 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
115 >gchar</a>* : Read / Write
116 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--auth-label" title='The "auth-label" property'>auth-label</a>" <a
117 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
118 >gchar</a>* : Read / Write
119 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--auth-sensitive" title='The "auth-sensitive" property'>auth-sensitive</a>" <a
120 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
121 >gboolean</a> : Read / Write
122 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--auth-short-label" title='The "auth-short-label" property'>auth-short-label</a>" <a
123 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
124 >gchar</a>* : Read / Write
125 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--auth-tooltip" title='The "auth-tooltip" property'>auth-tooltip</a>" <a
126 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
127 >gchar</a>* : Read / Write
128 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--auth-visible" title='The "auth-visible" property'>auth-visible</a>" <a
129 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
130 >gboolean</a> : Read / Write
131 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--master-sensitive" title='The "master-sensitive" property'>master-sensitive</a>" <a
132 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
133 >gboolean</a> : Read / Write
134 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--master-visible" title='The "master-visible" property'>master-visible</a>" <a
135 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
136 >gboolean</a> : Read / Write
137 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--no-icon-name" title='The "no-icon-name" property'>no-icon-name</a>" <a
138 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
139 >gchar</a>* : Read / Write
140 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--no-label" title='The "no-label" property'>no-label</a>" <a
141 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
142 >gchar</a>* : Read / Write
143 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--no-sensitive" title='The "no-sensitive" property'>no-sensitive</a>" <a
144 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
145 >gboolean</a> : Read / Write
146 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--no-short-label" title='The "no-short-label" property'>no-short-label</a>" <a
147 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
148 >gchar</a>* : Read / Write
149 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--no-tooltip" title='The "no-tooltip" property'>no-tooltip</a>" <a
150 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
151 >gchar</a>* : Read / Write
152 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--no-visible" title='The "no-visible" property'>no-visible</a>" <a
153 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
154 >gboolean</a> : Read / Write
155 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--polkit-action" title='The "polkit-action" property'>polkit-action</a>" <a
156 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
157 >gpointer</a> : Read / Write / Construct
158 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--polkit-action-sufficient" title='The "polkit-action-sufficient" property'>polkit-action-sufficient</a>" <a
159 href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
160 >GValueArray</a>* : Read / Write / Construct
161 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-icon-name" title='The "self-blocked-icon-name" property'>self-blocked-icon-name</a>" <a
162 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
163 >gchar</a>* : Read / Write
164 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-label" title='The "self-blocked-label" property'>self-blocked-label</a>" <a
165 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
166 >gchar</a>* : Read / Write
167 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-sensitive" title='The "self-blocked-sensitive" property'>self-blocked-sensitive</a>" <a
168 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
169 >gboolean</a> : Read / Write
170 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-short-label" title='The "self-blocked-short-label" property'>self-blocked-short-label</a>" <a
171 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
172 >gchar</a>* : Read / Write
173 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-tooltip" title='The "self-blocked-tooltip" property'>self-blocked-tooltip</a>" <a
174 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
175 >gchar</a>* : Read / Write
176 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-visible" title='The "self-blocked-visible" property'>self-blocked-visible</a>" <a
177 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
178 >gboolean</a> : Read / Write
179 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--target-pid" title='The "target-pid" property'>target-pid</a>" <a
180 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"
181 >guint</a> : Read / Write / Construct
182 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--yes-icon-name" title='The "yes-icon-name" property'>yes-icon-name</a>" <a
183 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
184 >gchar</a>* : Read / Write
185 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--yes-label" title='The "yes-label" property'>yes-label</a>" <a
186 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
187 >gchar</a>* : Read / Write
188 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--yes-sensitive" title='The "yes-sensitive" property'>yes-sensitive</a>" <a
189 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
190 >gboolean</a> : Read / Write
191 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--yes-short-label" title='The "yes-short-label" property'>yes-short-label</a>" <a
192 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
193 >gchar</a>* : Read / Write
194 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--yes-tooltip" title='The "yes-tooltip" property'>yes-tooltip</a>" <a
195 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
196 >gchar</a>* : Read / Write
197 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction--yes-visible" title='The "yes-visible" property'>yes-visible</a>" <a
198 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
199 >gboolean</a> : Read / Write
200 </pre>
201 </div>
202 <div class="refsect1" lang="en">
203 <a name="PolKitGnomeAction.signals"></a><h2>Signals</h2>
204 <pre class="synopsis">
205 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction-auth-end" title='The "auth-end" signal'>auth-end</a>" : Run Last
206 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction-auth-start" title='The "auth-start" signal'>auth-start</a>" : Run Last
207 "<a class="link" href="PolKitGnomeAction.html#PolKitGnomeAction-polkit-result-changed" title='The "polkit-result-changed" signal'>polkit-result-changed</a>" : Run Last
208 </pre>
209 </div>
210 <div class="refsect1" lang="en">
211 <a name="PolKitGnomeAction.description"></a><h2>Description</h2>
212 <p>
213 Actions in GTK+ represent operations that the user can be perform,
214 along with some information how it should be presented in the
215 interface. Each action provides methods to create icons, menu items
216 and toolbar items representing itself. Each action can have one or
217 more proxy menu item, toolbar button or other proxy
218 widgets. Proxies mirror the state of the action (text label,
219 tooltip, icon, visible, sensitive, etc), and should change when the
220 action's state changes. When the proxy is activated, it should
221 activate its action.
222 </p>
223 <p>
224 Instances of <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> class updates the label, tooltip,
225 icon-name, visible and properties of the parent <a
226 href="/usr/share/gtk-doc/html/gtk/GtkAction.html"
227 ><span class="type">GtkAction</span></a> instance
228 according to what result PolicyKit gives about a given
229 <a
230 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
231 ><span class="type">PolKitAction</span></a> object. The <a class="link" href="PolKitGnomeContext.html" title="PolKitGnomeContext"><span class="type">PolKitGnomeContext</span></a> class is used
232 internally to track changes. This means that external events (such
233 as the editing of the /etc/PolicyKit/PolicyKit.conf file,
234 ConsoleKit session activity changes or if the user gains a
235 privilege via authentication) will trigger the action, and thus
236 connected proxy widgets, to be updated.
237 </p>
238 <p>
239 In addition, the <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> class intercepts the ::activate
240 signal defined in <a
241 href="/usr/share/gtk-doc/html/gtk/GtkAction.html"
242 ><span class="type">GtkAction</span></a>. When the result from PolicyKit is
243 yes, the signal is propagated. If the result is auth,
244 <code class="function">polkit_gnome_auth_show_dialog()</code> will be used to bring up an
245 authentication dialog for the given <a
246 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
247 ><span class="type">PolKitAction</span></a>. If the user
248 succesfully gained the privilege, a ::activate signal will be
249 synthesized. If the result is no, the signal is also propagated.
250 </p>
251 <p>
252 As a result, everything happens under the covers; the application
253 programmer using <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> will only get the ::activate
254 signal when the answer from PolicyKit is yes and as such don't have
255 to worry about bringing up authentication dialogs if the property
256 "no-sensitive" is set to <a
257 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"
258 ><span class="type">FALSE</span></a>.
259 </p>
260 <p>
261 When an authentication dialog is show, the <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> class
262 will pass the XID of the top-level window that the proxy widget
263 causing the activation to <code class="function">polkit_gnome_auth_show_dialog()</code>.
264 </p>
265 <p>
266 An example of how to use <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> follows. First, build
267 the following program
268 </p>
269 <p>
270 </p>
271 <pre class="programlisting">/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
272 *
273 * polkit-gnome-example: Simple example showing how a GTK+ application
274 * can use PolicyKit.
275 *
276 * Copyright (C) 2007 David Zeuthen &lt;david@fubar.dk&gt;
277 *
278 * This program is free software; you can redistribute it and/or modify
279 * it under the terms of the GNU General Public License as published by
280 * the Free Software Foundation; either version 2 of the License, or
281 * (at your option) any later version.
282 *
283 * This program is distributed in the hope that it will be useful,
284 * but WITHOUT ANY WARRANTY; without even the implied warranty of
285 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
286 * GNU General Public License for more details.
287 *
288 * You should have received a copy of the GNU General Public License
289 * along with this program; if not, write to the Free Software
290 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
291 *
292 */
293
294 #ifdef HAVE_CONFIG_H
295 # include "config.h"
296 #endif
297
298 #include &lt;sys/types.h&gt;
299 #include &lt;unistd.h&gt;
300 #include &lt;stdlib.h&gt;
301 #include &lt;string.h&gt;
302 #include &lt;glib/gi18n.h&gt;
303 #include &lt;polkit-gnome/polkit-gnome.h&gt;
304
305 static GtkWidget *toplevel_window;
306 static PolKitGnomeContext *pkgc;
307
308 static void
309 _button_toggled (GtkToggleButton *toggle_button, PolKitGnomeAction *action)
310 {
311 g_debug ("in _button_toggled for action '%s'", gtk_action_get_name (GTK_ACTION (action)));
312 }
313
314 static void
315 _button_clicked (GtkToggleButton *toggle_button, PolKitGnomeAction *action)
316 {
317 g_debug ("in _button_clicked for '%s'", gtk_action_get_name (GTK_ACTION (action)));
318 }
319
320 /* This function is called when the following two conditions are true
321 *
322 * - the user clicks one of the buttons created via the method
323 * polkit_gnome_action_create_button() (see main() below)
324 *
325 * - For the PolKitAction associated with the button, PolicyKit
326 * reports either 'no' or 'yes'.
327 *
328 * In the event the user clicks a button and he is not privileged
329 * (e.g. PolicyKit returns one of the 'auth' results) he will be
330 * asked to authenticate; this all happens behind the scenes; the
331 * application _only_ gets the ::activate signal on PolKitGnomeAction
332 * instances when PolicyKit reports that the user is privileged.
333 *
334 * Note that for action org.gnome.policykit.examples.tweak, the
335 * corresponding PolKitGnomeAction is configured to be sensitive (see
336 * main() below) even when PolicyKit reports 'no'. Hence we need to
337 * handle that case too and we do that by popping up a dialog. Note
338 * that this can only be triggered by adding a stanza like
339 *
340 * &lt;match action="org.gnome.policykit.examples.tweak"&gt;
341 * &lt;return result="no"/&gt;
342 * &lt;/match&gt;
343 *
344 * to the /etc/PolicyKit/PolicyKit.conf file.
345 */
346 static void
347 activate_polkit_gnome_action (PolKitGnomeAction *action, gpointer user_data)
348 {
349 PolKitCaller *pk_caller;
350 PolKitAction *pk_action;
351 PolKitResult pk_result;
352 DBusError dbus_error;
353
354 if (strcmp (gtk_action_get_name (GTK_ACTION (action)), "toggle") == 0) {
355 /* we're not supposed to run actions when the
356 * authorization is flipped.. we're supposed to make
357 * some UI sensitive and de-sensitive.. (one use at least) */
358 g_debug ("toggled for '%s'", gtk_action_get_name (GTK_ACTION (action)));
359 return;
360 }
361
362 g_debug ("pretending to be the mechanism for action '%s'", gtk_action_get_name (GTK_ACTION (action)));
363
364 g_object_get (action, "polkit-action", &amp;pk_action, NULL);
365
366 dbus_error_init (&amp;dbus_error);
367 pk_caller = polkit_tracker_get_caller_from_pid (pkgc-&gt;pk_tracker,
368 getpid (),
369 &amp;dbus_error);
370 if (pk_caller == NULL) {
371 g_warning ("Cannot get PolKitCaller object for ourselves (pid=%d): %s: %s",
372 getpid (), dbus_error.name, dbus_error.message);
373 dbus_error_free (&amp;dbus_error);
374 } else {
375 /* note how we pass #TRUE to revoke_if_one_shot - this is because we're
376 * pretending to be the mechanism
377 */
378 pk_result = polkit_context_is_caller_authorized (pkgc-&gt;pk_context,
379 pk_action,
380 pk_caller,
381 TRUE,
382 NULL);
383
384 polkit_caller_unref (pk_caller);
385 }
386
387 polkit_action_unref (pk_action);
388
389 }
390
391 static void
392 activate_action (GtkAction *action, gpointer user_data)
393 {
394 if (g_ascii_strcasecmp (gtk_action_get_name (action), "Quit") == 0) {
395 exit (0);
396 } else if (g_ascii_strcasecmp (gtk_action_get_name (action), "About") == 0) {
397 const char *authors[] = {
398 "David Zeuthen &lt;david@fubar.dk&gt;",
399 NULL};
400 const char *documenters[] = {
401 "David Zeuthen &lt;david@fubar.dk&gt;",
402 NULL};
403
404
405 gtk_show_about_dialog (NULL,
406 "version", VERSION,
407 "copyright", _("Copyright © 2007 David Zeuthen"),
408 "website-label", _("PolicyKit-gnome Website"),
409 "website", "http://hal.freedesktop.org/docs/PolicyKit-gnome/",
410 "program-name", _("PolicyKit-gnome demo"),
411 "comments", _("PolicyKit for the GNOME desktop"),
412 "logo-icon-name", GTK_STOCK_DIALOG_AUTHENTICATION,
413 "authors", authors,
414 "documenters", documenters,
415 NULL);
416
417 }
418 }
419
420 static GtkActionEntry entries[] = {
421 { "FileMenu", NULL, N_("_File") }, /* name, stock id, label */
422 { "ActionsMenu", NULL, N_("_Actions") }, /* name, stock id, label */
423 { "HelpMenu", NULL, N_("_Help") }, /* name, stock id, label */
424
425 { "Quit", GTK_STOCK_QUIT, /* name, stock id */
426 N_("_Quit"), "&lt;control&gt;Q", /* label, accelerator */
427 N_("Quit"), /* tooltip */
428 G_CALLBACK (activate_action) },
429
430 { "About", GTK_STOCK_ABOUT, /* name, stock id */
431 N_("_About"), "&lt;control&gt;A", /* label, accelerator */
432 N_("About"), /* tooltip */
433 G_CALLBACK (activate_action) },
434 };
435 static guint n_entries = G_N_ELEMENTS (entries);
436
437 static const gchar *ui_info =
438 "&lt;ui&gt;"
439 " &lt;menubar name='MenuBar'&gt;"
440 " &lt;menu action='FileMenu'&gt;"
441 " &lt;menuitem action='Quit'/&gt;"
442 " &lt;/menu&gt;"
443 " &lt;menu action='ActionsMenu'&gt;"
444 " &lt;menuitem action='frobnicate'/&gt;"
445 " &lt;menuitem action='jump'/&gt;"
446 " &lt;menuitem action='tweak'/&gt;"
447 " &lt;menuitem action='twiddle'/&gt;"
448 " &lt;menuitem action='punch'/&gt;"
449 " &lt;menuitem action='toggle'/&gt;"
450 " &lt;/menu&gt;"
451 " &lt;menu action='HelpMenu'&gt;"
452 " &lt;menuitem action='About'/&gt;"
453 " &lt;/menu&gt;"
454 " &lt;/menubar&gt;"
455 " &lt;toolbar name='ToolBar'&gt;"
456 " &lt;toolitem action='Quit'/&gt;"
457 " &lt;toolitem action='About'/&gt;"
458 " &lt;separator action='Sep1'/&gt;"
459 " &lt;toolitem action='frobnicate'/&gt;"
460 " &lt;toolitem action='jump'/&gt;"
461 " &lt;toolitem action='tweak'/&gt;"
462 " &lt;toolitem action='twiddle'/&gt;"
463 " &lt;toolitem action='punch'/&gt;"
464 " &lt;toolitem action='toggle'/&gt;"
465 " &lt;/toolbar&gt;"
466 "&lt;/ui&gt;";
467
468 int
469 main (int argc, char **argv)
470 {
471 GtkWidget *hbox;
472 GtkWidget *vbox;
473 GtkWidget *vbox2;
474 GtkWidget *label;
475 GMainLoop*loop;
476 PolKitAction *pk_action;
477 PolKitGnomeAction *action;
478 GtkWidget *button;
479 GtkUIManager *ui;
480 GtkActionGroup *actions;
481
482 gtk_init (&amp;argc, &amp;argv);
483
484 pkgc = polkit_gnome_context_get (NULL);
485
486 loop = g_main_loop_new (NULL, FALSE);
487
488 toplevel_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
489
490 actions = gtk_action_group_new ("Actions");
491 gtk_action_group_add_actions (actions, entries, n_entries, NULL);
492
493 ui = gtk_ui_manager_new ();
494 gtk_ui_manager_insert_action_group (ui, actions, 0);
495
496 gtk_window_add_accel_group (GTK_WINDOW (toplevel_window),
497 gtk_ui_manager_get_accel_group (ui));
498
499
500 gtk_ui_manager_add_ui_from_string (ui, ui_info, -1, NULL);
501
502 /*----------------------------------------------------------------*/
503
504 vbox = gtk_vbox_new (FALSE, 10);
505 gtk_container_add (GTK_CONTAINER (toplevel_window), vbox);
506
507 vbox2 = gtk_vbox_new (FALSE, 0);
508 gtk_box_pack_start (GTK_BOX (vbox), vbox2, FALSE, FALSE, 0);
509
510 /*----------------------------------------------------------------*/
511
512 label = gtk_label_new (NULL);
513 gtk_label_set_markup (GTK_LABEL (label), _("Making the helper &lt;b&gt;Frobnicate&lt;/b&gt; requires the "
514 "user to authenticate. The authorization is kept for "
515 "the life time of the process"));
516 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
517 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
518 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
519
520 pk_action = polkit_action_new ();
521 polkit_action_set_action_id (pk_action, "org.gnome.policykit.examples.frobnicate");
522 action = polkit_gnome_action_new_default ("frobnicate", pk_action, _("Frobnicate!"), NULL);
523 polkit_action_unref (pk_action);
524 g_signal_connect (action, "activate", G_CALLBACK (activate_polkit_gnome_action), NULL);
525 gtk_action_group_add_action (actions, GTK_ACTION (action));
526 button = polkit_gnome_action_create_button (action);
527 gtk_box_pack_start (GTK_BOX (vbox),
528 button,
529 FALSE, FALSE, 0);
530 g_signal_connect (button, "clicked", G_CALLBACK (_button_clicked), action);
531
532 /*----------------------------------------------------------------*/
533 gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0);
534 /*----------------------------------------------------------------*/
535
536 label = gtk_label_new (NULL);
537 gtk_label_set_markup (GTK_LABEL (label), _("Making the helper &lt;b&gt;Jump&lt;/b&gt; requires the "
538 "user to authenticate. This is a one-shot authorization."));
539 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
540 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
541 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
542
543 pk_action = polkit_action_new ();
544 polkit_action_set_action_id (pk_action, "org.gnome.policykit.examples.jump");
545 action = polkit_gnome_action_new_default ("jump", pk_action, _("Jump!"), NULL);
546 polkit_action_unref (pk_action);
547 g_signal_connect (action, "activate", G_CALLBACK (activate_polkit_gnome_action), NULL);
548 gtk_action_group_add_action (actions, GTK_ACTION (action));
549 button = polkit_gnome_action_create_button (action);
550 gtk_box_pack_start (GTK_BOX (vbox),
551 button,
552 FALSE, FALSE, 0);
553 g_signal_connect (button, "clicked", G_CALLBACK (_button_clicked), action);
554
555 /*----------------------------------------------------------------*/
556 gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0);
557 /*----------------------------------------------------------------*/
558
559 label = gtk_label_new (NULL);
560 gtk_label_set_markup (GTK_LABEL (label), _("Making the helper &lt;b&gt;Tweak&lt;/b&gt; requires a system "
561 "administrator to authenticate. This instance "
562 "overrides the defaults set in polkit_gnome_action_new()."));
563 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
564 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
565 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
566
567 pk_action = polkit_action_new ();
568 polkit_action_set_action_id (pk_action, "org.gnome.policykit.examples.tweak");
569 action = polkit_gnome_action_new_default ("tweak", pk_action, _("Tweak!"), NULL);
570 polkit_action_unref (pk_action);
571
572 /* For this particular GtkAction instance, we want to customize the appearence */
573 g_object_set (action,
574 "no-visible", TRUE,
575 "no-sensitive", TRUE,
576 "no-short-label", _("Tweak"),
577 "no-label", _("Tweak (long)"),
578 "no-tooltip", _("If your admin wasn't annoying, you could do this"),
579 "no-icon-name", GTK_STOCK_NO,
580
581 "auth-visible", TRUE,
582 "auth-sensitive", TRUE,
583 "auth-short-label", _("Tweak..."),
584 "auth-label", _("Tweak... (long)"),
585 "auth-tooltip", _("Only card carrying tweakers can do this!"),
586 "auth-icon-name", GTK_STOCK_DIALOG_AUTHENTICATION,
587
588 "yes-visible", TRUE,
589 "yes-sensitive", TRUE,
590 "yes-short-label", _("Tweak!"),
591 "yes-label", _("Tweak! (long)"),
592 "yes-tooltip", _("Go ahead, tweak tweak tweak!"),
593 "yes-icon-name", GTK_STOCK_YES,
594 NULL);
595
596 g_signal_connect (action, "activate", G_CALLBACK (activate_polkit_gnome_action), NULL);
597 gtk_action_group_add_action (actions, GTK_ACTION (action));
598 button = polkit_gnome_action_create_button (action);
599 gtk_box_pack_start (GTK_BOX (vbox),
600 button,
601 FALSE, FALSE, 0);
602 g_signal_connect (button, "clicked", G_CALLBACK (_button_clicked), action);
603
604 /*----------------------------------------------------------------*/
605 gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0);
606 /*----------------------------------------------------------------*/
607
608 label = gtk_label_new (NULL);
609 gtk_label_set_markup (GTK_LABEL (label), _("Making the helper &lt;b&gt;Twiddle&lt;/b&gt; requires a system "
610 "administrator to authenticate. Once authenticated, this "
611 "privilege can be retained indefinitely."));
612 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
613 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
614 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
615
616 pk_action = polkit_action_new ();
617 polkit_action_set_action_id (pk_action, "org.gnome.policykit.examples.twiddle");
618 action = polkit_gnome_action_new_default ("twiddle", pk_action, _("Twiddle!"), NULL);
619 polkit_action_unref (pk_action);
620 g_signal_connect (action, "activate", G_CALLBACK (activate_polkit_gnome_action), NULL);
621 gtk_action_group_add_action (actions, GTK_ACTION (action));
622 button = polkit_gnome_action_create_button (action);
623 gtk_box_pack_start (GTK_BOX (vbox),
624 button,
625 FALSE, FALSE, 0);
626 g_signal_connect (button, "clicked", G_CALLBACK (_button_clicked), action);
627
628 /*----------------------------------------------------------------*/
629 gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0);
630 /*----------------------------------------------------------------*/
631
632 label = gtk_label_new (NULL);
633 gtk_label_set_markup (GTK_LABEL (label), _("Making the helper &lt;b&gt;Punch&lt;/b&gt; requires the user to "
634 "authenticate. Once authenticated, this privilege can "
635 "be retained for the remainder of the desktop session."));
636 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
637 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
638 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
639
640 pk_action = polkit_action_new ();
641 polkit_action_set_action_id (pk_action, "org.gnome.policykit.examples.punch");
642 action = polkit_gnome_action_new_default ("punch", pk_action, _("Punch!"), NULL);
643 polkit_action_unref (pk_action);
644 g_signal_connect (action, "activate", G_CALLBACK (activate_polkit_gnome_action), NULL);
645 gtk_action_group_add_action (actions, GTK_ACTION (action));
646 button = polkit_gnome_action_create_button (action);
647 gtk_box_pack_start (GTK_BOX (vbox),
648 polkit_gnome_action_create_button (action),
649 FALSE, FALSE, 0);
650 g_signal_connect (button, "clicked", G_CALLBACK (_button_clicked), action);
651
652 /*----------------------------------------------------------------*/
653 gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0);
654 /*----------------------------------------------------------------*/
655
656 label = gtk_label_new (NULL);
657 gtk_label_set_markup (GTK_LABEL (label), _("The &lt;b&gt;Toggle&lt;/b&gt; action demonstrates the use of "
658 "PolicyKit to drive a GtkToggleButton; it's an intuitive "
659 "way to ask users to give up authorizations when they "
660 "are done with them. E.g. the button is 'pressed in' exactly"
661 "when the authorization is held. Toggling the button means "
662 "obtaining resp. revoking the authorization in question."));
663 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
664 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
665 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
666
667 pk_action = polkit_action_new ();
668 polkit_action_set_action_id (pk_action, "org.gnome.policykit.examples.toggle");
669 PolKitGnomeToggleAction *toggle_action;
670 toggle_action = polkit_gnome_toggle_action_new_default ("toggle", pk_action,
671 _("Click to make changes..."),
672 _("Click to prevent changes"));
673 //g_object_set (toggle_action, "target-pid", 24887, NULL);
674 polkit_action_unref (pk_action);
675 g_signal_connect (toggle_action, "activate", G_CALLBACK (activate_polkit_gnome_action), NULL);
676 gtk_action_group_add_action (actions, GTK_ACTION (toggle_action));
677 GtkWidget *toggle_button;
678 toggle_button = polkit_gnome_toggle_action_create_toggle_button (toggle_action);
679 g_signal_connect (toggle_button, "toggled", G_CALLBACK (_button_toggled), toggle_action);
680 gtk_box_pack_start (GTK_BOX (vbox),
681 toggle_button,
682 FALSE, FALSE, 0);
683
684 /*----------------------------------------------------------------*/
685 gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0);
686 /*----------------------------------------------------------------*/
687
688 hbox = gtk_hbox_new (FALSE, 5);
689 gtk_box_pack_start (GTK_BOX (hbox), gtk_image_new_from_stock (GTK_STOCK_DIALOG_INFO,
690 GTK_ICON_SIZE_SMALL_TOOLBAR), FALSE, FALSE, 0);
691 label = gtk_label_new (NULL);
692 gtk_label_set_markup (GTK_LABEL (label), _("&lt;i&gt;Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets update in real-time.&lt;/i&gt;."));
693 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
694 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
695 gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
696 gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
697
698 /*----------------------------------------------------------------*/
699
700 g_object_unref (actions);
701
702 gtk_box_pack_start (GTK_BOX (vbox2),
703 gtk_ui_manager_get_widget (ui, "/MenuBar"),
704 FALSE, FALSE, 0);
705
706 GtkWidget *toolbar;
707 toolbar = gtk_ui_manager_get_widget (ui, "/ToolBar");
708 gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_BOTH);
709 gtk_box_pack_start (GTK_BOX (vbox2),
710 toolbar,
711 FALSE, FALSE, 0);
712
713 /*----------------------------------------------------------------*/
714
715 gtk_window_set_default_size (GTK_WINDOW (toplevel_window), 700, 0);
716 gtk_window_set_title (GTK_WINDOW (toplevel_window), _("PolicyKit-gnome demo"));
717 g_signal_connect (toplevel_window, "delete-event", (GCallback) exit, NULL);
718 gtk_widget_show_all (toplevel_window);
719
720 g_main_loop_run (loop);
721 return 0;
722 }
723 </pre>
724 <p>
725 </p>
726 <p>
727 with
728 </p>
729 <p>
730 </p>
731 <pre class="programlisting">gcc -o polkit-gnome-example `pkg-config --cflags --libs polkit-gnome` polkit-gnome-example.c</pre>
732 <p>
733 </p>
734 <p>
735 Then, put the following content
736 </p>
737 <p>
738 </p>
739 <pre class="programlisting">FIXME: MISSING XINCLUDE CONTENT</pre>
740 <p>
741 </p>
742 <p>
743 into a file
744 <code class="literal">/usr/share/PolicyKit/policy/polkit-gnome-example.policy</code>. Finally,
745 run <code class="literal">polkit-gnome-example</code>. It should display a
746 window like this:
747 </p>
748 <p>
749 <img src="polkit-gnome-example-screenshot.png">
750 </p>
751 <p>
752 If the "Twiddle!" button is pressed, an authentication dialog
753 should pop up
754 </p>
755 <p>
756 <img src="polkit-gnome-example-auth-dialog-twiddle.png">
757 </p>
758 <p>
759 Here is how what the application looks like if the user gains
760 authorization for all the actions:
761 </p>
762 <p>
763 <img src="polkit-gnome-example-screenshot-authorized.png">
764 </p>
765 <p>
766 Regarding how to build an example mechanism that this GTK+
767 application can take advantage of, please refer to the
768 <a
769 href="/usr/share/gtk-doc/html/polkit/polkit-polkit-context.html#PolKitContext"
770 ><span class="type">PolKitContext</span></a> class for examples.</p>
771 <p>
772
773 </p>
774 </div>
775 <div class="refsect1" lang="en">
776 <a name="PolKitGnomeAction.details"></a><h2>Details</h2>
777 <div class="refsect2" lang="en">
778 <a name="PolKitGnomeActionPrivate"></a><h3>PolKitGnomeActionPrivate</h3>
779 <pre class="programlisting">typedef struct _PolKitGnomeActionPrivate PolKitGnomeActionPrivate;</pre>
780 <p>
781
782 </p>
783 </div>
784 <hr>
785 <div class="refsect2" lang="en">
786 <a name="PolKitGnomeAction-struct"></a><h3>PolKitGnomeAction</h3>
787 <pre class="programlisting">typedef struct _PolKitGnomeAction PolKitGnomeAction;</pre>
788 <p>
789 The PolKitGnomeAction struct contains only private data members and should not be accessed directly.</p>
790 <p>
791
792 </p>
793 </div>
794 <hr>
795 <div class="refsect2" lang="en">
796 <a name="polkit-gnome-action-new"></a><h3>polkit_gnome_action_new ()</h3>
797 <pre class="programlisting"><a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a>* polkit_gnome_action_new (const <a
798 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
799 >gchar</a> *name);</pre>
800 <p>
801 Creates a new <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> object. The typical use for this
802 function is for specialized use where
803 <a class="link" href="PolKitGnomeAction.html#polkit-gnome-action-new-default" title="polkit_gnome_action_new_default ()"><code class="function">polkit_gnome_action_new_default()</code></a> does not meet the needs of the
804 application. A short example of the usage of this contructor
805 follows.
806 </p>
807 <p>
808 If the 'polkit-action' property is <a
809 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
810 ><span class="type">NULL</span></a> the behavior is similar to
811 as if a <a
812 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
813 ><span class="type">PolKitAction</span></a> returned <span class="type">POLKIT_RESULT_YES</span>.
814 </p>
815 <p>
816 One can set the 'polkit-action-sufficient' property to a
817 <a
818 href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
819 ><span class="type">GValueArray</span></a> of pointers to <a
820 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
821 ><span class="type">PolKitAction</span></a> objects. The semantics of
822 this property is that if the user is authorized for any of the
823 given actions in 'polkit-action-sufficient' then the behavior is
824 the same as if they're authorized for the action denoted by
825 'polkit-action'. This is useful in a setup where you have two
826 similar actions and one implies the other. For example, in
827 gnome-system-monitor there are two actions
828 <code class="literal">org.gnome.system-monitor.increase-own-priority</code>
829 (Increase the priority of a process owned by yourself) and
830 <code class="literal">org.gnome.system-monitor.change-priorty</code> (Change
831 priority of any process). As the latter clearly implies the former,
832 one would set the latter in the 'polkit-action-sufficient'
833 property when constructing a <a
834 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
835 ><span class="type">PolKitAction</span></a> for the former.
836 </p>
837 <p>
838 </p>
839 <pre class="programlisting">
840 PolKitAction *polkit_action;
841 PolKitGnomeAction *action;
842
843 polkit_action = polkit_action_new ();
844 polkit_action_set_action_id (polkit_action, "org.example.some-policykit-action");
845
846 action = polkit_gnome_action_new ("blabla", NULL);
847 g_object_set (action,
848 "polkit-action", polkit_action,
849 "no-visible", TRUE,
850 "no-sensitive", FALSE,
851 "no-short-label", "The Action no can do!",
852 "no-label", "The Action is not permitted!",
853 "no-tooltip", "The Tooltip (no)",
854 "no-icon-name", GTK_STOCK_NO,
855
856 "auth-visible", TRUE,
857 "auth-sensitive", TRUE,
858 "auth-short-label", "The Action requires auth...",
859 "auth-label", "The Action requires auth...",
860 "auth-tooltip", "The Tooltip (auth)",
861 "auth-icon-name", GTK_STOCK_DIALOG_AUTHENTICATION,
862
863 "yes-visible", TRUE,
864 "yes-sensitive", TRUE,
865 "yes-short-label", "Action!",
866 "yes-label", "Just do the Action!",
867 "yes-tooltip", "The Tooltip (yes)",
868 "yes-icon-name", GTK_STOCK_YES,
869 NULL);
870 </pre>
871 <p>
872
873 </p>
874 <div class="variablelist"><table border="0">
875 <col align="left" valign="top">
876 <tbody>
877 <tr>
878 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
879 <td> A unique name for the action
880 </td>
881 </tr>
882 <tr>
883 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
884 <td> a new <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> or <a
885 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
886 ><span class="type">NULL</span></a> if error is set
887 </td>
888 </tr>
889 </tbody>
890 </table></div>
891 </div>
892 <hr>
893 <div class="refsect2" lang="en">
894 <a name="polkit-gnome-action-new-default"></a><h3>polkit_gnome_action_new_default ()</h3>
895 <pre class="programlisting"><a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a>* polkit_gnome_action_new_default (const <a
896 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
897 >gchar</a> *name,
898 <a
899 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
900 >PolKitAction</a> *polkit_action,
901 const <a
902 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
903 >gchar</a> *label,
904 const <a
905 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
906 >gchar</a> *tooltip);</pre>
907 <p>
908 Creates a new <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> object with the default
909 behavior for a given <a
910 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
911 ><span class="type">PolKitAction</span></a> object.
912 </p>
913 <p>
914 Default behavior is defined by the label and tooltip being
915 identical across all three four states, the action being visible in
916 all four states, and the action being insensitive only in the state
917 where the result from PolicyKit is no and self-blocked. Only when
918 PolicyKit returns one of the 'auth*' results, the icon_name
919 property will be set to <a
920 href="/usr/share/gtk-doc/html/gtk/gtk-Stock-Items.html#GTK-STOCK-DIALOG-AUTHENTICATION:CAPS"
921 ><span class="type">GTK_STOCK_DIALOG_AUTHENTICATION</span></a>.
922 </p>
923 <p>
924 The caller can always modify individual aspects of the action after
925 creation, e.g. change the tooltip for the self-blocked, no, auth
926 and yes states.
927 </p>
928 <p>
929 If the given polkit_action is <a
930 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
931 ><span class="type">NULL</span></a> the behavior is similar to as
932 if a <a
933 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
934 ><span class="type">PolKitAction</span></a> returned <span class="type">POLKIT_RESULT_YES</span>.</p>
935 <p>
936
937 </p>
938 <div class="variablelist"><table border="0">
939 <col align="left" valign="top">
940 <tbody>
941 <tr>
942 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
943 <td> A unique name for the action
944 </td>
945 </tr>
946 <tr>
947 <td><p><span class="term"><em class="parameter"><code>polkit_action</code></em> :</span></p></td>
948 <td> the <a
949 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
950 ><span class="type">PolKitAction</span></a> to track
951 </td>
952 </tr>
953 <tr>
954 <td><p><span class="term"><em class="parameter"><code>label</code></em> :</span></p></td>
955 <td> the label to use (will also apply to short-label)
956 </td>
957 </tr>
958 <tr>
959 <td><p><span class="term"><em class="parameter"><code>tooltip</code></em> :</span></p></td>
960 <td> the tool tip to use
961 </td>
962 </tr>
963 <tr>
964 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
965 <td> a new <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> or <a
966 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
967 ><span class="type">NULL</span></a> if error is set
968 </td>
969 </tr>
970 </tbody>
971 </table></div>
972 </div>
973 <hr>
974 <div class="refsect2" lang="en">
975 <a name="polkit-gnome-action-get-polkit-result"></a><h3>polkit_gnome_action_get_polkit_result ()</h3>
976 <pre class="programlisting"><a
977 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-result.html#PolKitResult"
978 >PolKitResult</a> polkit_gnome_action_get_polkit_result
979 (<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a> *action);</pre>
980 <p>
981 Gets the <a
982 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-result.html#PolKitResult"
983 ><span class="type">PolKitResult</span></a> that indicates whether the user is
984 privileged to do the <a
985 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
986 ><span class="type">PolKitAction</span></a> associated with this
987 <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> object.</p>
988 <p>
989
990 </p>
991 <div class="variablelist"><table border="0">
992 <col align="left" valign="top">
993 <tbody>
994 <tr>
995 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
996 <td> The <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> object
997 </td>
998 </tr>
999 <tr>
1000 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1001 <td> The <a
1002 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
1003 ><span class="type">PolKitAction</span></a> object. The caller shall not unref this object.
1004 </td>
1005 </tr>
1006 </tbody>
1007 </table></div>
1008 </div>
1009 <hr>
1010 <div class="refsect2" lang="en">
1011 <a name="polkit-gnome-action-get-sensitive"></a><h3>polkit_gnome_action_get_sensitive ()</h3>
1012 <pre class="programlisting"><a
1013 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
1014 >gboolean</a> polkit_gnome_action_get_sensitive (<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a> *action);</pre>
1015 <p>
1016 Get the master sensitivity, see PolKitGnomeAction:master-sensitive:
1017 for details.</p>
1018 <p>
1019
1020 </p>
1021 <div class="variablelist"><table border="0">
1022 <col align="left" valign="top">
1023 <tbody>
1024 <tr>
1025 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
1026 <td> The <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> object
1027 </td>
1028 </tr>
1029 <tr>
1030 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1031 <td> the master sensitivity
1032 </td>
1033 </tr>
1034 </tbody>
1035 </table></div>
1036 </div>
1037 <hr>
1038 <div class="refsect2" lang="en">
1039 <a name="polkit-gnome-action-set-sensitive"></a><h3>polkit_gnome_action_set_sensitive ()</h3>
1040 <pre class="programlisting">void polkit_gnome_action_set_sensitive (<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a> *action,
1041 <a
1042 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
1043 >gboolean</a> sensitive);</pre>
1044 <p>
1045 Set the master sensitivity, see PolKitGnomeAction:master-sensitive:
1046 for details.</p>
1047 <p>
1048
1049 </p>
1050 <div class="variablelist"><table border="0">
1051 <col align="left" valign="top">
1052 <tbody>
1053 <tr>
1054 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
1055 <td> The <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> object
1056 </td>
1057 </tr>
1058 <tr>
1059 <td><p><span class="term"><em class="parameter"><code>sensitive</code></em> :</span></p></td>
1060 <td> master sensitivity
1061 </td>
1062 </tr>
1063 </tbody>
1064 </table></div>
1065 </div>
1066 <hr>
1067 <div class="refsect2" lang="en">
1068 <a name="polkit-gnome-action-get-visible"></a><h3>polkit_gnome_action_get_visible ()</h3>
1069 <pre class="programlisting"><a
1070 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
1071 >gboolean</a> polkit_gnome_action_get_visible (<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a> *action);</pre>
1072 <p>
1073 Get the master visibility, see PolKitGnomeAction:master-visible:
1074 for details.</p>
1075 <p>
1076
1077 </p>
1078 <div class="variablelist"><table border="0">
1079 <col align="left" valign="top">
1080 <tbody>
1081 <tr>
1082 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
1083 <td> The <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> object
1084 </td>
1085 </tr>
1086 <tr>
1087 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1088 <td> the master visibility
1089 </td>
1090 </tr>
1091 </tbody>
1092 </table></div>
1093 </div>
1094 <hr>
1095 <div class="refsect2" lang="en">
1096 <a name="polkit-gnome-action-set-visible"></a><h3>polkit_gnome_action_set_visible ()</h3>
1097 <pre class="programlisting">void polkit_gnome_action_set_visible (<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a> *action,
1098 <a
1099 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
1100 >gboolean</a> visible);</pre>
1101 <p>
1102 Set the master visibility, see PolKitGnomeAction:master-visible:
1103 for details.</p>
1104 <p>
1105
1106 </p>
1107 <div class="variablelist"><table border="0">
1108 <col align="left" valign="top">
1109 <tbody>
1110 <tr>
1111 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
1112 <td> The <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> object
1113 </td>
1114 </tr>
1115 <tr>
1116 <td><p><span class="term"><em class="parameter"><code>visible</code></em> :</span></p></td>
1117 <td> master visibility
1118 </td>
1119 </tr>
1120 </tbody>
1121 </table></div>
1122 </div>
1123 <hr>
1124 <div class="refsect2" lang="en">
1125 <a name="polkit-gnome-action-create-button"></a><h3>polkit_gnome_action_create_button ()</h3>
1126 <pre class="programlisting"><a
1127 href="/usr/share/gtk-doc/html/gtk/GtkWidget.html"
1128 >GtkWidget</a>* polkit_gnome_action_create_button (<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a> *action);</pre>
1129 <p>
1130 Create a button for the given action that displays the label,
1131 tooltip and icon_name corresponding to whether the state, according
1132 to PolicyKit, is no, auth or yes.</p>
1133 <p>
1134
1135 </p>
1136 <div class="variablelist"><table border="0">
1137 <col align="left" valign="top">
1138 <tbody>
1139 <tr>
1140 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
1141 <td> The <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> object
1142 </td>
1143 </tr>
1144 <tr>
1145 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
1146 <td> A <a
1147 href="/usr/share/gtk-doc/html/gtk/GtkButton.html"
1148 ><span class="type">GtkButton</span></a> instance connected to the action
1149 </td>
1150 </tr>
1151 </tbody>
1152 </table></div>
1153 </div>
1154 </div>
1155 <div class="refsect1" lang="en">
1156 <a name="PolKitGnomeAction.property-details"></a><h2>Property Details</h2>
1157 <div class="refsect2" lang="en">
1158 <a name="PolKitGnomeAction--auth-icon-name"></a><h3>The <code class="literal">"auth-icon-name"</code> property</h3>
1159 <pre class="programlisting"> "auth-icon-name" <a
1160 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1161 >gchar</a>* : Read / Write</pre>
1162 <p>If PolicyKit evaluates the result as 'auth', use this icon-name.</p>
1163 <p>Default value: NULL</p>
1164 </div>
1165 <hr>
1166 <div class="refsect2" lang="en">
1167 <a name="PolKitGnomeAction--auth-label"></a><h3>The <code class="literal">"auth-label"</code> property</h3>
1168 <pre class="programlisting"> "auth-label" <a
1169 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1170 >gchar</a>* : Read / Write</pre>
1171 <p>If PolicyKit evaluates the result as 'auth', use this label.</p>
1172 <p>Default value: NULL</p>
1173 </div>
1174 <hr>
1175 <div class="refsect2" lang="en">
1176 <a name="PolKitGnomeAction--auth-sensitive"></a><h3>The <code class="literal">"auth-sensitive"</code> property</h3>
1177 <pre class="programlisting"> "auth-sensitive" <a
1178 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
1179 >gboolean</a> : Read / Write</pre>
1180 <p>If PolicyKit evaluates the result as 'auth', whether the action will be sensitive.</p>
1181 <p>Default value: TRUE</p>
1182 </div>
1183 <hr>
1184 <div class="refsect2" lang="en">
1185 <a name="PolKitGnomeAction--auth-short-label"></a><h3>The <code class="literal">"auth-short-label"</code> property</h3>
1186 <pre class="programlisting"> "auth-short-label" <a
1187 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1188 >gchar</a>* : Read / Write</pre>
1189 <p>If PolicyKit evaluates the result as 'auth', use this short-label.</p>
1190 <p>Default value: NULL</p>
1191 </div>
1192 <hr>
1193 <div class="refsect2" lang="en">
1194 <a name="PolKitGnomeAction--auth-tooltip"></a><h3>The <code class="literal">"auth-tooltip"</code> property</h3>
1195 <pre class="programlisting"> "auth-tooltip" <a
1196 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1197 >gchar</a>* : Read / Write</pre>
1198 <p>If PolicyKit evaluates the result as 'auth', use this tooltip.</p>
1199 <p>Default value: NULL</p>
1200 </div>
1201 <hr>
1202 <div class="refsect2" lang="en">
1203 <a name="PolKitGnomeAction--auth-visible"></a><h3>The <code class="literal">"auth-visible"</code> property</h3>
1204 <pre class="programlisting"> "auth-visible" <a
1205 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
1206 >gboolean</a> : Read / Write</pre>
1207 <p>If PolicyKit evaluates the result as 'auth', whether the action will be visible.</p>
1208 <p>Default value: TRUE</p>
1209 </div>
1210 <hr>
1211 <div class="refsect2" lang="en">
1212 <a name="PolKitGnomeAction--master-sensitive"></a><h3>The <code class="literal">"master-sensitive"</code> property</h3>
1213 <pre class="programlisting"> "master-sensitive" <a
1214 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
1215 >gboolean</a> : Read / Write</pre>
1216 <p>Can be set to FALSE to force insensitivity no matter what PolicyKit reports.</p>
1217 <p>Default value: TRUE</p>
1218 </div>
1219 <hr>
1220 <div class="refsect2" lang="en">
1221 <a name="PolKitGnomeAction--master-visible"></a><h3>The <code class="literal">"master-visible"</code> property</h3>
1222 <pre class="programlisting"> "master-visible" <a
1223 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
1224 >gboolean</a> : Read / Write</pre>
1225 <p>Can be set to FALSE to force invisibility no matter what PolicyKit reports.</p>
1226 <p>Default value: TRUE</p>
1227 </div>
1228 <hr>
1229 <div class="refsect2" lang="en">
1230 <a name="PolKitGnomeAction--no-icon-name"></a><h3>The <code class="literal">"no-icon-name"</code> property</h3>
1231 <pre class="programlisting"> "no-icon-name" <a
1232 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1233 >gchar</a>* : Read / Write</pre>
1234 <p>If PolicyKit evaluates the result as 'no', use this icon-name.</p>
1235 <p>Default value: NULL</p>
1236 </div>
1237 <hr>
1238 <div class="refsect2" lang="en">
1239 <a name="PolKitGnomeAction--no-label"></a><h3>The <code class="literal">"no-label"</code> property</h3>
1240 <pre class="programlisting"> "no-label" <a
1241 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1242 >gchar</a>* : Read / Write</pre>
1243 <p>If PolicyKit evaluates the result as 'no', use this label.</p>
1244 <p>Default value: NULL</p>
1245 </div>
1246 <hr>
1247 <div class="refsect2" lang="en">
1248 <a name="PolKitGnomeAction--no-sensitive"></a><h3>The <code class="literal">"no-sensitive"</code> property</h3>
1249 <pre class="programlisting"> "no-sensitive" <a
1250 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
1251 >gboolean</a> : Read / Write</pre>
1252 <p>If PolicyKit evaluates the result as 'no', whether the action will be sensitive.</p>
1253 <p>Default value: FALSE</p>
1254 </div>
1255 <hr>
1256 <div class="refsect2" lang="en">
1257 <a name="PolKitGnomeAction--no-short-label"></a><h3>The <code class="literal">"no-short-label"</code> property</h3>
1258 <pre class="programlisting"> "no-short-label" <a
1259 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1260 >gchar</a>* : Read / Write</pre>
1261 <p>If PolicyKit evaluates the result as 'no', use this short-label.</p>
1262 <p>Default value: NULL</p>
1263 </div>
1264 <hr>
1265 <div class="refsect2" lang="en">
1266 <a name="PolKitGnomeAction--no-tooltip"></a><h3>The <code class="literal">"no-tooltip"</code> property</h3>
1267 <pre class="programlisting"> "no-tooltip" <a
1268 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1269 >gchar</a>* : Read / Write</pre>
1270 <p>If PolicyKit evaluates the result as 'no', use this tooltip.</p>
1271 <p>Default value: NULL</p>
1272 </div>
1273 <hr>
1274 <div class="refsect2" lang="en">
1275 <a name="PolKitGnomeAction--no-visible"></a><h3>The <code class="literal">"no-visible"</code> property</h3>
1276 <pre class="programlisting"> "no-visible" <a
1277 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
1278 >gboolean</a> : Read / Write</pre>
1279 <p>If PolicyKit evaluates the result as 'no', whether the action will be visible.</p>
1280 <p>Default value: TRUE</p>
1281 </div>
1282 <hr>
1283 <div class="refsect2" lang="en">
1284 <a name="PolKitGnomeAction--polkit-action"></a><h3>The <code class="literal">"polkit-action"</code> property</h3>
1285 <pre class="programlisting"> "polkit-action" <a
1286 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
1287 >gpointer</a> : Read / Write / Construct</pre>
1288 <p>The PolKitAction object this GTK+ action is tracking.</p>
1289 </div>
1290 <hr>
1291 <div class="refsect2" lang="en">
1292 <a name="PolKitGnomeAction--polkit-action-sufficient"></a><h3>The <code class="literal">"polkit-action-sufficient"</code> property</h3>
1293 <pre class="programlisting"> "polkit-action-sufficient" <a
1294 href="/usr/share/gtk-doc/html/gobject/gobject-Value-arrays.html#GValueArray"
1295 >GValueArray</a>* : Read / Write / Construct</pre>
1296 <p>An array of PolKitAction objects that are sufficient to have authorizations for.</p>
1297 </div>
1298 <hr>
1299 <div class="refsect2" lang="en">
1300 <a name="PolKitGnomeAction--self-blocked-icon-name"></a><h3>The <code class="literal">"self-blocked-icon-name"</code> property</h3>
1301 <pre class="programlisting"> "self-blocked-icon-name" <a
1302 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1303 >gchar</a>* : Read / Write</pre>
1304 <p>If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this icon-name.</p>
1305 <p>Default value: NULL</p>
1306 </div>
1307 <hr>
1308 <div class="refsect2" lang="en">
1309 <a name="PolKitGnomeAction--self-blocked-label"></a><h3>The <code class="literal">"self-blocked-label"</code> property</h3>
1310 <pre class="programlisting"> "self-blocked-label" <a
1311 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1312 >gchar</a>* : Read / Write</pre>
1313 <p>If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this label.</p>
1314 <p>Default value: NULL</p>
1315 </div>
1316 <hr>
1317 <div class="refsect2" lang="en">
1318 <a name="PolKitGnomeAction--self-blocked-sensitive"></a><h3>The <code class="literal">"self-blocked-sensitive"</code> property</h3>
1319 <pre class="programlisting"> "self-blocked-sensitive" <a
1320 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
1321 >gboolean</a> : Read / Write</pre>
1322 <p>If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, whether the action will be sensitive.</p>
1323 <p>Default value: FALSE</p>
1324 </div>
1325 <hr>
1326 <div class="refsect2" lang="en">
1327 <a name="PolKitGnomeAction--self-blocked-short-label"></a><h3>The <code class="literal">"self-blocked-short-label"</code> property</h3>
1328 <pre class="programlisting"> "self-blocked-short-label" <a
1329 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1330 >gchar</a>* : Read / Write</pre>
1331 <p>If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this short-label.</p>
1332 <p>Default value: NULL</p>
1333 </div>
1334 <hr>
1335 <div class="refsect2" lang="en">
1336 <a name="PolKitGnomeAction--self-blocked-tooltip"></a><h3>The <code class="literal">"self-blocked-tooltip"</code> property</h3>
1337 <pre class="programlisting"> "self-blocked-tooltip" <a
1338 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1339 >gchar</a>* : Read / Write</pre>
1340 <p>If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this tooltip.</p>
1341 <p>Default value: NULL</p>
1342 </div>
1343 <hr>
1344 <div class="refsect2" lang="en">
1345 <a name="PolKitGnomeAction--self-blocked-visible"></a><h3>The <code class="literal">"self-blocked-visible"</code> property</h3>
1346 <pre class="programlisting"> "self-blocked-visible" <a
1347 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
1348 >gboolean</a> : Read / Write</pre>
1349 <p>If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, whether the action will be visible.</p>
1350 <p>Default value: TRUE</p>
1351 </div>
1352 <hr>
1353 <div class="refsect2" lang="en">
1354 <a name="PolKitGnomeAction--target-pid"></a><h3>The <code class="literal">"target-pid"</code> property</h3>
1355 <pre class="programlisting"> "target-pid" <a
1356 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"
1357 >guint</a> : Read / Write / Construct</pre>
1358 <p>The target process id to receive the authorization; if 0 it is the current process.</p>
1359 <p>Default value: 0</p>
1360 </div>
1361 <hr>
1362 <div class="refsect2" lang="en">
1363 <a name="PolKitGnomeAction--yes-icon-name"></a><h3>The <code class="literal">"yes-icon-name"</code> property</h3>
1364 <pre class="programlisting"> "yes-icon-name" <a
1365 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1366 >gchar</a>* : Read / Write</pre>
1367 <p>If PolicyKit evaluates the result as 'yes', use this icon-name.</p>
1368 <p>Default value: NULL</p>
1369 </div>
1370 <hr>
1371 <div class="refsect2" lang="en">
1372 <a name="PolKitGnomeAction--yes-label"></a><h3>The <code class="literal">"yes-label"</code> property</h3>
1373 <pre class="programlisting"> "yes-label" <a
1374 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1375 >gchar</a>* : Read / Write</pre>
1376 <p>If PolicyKit evaluates the result as 'yes', use this label.</p>
1377 <p>Default value: NULL</p>
1378 </div>
1379 <hr>
1380 <div class="refsect2" lang="en">
1381 <a name="PolKitGnomeAction--yes-sensitive"></a><h3>The <code class="literal">"yes-sensitive"</code> property</h3>
1382 <pre class="programlisting"> "yes-sensitive" <a
1383 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
1384 >gboolean</a> : Read / Write</pre>
1385 <p>If PolicyKit evaluates the result as 'yes', whether the action will be sensitive.</p>
1386 <p>Default value: TRUE</p>
1387 </div>
1388 <hr>
1389 <div class="refsect2" lang="en">
1390 <a name="PolKitGnomeAction--yes-short-label"></a><h3>The <code class="literal">"yes-short-label"</code> property</h3>
1391 <pre class="programlisting"> "yes-short-label" <a
1392 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1393 >gchar</a>* : Read / Write</pre>
1394 <p>If PolicyKit evaluates the result as 'yes', use this short-label.</p>
1395 <p>Default value: NULL</p>
1396 </div>
1397 <hr>
1398 <div class="refsect2" lang="en">
1399 <a name="PolKitGnomeAction--yes-tooltip"></a><h3>The <code class="literal">"yes-tooltip"</code> property</h3>
1400 <pre class="programlisting"> "yes-tooltip" <a
1401 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
1402 >gchar</a>* : Read / Write</pre>
1403 <p>If PolicyKit evaluates the result as 'yes', use this tooltip.</p>
1404 <p>Default value: NULL</p>
1405 </div>
1406 <hr>
1407 <div class="refsect2" lang="en">
1408 <a name="PolKitGnomeAction--yes-visible"></a><h3>The <code class="literal">"yes-visible"</code> property</h3>
1409 <pre class="programlisting"> "yes-visible" <a
1410 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
1411 >gboolean</a> : Read / Write</pre>
1412 <p>If PolicyKit evaluates the result as 'yes', whether the action will be visible.</p>
1413 <p>Default value: TRUE</p>
1414 </div>
1415 </div>
1416 <div class="refsect1" lang="en">
1417 <a name="PolKitGnomeAction.signal-details"></a><h2>Signal Details</h2>
1418 <div class="refsect2" lang="en">
1419 <a name="PolKitGnomeAction-auth-end"></a><h3>The <code class="literal">"auth-end"</code> signal</h3>
1420 <pre class="programlisting">void user_function (<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a> *action,
1421 <a
1422 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
1423 >gboolean</a> gained_privilege,
1424 <a
1425 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
1426 >gpointer</a> user_data) : Run Last</pre>
1427 <p>
1428 The ::auth-end signal is emitted when the an authentication
1429 session ends and carries information about whether the
1430 privilege was obtained or not.</p>
1431 <p>
1432
1433 </p>
1434 <div class="variablelist"><table border="0">
1435 <col align="left" valign="top">
1436 <tbody>
1437 <tr>
1438 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
1439 <td> the object
1440 </td>
1441 </tr>
1442 <tr>
1443 <td><p><span class="term"><em class="parameter"><code>gained_privilege</code></em> :</span></p></td>
1444 <td> whether the privilege was gained
1445 </td>
1446 </tr>
1447 <tr>
1448 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1449 <td>user data set when the signal handler was connected.</td>
1450 </tr>
1451 </tbody>
1452 </table></div>
1453 </div>
1454 <hr>
1455 <div class="refsect2" lang="en">
1456 <a name="PolKitGnomeAction-auth-start"></a><h3>The <code class="literal">"auth-start"</code> signal</h3>
1457 <pre class="programlisting">void user_function (<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a> *action,
1458 <a
1459 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
1460 >gpointer</a> user_data) : Run Last</pre>
1461 <p>
1462 The ::auth-start signal is emitted when an authentication
1463 session starts.</p>
1464 <p>
1465
1466 </p>
1467 <div class="variablelist"><table border="0">
1468 <col align="left" valign="top">
1469 <tbody>
1470 <tr>
1471 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
1472 <td> the object
1473 </td>
1474 </tr>
1475 <tr>
1476 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1477 <td>user data set when the signal handler was connected.</td>
1478 </tr>
1479 </tbody>
1480 </table></div>
1481 </div>
1482 <hr>
1483 <div class="refsect2" lang="en">
1484 <a name="PolKitGnomeAction-polkit-result-changed"></a><h3>The <code class="literal">"polkit-result-changed"</code> signal</h3>
1485 <pre class="programlisting">void user_function (<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a> *action,
1486 <a
1487 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
1488 >gint</a> current_result,
1489 <a
1490 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
1491 >gpointer</a> user_data) : Run Last</pre>
1492 <p>
1493 The ::polkit-result-changed signal is emitted when the
1494 PolicyKit result changes. This can happen when external
1495 factors (config file, ConsoleKit, privilege granted /
1496 revoked) change since the <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a> class listens
1497 for events using the <a class="link" href="PolKitGnomeContext.html" title="PolKitGnomeContext"><span class="type">PolKitGnomeContext</span></a> class.</p>
1498 <p>
1499
1500 </p>
1501 <div class="variablelist"><table border="0">
1502 <col align="left" valign="top">
1503 <tbody>
1504 <tr>
1505 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
1506 <td> the object
1507 </td>
1508 </tr>
1509 <tr>
1510 <td><p><span class="term"><em class="parameter"><code>current_result</code></em> :</span></p></td>
1511 <td> current <a
1512 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-result.html#PolKitResult"
1513 ><span class="type">PolKitResult</span></a> from PolicyKit regarding given <a
1514 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
1515 ><span class="type">PolKitAction</span></a> object
1516 </td>
1517 </tr>
1518 <tr>
1519 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
1520 <td>user data set when the signal handler was connected.</td>
1521 </tr>
1522 </tbody>
1523 </table></div>
1524 </div>
1525 </div>
1526 </div>
1527 <div class="footer">
1528 <hr>
1529 Generated by GTK-Doc V1.10</div>
1530 </body>
1531 </html>
+0
-322
doc/html/PolKitGnomeContext.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>PolKitGnomeContext</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
6 <link rel="home" href="index.html" title="PolicyKit-gnome Library Reference Manual">
7 <link rel="up" href="ref-core.html" title="API Reference">
8 <link rel="prev" href="ref-core.html" title="API Reference">
9 <link rel="next" href="PolKitGnomeAction.html" title="PolKitGnomeAction">
10 <meta name="generator" content="GTK-Doc V1.10 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 <link rel="reference" href="ref-core.html" title="API Reference">
13 <link rel="reference" href="ref-auth-daemon.html" title="Authentication Agent">
14 <link rel="appendix" href="license.html" title="Appendix A. License">
15 </head>
16 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
17 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
18 <tr valign="middle">
19 <td><a accesskey="p" href="ref-core.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
20 <td><a accesskey="u" href="ref-core.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
21 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
22 <th width="100%" align="center">PolicyKit-gnome Library Reference Manual</th>
23 <td><a accesskey="n" href="PolKitGnomeAction.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
24 </tr>
25 <tr><td colspan="5" class="shortcuts"><nobr><a href="#PolKitGnomeContext.synopsis" class="shortcut">Top</a>
26  | 
27 <a href="#PolKitGnomeContext.description" class="shortcut">Description</a>
28  | 
29 <a href="#PolKitGnomeContext.object-hierarchy" class="shortcut">Object Hierarchy</a>
30  | 
31 <a href="#PolKitGnomeContext.signals" class="shortcut">Signals</a></nobr></td></tr>
32 </table>
33 <div class="refentry" lang="en">
34 <a name="PolKitGnomeContext"></a><div class="titlepage"></div>
35 <div class="refnamediv"><table width="100%"><tr>
36 <td valign="top">
37 <h2><span class="refentrytitle"><a name="PolKitGnomeContext.top_of_page"></a>PolKitGnomeContext</span></h2>
38 <p>PolKitGnomeContext — Convenience functions for using PolicyKit from GTK+ and GNOME applications.</p>
39 </td>
40 <td valign="top" align="right"></td>
41 </tr></table></div>
42 <div class="refsynopsisdiv">
43 <a name="PolKitGnomeContext.synopsis"></a><h2>Synopsis</h2>
44 <pre class="synopsis">
45 #define <a class="link" href="PolKitGnomeContext.html#POLKIT-GNOME-CONTEXT-ERROR:CAPS" title="POLKIT_GNOME_CONTEXT_ERROR">POLKIT_GNOME_CONTEXT_ERROR</a>
46 enum <a class="link" href="PolKitGnomeContext.html#PolKitGnomeContextError" title="enum PolKitGnomeContextError">PolKitGnomeContextError</a>;
47 <a class="link" href="PolKitGnomeContext.html#PolKitGnomeContextPrivate" title="PolKitGnomeContextPrivate">PolKitGnomeContextPrivate</a>;
48 <a class="link" href="PolKitGnomeContext.html#PolKitGnomeContext-struct" title="PolKitGnomeContext">PolKitGnomeContext</a>;
49 <a class="link" href="PolKitGnomeContext.html" title="PolKitGnomeContext">PolKitGnomeContext</a>* <a class="link" href="PolKitGnomeContext.html#polkit-gnome-context-get" title="polkit_gnome_context_get ()">polkit_gnome_context_get</a> (<a
50 href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"
51 >GError</a> **error);
52 <a
53 href="/usr/share/gtk-doc/html/glib/glib-Quarks.html#GQuark"
54 >GQuark</a> <a class="link" href="PolKitGnomeContext.html#polkit-gnome-context-error-quark" title="polkit_gnome_context_error_quark ()">polkit_gnome_context_error_quark</a> (void);
55 </pre>
56 </div>
57 <div class="refsect1" lang="en">
58 <a name="PolKitGnomeContext.object-hierarchy"></a><h2>Object Hierarchy</h2>
59 <pre class="synopsis">
60 <a
61 href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject"
62 >GObject</a>
63 +----PolKitGnomeContext
64 </pre>
65 </div>
66 <div class="refsect1" lang="en">
67 <a name="PolKitGnomeContext.signals"></a><h2>Signals</h2>
68 <pre class="synopsis">
69 "<a class="link" href="PolKitGnomeContext.html#PolKitGnomeContext-config-changed" title='The "config-changed" signal'>config-changed</a>" : Run Last
70 "<a class="link" href="PolKitGnomeContext.html#PolKitGnomeContext-console-kit-db-changed" title='The "console-kit-db-changed" signal'>console-kit-db-changed</a>" : Run Last
71 </pre>
72 </div>
73 <div class="refsect1" lang="en">
74 <a name="PolKitGnomeContext.description"></a><h2>Description</h2>
75 <p>
76 This class provides convenience functions for using PolicyKit from
77 GTK+ and GNOME applications including setting up main loop
78 integration and system bus connections. Rather than using
79 callbacks, GObject signals are provided when external factors
80 change (e.g. the PolicyKit.conf configuration file changes or
81 ConsoleKit reports activity changes).
82 </p>
83 <p>
84 Actual usage of PolicyKit is still through the main PolicyKit API
85 through the public pk_context and pk_tracker variables.
86 </p>
87 <p>
88 This class is implemented as a singleton meaning that several
89 callers will share the underlying <a
90 href="/usr/share/gtk-doc/html/polkit/polkit-polkit-context.html#PolKitContext"
91 ><span class="type">PolKitContext</span></a> and <a
92 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-tracker.html#PolKitTracker"
93 ><span class="type">PolKitTracker</span></a>
94 objects. Do not use any of the life cycle methods of these objects;
95 only use them to gather information.</p>
96 <p>
97
98 </p>
99 </div>
100 <div class="refsect1" lang="en">
101 <a name="PolKitGnomeContext.details"></a><h2>Details</h2>
102 <div class="refsect2" lang="en">
103 <a name="POLKIT-GNOME-CONTEXT-ERROR:CAPS"></a><h3>POLKIT_GNOME_CONTEXT_ERROR</h3>
104 <pre class="programlisting">#define POLKIT_GNOME_CONTEXT_ERROR polkit_gnome_context_error_quark ()
105 </pre>
106 <p>
107 Error domain for using the GNOME PolicyKit context. Errors in this
108 domain will be from the <a class="link" href="PolKitGnomeContext.html#PolKitGnomeContextError" title="enum PolKitGnomeContextError"><span class="type">PolKitGnomeContextError</span></a> enumeration. See
109 <a
110 href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"
111 ><span class="type">GError</span></a> for information on error domains.</p>
112 <p>
113
114 </p>
115 </div>
116 <hr>
117 <div class="refsect2" lang="en">
118 <a name="PolKitGnomeContextError"></a><h3>enum PolKitGnomeContextError</h3>
119 <pre class="programlisting">typedef enum
120 {
121 POLKIT_GNOME_CONTEXT_ERROR_FAILED
122 } PolKitGnomeContextError;
123 </pre>
124 <p>
125 Error codes describing how <a class="link" href="PolKitGnomeContext.html" title="PolKitGnomeContext"><span class="type">PolKitGnomeContext</span></a> can fail.</p>
126 <p>
127
128 </p>
129 <div class="variablelist"><table border="0">
130 <col align="left" valign="top">
131 <tbody><tr>
132 <td><p><a name="POLKIT-GNOME-CONTEXT-ERROR-FAILED:CAPS"></a><span class="term"><code class="literal">POLKIT_GNOME_CONTEXT_ERROR_FAILED</code></span></p></td>
133 <td> General error
134 </td>
135 </tr></tbody>
136 </table></div>
137 </div>
138 <hr>
139 <div class="refsect2" lang="en">
140 <a name="PolKitGnomeContextPrivate"></a><h3>PolKitGnomeContextPrivate</h3>
141 <pre class="programlisting">typedef struct _PolKitGnomeContextPrivate PolKitGnomeContextPrivate;</pre>
142 <p>
143
144 </p>
145 </div>
146 <hr>
147 <div class="refsect2" lang="en">
148 <a name="PolKitGnomeContext-struct"></a><h3>PolKitGnomeContext</h3>
149 <pre class="programlisting">typedef struct {
150 PolKitContext *pk_context;
151 PolKitTracker *pk_tracker;
152 } PolKitGnomeContext;
153 </pre>
154 <p>
155 Provide access to <a
156 href="/usr/share/gtk-doc/html/polkit/polkit-polkit-context.html#PolKitContext"
157 ><span class="type">PolKitContext</span></a> and <a
158 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-tracker.html#PolKitTracker"
159 ><span class="type">PolKitTracker</span></a> instances
160 shared among many callers.</p>
161 <p>
162
163 </p>
164 <div class="variablelist"><table border="0">
165 <col align="left" valign="top">
166 <tbody>
167 <tr>
168 <td><p><span class="term"><a
169 href="/usr/share/gtk-doc/html/polkit/polkit-polkit-context.html#PolKitContext"
170 >PolKitContext</a> *<em class="structfield"><code>pk_context</code></em>;</span></p></td>
171 <td> for interfacing with PolicyKit; e.g. typically <a
172 href="/usr/share/gtk-doc/html/polkit/polkit-polkit-context.html#polkit-context-can-caller-do-action"
173 ><code class="function">polkit_context_can_caller_do_action()</code></a>
174 </td>
175 </tr>
176 <tr>
177 <td><p><span class="term"><a
178 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-tracker.html#PolKitTracker"
179 >PolKitTracker</a> *<em class="structfield"><code>pk_tracker</code></em>;</span></p></td>
180 <td> this is used for effieciently obtaining <a
181 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-caller.html#PolKitCaller"
182 ><span class="type">PolKitCaller</span></a> objects
183 </td>
184 </tr>
185 </tbody>
186 </table></div>
187 </div>
188 <hr>
189 <div class="refsect2" lang="en">
190 <a name="polkit-gnome-context-get"></a><h3>polkit_gnome_context_get ()</h3>
191 <pre class="programlisting"><a class="link" href="PolKitGnomeContext.html" title="PolKitGnomeContext">PolKitGnomeContext</a>* polkit_gnome_context_get (<a
192 href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"
193 >GError</a> **error);</pre>
194 <p>
195 Returns a <a class="link" href="PolKitGnomeContext.html" title="PolKitGnomeContext"><span class="type">PolKitGnomeContext</span></a> object. The context is a global
196 singleton that may be shared with other callers of this function.
197 </p>
198 <p>
199 This operation can fail if the system message bus is not available.
200 </p>
201 <p>
202 When done with using this object, call <a
203 href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-unref"
204 ><code class="function">g_object_unref()</code></a>. This is
205 such that resources can be freed when all callers have unreffed it.</p>
206 <p>
207
208 </p>
209 <div class="variablelist"><table border="0">
210 <col align="left" valign="top">
211 <tbody>
212 <tr>
213 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
214 <td> return location for error
215 </td>
216 </tr>
217 <tr>
218 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
219 <td> a new <a class="link" href="PolKitGnomeContext.html" title="PolKitGnomeContext"><span class="type">PolKitGnomeContext</span></a> or NULL if error is set
220 </td>
221 </tr>
222 </tbody>
223 </table></div>
224 </div>
225 <hr>
226 <div class="refsect2" lang="en">
227 <a name="polkit-gnome-context-error-quark"></a><h3>polkit_gnome_context_error_quark ()</h3>
228 <pre class="programlisting"><a
229 href="/usr/share/gtk-doc/html/glib/glib-Quarks.html#GQuark"
230 >GQuark</a> polkit_gnome_context_error_quark (void);</pre>
231 <p>
232
233 </p>
234 <div class="variablelist"><table border="0">
235 <col align="left" valign="top">
236 <tbody><tr>
237 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
238 <td>
239
240
241 </td>
242 </tr></tbody>
243 </table></div>
244 </div>
245 </div>
246 <div class="refsect1" lang="en">
247 <a name="PolKitGnomeContext.signal-details"></a><h2>Signal Details</h2>
248 <div class="refsect2" lang="en">
249 <a name="PolKitGnomeContext-config-changed"></a><h3>The <code class="literal">"config-changed"</code> signal</h3>
250 <pre class="programlisting">void user_function (<a class="link" href="PolKitGnomeContext.html" title="PolKitGnomeContext">PolKitGnomeContext</a> *context,
251 <a
252 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
253 >gpointer</a> user_data) : Run Last</pre>
254 <p>
255 The ::config-changed signal is emitted when PolicyKit
256 configuration (e.g. /etc/PolicyKit/PolicyKit.conf or
257 .policy files) changes content.
258 </p>
259 <p>
260 As this is one contributing factor to what answer PolicyKit
261 will return, the caller should act on this signal and query
262 PolicyKit for any actions it cares about.</p>
263 <p>
264
265 </p>
266 <div class="variablelist"><table border="0">
267 <col align="left" valign="top">
268 <tbody>
269 <tr>
270 <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
271 <td> the object
272 </td>
273 </tr>
274 <tr>
275 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
276 <td>user data set when the signal handler was connected.</td>
277 </tr>
278 </tbody>
279 </table></div>
280 </div>
281 <hr>
282 <div class="refsect2" lang="en">
283 <a name="PolKitGnomeContext-console-kit-db-changed"></a><h3>The <code class="literal">"console-kit-db-changed"</code> signal</h3>
284 <pre class="programlisting">void user_function (<a class="link" href="PolKitGnomeContext.html" title="PolKitGnomeContext">PolKitGnomeContext</a> *context,
285 <a
286 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
287 >gpointer</a> user_data) : Run Last</pre>
288 <p>
289 The ::console-kit-db-changed signal is emitted when
290 ConsoleKit configuration changes; e.g. when a session
291 becomes active or inactive.
292 </p>
293 <p>
294 As this is one contributing factor to what answer PolicyKit
295 will return, the caller should act on this signal and query
296 PolicyKit for any actions it cares about.</p>
297 <p>
298
299 </p>
300 <div class="variablelist"><table border="0">
301 <col align="left" valign="top">
302 <tbody>
303 <tr>
304 <td><p><span class="term"><em class="parameter"><code>context</code></em> :</span></p></td>
305 <td> the object
306 </td>
307 </tr>
308 <tr>
309 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
310 <td>user data set when the signal handler was connected.</td>
311 </tr>
312 </tbody>
313 </table></div>
314 </div>
315 </div>
316 </div>
317 <div class="footer">
318 <hr>
319 Generated by GTK-Doc V1.10</div>
320 </body>
321 </html>
+0
-428
doc/html/PolKitGnomeToggleAction.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>PolKitGnomeToggleAction</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
6 <link rel="home" href="index.html" title="PolicyKit-gnome Library Reference Manual">
7 <link rel="up" href="ref-core.html" title="API Reference">
8 <link rel="prev" href="PolKitGnomeAction.html" title="PolKitGnomeAction">
9 <link rel="next" href="polkit-gnome-polkit-gnome-auth.html" title="Authentication Dialogs">
10 <meta name="generator" content="GTK-Doc V1.10 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 <link rel="reference" href="ref-core.html" title="API Reference">
13 <link rel="reference" href="ref-auth-daemon.html" title="Authentication Agent">
14 <link rel="appendix" href="license.html" title="Appendix A. License">
15 </head>
16 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
17 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
18 <tr valign="middle">
19 <td><a accesskey="p" href="PolKitGnomeAction.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
20 <td><a accesskey="u" href="ref-core.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
21 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
22 <th width="100%" align="center">PolicyKit-gnome Library Reference Manual</th>
23 <td><a accesskey="n" href="polkit-gnome-polkit-gnome-auth.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
24 </tr>
25 <tr><td colspan="5" class="shortcuts"><nobr><a href="#PolKitGnomeToggleAction.synopsis" class="shortcut">Top</a>
26  | 
27 <a href="#PolKitGnomeToggleAction.description" class="shortcut">Description</a>
28  | 
29 <a href="#PolKitGnomeToggleAction.object-hierarchy" class="shortcut">Object Hierarchy</a>
30  | 
31 <a href="#PolKitGnomeToggleAction.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
32  | 
33 <a href="#PolKitGnomeToggleAction.properties" class="shortcut">Properties</a>
34  | 
35 <a href="#PolKitGnomeToggleAction.signals" class="shortcut">Signals</a></nobr></td></tr>
36 </table>
37 <div class="refentry" lang="en">
38 <a name="PolKitGnomeToggleAction"></a><div class="titlepage"></div>
39 <div class="refnamediv"><table width="100%"><tr>
40 <td valign="top">
41 <h2><span class="refentrytitle"><a name="PolKitGnomeToggleAction.top_of_page"></a>PolKitGnomeToggleAction</span></h2>
42 <p>PolKitGnomeToggleAction — A GtkAction that can be toggled to
43 obtain and give up PolicyKit authorizations.</p>
44 </td>
45 <td valign="top" align="right"></td>
46 </tr></table></div>
47 <div class="refsynopsisdiv">
48 <a name="PolKitGnomeToggleAction.synopsis"></a><h2>Synopsis</h2>
49 <pre class="synopsis">
50 <a class="link" href="PolKitGnomeToggleAction.html#PolKitGnomeToggleActionPrivate" title="PolKitGnomeToggleActionPrivate">PolKitGnomeToggleActionPrivate</a>;
51 <a class="link" href="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction-struct" title="PolKitGnomeToggleAction">PolKitGnomeToggleAction</a>;
52 <a class="link" href="PolKitGnomeToggleAction.html" title="PolKitGnomeToggleAction">PolKitGnomeToggleAction</a>* <a class="link" href="PolKitGnomeToggleAction.html#polkit-gnome-toggle-action-new" title="polkit_gnome_toggle_action_new ()">polkit_gnome_toggle_action_new</a> (const <a
53 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
54 >gchar</a> *name);
55 <a class="link" href="PolKitGnomeToggleAction.html" title="PolKitGnomeToggleAction">PolKitGnomeToggleAction</a>* <a class="link" href="PolKitGnomeToggleAction.html#polkit-gnome-toggle-action-new-default" title="polkit_gnome_toggle_action_new_default ()">polkit_gnome_toggle_action_new_default</a>
56 (const <a
57 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
58 >gchar</a> *name,
59 <a
60 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
61 >PolKitAction</a> *polkit_action,
62 const <a
63 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
64 >gchar</a> *locked_label,
65 const <a
66 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
67 >gchar</a> *unlocked_label);
68 <a
69 href="/usr/share/gtk-doc/html/gtk/GtkWidget.html"
70 >GtkWidget</a>* <a class="link" href="PolKitGnomeToggleAction.html#polkit-gnome-toggle-action-create-toggle-button" title="polkit_gnome_toggle_action_create_toggle_button ()">polkit_gnome_toggle_action_create_toggle_button</a>
71 (<a class="link" href="PolKitGnomeToggleAction.html" title="PolKitGnomeToggleAction">PolKitGnomeToggleAction</a> *action);
72 </pre>
73 </div>
74 <div class="refsect1" lang="en">
75 <a name="PolKitGnomeToggleAction.object-hierarchy"></a><h2>Object Hierarchy</h2>
76 <pre class="synopsis">
77 <a
78 href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject"
79 >GObject</a>
80 +----<a
81 href="/usr/share/gtk-doc/html/gtk/GtkAction.html"
82 >GtkAction</a>
83 +----<a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction">PolKitGnomeAction</a>
84 +----PolKitGnomeToggleAction
85 </pre>
86 </div>
87 <div class="refsect1" lang="en">
88 <a name="PolKitGnomeToggleAction.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
89 <p>
90 PolKitGnomeToggleAction implements
91 <a
92 href="/usr/share/gtk-doc/html/gtk/gtk-gtkbuildable.html#GtkBuildable"
93 >GtkBuildable</a>.</p>
94 </div>
95 <div class="refsect1" lang="en">
96 <a name="PolKitGnomeToggleAction.properties"></a><h2>Properties</h2>
97 <pre class="synopsis">
98 "<a class="link" href="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-icon-name" title='The "auth-underway-icon-name" property'>auth-underway-icon-name</a>" <a
99 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
100 >gchar</a>* : Read / Write
101 "<a class="link" href="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-label" title='The "auth-underway-label" property'>auth-underway-label</a>" <a
102 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
103 >gchar</a>* : Read / Write
104 "<a class="link" href="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-sensitive" title='The "auth-underway-sensitive" property'>auth-underway-sensitive</a>" <a
105 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
106 >gboolean</a> : Read / Write
107 "<a class="link" href="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-short-label" title='The "auth-underway-short-label" property'>auth-underway-short-label</a>" <a
108 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
109 >gchar</a>* : Read / Write
110 "<a class="link" href="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-tooltip" title='The "auth-underway-tooltip" property'>auth-underway-tooltip</a>" <a
111 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
112 >gchar</a>* : Read / Write
113 "<a class="link" href="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-visible" title='The "auth-underway-visible" property'>auth-underway-visible</a>" <a
114 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
115 >gboolean</a> : Read / Write
116 </pre>
117 </div>
118 <div class="refsect1" lang="en">
119 <a name="PolKitGnomeToggleAction.signals"></a><h2>Signals</h2>
120 <pre class="synopsis">
121 "<a class="link" href="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction-toggled" title='The "toggled" signal'>toggled</a>" : Run Last
122 </pre>
123 </div>
124 <div class="refsect1" lang="en">
125 <a name="PolKitGnomeToggleAction.description"></a><h2>Description</h2>
126 <p>
127 For an example of how to use this class, see the documentation for
128 <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a>.</p>
129 <p>
130
131 </p>
132 </div>
133 <div class="refsect1" lang="en">
134 <a name="PolKitGnomeToggleAction.details"></a><h2>Details</h2>
135 <div class="refsect2" lang="en">
136 <a name="PolKitGnomeToggleActionPrivate"></a><h3>PolKitGnomeToggleActionPrivate</h3>
137 <pre class="programlisting">typedef struct _PolKitGnomeToggleActionPrivate PolKitGnomeToggleActionPrivate;</pre>
138 <p>
139
140 </p>
141 </div>
142 <hr>
143 <div class="refsect2" lang="en">
144 <a name="PolKitGnomeToggleAction-struct"></a><h3>PolKitGnomeToggleAction</h3>
145 <pre class="programlisting">typedef struct _PolKitGnomeToggleAction PolKitGnomeToggleAction;</pre>
146 <p>
147 The PolKitGnomeToggleAction struct contains only private data members and should not be accessed directly.</p>
148 <p>
149
150 </p>
151 </div>
152 <hr>
153 <div class="refsect2" lang="en">
154 <a name="polkit-gnome-toggle-action-new"></a><h3>polkit_gnome_toggle_action_new ()</h3>
155 <pre class="programlisting"><a class="link" href="PolKitGnomeToggleAction.html" title="PolKitGnomeToggleAction">PolKitGnomeToggleAction</a>* polkit_gnome_toggle_action_new (const <a
156 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
157 >gchar</a> *name);</pre>
158 <p>
159 Creates a new <a class="link" href="PolKitGnomeToggleAction.html" title="PolKitGnomeToggleAction"><span class="type">PolKitGnomeToggleAction</span></a> object. The typical use for
160 this function is for specialized use where
161 <a class="link" href="PolKitGnomeToggleAction.html#polkit-gnome-toggle-action-new-default" title="polkit_gnome_toggle_action_new_default ()"><code class="function">polkit_gnome_toggle_action_new_default()</code></a> does not meet the needs of
162 the application.
163 </p>
164 <p>
165 If the 'polkit-toggle_action' property is <a
166 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
167 ><span class="type">NULL</span></a> the behavior is similar to
168 as if a <a
169 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
170 ><span class="type">PolKitAction</span></a> returned <span class="type">POLKIT_RESULT_YES</span>.</p>
171 <p>
172
173 </p>
174 <div class="variablelist"><table border="0">
175 <col align="left" valign="top">
176 <tbody>
177 <tr>
178 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
179 <td> A unique name for the toggle_action
180 </td>
181 </tr>
182 <tr>
183 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
184 <td> a new <a class="link" href="PolKitGnomeToggleAction.html" title="PolKitGnomeToggleAction"><span class="type">PolKitGnomeToggleAction</span></a> or <a
185 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
186 ><span class="type">NULL</span></a> if error is set
187 </td>
188 </tr>
189 </tbody>
190 </table></div>
191 </div>
192 <hr>
193 <div class="refsect2" lang="en">
194 <a name="polkit-gnome-toggle-action-new-default"></a><h3>polkit_gnome_toggle_action_new_default ()</h3>
195 <pre class="programlisting"><a class="link" href="PolKitGnomeToggleAction.html" title="PolKitGnomeToggleAction">PolKitGnomeToggleAction</a>* polkit_gnome_toggle_action_new_default
196 (const <a
197 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
198 >gchar</a> *name,
199 <a
200 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
201 >PolKitAction</a> *polkit_action,
202 const <a
203 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
204 >gchar</a> *locked_label,
205 const <a
206 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
207 >gchar</a> *unlocked_label);</pre>
208 <p>
209 Creates a new <a class="link" href="PolKitGnomeToggleAction.html" title="PolKitGnomeToggleAction"><span class="type">PolKitGnomeToggleAction</span></a> object with the default
210 behavior for a given <a
211 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
212 ><span class="type">PolKitAction</span></a> object. The toggle represents
213 whether the user is authorized for the given <a
214 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
215 ><span class="type">PolKitAction</span></a>. If the
216 user is not authorized, clicking on a proxy widget (if it's
217 sensitive) will cause an authentication dialog to appear. If the
218 user is authorized, clicking on a proxy widget will cause all
219 authorizations to be given up (aka revoked). The ::toggled signal
220 is only emitted when such transitions occur. Thus, the user of this
221 class will never have to deal with bringing up authentication
222 dialogs; it's all handled behind the scenes.
223 </p>
224 <p>
225 As such, the typical use case for this action is an UI where the
226 user is encouraged to give up authorizations.
227 </p>
228 <p>
229 There's also support for the corner case where the user is
230 authorized because of implicit authorizations. In this case,
231 toggling the action will "grant" a negative authorization for the
232 user. By toggling the action again, the negative authorization will
233 be revoked.
234 </p>
235 <p>
236 Default behavior is defined as having the icon_name be 'security-medium'
237 by default except for the YES PolicyKit answer where it's set to
238 'security-low'. No tooltips are set. The label and short-label
239 will be 'locked_label' everywhere except in the YES state where
240 it's set to 'unlocked-label'. When authentication is underway, the
241 label will be "Authenticating..." and icon_name is untouched. If
242 the PolicyKit answer is NO, sensitivity is set to
243 <a
244 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"
245 ><span class="type">FALSE</span></a>. Visibility is always set to <a
246 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"
247 ><span class="type">TRUE</span></a>.
248 </p>
249 <p>
250 The caller can always modify individual aspects of the
251 toggle_action after creation, e.g. change the tooltip for the no,
252 auth and yes states; see the parent class <a class="link" href="PolKitGnomeAction.html" title="PolKitGnomeAction"><span class="type">PolKitGnomeAction</span></a>. In
253 addition to the properties in the parent class, this subclass
254 sports six new properties, "auth-underway-*" to control the look
255 of proxy widgets when authentication is underway.
256 </p>
257 <p>
258 If the given polkit_toggle_action is <a
259 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
260 ><span class="type">NULL</span></a> the behavior is similar to as
261 if a <a
262 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
263 ><span class="type">PolKitAction</span></a> returned <span class="type">POLKIT_RESULT_YES</span>.</p>
264 <p>
265
266 </p>
267 <div class="variablelist"><table border="0">
268 <col align="left" valign="top">
269 <tbody>
270 <tr>
271 <td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
272 <td> A unique name for the toggle_action
273 </td>
274 </tr>
275 <tr>
276 <td><p><span class="term"><em class="parameter"><code>polkit_action</code></em> :</span></p></td>
277 <td> the <a
278 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
279 ><span class="type">PolKitAction</span></a> to track
280 </td>
281 </tr>
282 <tr>
283 <td><p><span class="term"><em class="parameter"><code>locked_label</code></em> :</span></p></td>
284 <td> The label to show when the user do not possess the
285 authorization, e.g. "Click to make changes"
286 </td>
287 </tr>
288 <tr>
289 <td><p><span class="term"><em class="parameter"><code>unlocked_label</code></em> :</span></p></td>
290 <td> The label to show when the user does posses the
291 authorization; e.g. "Click to prevent changes"
292 </td>
293 </tr>
294 <tr>
295 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
296 <td> a new <a class="link" href="PolKitGnomeToggleAction.html" title="PolKitGnomeToggleAction"><span class="type">PolKitGnomeToggleAction</span></a> or <a
297 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
298 ><span class="type">NULL</span></a> if error is set
299 </td>
300 </tr>
301 </tbody>
302 </table></div>
303 </div>
304 <hr>
305 <div class="refsect2" lang="en">
306 <a name="polkit-gnome-toggle-action-create-toggle-button"></a><h3>polkit_gnome_toggle_action_create_toggle_button ()</h3>
307 <pre class="programlisting"><a
308 href="/usr/share/gtk-doc/html/gtk/GtkWidget.html"
309 >GtkWidget</a>* polkit_gnome_toggle_action_create_toggle_button
310 (<a class="link" href="PolKitGnomeToggleAction.html" title="PolKitGnomeToggleAction">PolKitGnomeToggleAction</a> *action);</pre>
311 <p>
312 Create a toggle button for the given action that displays the
313 label, tooltip and icon_name corresponding to whether the state,
314 according to PolicyKit, is no, auth or yes.</p>
315 <p>
316
317 </p>
318 <div class="variablelist"><table border="0">
319 <col align="left" valign="top">
320 <tbody>
321 <tr>
322 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
323 <td> The <a class="link" href="PolKitGnomeToggleAction.html" title="PolKitGnomeToggleAction"><span class="type">PolKitGnomeToggleAction</span></a> object
324 </td>
325 </tr>
326 <tr>
327 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
328 <td> A <a
329 href="/usr/share/gtk-doc/html/gtk/GtkToggleButton.html"
330 ><span class="type">GtkToggleButton</span></a> instance connected to the action
331 </td>
332 </tr>
333 </tbody>
334 </table></div>
335 </div>
336 </div>
337 <div class="refsect1" lang="en">
338 <a name="PolKitGnomeToggleAction.property-details"></a><h2>Property Details</h2>
339 <div class="refsect2" lang="en">
340 <a name="PolKitGnomeToggleAction--auth-underway-icon-name"></a><h3>The <code class="literal">"auth-underway-icon-name"</code> property</h3>
341 <pre class="programlisting"> "auth-underway-icon-name" <a
342 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
343 >gchar</a>* : Read / Write</pre>
344 <p>When authentication is underway, use this icon-name.</p>
345 <p>Default value: NULL</p>
346 </div>
347 <hr>
348 <div class="refsect2" lang="en">
349 <a name="PolKitGnomeToggleAction--auth-underway-label"></a><h3>The <code class="literal">"auth-underway-label"</code> property</h3>
350 <pre class="programlisting"> "auth-underway-label" <a
351 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
352 >gchar</a>* : Read / Write</pre>
353 <p>When authentication is underway, use this label.</p>
354 <p>Default value: NULL</p>
355 </div>
356 <hr>
357 <div class="refsect2" lang="en">
358 <a name="PolKitGnomeToggleAction--auth-underway-sensitive"></a><h3>The <code class="literal">"auth-underway-sensitive"</code> property</h3>
359 <pre class="programlisting"> "auth-underway-sensitive" <a
360 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
361 >gboolean</a> : Read / Write</pre>
362 <p>When authentication is underway, whether the action will be sensitive.</p>
363 <p>Default value: TRUE</p>
364 </div>
365 <hr>
366 <div class="refsect2" lang="en">
367 <a name="PolKitGnomeToggleAction--auth-underway-short-label"></a><h3>The <code class="literal">"auth-underway-short-label"</code> property</h3>
368 <pre class="programlisting"> "auth-underway-short-label" <a
369 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
370 >gchar</a>* : Read / Write</pre>
371 <p>When authentication is underway, use this short-label.</p>
372 <p>Default value: NULL</p>
373 </div>
374 <hr>
375 <div class="refsect2" lang="en">
376 <a name="PolKitGnomeToggleAction--auth-underway-tooltip"></a><h3>The <code class="literal">"auth-underway-tooltip"</code> property</h3>
377 <pre class="programlisting"> "auth-underway-tooltip" <a
378 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
379 >gchar</a>* : Read / Write</pre>
380 <p>When authentication is underway, use this tooltip.</p>
381 <p>Default value: NULL</p>
382 </div>
383 <hr>
384 <div class="refsect2" lang="en">
385 <a name="PolKitGnomeToggleAction--auth-underway-visible"></a><h3>The <code class="literal">"auth-underway-visible"</code> property</h3>
386 <pre class="programlisting"> "auth-underway-visible" <a
387 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
388 >gboolean</a> : Read / Write</pre>
389 <p>When authentication is underway, whether the action will be visible.</p>
390 <p>Default value: TRUE</p>
391 </div>
392 </div>
393 <div class="refsect1" lang="en">
394 <a name="PolKitGnomeToggleAction.signal-details"></a><h2>Signal Details</h2>
395 <div class="refsect2" lang="en">
396 <a name="PolKitGnomeToggleAction-toggled"></a><h3>The <code class="literal">"toggled"</code> signal</h3>
397 <pre class="programlisting">void user_function (<a class="link" href="PolKitGnomeToggleAction.html" title="PolKitGnomeToggleAction">PolKitGnomeToggleAction</a> *toggle_action,
398 <a
399 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
400 >gpointer</a> user_data) : Run Last</pre>
401 <p>
402 The ::toggled signal is emitted when the button is toggled.</p>
403 <p>
404
405 </p>
406 <div class="variablelist"><table border="0">
407 <col align="left" valign="top">
408 <tbody>
409 <tr>
410 <td><p><span class="term"><em class="parameter"><code>toggle_action</code></em> :</span></p></td>
411 <td> the object
412 </td>
413 </tr>
414 <tr>
415 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
416 <td>user data set when the signal handler was connected.</td>
417 </tr>
418 </tbody>
419 </table></div>
420 </div>
421 </div>
422 </div>
423 <div class="footer">
424 <hr>
425 Generated by GTK-Doc V1.10</div>
426 </body>
427 </html>
doc/html/auth-details.png less more
Binary diff not shown
doc/html/auth-retain-always.png less more
Binary diff not shown
doc/html/auth-retain-session.png less more
Binary diff not shown
doc/html/auth-root.png less more
Binary diff not shown
doc/html/auth-self.png less more
Binary diff not shown
doc/html/auth-wheel-group-1.png less more
Binary diff not shown
doc/html/auth-wheel-group-2.png less more
Binary diff not shown
doc/html/home.png less more
Binary diff not shown
+0
-88
doc/html/index.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>PolicyKit-gnome Library Reference Manual</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
6 <link rel="home" href="index.html" title="PolicyKit-gnome Library Reference Manual">
7 <link rel="next" href="ref-core.html" title="API Reference">
8 <meta name="generator" content="GTK-Doc V1.10 (XML mode)">
9 <link rel="stylesheet" href="style.css" type="text/css">
10 <link rel="reference" href="ref-core.html" title="API Reference">
11 <link rel="reference" href="ref-auth-daemon.html" title="Authentication Agent">
12 <link rel="appendix" href="license.html" title="Appendix A. License">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <div class="book" lang="en">
16 <div class="titlepage">
17 <div>
18 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">PolicyKit-gnome Library Reference Manual</p></th></tr></table></div>
19 <div><div class="authorgroup"><div class="author">
20 <h3 class="author">
21 <span class="firstname">David</span> <span class="surname">Zeuthen</span>
22 </h3>
23 <div class="affiliation"><div class="address"><p><br>
24     <code class="email">&lt;<a class="email" href="mailto:david@fubar.dk">david@fubar.dk</a>&gt;</code><br>
25   </p></div></div>
26 </div></div></div>
27 <div><p class="releaseinfo">Version 0.9.2
28 </p></div>
29 <div><p class="copyright">Copyright © 2007 The PolicyKit-gnome Authors</p></div>
30 <div><div class="legalnotice">
31 <a name="id532886"></a><p>
32 Permission is granted to copy, distribute and/or modify this
33 document under the terms of the <em class="citetitle">GNU Free
34 Documentation License</em>, Version 1.1 or any later
35 version published by the Free Software Foundation with no
36 Invariant Sections, no Front-Cover Texts, and no Back-Cover
37 Texts. You may obtain a copy of the <em class="citetitle">GNU Free
38 Documentation License</em> from the Free Software
39 Foundation by visiting <a class="ulink" href="http://www.fsf.org" target="_top">their Web site</a> or by writing
40 to:
41
42 </p>
43 <div class="address"><p><br>
44   The Free Software Foundation, Inc.,<br>
45   <span class="street">59 Temple Place</span> - Suite 330,<br>
46   <span class="city">Boston</span>, <span class="state">MA</span> <span class="postcode">02111-1307</span>,<br>
47   <span class="country">USA</span><br>
48 </p></div>
49 <p>
50 </p>
51 <p>
52 Many of the names used by companies to distinguish their
53 products and services are claimed as trademarks. Where those
54 names appear in any GNOME documentation, and those trademarks
55 are made aware to the members of the GNOME Documentation
56 Project, the names have been printed in caps or initial caps.
57 </p>
58 </div></div>
59 </div>
60 <hr>
61 </div>
62 <div class="toc"><dl>
63 <dt><span class="reference"><a href="ref-core.html">I. API Reference</a></span></dt>
64 <dd><dl>
65 <dt>
66 <span class="refentrytitle"><a href="PolKitGnomeContext.html">PolKitGnomeContext</a></span><span class="refpurpose"> — Convenience functions for using PolicyKit from GTK+ and GNOME applications.</span>
67 </dt>
68 <dt>
69 <span class="refentrytitle"><a href="PolKitGnomeAction.html">PolKitGnomeAction</a></span><span class="refpurpose"> — A GtkAction subclass where instances can be tied to a specific PolicyKit action.</span>
70 </dt>
71 <dt>
72 <span class="refentrytitle"><a href="PolKitGnomeToggleAction.html">PolKitGnomeToggleAction</a></span><span class="refpurpose"> — A GtkAction that can be toggled to
73 obtain and give up PolicyKit authorizations.</span>
74 </dt>
75 <dt>
76 <span class="refentrytitle"><a href="polkit-gnome-polkit-gnome-auth.html">Authentication Dialogs</a></span><span class="refpurpose"> — Show authentication dialogs to gain privileges</span>
77 </dt>
78 </dl></dd>
79 <dt><span class="reference"><a href="ref-auth-daemon.html">II. Authentication Agent</a></span></dt>
80 <dt><span class="appendix"><a href="license.html">A. License</a></span></dt>
81 </dl></div>
82 </div>
83 <div class="footer">
84 <hr>
85 Generated by GTK-Doc V1.10</div>
86 </body>
87 </html>
+0
-99
doc/html/index.sgml less more
0 <ANCHOR id="PolKitGnomeContext" href="polkit-gnome/PolKitGnomeContext.html">
1 <ANCHOR id="PolKitGnomeContext.synopsis" href="polkit-gnome/PolKitGnomeContext.html#PolKitGnomeContext.synopsis">
2 <ANCHOR id="PolKitGnomeContext.object-hierarchy" href="polkit-gnome/PolKitGnomeContext.html#PolKitGnomeContext.object-hierarchy">
3 <ANCHOR id="PolKitGnomeContext.signals" href="polkit-gnome/PolKitGnomeContext.html#PolKitGnomeContext.signals">
4 <ANCHOR id="PolKitGnomeContext.description" href="polkit-gnome/PolKitGnomeContext.html#PolKitGnomeContext.description">
5 <ANCHOR id="PolKitGnomeContext.details" href="polkit-gnome/PolKitGnomeContext.html#PolKitGnomeContext.details">
6 <ANCHOR id="POLKIT-GNOME-CONTEXT-ERROR:CAPS" href="polkit-gnome/PolKitGnomeContext.html#POLKIT-GNOME-CONTEXT-ERROR:CAPS">
7 <ANCHOR id="PolKitGnomeContextError" href="polkit-gnome/PolKitGnomeContext.html#PolKitGnomeContextError">
8 <ANCHOR id="PolKitGnomeContextPrivate" href="polkit-gnome/PolKitGnomeContext.html#PolKitGnomeContextPrivate">
9 <ANCHOR id="PolKitGnomeContext-struct" href="polkit-gnome/PolKitGnomeContext.html#PolKitGnomeContext-struct">
10 <ANCHOR id="polkit-gnome-context-get" href="polkit-gnome/PolKitGnomeContext.html#polkit-gnome-context-get">
11 <ANCHOR id="polkit-gnome-context-error-quark" href="polkit-gnome/PolKitGnomeContext.html#polkit-gnome-context-error-quark">
12 <ANCHOR id="PolKitGnomeContext.signal-details" href="polkit-gnome/PolKitGnomeContext.html#PolKitGnomeContext.signal-details">
13 <ANCHOR id="PolKitGnomeContext-config-changed" href="polkit-gnome/PolKitGnomeContext.html#PolKitGnomeContext-config-changed">
14 <ANCHOR id="PolKitGnomeContext-console-kit-db-changed" href="polkit-gnome/PolKitGnomeContext.html#PolKitGnomeContext-console-kit-db-changed">
15 <ANCHOR id="PolKitGnomeAction" href="polkit-gnome/PolKitGnomeAction.html">
16 <ANCHOR id="PolKitGnomeAction.synopsis" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction.synopsis">
17 <ANCHOR id="PolKitGnomeAction.object-hierarchy" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction.object-hierarchy">
18 <ANCHOR id="PolKitGnomeAction.implemented-interfaces" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction.implemented-interfaces">
19 <ANCHOR id="PolKitGnomeAction.properties" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction.properties">
20 <ANCHOR id="PolKitGnomeAction.signals" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction.signals">
21 <ANCHOR id="PolKitGnomeAction.description" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction.description">
22 <ANCHOR id="PolKitGnomeAction.details" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction.details">
23 <ANCHOR id="PolKitGnomeActionPrivate" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeActionPrivate">
24 <ANCHOR id="PolKitGnomeAction-struct" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction-struct">
25 <ANCHOR id="polkit-gnome-action-new" href="polkit-gnome/PolKitGnomeAction.html#polkit-gnome-action-new">
26 <ANCHOR id="polkit-gnome-action-new-default" href="polkit-gnome/PolKitGnomeAction.html#polkit-gnome-action-new-default">
27 <ANCHOR id="polkit-gnome-action-get-polkit-result" href="polkit-gnome/PolKitGnomeAction.html#polkit-gnome-action-get-polkit-result">
28 <ANCHOR id="polkit-gnome-action-get-sensitive" href="polkit-gnome/PolKitGnomeAction.html#polkit-gnome-action-get-sensitive">
29 <ANCHOR id="polkit-gnome-action-set-sensitive" href="polkit-gnome/PolKitGnomeAction.html#polkit-gnome-action-set-sensitive">
30 <ANCHOR id="polkit-gnome-action-get-visible" href="polkit-gnome/PolKitGnomeAction.html#polkit-gnome-action-get-visible">
31 <ANCHOR id="polkit-gnome-action-set-visible" href="polkit-gnome/PolKitGnomeAction.html#polkit-gnome-action-set-visible">
32 <ANCHOR id="polkit-gnome-action-create-button" href="polkit-gnome/PolKitGnomeAction.html#polkit-gnome-action-create-button">
33 <ANCHOR id="PolKitGnomeAction.property-details" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction.property-details">
34 <ANCHOR id="PolKitGnomeAction--auth-icon-name" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--auth-icon-name">
35 <ANCHOR id="PolKitGnomeAction--auth-label" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--auth-label">
36 <ANCHOR id="PolKitGnomeAction--auth-sensitive" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--auth-sensitive">
37 <ANCHOR id="PolKitGnomeAction--auth-short-label" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--auth-short-label">
38 <ANCHOR id="PolKitGnomeAction--auth-tooltip" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--auth-tooltip">
39 <ANCHOR id="PolKitGnomeAction--auth-visible" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--auth-visible">
40 <ANCHOR id="PolKitGnomeAction--master-sensitive" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--master-sensitive">
41 <ANCHOR id="PolKitGnomeAction--master-visible" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--master-visible">
42 <ANCHOR id="PolKitGnomeAction--no-icon-name" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--no-icon-name">
43 <ANCHOR id="PolKitGnomeAction--no-label" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--no-label">
44 <ANCHOR id="PolKitGnomeAction--no-sensitive" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--no-sensitive">
45 <ANCHOR id="PolKitGnomeAction--no-short-label" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--no-short-label">
46 <ANCHOR id="PolKitGnomeAction--no-tooltip" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--no-tooltip">
47 <ANCHOR id="PolKitGnomeAction--no-visible" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--no-visible">
48 <ANCHOR id="PolKitGnomeAction--polkit-action" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--polkit-action">
49 <ANCHOR id="PolKitGnomeAction--polkit-action-sufficient" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--polkit-action-sufficient">
50 <ANCHOR id="PolKitGnomeAction--self-blocked-icon-name" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-icon-name">
51 <ANCHOR id="PolKitGnomeAction--self-blocked-label" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-label">
52 <ANCHOR id="PolKitGnomeAction--self-blocked-sensitive" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-sensitive">
53 <ANCHOR id="PolKitGnomeAction--self-blocked-short-label" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-short-label">
54 <ANCHOR id="PolKitGnomeAction--self-blocked-tooltip" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-tooltip">
55 <ANCHOR id="PolKitGnomeAction--self-blocked-visible" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-visible">
56 <ANCHOR id="PolKitGnomeAction--target-pid" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--target-pid">
57 <ANCHOR id="PolKitGnomeAction--yes-icon-name" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--yes-icon-name">
58 <ANCHOR id="PolKitGnomeAction--yes-label" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--yes-label">
59 <ANCHOR id="PolKitGnomeAction--yes-sensitive" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--yes-sensitive">
60 <ANCHOR id="PolKitGnomeAction--yes-short-label" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--yes-short-label">
61 <ANCHOR id="PolKitGnomeAction--yes-tooltip" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--yes-tooltip">
62 <ANCHOR id="PolKitGnomeAction--yes-visible" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction--yes-visible">
63 <ANCHOR id="PolKitGnomeAction.signal-details" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction.signal-details">
64 <ANCHOR id="PolKitGnomeAction-auth-end" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction-auth-end">
65 <ANCHOR id="PolKitGnomeAction-auth-start" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction-auth-start">
66 <ANCHOR id="PolKitGnomeAction-polkit-result-changed" href="polkit-gnome/PolKitGnomeAction.html#PolKitGnomeAction-polkit-result-changed">
67 <ANCHOR id="PolKitGnomeToggleAction" href="polkit-gnome/PolKitGnomeToggleAction.html">
68 <ANCHOR id="PolKitGnomeToggleAction.synopsis" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction.synopsis">
69 <ANCHOR id="PolKitGnomeToggleAction.object-hierarchy" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction.object-hierarchy">
70 <ANCHOR id="PolKitGnomeToggleAction.implemented-interfaces" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction.implemented-interfaces">
71 <ANCHOR id="PolKitGnomeToggleAction.properties" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction.properties">
72 <ANCHOR id="PolKitGnomeToggleAction.signals" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction.signals">
73 <ANCHOR id="PolKitGnomeToggleAction.description" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction.description">
74 <ANCHOR id="PolKitGnomeToggleAction.details" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction.details">
75 <ANCHOR id="PolKitGnomeToggleActionPrivate" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleActionPrivate">
76 <ANCHOR id="PolKitGnomeToggleAction-struct" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction-struct">
77 <ANCHOR id="polkit-gnome-toggle-action-new" href="polkit-gnome/PolKitGnomeToggleAction.html#polkit-gnome-toggle-action-new">
78 <ANCHOR id="polkit-gnome-toggle-action-new-default" href="polkit-gnome/PolKitGnomeToggleAction.html#polkit-gnome-toggle-action-new-default">
79 <ANCHOR id="polkit-gnome-toggle-action-create-toggle-button" href="polkit-gnome/PolKitGnomeToggleAction.html#polkit-gnome-toggle-action-create-toggle-button">
80 <ANCHOR id="PolKitGnomeToggleAction.property-details" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction.property-details">
81 <ANCHOR id="PolKitGnomeToggleAction--auth-underway-icon-name" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-icon-name">
82 <ANCHOR id="PolKitGnomeToggleAction--auth-underway-label" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-label">
83 <ANCHOR id="PolKitGnomeToggleAction--auth-underway-sensitive" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-sensitive">
84 <ANCHOR id="PolKitGnomeToggleAction--auth-underway-short-label" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-short-label">
85 <ANCHOR id="PolKitGnomeToggleAction--auth-underway-tooltip" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-tooltip">
86 <ANCHOR id="PolKitGnomeToggleAction--auth-underway-visible" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-visible">
87 <ANCHOR id="PolKitGnomeToggleAction.signal-details" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction.signal-details">
88 <ANCHOR id="PolKitGnomeToggleAction-toggled" href="polkit-gnome/PolKitGnomeToggleAction.html#PolKitGnomeToggleAction-toggled">
89 <ANCHOR id="polkit-gnome-polkit-gnome-auth" href="polkit-gnome/polkit-gnome-polkit-gnome-auth.html">
90 <ANCHOR id="polkit-gnome-polkit-gnome-auth.synopsis" href="polkit-gnome/polkit-gnome-polkit-gnome-auth.html#polkit-gnome-polkit-gnome-auth.synopsis">
91 <ANCHOR id="polkit-gnome-polkit-gnome-auth.description" href="polkit-gnome/polkit-gnome-polkit-gnome-auth.html#polkit-gnome-polkit-gnome-auth.description">
92 <ANCHOR id="polkit-gnome-polkit-gnome-auth.details" href="polkit-gnome/polkit-gnome-polkit-gnome-auth.html#polkit-gnome-polkit-gnome-auth.details">
93 <ANCHOR id="PolKitGnomeAuthCB" href="polkit-gnome/polkit-gnome-polkit-gnome-auth.html#PolKitGnomeAuthCB">
94 <ANCHOR id="polkit-gnome-auth-obtain" href="polkit-gnome/polkit-gnome-polkit-gnome-auth.html#polkit-gnome-auth-obtain">
95 <ANCHOR id="ref-auth-daemon-overview" href="polkit-gnome/ref-auth-daemon.html#ref-auth-daemon-overview">
96 <ANCHOR id="ref-auth-daemon-overview-dbus" href="polkit-gnome/ref-auth-daemon.html#ref-auth-daemon-overview-dbus">
97 <ANCHOR id="ref-auth-daemon-operation" href="polkit-gnome/ref-auth-daemon.html#ref-auth-daemon-operation">
98 <ANCHOR id="ref-auth-daemon-ui-elements" href="polkit-gnome/ref-auth-daemon.html#ref-auth-daemon-ui-elements">
doc/html/left.png less more
Binary diff not shown
+0
-50
doc/html/license.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>Appendix A. License</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
6 <link rel="home" href="index.html" title="PolicyKit-gnome Library Reference Manual">
7 <link rel="up" href="index.html" title="PolicyKit-gnome Library Reference Manual">
8 <link rel="prev" href="ref-auth-daemon.html" title="Authentication Agent">
9 <meta name="generator" content="GTK-Doc V1.10 (XML mode)">
10 <link rel="stylesheet" href="style.css" type="text/css">
11 <link rel="reference" href="ref-core.html" title="API Reference">
12 <link rel="reference" href="ref-auth-daemon.html" title="Authentication Agent">
13 <link rel="appendix" href="license.html" title="Appendix A. License">
14 </head>
15 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
16 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
17 <td><a accesskey="p" href="ref-auth-daemon.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td> </td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">PolicyKit-gnome Library Reference Manual</th>
21 <td> </td>
22 </tr></table>
23 <div class="appendix" lang="en">
24 <div class="titlepage"><div><div><h2 class="title">
25 <a name="license"></a>Appendix A. License</h2></div></div></div>
26 <p>
27 The polkit-gnome library (polkit-gnome/*) is licensed to you
28 under the GNU Lesser General Public License version 2 or
29 later.
30 </p>
31 <p>
32 The PolicyKit GNOME authentication D-Bus service (src/*) is
33 licensed to you under the GNU General Public License version 2
34 or later.
35 </p>
36 <p>
37 Both licenses are included here. Some individual source code
38 files and/or binaries may be under the GPL only.
39 </p>
40 <p>
41 Each source code file is marked with the proper copyright
42 information.
43 </p>
44 </div>
45 <div class="footer">
46 <hr>
47 Generated by GTK-Doc V1.10</div>
48 </body>
49 </html>
doc/html/polkit-gnome-example-auth-dialog-twiddle.png less more
Binary diff not shown
doc/html/polkit-gnome-example-screenshot-authorized.png less more
Binary diff not shown
doc/html/polkit-gnome-example-screenshot.png less more
Binary diff not shown
+0
-236
doc/html/polkit-gnome-polkit-gnome-auth.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>Authentication Dialogs</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
6 <link rel="home" href="index.html" title="PolicyKit-gnome Library Reference Manual">
7 <link rel="up" href="ref-core.html" title="API Reference">
8 <link rel="prev" href="PolKitGnomeToggleAction.html" title="PolKitGnomeToggleAction">
9 <link rel="next" href="ref-auth-daemon.html" title="Authentication Agent">
10 <meta name="generator" content="GTK-Doc V1.10 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 <link rel="reference" href="ref-core.html" title="API Reference">
13 <link rel="reference" href="ref-auth-daemon.html" title="Authentication Agent">
14 <link rel="appendix" href="license.html" title="Appendix A. License">
15 </head>
16 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
17 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
18 <tr valign="middle">
19 <td><a accesskey="p" href="PolKitGnomeToggleAction.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
20 <td><a accesskey="u" href="ref-core.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
21 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
22 <th width="100%" align="center">PolicyKit-gnome Library Reference Manual</th>
23 <td><a accesskey="n" href="ref-auth-daemon.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
24 </tr>
25 <tr><td colspan="5" class="shortcuts"><nobr><a href="#polkit-gnome-polkit-gnome-auth.synopsis" class="shortcut">Top</a>
26  | 
27 <a href="#polkit-gnome-polkit-gnome-auth.description" class="shortcut">Description</a></nobr></td></tr>
28 </table>
29 <div class="refentry" lang="en">
30 <a name="polkit-gnome-polkit-gnome-auth"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
32 <td valign="top">
33 <h2><span class="refentrytitle"><a name="polkit-gnome-polkit-gnome-auth.top_of_page"></a>Authentication Dialogs</span></h2>
34 <p>Authentication Dialogs — Show authentication dialogs to gain privileges</p>
35 </td>
36 <td valign="top" align="right"></td>
37 </tr></table></div>
38 <div class="refsynopsisdiv">
39 <a name="polkit-gnome-polkit-gnome-auth.synopsis"></a><h2>Synopsis</h2>
40 <pre class="synopsis">
41 void (<a class="link" href="polkit-gnome-polkit-gnome-auth.html#PolKitGnomeAuthCB" title="PolKitGnomeAuthCB ()">*PolKitGnomeAuthCB</a>) (<a
42 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
43 >PolKitAction</a> *action,
44 <a
45 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
46 >gboolean</a> gained_privilege,
47 <a
48 href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"
49 >GError</a> *error,
50 <a
51 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
52 >gpointer</a> user_data);
53 <a
54 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
55 >gboolean</a> <a class="link" href="polkit-gnome-polkit-gnome-auth.html#polkit-gnome-auth-obtain" title="polkit_gnome_auth_obtain ()">polkit_gnome_auth_obtain</a> (<a
56 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
57 >PolKitAction</a> *action,
58 <a
59 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"
60 >guint</a> xid,
61 pid_t pid,
62 <a class="link" href="polkit-gnome-polkit-gnome-auth.html#PolKitGnomeAuthCB" title="PolKitGnomeAuthCB ()">PolKitGnomeAuthCB</a> callback,
63 <a
64 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
65 >gpointer</a> user_data,
66 <a
67 href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"
68 >GError</a> **error);
69 </pre>
70 </div>
71 <div class="refsect1" lang="en">
72 <a name="polkit-gnome-polkit-gnome-auth.description"></a><h2>Description</h2>
73 <p>
74 Show authentication dialogs to gain privileges.</p>
75 <p>
76
77 </p>
78 </div>
79 <div class="refsect1" lang="en">
80 <a name="polkit-gnome-polkit-gnome-auth.details"></a><h2>Details</h2>
81 <div class="refsect2" lang="en">
82 <a name="PolKitGnomeAuthCB"></a><h3>PolKitGnomeAuthCB ()</h3>
83 <pre class="programlisting">void (*PolKitGnomeAuthCB) (<a
84 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
85 >PolKitAction</a> *action,
86 <a
87 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
88 >gboolean</a> gained_privilege,
89 <a
90 href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"
91 >GError</a> *error,
92 <a
93 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
94 >gpointer</a> user_data);</pre>
95 <p>
96 The type of the callback function for
97 <code class="function">polkit_gnome_auth_show_dialog()</code>.</p>
98 <p>
99
100 </p>
101 <div class="variablelist"><table border="0">
102 <col align="left" valign="top">
103 <tbody>
104 <tr>
105 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
106 <td> the <a
107 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
108 ><span class="type">PolKitAction</span></a> passed in <code class="function">polkit_gnome_auth_show_dialog()</code>
109 </td>
110 </tr>
111 <tr>
112 <td><p><span class="term"><em class="parameter"><code>gained_privilege</code></em> :</span></p></td>
113 <td> whether the user gained the privilege. Set to
114 <a
115 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"
116 ><span class="type">FALSE</span></a> if error is set. If set to <a
117 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"
118 ><span class="type">TRUE</span></a>, error will not be set.
119 </td>
120 </tr>
121 <tr>
122 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
123 <td> if the call failed, this parameter will be non-<a
124 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"
125 ><span class="type">NULL</span></a>. The
126 callee shall free the error.
127 </td>
128 </tr>
129 <tr>
130 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
131 <td> user data
132 </td>
133 </tr>
134 </tbody>
135 </table></div>
136 </div>
137 <hr>
138 <div class="refsect2" lang="en">
139 <a name="polkit-gnome-auth-obtain"></a><h3>polkit_gnome_auth_obtain ()</h3>
140 <pre class="programlisting"><a
141 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
142 >gboolean</a> polkit_gnome_auth_obtain (<a
143 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
144 >PolKitAction</a> *action,
145 <a
146 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"
147 >guint</a> xid,
148 pid_t pid,
149 <a class="link" href="polkit-gnome-polkit-gnome-auth.html#PolKitGnomeAuthCB" title="PolKitGnomeAuthCB ()">PolKitGnomeAuthCB</a> callback,
150 <a
151 href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
152 >gpointer</a> user_data,
153 <a
154 href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"
155 >GError</a> **error);</pre>
156 <p>
157 Applications can use this function to show a dialog for the user
158 asking her to authenticate in order to gain privileges to do the
159 given action. The authentication, for security reasons, happens in
160 a separate process; this function is merely a wrapper around a
161 D-Bus call across the session message bus to the
162 <code class="literal">org.freedesktop.PolicyKit.AuthenticationAgent</code>
163 service. Depending on the setup, this may be the Authentication
164 Agent shipped with PolicyKit-gnome or it may be another
165 implementation. For example, if the user is in KDE it may be an
166 Authentication Agent using the Qt toolkit.
167 </p>
168 <p>
169 The Authentication Agent shipped with PolicyKit-gnome is described
170 in <a class="link" href="ref-auth-daemon.html" title="Authentication Agent">this section</a>.
171 </p>
172 <p>
173 This function is similar to the <a
174 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-simple.html#polkit-auth-obtain"
175 ><code class="function">polkit_auth_obtain()</code></a> function
176 supplied in <code class="literal">libpolkit-dbus</code> except that this
177 function is asynchronous.</p>
178 <p>
179
180 </p>
181 <div class="variablelist"><table border="0">
182 <col align="left" valign="top">
183 <tbody>
184 <tr>
185 <td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
186 <td> The <a
187 href="/usr/share/gtk-doc/html/polkit-1/polkit-1-polkit-action.html#PolKitAction"
188 ><span class="type">PolKitAction</span></a> to make the user authenticate for
189 </td>
190 </tr>
191 <tr>
192 <td><p><span class="term"><em class="parameter"><code>xid</code></em> :</span></p></td>
193 <td> X11 window ID for the window that the dialog will be transient for. If there is no window, pass 0.
194 </td>
195 </tr>
196 <tr>
197 <td><p><span class="term"><em class="parameter"><code>pid</code></em> :</span></p></td>
198 <td> Process ID of process to grant authorization to. Normally one wants to pass result of <code class="function">getpid()</code>.
199 </td>
200 </tr>
201 <tr>
202 <td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
203 <td> Function to call when authentication is done
204 </td>
205 </tr>
206 <tr>
207 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
208 <td> Data to pass to the callback function
209 </td>
210 </tr>
211 <tr>
212 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
213 <td> Return location for error
214 </td>
215 </tr>
216 <tr>
217 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
218 <td> <a
219 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"
220 ><span class="type">TRUE</span></a> if the authentication session was scheduled to
221 start. <a
222 href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"
223 ><span class="type">FALSE</span></a> if error is set (and no callback will be made).
224 </td>
225 </tr>
226 </tbody>
227 </table></div>
228 </div>
229 </div>
230 </div>
231 <div class="footer">
232 <hr>
233 Generated by GTK-Doc V1.10</div>
234 </body>
235 </html>
+0
-80
doc/html/polkit-gnome.devhelp less more
0 <?xml version="1.0" encoding="utf-8" standalone="no"?>
1 <!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
2 <book xmlns="http://www.devhelp.net/book" title="PolicyKit-gnome Library Reference Manual" link="index.html" author="David Zeuthen" name="polkit-gnome">
3 <chapters>
4 <sub name="API Reference" link="ref-core.html">
5 <sub name="PolKitGnomeContext" link="PolKitGnomeContext.html"/>
6 <sub name="PolKitGnomeAction" link="PolKitGnomeAction.html"/>
7 <sub name="PolKitGnomeToggleAction" link="PolKitGnomeToggleAction.html"/>
8 <sub name="Authentication Dialogs" link="polkit-gnome-polkit-gnome-auth.html"/>
9 </sub>
10 <sub name="Authentication Agent" link="ref-auth-daemon.html"/>
11 <sub name="License" link="license.html"/>
12 </chapters>
13 <functions>
14 <function name="POLKIT_GNOME_CONTEXT_ERROR" link="PolKitGnomeContext.html#POLKIT-GNOME-CONTEXT-ERROR:CAPS"/>
15 <function name="enum PolKitGnomeContextError" link="PolKitGnomeContext.html#PolKitGnomeContextError"/>
16 <function name="PolKitGnomeContextPrivate" link="PolKitGnomeContext.html#PolKitGnomeContextPrivate"/>
17 <function name="PolKitGnomeContext" link="PolKitGnomeContext.html#PolKitGnomeContext-struct"/>
18 <function name="polkit_gnome_context_get ()" link="PolKitGnomeContext.html#polkit-gnome-context-get"/>
19 <function name="polkit_gnome_context_error_quark ()" link="PolKitGnomeContext.html#polkit-gnome-context-error-quark"/>
20 <function name="The &quot;config-changed&quot; signal" link="PolKitGnomeContext.html#PolKitGnomeContext-config-changed"/>
21 <function name="The &quot;console-kit-db-changed&quot; signal" link="PolKitGnomeContext.html#PolKitGnomeContext-console-kit-db-changed"/>
22 <function name="PolKitGnomeActionPrivate" link="PolKitGnomeAction.html#PolKitGnomeActionPrivate"/>
23 <function name="PolKitGnomeAction" link="PolKitGnomeAction.html#PolKitGnomeAction-struct"/>
24 <function name="polkit_gnome_action_new ()" link="PolKitGnomeAction.html#polkit-gnome-action-new"/>
25 <function name="polkit_gnome_action_new_default ()" link="PolKitGnomeAction.html#polkit-gnome-action-new-default"/>
26 <function name="polkit_gnome_action_get_polkit_result ()" link="PolKitGnomeAction.html#polkit-gnome-action-get-polkit-result"/>
27 <function name="polkit_gnome_action_get_sensitive ()" link="PolKitGnomeAction.html#polkit-gnome-action-get-sensitive"/>
28 <function name="polkit_gnome_action_set_sensitive ()" link="PolKitGnomeAction.html#polkit-gnome-action-set-sensitive"/>
29 <function name="polkit_gnome_action_get_visible ()" link="PolKitGnomeAction.html#polkit-gnome-action-get-visible"/>
30 <function name="polkit_gnome_action_set_visible ()" link="PolKitGnomeAction.html#polkit-gnome-action-set-visible"/>
31 <function name="polkit_gnome_action_create_button ()" link="PolKitGnomeAction.html#polkit-gnome-action-create-button"/>
32 <function name="The &quot;auth-icon-name&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--auth-icon-name"/>
33 <function name="The &quot;auth-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--auth-label"/>
34 <function name="The &quot;auth-sensitive&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--auth-sensitive"/>
35 <function name="The &quot;auth-short-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--auth-short-label"/>
36 <function name="The &quot;auth-tooltip&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--auth-tooltip"/>
37 <function name="The &quot;auth-visible&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--auth-visible"/>
38 <function name="The &quot;master-sensitive&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--master-sensitive"/>
39 <function name="The &quot;master-visible&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--master-visible"/>
40 <function name="The &quot;no-icon-name&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--no-icon-name"/>
41 <function name="The &quot;no-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--no-label"/>
42 <function name="The &quot;no-sensitive&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--no-sensitive"/>
43 <function name="The &quot;no-short-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--no-short-label"/>
44 <function name="The &quot;no-tooltip&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--no-tooltip"/>
45 <function name="The &quot;no-visible&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--no-visible"/>
46 <function name="The &quot;polkit-action&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--polkit-action"/>
47 <function name="The &quot;polkit-action-sufficient&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--polkit-action-sufficient"/>
48 <function name="The &quot;self-blocked-icon-name&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-icon-name"/>
49 <function name="The &quot;self-blocked-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-label"/>
50 <function name="The &quot;self-blocked-sensitive&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-sensitive"/>
51 <function name="The &quot;self-blocked-short-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-short-label"/>
52 <function name="The &quot;self-blocked-tooltip&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-tooltip"/>
53 <function name="The &quot;self-blocked-visible&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-visible"/>
54 <function name="The &quot;target-pid&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--target-pid"/>
55 <function name="The &quot;yes-icon-name&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--yes-icon-name"/>
56 <function name="The &quot;yes-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--yes-label"/>
57 <function name="The &quot;yes-sensitive&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--yes-sensitive"/>
58 <function name="The &quot;yes-short-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--yes-short-label"/>
59 <function name="The &quot;yes-tooltip&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--yes-tooltip"/>
60 <function name="The &quot;yes-visible&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--yes-visible"/>
61 <function name="The &quot;auth-end&quot; signal" link="PolKitGnomeAction.html#PolKitGnomeAction-auth-end"/>
62 <function name="The &quot;auth-start&quot; signal" link="PolKitGnomeAction.html#PolKitGnomeAction-auth-start"/>
63 <function name="The &quot;polkit-result-changed&quot; signal" link="PolKitGnomeAction.html#PolKitGnomeAction-polkit-result-changed"/>
64 <function name="PolKitGnomeToggleActionPrivate" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleActionPrivate"/>
65 <function name="PolKitGnomeToggleAction" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction-struct"/>
66 <function name="polkit_gnome_toggle_action_new ()" link="PolKitGnomeToggleAction.html#polkit-gnome-toggle-action-new"/>
67 <function name="polkit_gnome_toggle_action_new_default ()" link="PolKitGnomeToggleAction.html#polkit-gnome-toggle-action-new-default"/>
68 <function name="polkit_gnome_toggle_action_create_toggle_button ()" link="PolKitGnomeToggleAction.html#polkit-gnome-toggle-action-create-toggle-button"/>
69 <function name="The &quot;auth-underway-icon-name&quot; property" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-icon-name"/>
70 <function name="The &quot;auth-underway-label&quot; property" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-label"/>
71 <function name="The &quot;auth-underway-sensitive&quot; property" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-sensitive"/>
72 <function name="The &quot;auth-underway-short-label&quot; property" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-short-label"/>
73 <function name="The &quot;auth-underway-tooltip&quot; property" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-tooltip"/>
74 <function name="The &quot;auth-underway-visible&quot; property" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-visible"/>
75 <function name="The &quot;toggled&quot; signal" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction-toggled"/>
76 <function name="PolKitGnomeAuthCB ()" link="polkit-gnome-polkit-gnome-auth.html#PolKitGnomeAuthCB"/>
77 <function name="polkit_gnome_auth_obtain ()" link="polkit-gnome-polkit-gnome-auth.html#polkit-gnome-auth-obtain"/>
78 </functions>
79 </book>
+0
-80
doc/html/polkit-gnome.devhelp2 less more
0 <?xml version="1.0" encoding="utf-8" standalone="no"?>
1 <!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
2 <book xmlns="http://www.devhelp.net/book" title="PolicyKit-gnome Library Reference Manual" link="index.html" author="David Zeuthen" name="polkit-gnome" version="2">
3 <chapters>
4 <sub name="API Reference" link="ref-core.html">
5 <sub name="PolKitGnomeContext" link="PolKitGnomeContext.html"/>
6 <sub name="PolKitGnomeAction" link="PolKitGnomeAction.html"/>
7 <sub name="PolKitGnomeToggleAction" link="PolKitGnomeToggleAction.html"/>
8 <sub name="Authentication Dialogs" link="polkit-gnome-polkit-gnome-auth.html"/>
9 </sub>
10 <sub name="Authentication Agent" link="ref-auth-daemon.html"/>
11 <sub name="License" link="license.html"/>
12 </chapters>
13 <functions>
14 <keyword type="macro" name="POLKIT_GNOME_CONTEXT_ERROR" link="PolKitGnomeContext.html#POLKIT-GNOME-CONTEXT-ERROR:CAPS"/>
15 <keyword type="enum" name="enum PolKitGnomeContextError" link="PolKitGnomeContext.html#PolKitGnomeContextError"/>
16 <keyword type="struct" name="PolKitGnomeContextPrivate" link="PolKitGnomeContext.html#PolKitGnomeContextPrivate"/>
17 <keyword type="struct" name="PolKitGnomeContext" link="PolKitGnomeContext.html#PolKitGnomeContext-struct"/>
18 <keyword type="function" name="polkit_gnome_context_get ()" link="PolKitGnomeContext.html#polkit-gnome-context-get"/>
19 <keyword type="function" name="polkit_gnome_context_error_quark ()" link="PolKitGnomeContext.html#polkit-gnome-context-error-quark"/>
20 <keyword type="" name="The &quot;config-changed&quot; signal" link="PolKitGnomeContext.html#PolKitGnomeContext-config-changed"/>
21 <keyword type="" name="The &quot;console-kit-db-changed&quot; signal" link="PolKitGnomeContext.html#PolKitGnomeContext-console-kit-db-changed"/>
22 <keyword type="struct" name="PolKitGnomeActionPrivate" link="PolKitGnomeAction.html#PolKitGnomeActionPrivate"/>
23 <keyword type="struct" name="PolKitGnomeAction" link="PolKitGnomeAction.html#PolKitGnomeAction-struct"/>
24 <keyword type="function" name="polkit_gnome_action_new ()" link="PolKitGnomeAction.html#polkit-gnome-action-new"/>
25 <keyword type="function" name="polkit_gnome_action_new_default ()" link="PolKitGnomeAction.html#polkit-gnome-action-new-default"/>
26 <keyword type="function" name="polkit_gnome_action_get_polkit_result ()" link="PolKitGnomeAction.html#polkit-gnome-action-get-polkit-result"/>
27 <keyword type="function" name="polkit_gnome_action_get_sensitive ()" link="PolKitGnomeAction.html#polkit-gnome-action-get-sensitive"/>
28 <keyword type="function" name="polkit_gnome_action_set_sensitive ()" link="PolKitGnomeAction.html#polkit-gnome-action-set-sensitive"/>
29 <keyword type="function" name="polkit_gnome_action_get_visible ()" link="PolKitGnomeAction.html#polkit-gnome-action-get-visible"/>
30 <keyword type="function" name="polkit_gnome_action_set_visible ()" link="PolKitGnomeAction.html#polkit-gnome-action-set-visible"/>
31 <keyword type="function" name="polkit_gnome_action_create_button ()" link="PolKitGnomeAction.html#polkit-gnome-action-create-button"/>
32 <keyword type="" name="The &quot;auth-icon-name&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--auth-icon-name"/>
33 <keyword type="" name="The &quot;auth-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--auth-label"/>
34 <keyword type="" name="The &quot;auth-sensitive&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--auth-sensitive"/>
35 <keyword type="" name="The &quot;auth-short-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--auth-short-label"/>
36 <keyword type="" name="The &quot;auth-tooltip&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--auth-tooltip"/>
37 <keyword type="" name="The &quot;auth-visible&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--auth-visible"/>
38 <keyword type="" name="The &quot;master-sensitive&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--master-sensitive"/>
39 <keyword type="" name="The &quot;master-visible&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--master-visible"/>
40 <keyword type="" name="The &quot;no-icon-name&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--no-icon-name"/>
41 <keyword type="" name="The &quot;no-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--no-label"/>
42 <keyword type="" name="The &quot;no-sensitive&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--no-sensitive"/>
43 <keyword type="" name="The &quot;no-short-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--no-short-label"/>
44 <keyword type="" name="The &quot;no-tooltip&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--no-tooltip"/>
45 <keyword type="" name="The &quot;no-visible&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--no-visible"/>
46 <keyword type="" name="The &quot;polkit-action&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--polkit-action"/>
47 <keyword type="" name="The &quot;polkit-action-sufficient&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--polkit-action-sufficient"/>
48 <keyword type="" name="The &quot;self-blocked-icon-name&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-icon-name"/>
49 <keyword type="" name="The &quot;self-blocked-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-label"/>
50 <keyword type="" name="The &quot;self-blocked-sensitive&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-sensitive"/>
51 <keyword type="" name="The &quot;self-blocked-short-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-short-label"/>
52 <keyword type="" name="The &quot;self-blocked-tooltip&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-tooltip"/>
53 <keyword type="" name="The &quot;self-blocked-visible&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--self-blocked-visible"/>
54 <keyword type="" name="The &quot;target-pid&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--target-pid"/>
55 <keyword type="" name="The &quot;yes-icon-name&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--yes-icon-name"/>
56 <keyword type="" name="The &quot;yes-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--yes-label"/>
57 <keyword type="" name="The &quot;yes-sensitive&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--yes-sensitive"/>
58 <keyword type="" name="The &quot;yes-short-label&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--yes-short-label"/>
59 <keyword type="" name="The &quot;yes-tooltip&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--yes-tooltip"/>
60 <keyword type="" name="The &quot;yes-visible&quot; property" link="PolKitGnomeAction.html#PolKitGnomeAction--yes-visible"/>
61 <keyword type="" name="The &quot;auth-end&quot; signal" link="PolKitGnomeAction.html#PolKitGnomeAction-auth-end"/>
62 <keyword type="" name="The &quot;auth-start&quot; signal" link="PolKitGnomeAction.html#PolKitGnomeAction-auth-start"/>
63 <keyword type="" name="The &quot;polkit-result-changed&quot; signal" link="PolKitGnomeAction.html#PolKitGnomeAction-polkit-result-changed"/>
64 <keyword type="struct" name="PolKitGnomeToggleActionPrivate" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleActionPrivate"/>
65 <keyword type="struct" name="PolKitGnomeToggleAction" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction-struct"/>
66 <keyword type="function" name="polkit_gnome_toggle_action_new ()" link="PolKitGnomeToggleAction.html#polkit-gnome-toggle-action-new"/>
67 <keyword type="function" name="polkit_gnome_toggle_action_new_default ()" link="PolKitGnomeToggleAction.html#polkit-gnome-toggle-action-new-default"/>
68 <keyword type="function" name="polkit_gnome_toggle_action_create_toggle_button ()" link="PolKitGnomeToggleAction.html#polkit-gnome-toggle-action-create-toggle-button"/>
69 <keyword type="" name="The &quot;auth-underway-icon-name&quot; property" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-icon-name"/>
70 <keyword type="" name="The &quot;auth-underway-label&quot; property" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-label"/>
71 <keyword type="" name="The &quot;auth-underway-sensitive&quot; property" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-sensitive"/>
72 <keyword type="" name="The &quot;auth-underway-short-label&quot; property" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-short-label"/>
73 <keyword type="" name="The &quot;auth-underway-tooltip&quot; property" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-tooltip"/>
74 <keyword type="" name="The &quot;auth-underway-visible&quot; property" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction--auth-underway-visible"/>
75 <keyword type="" name="The &quot;toggled&quot; signal" link="PolKitGnomeToggleAction.html#PolKitGnomeToggleAction-toggled"/>
76 <keyword type="function" name="PolKitGnomeAuthCB ()" link="polkit-gnome-polkit-gnome-auth.html#PolKitGnomeAuthCB"/>
77 <keyword type="function" name="polkit_gnome_auth_obtain ()" link="polkit-gnome-polkit-gnome-auth.html#polkit-gnome-auth-obtain"/>
78 </functions>
79 </book>
+0
-218
doc/html/ref-auth-daemon.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>Authentication Agent</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
6 <link rel="home" href="index.html" title="PolicyKit-gnome Library Reference Manual">
7 <link rel="up" href="index.html" title="PolicyKit-gnome Library Reference Manual">
8 <link rel="prev" href="polkit-gnome-polkit-gnome-auth.html" title="Authentication Dialogs">
9 <link rel="next" href="license.html" title="Appendix A. License">
10 <meta name="generator" content="GTK-Doc V1.10 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 <link rel="reference" href="ref-core.html" title="API Reference">
13 <link rel="reference" href="ref-auth-daemon.html" title="Authentication Agent">
14 <link rel="appendix" href="license.html" title="Appendix A. License">
15 </head>
16 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
17 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
18 <td><a accesskey="p" href="polkit-gnome-polkit-gnome-auth.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
19 <td> </td>
20 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
21 <th width="100%" align="center">PolicyKit-gnome Library Reference Manual</th>
22 <td><a accesskey="n" href="license.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 </tr></table>
24 <div class="reference" lang="en">
25 <div class="titlepage">
26 <div><div><h1 class="title">
27 <a name="ref-auth-daemon"></a>Authentication Agent</h1></div></div>
28 <hr>
29 </div>
30 <div class="partintro" lang="en">
31 <div></div>
32 <p>
33 This part discusses the GNOME/GTK+ specific Authentication
34 Agent.
35 </p>
36 </div>
37 <div class="refsect1" lang="en">
38 <a name="ref-auth-daemon-overview"></a><h2>Overview</h2>
39 <p>
40 The PolicyKit model provides letting an user authenticate in
41 order to gain the privilege to let a Mechanism carry work out
42 related to a specific Action on the users behalf. In the
43 PolicyKit libraries, this functionality is programmatically
44 exposed in the PolKitGrant class. As it's tedious to use this
45 low-level functionality from a GTK+ or GNOME application, the
46 high-level functionality is wrapped in a D-Bus service
47 available on the session message bus. The way it works is that
48 when an application needs privileges, it can call into this
49 D-Bus service and an authentication dialog will appear. When
50 the user is done with the authentication dialog, the
51 application recieves a reply from the D-Bus containing a
52 boolean indicating whether the user gained the privilege or
53 not.
54 </p>
55 </div>
56 <div class="refsect1" lang="en">
57 <a name="ref-auth-daemon-overview-dbus"></a><h2>D-Bus interface</h2>
58 <p>
59 The D-Bus service is available on the session message bus with
60 the
61 name <code class="literal">org.freedesktop.PolicyKit.AuthenticationAgent</code>
62 and exports a single object <code class="literal">/</code> that
63 implements the
64 interface <code class="literal">org.freedesktop.PolicyKit.AuthenticationAgent</code>. The
65 D-Bus introspection XML looks like this
66 </p>
67 <pre class="programlisting">&lt;!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
68 "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"&gt;
69
70 &lt;node name="/"&gt;
71
72 &lt;!-- this interface is deprecated and will be removed in a future release --&gt;
73 &lt;interface name="org.gnome.PolicyKit.Manager"&gt;
74 &lt;method name="ShowDialog"&gt;
75 &lt;annotation name="org.freedesktop.DBus.GLib.Async" value=""/&gt;
76
77 &lt;!-- IN: PolicyKit action identifier; see PolKitAction --&gt;
78 &lt;arg name="action_id" direction="in" type="s"/&gt;
79
80 &lt;!-- IN: X11 window ID for the top-level X11 window the dialog will be transient for. --&gt;
81 &lt;arg name="xid" direction="in" type="u"/&gt;
82
83 &lt;!-- OUT: whether the user gained the authorization --&gt;
84 &lt;arg name="gained_authorization" direction="out" type="b"/&gt;
85
86 &lt;/method&gt;
87 &lt;/interface&gt;
88
89 &lt;interface name="org.freedesktop.PolicyKit.AuthenticationAgent"&gt;
90 &lt;method name="ObtainAuthorization"&gt;
91 &lt;annotation name="org.freedesktop.DBus.GLib.Async" value=""/&gt;
92
93 &lt;!-- IN: PolicyKit action identifier; see PolKitAction --&gt;
94 &lt;arg name="action_id" direction="in" type="s"/&gt;
95
96 &lt;!-- IN: X11 window ID for the top-level X11 window the dialog will be transient for. --&gt;
97 &lt;arg name="xid" direction="in" type="u"/&gt;
98
99 &lt;!-- IN: Process ID to grant authorization to --&gt;
100 &lt;arg name="pid" direction="in" type="u"/&gt;
101
102 &lt;!-- OUT: whether the user gained the authorization --&gt;
103 &lt;arg name="gained_authorization" direction="out" type="b"/&gt;
104
105 &lt;/method&gt;
106 &lt;/interface&gt;
107
108 &lt;/node&gt;
109 </pre>
110 <p>
111 The <code class="literal">ObtainAuthorization()</code> method may throw
112 an exception if another client is currently using the service
113 to show an authentication dialog. In practice this should
114 never happen because the authentication daemon grabs the X11
115 keyboard and pointer thus preventing the user from activating
116 widgets in other applications that would lead to calling into
117 the <code class="literal">ObtainAuthorization</code> method.
118 </p>
119 </div>
120 <div class="refsect1" lang="en">
121 <a name="ref-auth-daemon-operation"></a><h2>Operation</h2>
122 <p>
123 The authentication daemon uses
124 <code class="literal">libpolkit-grant</code> which in turn uses PAM for
125 authentication services (however, other authentication
126 back-ends can be plugged in as required). As such, a wide
127 range of authentication mechanisms are available.
128 </p>
129 <p>
130 The authentication daemon is using D-Bus activation and exits
131 after 30 seconds of inactivity. Thus the code implementing
132 this dialog only runs when necessary.
133 </p>
134 </div>
135 <div class="refsect1" lang="en">
136 <a name="ref-auth-daemon-ui-elements"></a><h2>UI elements</h2>
137 <p>
138 The appearance of the authentication dialog depends on the
139 result from PolicyKit and also whether administrator
140 authentication is defined as "authenticate as the root user"
141 or "authenticate as one of the users from UNIX group wheel" or
142 however the PolicyKit library is configured (see
143 the <code class="literal">PolicyKit.conf(5)</code> manual page for
144 details). Note that some of the screenshots below were made on
145 a system set up to use
146 the <a class="ulink" href="http://thinkfinger.sourceforge.net/" target="_top"><em class="citetitle">ThinkFinger</em></a>
147 PAM module.
148 </p>
149 <p>
150 The text shown in the authentication dialogs stems from the
151 PolicyKit <code class="literal">.policy</code> XML files residing
152 in <code class="literal">/usr/share/PolicyKit/policy</code> and is read
153 by the authentication daemon when an applications uses
154 the <code class="literal">ShowDialog()</code> method. Thus, what the
155 user sees is not under application control (e.g. it's not
156 passed from the application) which rules out a class of
157 attacks where applications are trying to fool the user into
158 gaining a privilege.
159 </p>
160 <p>
161 Authentication dialog where the user is asked to authenticate
162 as herself:
163 </p>
164 <p>
165 <img src="auth-self.png">
166 </p>
167 <p>
168 Authentication dialog where the user is asked to authenticate
169 as an administrative user and PolicyKit is configured to use
170 the root password for this:
171 </p>
172 <p>
173 <img src="auth-root.png">
174 </p>
175 <p>
176 Authentication dialog where the user is asked to authenticate
177 as an administrative user and PolicyKit is configured to use
178 the UNIX wheel group for this:
179 </p>
180 <p>
181 <img src="auth-wheel-group-1.png">
182 </p>
183 <p>
184 Same authentication dialog, showing drop down box where the
185 user can be selected:
186 </p>
187 <p>
188 <img src="auth-wheel-group-2.png">
189 </p>
190 <p>
191 Authentication dialog showing an Action where the privilege
192 can be retained indefinitely:
193 </p>
194 <p>
195 <img src="auth-retain-always.png">
196 </p>
197 <p>
198 Authentication dialog showing an Action where the privilege
199 can be retained only for the remainer of the desktop session:
200 </p>
201 <p>
202 <img src="auth-retain-session.png">
203 </p>
204 <p>
205 The details view detailing what Action is being asked for as
206 well as what application is requesting the authentication:
207 </p>
208 <p>
209 <img src="auth-details.png">
210 </p>
211 </div>
212 </div>
213 <div class="footer">
214 <hr>
215 Generated by GTK-Doc V1.10</div>
216 </body>
217 </html>
+0
-61
doc/html/ref-core.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>API Reference</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
6 <link rel="home" href="index.html" title="PolicyKit-gnome Library Reference Manual">
7 <link rel="up" href="index.html" title="PolicyKit-gnome Library Reference Manual">
8 <link rel="prev" href="index.html" title="PolicyKit-gnome Library Reference Manual">
9 <link rel="next" href="PolKitGnomeContext.html" title="PolKitGnomeContext">
10 <meta name="generator" content="GTK-Doc V1.10 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 <link rel="reference" href="ref-core.html" title="API Reference">
13 <link rel="reference" href="ref-auth-daemon.html" title="Authentication Agent">
14 <link rel="appendix" href="license.html" title="Appendix A. License">
15 </head>
16 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
17 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
18 <td><a accesskey="p" href="index.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
19 <td> </td>
20 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
21 <th width="100%" align="center">PolicyKit-gnome Library Reference Manual</th>
22 <td><a accesskey="n" href="PolKitGnomeContext.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 </tr></table>
24 <div class="reference" lang="en">
25 <div class="titlepage">
26 <div><div><h1 class="title">
27 <a name="ref-core"></a>API Reference</h1></div></div>
28 <hr>
29 </div>
30 <div class="partintro" lang="en">
31 <div></div>
32 <p>
33 This part presents the class and function reference for the
34 PolicyKit-gnome library, <code class="literal">libpolkit-gnome</code>.
35 </p>
36 <div class="toc">
37 <p><b>Table of Contents</b></p>
38 <dl>
39 <dt>
40 <span class="refentrytitle"><a href="PolKitGnomeContext.html">PolKitGnomeContext</a></span><span class="refpurpose"> — Convenience functions for using PolicyKit from GTK+ and GNOME applications.</span>
41 </dt>
42 <dt>
43 <span class="refentrytitle"><a href="PolKitGnomeAction.html">PolKitGnomeAction</a></span><span class="refpurpose"> — A GtkAction subclass where instances can be tied to a specific PolicyKit action.</span>
44 </dt>
45 <dt>
46 <span class="refentrytitle"><a href="PolKitGnomeToggleAction.html">PolKitGnomeToggleAction</a></span><span class="refpurpose"> — A GtkAction that can be toggled to
47 obtain and give up PolicyKit authorizations.</span>
48 </dt>
49 <dt>
50 <span class="refentrytitle"><a href="polkit-gnome-polkit-gnome-auth.html">Authentication Dialogs</a></span><span class="refpurpose"> — Show authentication dialogs to gain privileges</span>
51 </dt>
52 </dl>
53 </div>
54 </div>
55 </div>
56 <div class="footer">
57 <hr>
58 Generated by GTK-Doc V1.10</div>
59 </body>
60 </html>
doc/html/right.png less more
Binary diff not shown
+0
-160
doc/html/style.css less more
0 .synopsis, .classsynopsis
1 {
2 background: #eeeeee;
3 border: solid 1px #aaaaaa;
4 padding: 0.5em;
5 }
6 .programlisting
7 {
8 background: #eeeeff;
9 border: solid 1px #aaaaff;
10 padding: 0.5em;
11 }
12 .variablelist
13 {
14 padding: 4px;
15 margin-left: 3em;
16 }
17 .variablelist td:first-child
18 {
19 vertical-align: top;
20 }
21
22 /* this is needed so that the local anchors are displayed below the naviagtion */
23 @media screen {
24 sup a.footnote
25 {
26 position: relative;
27 top: 0em ! important;
28 }
29 div.refnamediv a[name], div.refsect1 a[name]
30 {
31 position: relative;
32 top: -4.5em;
33 }
34 table.navigation#top
35 {
36 background: #ffeeee;
37 border: solid 1px #ffaaaa;
38 margin-top: 0;
39 margin-bottom: 0;
40 position: fixed;
41 top: 0;
42 left: 0;
43 height: 2em;
44 z-index: 1;
45 }
46 .navigation a
47 {
48 color: #770000;
49 }
50 .navigation a:visited
51 {
52 color: #550000;
53 }
54 td.shortcuts
55 {
56 color: #770000;
57 font-size: 80%;
58 }
59 div.refentry, div.chapter, div.reference, div.part, div.book, div.index, div.glossary, div.sect1, div.appendix, div.preface
60 {
61 position: relative;
62 top: 3em;
63 z-index: 0;
64 }
65 div.refnamediv
66 {
67 margin-top: 2em;
68 }
69 body
70 {
71 padding-bottom: 20em;
72 }
73 }
74 @media print {
75 table.navigation {
76 visibility: collapse;
77 display: none;
78 }
79 div.titlepage table.navigation {
80 visibility: visible;
81 display: table;
82 background: #ffeeee;
83 border: solid 1px #ffaaaa;
84 margin-top: 0;
85 margin-bottom: 0;
86 top: 0;
87 left: 0;
88 height: 2em;
89 }
90 }
91
92 .navigation .title
93 {
94 font-size: 200%;
95 }
96
97
98 div.gallery-float
99 {
100 float: left;
101 padding: 10px;
102 }
103 div.gallery-float img
104 {
105 border-style: none;
106 }
107 div.gallery-spacer
108 {
109 clear: both;
110 }
111 a
112 {
113 text-decoration: none;
114 }
115 a:hover
116 {
117 text-decoration: underline;
118 color: #FF0000;
119 }
120
121 div.table table
122 {
123 border-collapse: collapse;
124 border-spacing: 0px;
125 border-style: solid;
126 border-color: #777777;
127 border-width: 1px;
128 }
129
130 div.table table td, div.table table th
131 {
132 border-style: solid;
133 border-color: #777777;
134 border-width: 1px;
135 padding: 3px;
136 vertical-align: top;
137 }
138
139 div.table table th
140 {
141 background-color: #eeeeee;
142 }
143
144 hr
145 {
146 color: #777777;
147 background: #777777;
148 border: 0;
149 height: 1px;
150 clear: both;
151 }
152
153 .footer
154 {
155 padding-top: 3.5em;
156 color: #777777;
157 text-align: center;
158 font-size: 80%;
159 }
doc/html/up.png less more
Binary diff not shown
+0
-245
doc/polkit-gnome-docs.xml less more
0 <?xml version="1.0"?>
1 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
2 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
3 <!ENTITY version SYSTEM "version.xml">
4 ]>
5 <book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
6 <bookinfo>
7 <title>PolicyKit-gnome Library Reference Manual</title>
8 <releaseinfo>Version &version;</releaseinfo>
9 <authorgroup>
10 <author>
11 <firstname>David</firstname>
12 <surname>Zeuthen</surname>
13 <affiliation>
14 <address>
15 <email>david@fubar.dk</email>
16 </address>
17 </affiliation>
18 </author>
19 </authorgroup>
20
21 <copyright>
22 <year>2007</year>
23 <holder>The PolicyKit-gnome Authors</holder>
24 </copyright>
25
26 <legalnotice>
27 <para>
28 Permission is granted to copy, distribute and/or modify this
29 document under the terms of the <citetitle>GNU Free
30 Documentation License</citetitle>, Version 1.1 or any later
31 version published by the Free Software Foundation with no
32 Invariant Sections, no Front-Cover Texts, and no Back-Cover
33 Texts. You may obtain a copy of the <citetitle>GNU Free
34 Documentation License</citetitle> from the Free Software
35 Foundation by visiting <ulink type="http"
36 url="http://www.fsf.org">their Web site</ulink> or by writing
37 to:
38
39 <address>
40 The Free Software Foundation, Inc.,
41 <street>59 Temple Place</street> - Suite 330,
42 <city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>,
43 <country>USA</country>
44 </address>
45 </para>
46
47 <para>
48 Many of the names used by companies to distinguish their
49 products and services are claimed as trademarks. Where those
50 names appear in any GNOME documentation, and those trademarks
51 are made aware to the members of the GNOME Documentation
52 Project, the names have been printed in caps or initial caps.
53 </para>
54 </legalnotice>
55 </bookinfo>
56
57 <reference id="ref-core">
58 <title>API Reference</title>
59 <partintro>
60 <para>
61 This part presents the class and function reference for the
62 PolicyKit-gnome library, <literal>libpolkit-gnome</literal>.
63 </para>
64 </partintro>
65 <xi:include href="xml/polkit-gnome-context.xml"/>
66 <xi:include href="xml/polkit-gnome-action.xml"/>
67 <xi:include href="xml/polkit-gnome-toggle-action.xml"/>
68 <xi:include href="xml/polkit-gnome-auth.xml"/>
69 </reference>
70
71 <reference id="ref-auth-daemon">
72 <title>Authentication Agent</title>
73 <partintro>
74 <para>
75 This part discusses the GNOME/GTK+ specific Authentication
76 Agent.
77 </para>
78 </partintro>
79
80 <refsect1 id="ref-auth-daemon-overview">
81 <title>Overview</title>
82 <para>
83 The PolicyKit model provides letting an user authenticate in
84 order to gain the privilege to let a Mechanism carry work out
85 related to a specific Action on the users behalf. In the
86 PolicyKit libraries, this functionality is programmatically
87 exposed in the PolKitGrant class. As it's tedious to use this
88 low-level functionality from a GTK+ or GNOME application, the
89 high-level functionality is wrapped in a D-Bus service
90 available on the session message bus. The way it works is that
91 when an application needs privileges, it can call into this
92 D-Bus service and an authentication dialog will appear. When
93 the user is done with the authentication dialog, the
94 application recieves a reply from the D-Bus containing a
95 boolean indicating whether the user gained the privilege or
96 not.
97 </para>
98 </refsect1>
99
100 <refsect1 id="ref-auth-daemon-overview-dbus">
101 <title>D-Bus interface</title>
102 <para>
103 The D-Bus service is available on the session message bus with
104 the
105 name <literal>org.freedesktop.PolicyKit.AuthenticationAgent</literal>
106 and exports a single object <literal>/</literal> that
107 implements the
108 interface <literal>org.freedesktop.PolicyKit.AuthenticationAgent</literal>. The
109 D-Bus introspection XML looks like this
110 </para>
111 <programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../src/polkit-gnome-manager.xml" parse="text"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting>
112 <para>
113 The <literal>ObtainAuthorization()</literal> method may throw
114 an exception if another client is currently using the service
115 to show an authentication dialog. In practice this should
116 never happen because the authentication daemon grabs the X11
117 keyboard and pointer thus preventing the user from activating
118 widgets in other applications that would lead to calling into
119 the <literal>ObtainAuthorization</literal> method.
120 </para>
121 </refsect1>
122
123 <refsect1 id="ref-auth-daemon-operation">
124 <title>Operation</title>
125 <para>
126 The authentication daemon uses
127 <literal>libpolkit-grant</literal> which in turn uses PAM for
128 authentication services (however, other authentication
129 back-ends can be plugged in as required). As such, a wide
130 range of authentication mechanisms are available.
131 </para>
132 <para>
133 The authentication daemon is using D-Bus activation and exits
134 after 30 seconds of inactivity. Thus the code implementing
135 this dialog only runs when necessary.
136 </para>
137 </refsect1>
138
139 <refsect1 id="ref-auth-daemon-ui-elements">
140 <title>UI elements</title>
141 <para>
142 The appearance of the authentication dialog depends on the
143 result from PolicyKit and also whether administrator
144 authentication is defined as "authenticate as the root user"
145 or "authenticate as one of the users from UNIX group wheel" or
146 however the PolicyKit library is configured (see
147 the <literal>PolicyKit.conf(5)</literal> manual page for
148 details). Note that some of the screenshots below were made on
149 a system set up to use
150 the <ulink url="http://thinkfinger.sourceforge.net/"><citetitle>ThinkFinger</citetitle></ulink>
151 PAM module.
152 </para>
153
154 <para>
155 The text shown in the authentication dialogs stems from the
156 PolicyKit <literal>.policy</literal> XML files residing
157 in <literal>/usr/share/PolicyKit/policy</literal> and is read
158 by the authentication daemon when an applications uses
159 the <literal>ShowDialog()</literal> method. Thus, what the
160 user sees is not under application control (e.g. it's not
161 passed from the application) which rules out a class of
162 attacks where applications are trying to fool the user into
163 gaining a privilege.
164 </para>
165
166 <para>
167 Authentication dialog where the user is asked to authenticate
168 as herself:
169 </para>
170 <para>
171 <inlinegraphic fileref="auth-self.png" format="PNG"/>
172 </para>
173 <para>
174 Authentication dialog where the user is asked to authenticate
175 as an administrative user and PolicyKit is configured to use
176 the root password for this:
177 </para>
178 <para>
179 <inlinegraphic fileref="auth-root.png" format="PNG"/>
180 </para>
181 <para>
182 Authentication dialog where the user is asked to authenticate
183 as an administrative user and PolicyKit is configured to use
184 the UNIX wheel group for this:
185 </para>
186 <para>
187 <inlinegraphic fileref="auth-wheel-group-1.png" format="PNG"/>
188 </para>
189 <para>
190 Same authentication dialog, showing drop down box where the
191 user can be selected:
192 </para>
193 <para>
194 <inlinegraphic fileref="auth-wheel-group-2.png" format="PNG"/>
195 </para>
196 <para>
197 Authentication dialog showing an Action where the privilege
198 can be retained indefinitely:
199 </para>
200 <para>
201 <inlinegraphic fileref="auth-retain-always.png" format="PNG"/>
202 </para>
203 <para>
204 Authentication dialog showing an Action where the privilege
205 can be retained only for the remainer of the desktop session:
206 </para>
207 <para>
208 <inlinegraphic fileref="auth-retain-session.png" format="PNG"/>
209 </para>
210 <para>
211 The details view detailing what Action is being asked for as
212 well as what application is requesting the authentication:
213 </para>
214 <para>
215 <inlinegraphic fileref="auth-details.png" format="PNG"/>
216 </para>
217 </refsect1>
218
219 </reference>
220
221 <!-- License -->
222
223 <appendix id="license">
224 <title>License</title>
225 <para>
226 The polkit-gnome library (polkit-gnome/*) is licensed to you
227 under the GNU Lesser General Public License version 2 or
228 later.
229 </para>
230 <para>
231 The PolicyKit GNOME authentication D-Bus service (src/*) is
232 licensed to you under the GNU General Public License version 2
233 or later.
234 </para>
235 <para>
236 Both licenses are included here. Some individual source code
237 files and/or binaries may be under the GPL only.
238 </para>
239 <para>
240 Each source code file is marked with the proper copyright
241 information.
242 </para>
243 </appendix>
244 </book>
doc/polkit-gnome-example-auth-dialog-twiddle.png less more
Binary diff not shown
doc/polkit-gnome-example-screenshot-authorized.png less more
Binary diff not shown
doc/polkit-gnome-example-screenshot.png less more
Binary diff not shown
+0
-0
doc/polkit-gnome-overrides.txt less more
(Empty file)
+0
-70
doc/polkit-gnome-sections.txt less more
0 <SECTION>
1 <FILE>polkit-gnome-toggle-action</FILE>
2 PolKitGnomeToggleActionPrivate
3 <TITLE>PolKitGnomeToggleAction</TITLE>
4 PolKitGnomeToggleAction
5 polkit_gnome_toggle_action_new
6 polkit_gnome_toggle_action_new_default
7 polkit_gnome_toggle_action_create_toggle_button
8 <SUBSECTION Standard>
9 POLKIT_GNOME_TOGGLE_ACTION
10 POLKIT_GNOME_IS_TOGGLE_ACTION
11 POLKIT_GNOME_TYPE_TOGGLE_ACTION
12 polkit_gnome_toggle_action_get_type
13 POLKIT_GNOME_TOGGLE_ACTION_CLASS
14 POLKIT_GNOME_IS_TOGGLE_ACTION_CLASS
15 POLKIT_GNOME_TOGGLE_ACTION_GET_CLASS
16 </SECTION>
17
18 <SECTION>
19 <FILE>polkit-gnome-action</FILE>
20 PolKitGnomeActionPrivate
21 <TITLE>PolKitGnomeAction</TITLE>
22 PolKitGnomeAction
23 polkit_gnome_action_new
24 polkit_gnome_action_new_default
25 polkit_gnome_action_get_polkit_result
26 polkit_gnome_action_get_sensitive
27 polkit_gnome_action_set_sensitive
28 polkit_gnome_action_get_visible
29 polkit_gnome_action_set_visible
30 polkit_gnome_action_create_button
31 <SUBSECTION Standard>
32 POLKIT_GNOME_ACTION
33 POLKIT_GNOME_IS_ACTION
34 POLKIT_GNOME_TYPE_ACTION
35 polkit_gnome_action_get_type
36 POLKIT_GNOME_ACTION_CLASS
37 POLKIT_GNOME_IS_ACTION_CLASS
38 POLKIT_GNOME_ACTION_GET_CLASS
39 </SECTION>
40
41 <SECTION>
42 <FILE>polkit-gnome-context</FILE>
43 POLKIT_GNOME_CONTEXT_ERROR
44 PolKitGnomeContextError
45 PolKitGnomeContextPrivate
46 <TITLE>PolKitGnomeContext</TITLE>
47 PolKitGnomeContext
48 polkit_gnome_context_get
49 polkit_gnome_context_error_quark
50 <SUBSECTION Standard>
51 POLKIT_GNOME_CONTEXT
52 POLKIT_GNOME_IS_CONTEXT
53 POLKIT_GNOME_TYPE_CONTEXT
54 polkit_gnome_context_get_type
55 POLKIT_GNOME_CONTEXT_CLASS
56 POLKIT_GNOME_IS_CONTEXT_CLASS
57 POLKIT_GNOME_CONTEXT_GET_CLASS
58 </SECTION>
59
60 <SECTION>
61 <FILE>polkit-gnome-auth</FILE>
62 PolKitGnomeAuthCB
63 polkit_gnome_auth_obtain
64 </SECTION>
65
66 <SECTION>
67 <FILE>polkit-gnome</FILE>
68 </SECTION>
69
+0
-3
doc/polkit-gnome.types less more
0 polkit_gnome_toggle_action_get_type
1 polkit_gnome_action_get_type
2 polkit_gnome_context_get_type
+0
-274
doc/tmpl/polkit-gnome-action.sgml less more
0 <!-- ##### SECTION Title ##### -->
1 PolKitGnomeAction
2
3 <!-- ##### SECTION Short_Description ##### -->
4
5
6 <!-- ##### SECTION Long_Description ##### -->
7 <para>
8
9 </para>
10
11 <!-- ##### SECTION See_Also ##### -->
12 <para>
13
14 </para>
15
16 <!-- ##### SECTION Stability_Level ##### -->
17
18
19 <!-- ##### STRUCT PolKitGnomeActionPrivate ##### -->
20 <para>
21
22 </para>
23
24
25 <!-- ##### STRUCT PolKitGnomeAction ##### -->
26 <para>
27
28 </para>
29
30
31 <!-- ##### SIGNAL PolKitGnomeAction::auth-end ##### -->
32 <para>
33
34 </para>
35
36 @polkitgnomeaction: the object which received the signal.
37 @arg1:
38
39 <!-- ##### SIGNAL PolKitGnomeAction::auth-start ##### -->
40 <para>
41
42 </para>
43
44 @polkitgnomeaction: the object which received the signal.
45
46 <!-- ##### SIGNAL PolKitGnomeAction::polkit-result-changed ##### -->
47 <para>
48
49 </para>
50
51 @polkitgnomeaction: the object which received the signal.
52 @arg1:
53
54 <!-- ##### ARG PolKitGnomeAction:auth-icon-name ##### -->
55 <para>
56
57 </para>
58
59 <!-- ##### ARG PolKitGnomeAction:auth-label ##### -->
60 <para>
61
62 </para>
63
64 <!-- ##### ARG PolKitGnomeAction:auth-sensitive ##### -->
65 <para>
66
67 </para>
68
69 <!-- ##### ARG PolKitGnomeAction:auth-short-label ##### -->
70 <para>
71
72 </para>
73
74 <!-- ##### ARG PolKitGnomeAction:auth-tooltip ##### -->
75 <para>
76
77 </para>
78
79 <!-- ##### ARG PolKitGnomeAction:auth-visible ##### -->
80 <para>
81
82 </para>
83
84 <!-- ##### ARG PolKitGnomeAction:master-sensitive ##### -->
85 <para>
86
87 </para>
88
89 <!-- ##### ARG PolKitGnomeAction:master-visible ##### -->
90 <para>
91
92 </para>
93
94 <!-- ##### ARG PolKitGnomeAction:no-icon-name ##### -->
95 <para>
96
97 </para>
98
99 <!-- ##### ARG PolKitGnomeAction:no-label ##### -->
100 <para>
101
102 </para>
103
104 <!-- ##### ARG PolKitGnomeAction:no-sensitive ##### -->
105 <para>
106
107 </para>
108
109 <!-- ##### ARG PolKitGnomeAction:no-short-label ##### -->
110 <para>
111
112 </para>
113
114 <!-- ##### ARG PolKitGnomeAction:no-tooltip ##### -->
115 <para>
116
117 </para>
118
119 <!-- ##### ARG PolKitGnomeAction:no-visible ##### -->
120 <para>
121
122 </para>
123
124 <!-- ##### ARG PolKitGnomeAction:polkit-action ##### -->
125 <para>
126
127 </para>
128
129 <!-- ##### ARG PolKitGnomeAction:polkit-action-sufficient ##### -->
130 <para>
131
132 </para>
133
134 <!-- ##### ARG PolKitGnomeAction:self-blocked-icon-name ##### -->
135 <para>
136
137 </para>
138
139 <!-- ##### ARG PolKitGnomeAction:self-blocked-label ##### -->
140 <para>
141
142 </para>
143
144 <!-- ##### ARG PolKitGnomeAction:self-blocked-sensitive ##### -->
145 <para>
146
147 </para>
148
149 <!-- ##### ARG PolKitGnomeAction:self-blocked-short-label ##### -->
150 <para>
151
152 </para>
153
154 <!-- ##### ARG PolKitGnomeAction:self-blocked-tooltip ##### -->
155 <para>
156
157 </para>
158
159 <!-- ##### ARG PolKitGnomeAction:self-blocked-visible ##### -->
160 <para>
161
162 </para>
163
164 <!-- ##### ARG PolKitGnomeAction:target-pid ##### -->
165 <para>
166
167 </para>
168
169 <!-- ##### ARG PolKitGnomeAction:yes-icon-name ##### -->
170 <para>
171
172 </para>
173
174 <!-- ##### ARG PolKitGnomeAction:yes-label ##### -->
175 <para>
176
177 </para>
178
179 <!-- ##### ARG PolKitGnomeAction:yes-sensitive ##### -->
180 <para>
181
182 </para>
183
184 <!-- ##### ARG PolKitGnomeAction:yes-short-label ##### -->
185 <para>
186
187 </para>
188
189 <!-- ##### ARG PolKitGnomeAction:yes-tooltip ##### -->
190 <para>
191
192 </para>
193
194 <!-- ##### ARG PolKitGnomeAction:yes-visible ##### -->
195 <para>
196
197 </para>
198
199 <!-- ##### FUNCTION polkit_gnome_action_new ##### -->
200 <para>
201
202 </para>
203
204 @name:
205 @Returns:
206
207
208 <!-- ##### FUNCTION polkit_gnome_action_new_default ##### -->
209 <para>
210
211 </para>
212
213 @name:
214 @polkit_action:
215 @label:
216 @tooltip:
217 @Returns:
218
219
220 <!-- ##### FUNCTION polkit_gnome_action_get_polkit_result ##### -->
221 <para>
222
223 </para>
224
225 @action:
226 @Returns:
227
228
229 <!-- ##### FUNCTION polkit_gnome_action_get_sensitive ##### -->
230 <para>
231
232 </para>
233
234 @action:
235 @Returns:
236
237
238 <!-- ##### FUNCTION polkit_gnome_action_set_sensitive ##### -->
239 <para>
240
241 </para>
242
243 @action:
244 @sensitive:
245
246
247 <!-- ##### FUNCTION polkit_gnome_action_get_visible ##### -->
248 <para>
249
250 </para>
251
252 @action:
253 @Returns:
254
255
256 <!-- ##### FUNCTION polkit_gnome_action_set_visible ##### -->
257 <para>
258
259 </para>
260
261 @action:
262 @visible:
263
264
265 <!-- ##### FUNCTION polkit_gnome_action_create_button ##### -->
266 <para>
267
268 </para>
269
270 @action:
271 @Returns:
272
273
+0
-44
doc/tmpl/polkit-gnome-auth.sgml less more
0 <!-- ##### SECTION Title ##### -->
1 polkit-gnome-auth
2
3 <!-- ##### SECTION Short_Description ##### -->
4
5
6 <!-- ##### SECTION Long_Description ##### -->
7 <para>
8
9 </para>
10
11 <!-- ##### SECTION See_Also ##### -->
12 <para>
13
14 </para>
15
16 <!-- ##### SECTION Stability_Level ##### -->
17
18
19 <!-- ##### USER_FUNCTION PolKitGnomeAuthCB ##### -->
20 <para>
21
22 </para>
23
24 @action:
25 @gained_privilege:
26 @error:
27 @user_data:
28
29
30 <!-- ##### FUNCTION polkit_gnome_auth_obtain ##### -->
31 <para>
32
33 </para>
34
35 @action:
36 @xid:
37 @pid:
38 @callback:
39 @user_data:
40 @error:
41 @Returns:
42
43
+0
-78
doc/tmpl/polkit-gnome-context.sgml less more
0 <!-- ##### SECTION Title ##### -->
1 PolKitGnomeContext
2
3 <!-- ##### SECTION Short_Description ##### -->
4
5
6 <!-- ##### SECTION Long_Description ##### -->
7 <para>
8
9 </para>
10
11 <!-- ##### SECTION See_Also ##### -->
12 <para>
13
14 </para>
15
16 <!-- ##### SECTION Stability_Level ##### -->
17
18
19 <!-- ##### MACRO POLKIT_GNOME_CONTEXT_ERROR ##### -->
20 <para>
21
22 </para>
23
24
25
26 <!-- ##### ENUM PolKitGnomeContextError ##### -->
27 <para>
28
29 </para>
30
31 @POLKIT_GNOME_CONTEXT_ERROR_FAILED:
32
33 <!-- ##### STRUCT PolKitGnomeContextPrivate ##### -->
34 <para>
35
36 </para>
37
38
39 <!-- ##### STRUCT PolKitGnomeContext ##### -->
40 <para>
41
42 </para>
43
44 @pk_context:
45 @pk_tracker:
46
47 <!-- ##### SIGNAL PolKitGnomeContext::config-changed ##### -->
48 <para>
49
50 </para>
51
52 @polkitgnomecontext: the object which received the signal.
53
54 <!-- ##### SIGNAL PolKitGnomeContext::console-kit-db-changed ##### -->
55 <para>
56
57 </para>
58
59 @polkitgnomecontext: the object which received the signal.
60
61 <!-- ##### FUNCTION polkit_gnome_context_get ##### -->
62 <para>
63
64 </para>
65
66 @error:
67 @Returns:
68
69
70 <!-- ##### FUNCTION polkit_gnome_context_error_quark ##### -->
71 <para>
72
73 </para>
74
75 @Returns:
76
77
+0
-98
doc/tmpl/polkit-gnome-toggle-action.sgml less more
0 <!-- ##### SECTION Title ##### -->
1 PolKitGnomeToggleAction
2
3 <!-- ##### SECTION Short_Description ##### -->
4
5
6 <!-- ##### SECTION Long_Description ##### -->
7 <para>
8
9 </para>
10
11 <!-- ##### SECTION See_Also ##### -->
12 <para>
13
14 </para>
15
16 <!-- ##### SECTION Stability_Level ##### -->
17
18
19 <!-- ##### STRUCT PolKitGnomeToggleActionPrivate ##### -->
20 <para>
21
22 </para>
23
24
25 <!-- ##### STRUCT PolKitGnomeToggleAction ##### -->
26 <para>
27
28 </para>
29
30
31 <!-- ##### SIGNAL PolKitGnomeToggleAction::toggled ##### -->
32 <para>
33
34 </para>
35
36 @polkitgnometoggleaction: the object which received the signal.
37
38 <!-- ##### ARG PolKitGnomeToggleAction:auth-underway-icon-name ##### -->
39 <para>
40
41 </para>
42
43 <!-- ##### ARG PolKitGnomeToggleAction:auth-underway-label ##### -->
44 <para>
45
46 </para>
47
48 <!-- ##### ARG PolKitGnomeToggleAction:auth-underway-sensitive ##### -->
49 <para>
50
51 </para>
52
53 <!-- ##### ARG PolKitGnomeToggleAction:auth-underway-short-label ##### -->
54 <para>
55
56 </para>
57
58 <!-- ##### ARG PolKitGnomeToggleAction:auth-underway-tooltip ##### -->
59 <para>
60
61 </para>
62
63 <!-- ##### ARG PolKitGnomeToggleAction:auth-underway-visible ##### -->
64 <para>
65
66 </para>
67
68 <!-- ##### FUNCTION polkit_gnome_toggle_action_new ##### -->
69 <para>
70
71 </para>
72
73 @name:
74 @Returns:
75
76
77 <!-- ##### FUNCTION polkit_gnome_toggle_action_new_default ##### -->
78 <para>
79
80 </para>
81
82 @name:
83 @polkit_action:
84 @locked_label:
85 @unlocked_label:
86 @Returns:
87
88
89 <!-- ##### FUNCTION polkit_gnome_toggle_action_create_toggle_button ##### -->
90 <para>
91
92 </para>
93
94 @action:
95 @Returns:
96
97
+0
-0
doc/tmpl/polkit-gnome-unused.sgml less more
(Empty file)
+0
-19
doc/tmpl/polkit-gnome.sgml less more
0 <!-- ##### SECTION Title ##### -->
1 polkit-gnome
2
3 <!-- ##### SECTION Short_Description ##### -->
4
5
6 <!-- ##### SECTION Long_Description ##### -->
7 <para>
8
9 </para>
10
11 <!-- ##### SECTION See_Also ##### -->
12 <para>
13
14 </para>
15
16 <!-- ##### SECTION Stability_Level ##### -->
17
18
+0
-1
doc/version.xml less more
0 0.9.2
+0
-1
doc/version.xml.in less more
0 @VERSION@
+0
-616
doc/xml/polkit-gnome-action.xml less more
0 <?xml version="1.0"?>
1 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
2 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
3 <!ENTITY version SYSTEM "version.xml">
4 ]>
5 <refentry id="PolKitGnomeAction">
6 <refmeta>
7 <refentrytitle role="top_of_page" id="PolKitGnomeAction.top_of_page">PolKitGnomeAction</refentrytitle>
8 <manvolnum>3</manvolnum>
9 <refmiscinfo>POLKIT-GNOME Library</refmiscinfo>
10 </refmeta>
11
12 <refnamediv>
13 <refname>PolKitGnomeAction</refname>
14 <refpurpose>A GtkAction subclass where instances can be tied to a specific PolicyKit action.</refpurpose>
15 <!--[<xref linkend="desc" endterm="desc.title"/>]-->
16 </refnamediv>
17
18 <refsynopsisdiv id="PolKitGnomeAction.synopsis" role="synopsis">
19 <title role="synopsis.title">Synopsis</title>
20
21 <synopsis>
22 <link linkend="PolKitGnomeActionPrivate">PolKitGnomeActionPrivate</link>;
23 <link linkend="PolKitGnomeAction-struct">PolKitGnomeAction</link>;
24 <link linkend="PolKitGnomeAction">PolKitGnomeAction</link>* <link linkend="polkit-gnome-action-new">polkit_gnome_action_new</link> (const <link linkend="gchar">gchar</link> *name);
25 <link linkend="PolKitGnomeAction">PolKitGnomeAction</link>* <link linkend="polkit-gnome-action-new-default">polkit_gnome_action_new_default</link> (const <link linkend="gchar">gchar</link> *name,
26 <link linkend="PolKitAction">PolKitAction</link> *polkit_action,
27 const <link linkend="gchar">gchar</link> *label,
28 const <link linkend="gchar">gchar</link> *tooltip);
29 <link linkend="PolKitResult">PolKitResult</link> <link linkend="polkit-gnome-action-get-polkit-result">polkit_gnome_action_get_polkit_result</link>
30 (<link linkend="PolKitGnomeAction">PolKitGnomeAction</link> *action);
31 <link linkend="gboolean">gboolean</link> <link linkend="polkit-gnome-action-get-sensitive">polkit_gnome_action_get_sensitive</link> (<link linkend="PolKitGnomeAction">PolKitGnomeAction</link> *action);
32 <link linkend="void">void</link> <link linkend="polkit-gnome-action-set-sensitive">polkit_gnome_action_set_sensitive</link> (<link linkend="PolKitGnomeAction">PolKitGnomeAction</link> *action,
33 <link linkend="gboolean">gboolean</link> sensitive);
34 <link linkend="gboolean">gboolean</link> <link linkend="polkit-gnome-action-get-visible">polkit_gnome_action_get_visible</link> (<link linkend="PolKitGnomeAction">PolKitGnomeAction</link> *action);
35 <link linkend="void">void</link> <link linkend="polkit-gnome-action-set-visible">polkit_gnome_action_set_visible</link> (<link linkend="PolKitGnomeAction">PolKitGnomeAction</link> *action,
36 <link linkend="gboolean">gboolean</link> visible);
37 <link linkend="GtkWidget">GtkWidget</link>* <link linkend="polkit-gnome-action-create-button">polkit_gnome_action_create_button</link> (<link linkend="PolKitGnomeAction">PolKitGnomeAction</link> *action);
38 </synopsis>
39 </refsynopsisdiv>
40
41 <refsect1 id="PolKitGnomeAction.object-hierarchy" role="object_hierarchy">
42 <title role="object_hierarchy.title">Object Hierarchy</title>
43 <synopsis>
44 <link linkend="GObject">GObject</link>
45 +----<link linkend="GtkAction">GtkAction</link>
46 +----PolKitGnomeAction
47 +----<link linkend="PolKitGnomeToggleAction">PolKitGnomeToggleAction</link>
48 </synopsis>
49
50 </refsect1>
51
52
53
54 <refsect1 id="PolKitGnomeAction.implemented-interfaces" role="impl_interfaces">
55 <title role="impl_interfaces.title">Implemented Interfaces</title>
56 <para>
57 PolKitGnomeAction implements
58 <link linkend="GtkBuildable">GtkBuildable</link>.</para>
59
60 </refsect1>
61
62
63 <refsect1 id="PolKitGnomeAction.properties" role="properties">
64 <title role="properties.title">Properties</title>
65 <synopsis>
66 &quot;<link linkend="PolKitGnomeAction--auth-icon-name">auth-icon-name</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
67 &quot;<link linkend="PolKitGnomeAction--auth-label">auth-label</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
68 &quot;<link linkend="PolKitGnomeAction--auth-sensitive">auth-sensitive</link>&quot; <link linkend="gboolean">gboolean</link> : Read / Write
69 &quot;<link linkend="PolKitGnomeAction--auth-short-label">auth-short-label</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
70 &quot;<link linkend="PolKitGnomeAction--auth-tooltip">auth-tooltip</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
71 &quot;<link linkend="PolKitGnomeAction--auth-visible">auth-visible</link>&quot; <link linkend="gboolean">gboolean</link> : Read / Write
72 &quot;<link linkend="PolKitGnomeAction--master-sensitive">master-sensitive</link>&quot; <link linkend="gboolean">gboolean</link> : Read / Write
73 &quot;<link linkend="PolKitGnomeAction--master-visible">master-visible</link>&quot; <link linkend="gboolean">gboolean</link> : Read / Write
74 &quot;<link linkend="PolKitGnomeAction--no-icon-name">no-icon-name</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
75 &quot;<link linkend="PolKitGnomeAction--no-label">no-label</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
76 &quot;<link linkend="PolKitGnomeAction--no-sensitive">no-sensitive</link>&quot; <link linkend="gboolean">gboolean</link> : Read / Write
77 &quot;<link linkend="PolKitGnomeAction--no-short-label">no-short-label</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
78 &quot;<link linkend="PolKitGnomeAction--no-tooltip">no-tooltip</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
79 &quot;<link linkend="PolKitGnomeAction--no-visible">no-visible</link>&quot; <link linkend="gboolean">gboolean</link> : Read / Write
80 &quot;<link linkend="PolKitGnomeAction--polkit-action">polkit-action</link>&quot; <link linkend="gpointer">gpointer</link> : Read / Write / Construct
81 &quot;<link linkend="PolKitGnomeAction--polkit-action-sufficient">polkit-action-sufficient</link>&quot; <link linkend="GValueArray">GValueArray</link>* : Read / Write / Construct
82 &quot;<link linkend="PolKitGnomeAction--self-blocked-icon-name">self-blocked-icon-name</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
83 &quot;<link linkend="PolKitGnomeAction--self-blocked-label">self-blocked-label</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
84 &quot;<link linkend="PolKitGnomeAction--self-blocked-sensitive">self-blocked-sensitive</link>&quot; <link linkend="gboolean">gboolean</link> : Read / Write
85 &quot;<link linkend="PolKitGnomeAction--self-blocked-short-label">self-blocked-short-label</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
86 &quot;<link linkend="PolKitGnomeAction--self-blocked-tooltip">self-blocked-tooltip</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
87 &quot;<link linkend="PolKitGnomeAction--self-blocked-visible">self-blocked-visible</link>&quot; <link linkend="gboolean">gboolean</link> : Read / Write
88 &quot;<link linkend="PolKitGnomeAction--target-pid">target-pid</link>&quot; <link linkend="guint">guint</link> : Read / Write / Construct
89 &quot;<link linkend="PolKitGnomeAction--yes-icon-name">yes-icon-name</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
90 &quot;<link linkend="PolKitGnomeAction--yes-label">yes-label</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
91 &quot;<link linkend="PolKitGnomeAction--yes-sensitive">yes-sensitive</link>&quot; <link linkend="gboolean">gboolean</link> : Read / Write
92 &quot;<link linkend="PolKitGnomeAction--yes-short-label">yes-short-label</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
93 &quot;<link linkend="PolKitGnomeAction--yes-tooltip">yes-tooltip</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
94 &quot;<link linkend="PolKitGnomeAction--yes-visible">yes-visible</link>&quot; <link linkend="gboolean">gboolean</link> : Read / Write
95 </synopsis>
96 </refsect1>
97
98 <refsect1 id="PolKitGnomeAction.signals" role="signal_proto">
99 <title role="signal_proto.title">Signals</title>
100 <synopsis>
101 &quot;<link linkend="PolKitGnomeAction-auth-end">auth-end</link>&quot; : Run Last
102 &quot;<link linkend="PolKitGnomeAction-auth-start">auth-start</link>&quot; : Run Last
103 &quot;<link linkend="PolKitGnomeAction-polkit-result-changed">polkit-result-changed</link>&quot; : Run Last
104 </synopsis>
105 </refsect1>
106
107
108 <refsect1 id="PolKitGnomeAction.description" role="desc">
109 <title role="desc.title">Description</title>
110 <para>
111 Actions in GTK+ represent operations that the user can be perform,
112 along with some information how it should be presented in the
113 interface. Each action provides methods to create icons, menu items
114 and toolbar items representing itself. Each action can have one or
115 more proxy menu item, toolbar button or other proxy
116 widgets. Proxies mirror the state of the action (text label,
117 tooltip, icon, visible, sensitive, etc), and should change when the
118 action's state changes. When the proxy is activated, it should
119 activate its action.
120 </para>
121 <para>
122 Instances of <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> class updates the label, tooltip,
123 icon-name, visible and properties of the parent <link linkend="GtkAction"><type>GtkAction</type></link> instance
124 according to what result PolicyKit gives about a given
125 <link linkend="PolKitAction"><type>PolKitAction</type></link> object. The <link linkend="PolKitGnomeContext"><type>PolKitGnomeContext</type></link> class is used
126 internally to track changes. This means that external events (such
127 as the editing of the /etc/PolicyKit/PolicyKit.conf file,
128 ConsoleKit session activity changes or if the user gains a
129 privilege via authentication) will trigger the action, and thus
130 connected proxy widgets, to be updated.
131 </para>
132 <para>
133 In addition, the <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> class intercepts the ::activate
134 signal defined in <link linkend="GtkAction"><type>GtkAction</type></link>. When the result from PolicyKit is
135 yes, the signal is propagated. If the result is auth,
136 <link linkend="polkit-gnome-auth-show-dialog"><function>polkit_gnome_auth_show_dialog()</function></link> will be used to bring up an
137 authentication dialog for the given <link linkend="PolKitAction"><type>PolKitAction</type></link>. If the user
138 succesfully gained the privilege, a ::activate signal will be
139 synthesized. If the result is no, the signal is also propagated.
140 </para>
141 <para>
142 As a result, everything happens under the covers; the application
143 programmer using <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> will only get the ::activate
144 signal when the answer from PolicyKit is yes and as such don't have
145 to worry about bringing up authentication dialogs if the property
146 "no-sensitive" is set to <link linkend="FALSE:CAPS"><type>FALSE</type></link>.
147 </para>
148 <para>
149 When an authentication dialog is show, the <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> class
150 will pass the XID of the top-level window that the proxy widget
151 causing the activation to <link linkend="polkit-gnome-auth-show-dialog"><function>polkit_gnome_auth_show_dialog()</function></link>.
152 </para>
153 <para>
154 An example of how to use <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> follows. First, build
155 the following program
156 </para>
157 <para>
158 <programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../examples/polkit-gnome-example.c" parse="text"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting>
159 </para>
160 <para>
161 with
162 </para>
163 <para>
164 <programlisting>gcc -o polkit-gnome-example `pkg-config --cflags --libs polkit-gnome` polkit-gnome-example.c</programlisting>
165 </para>
166 <para>
167 Then, put the following content
168 </para>
169 <para>
170 <programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../examples/polkit-gnome-example.policy" parse="text"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting>
171 </para>
172 <para>
173 into a file
174 <literal>/usr/share/PolicyKit/policy/polkit-gnome-example.policy</literal>. Finally,
175 run <literal>polkit-gnome-example</literal>. It should display a
176 window like this:
177 </para>
178 <para>
179 <inlinegraphic fileref="polkit-gnome-example-screenshot.png" format="PNG"/>
180 </para>
181 <para>
182 If the "Twiddle!" button is pressed, an authentication dialog
183 should pop up
184 </para>
185 <para>
186 <inlinegraphic fileref="polkit-gnome-example-auth-dialog-twiddle.png" format="PNG"/>
187 </para>
188 <para>
189 Here is how what the application looks like if the user gains
190 authorization for all the actions:
191 </para>
192 <para>
193 <inlinegraphic fileref="polkit-gnome-example-screenshot-authorized.png" format="PNG"/>
194 </para>
195 <para>
196 Regarding how to build an example mechanism that this GTK+
197 application can take advantage of, please refer to the
198 <link linkend="PolKitContext"><type>PolKitContext</type></link> class for examples.</para>
199 <para>
200
201 </para>
202 </refsect1>
203
204 <refsect1 id="PolKitGnomeAction.details" role="details">
205 <title role="details.title">Details</title>
206 <refsect2 id="PolKitGnomeActionPrivate" role="struct">
207 <title>PolKitGnomeActionPrivate</title>
208 <indexterm zone="PolKitGnomeActionPrivate"><primary>PolKitGnomeActionPrivate</primary></indexterm><programlisting>typedef struct _PolKitGnomeActionPrivate PolKitGnomeActionPrivate;</programlisting>
209 <para>
210
211 </para></refsect2>
212 <refsect2 id="PolKitGnomeAction-struct" role="struct">
213 <title>PolKitGnomeAction</title>
214 <indexterm zone="PolKitGnomeAction-struct"><primary>PolKitGnomeAction</primary></indexterm><programlisting>typedef struct _PolKitGnomeAction PolKitGnomeAction;</programlisting>
215 <para>
216 The PolKitGnomeAction struct contains only private data members and should not be accessed directly.</para>
217 <para>
218
219 </para></refsect2>
220 <refsect2 id="polkit-gnome-action-new" role="function">
221 <title>polkit_gnome_action_new ()</title>
222 <indexterm zone="polkit-gnome-action-new"><primary>polkit_gnome_action_new</primary></indexterm><programlisting><link linkend="PolKitGnomeAction">PolKitGnomeAction</link>* polkit_gnome_action_new (const <link linkend="gchar">gchar</link> *name);</programlisting>
223 <para>
224 Creates a new <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> object. The typical use for this
225 function is for specialized use where
226 <link linkend="polkit-gnome-action-new-default"><function>polkit_gnome_action_new_default()</function></link> does not meet the needs of the
227 application. A short example of the usage of this contructor
228 follows.
229 </para>
230 <para>
231 If the 'polkit-action' property is <link linkend="NULL:CAPS"><type>NULL</type></link> the behavior is similar to
232 as if a <link linkend="PolKitAction"><type>PolKitAction</type></link> returned <link linkend="POLKIT-RESULT-YES:CAPS"><type>POLKIT_RESULT_YES</type></link>.
233 </para>
234 <para>
235 One can set the 'polkit-action-sufficient' property to a
236 <link linkend="GValueArray"><type>GValueArray</type></link> of pointers to <link linkend="PolKitAction"><type>PolKitAction</type></link> objects. The semantics of
237 this property is that if the user is authorized for any of the
238 given actions in 'polkit-action-sufficient' then the behavior is
239 the same as if they're authorized for the action denoted by
240 'polkit-action'. This is useful in a setup where you have two
241 similar actions and one implies the other. For example, in
242 gnome-system-monitor there are two actions
243 <literal>org.gnome.system-monitor.increase-own-priority</literal>
244 (Increase the priority of a process owned by yourself) and
245 <literal>org.gnome.system-monitor.change-priorty</literal> (Change
246 priority of any process). As the latter clearly implies the former,
247 one would set the latter in the 'polkit-action-sufficient'
248 property when constructing a <link linkend="PolKitAction"><type>PolKitAction</type></link> for the former.
249 </para>
250 <para>
251 <programlisting>
252 PolKitAction *polkit_action;
253 PolKitGnomeAction *action;
254
255 polkit_action = polkit_action_new ();
256 polkit_action_set_action_id (polkit_action, "org.example.some-policykit-action");
257
258 action = polkit_gnome_action_new ("blabla", NULL);
259 g_object_set (action,
260 "polkit-action", polkit_action,
261 "no-visible", TRUE,
262 "no-sensitive", FALSE,
263 "no-short-label", "The Action no can do!",
264 "no-label", "The Action is not permitted!",
265 "no-tooltip", "The Tooltip (no)",
266 "no-icon-name", GTK_STOCK_NO,
267
268 "auth-visible", TRUE,
269 "auth-sensitive", TRUE,
270 "auth-short-label", "The Action requires auth...",
271 "auth-label", "The Action requires auth...",
272 "auth-tooltip", "The Tooltip (auth)",
273 "auth-icon-name", GTK_STOCK_DIALOG_AUTHENTICATION,
274
275 "yes-visible", TRUE,
276 "yes-sensitive", TRUE,
277 "yes-short-label", "Action!",
278 "yes-label", "Just do the Action!",
279 "yes-tooltip", "The Tooltip (yes)",
280 "yes-icon-name", GTK_STOCK_YES,
281 NULL);
282 </programlisting></para>
283 <para>
284
285 </para><variablelist role="params">
286 <varlistentry><term><parameter>name</parameter>&nbsp;:</term>
287 <listitem><simpara> A unique name for the action
288 </simpara></listitem></varlistentry>
289 <varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a new <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> or <link linkend="NULL:CAPS"><type>NULL</type></link> if error is set
290 </simpara></listitem></varlistentry>
291 </variablelist></refsect2>
292 <refsect2 id="polkit-gnome-action-new-default" role="function">
293 <title>polkit_gnome_action_new_default ()</title>
294 <indexterm zone="polkit-gnome-action-new-default"><primary>polkit_gnome_action_new_default</primary></indexterm><programlisting><link linkend="PolKitGnomeAction">PolKitGnomeAction</link>* polkit_gnome_action_new_default (const <link linkend="gchar">gchar</link> *name,
295 <link linkend="PolKitAction">PolKitAction</link> *polkit_action,
296 const <link linkend="gchar">gchar</link> *label,
297 const <link linkend="gchar">gchar</link> *tooltip);</programlisting>
298 <para>
299 Creates a new <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> object with the default
300 behavior for a given <link linkend="PolKitAction"><type>PolKitAction</type></link> object.
301 </para>
302 <para>
303 Default behavior is defined by the label and tooltip being
304 identical across all three four states, the action being visible in
305 all four states, and the action being insensitive only in the state
306 where the result from PolicyKit is no and self-blocked. Only when
307 PolicyKit returns one of the 'auth*' results, the icon_name
308 property will be set to <link linkend="GTK-STOCK-DIALOG-AUTHENTICATION:CAPS"><type>GTK_STOCK_DIALOG_AUTHENTICATION</type></link>.
309 </para>
310 <para>
311 The caller can always modify individual aspects of the action after
312 creation, e.g. change the tooltip for the self-blocked, no, auth
313 and yes states.
314 </para>
315 <para>
316 If the given polkit_action is <link linkend="NULL:CAPS"><type>NULL</type></link> the behavior is similar to as
317 if a <link linkend="PolKitAction"><type>PolKitAction</type></link> returned <link linkend="POLKIT-RESULT-YES:CAPS"><type>POLKIT_RESULT_YES</type></link>.</para>
318 <para>
319
320 </para><variablelist role="params">
321 <varlistentry><term><parameter>name</parameter>&nbsp;:</term>
322 <listitem><simpara> A unique name for the action
323 </simpara></listitem></varlistentry>
324 <varlistentry><term><parameter>polkit_action</parameter>&nbsp;:</term>
325 <listitem><simpara> the <link linkend="PolKitAction"><type>PolKitAction</type></link> to track
326 </simpara></listitem></varlistentry>
327 <varlistentry><term><parameter>label</parameter>&nbsp;:</term>
328 <listitem><simpara> the label to use (will also apply to short-label)
329 </simpara></listitem></varlistentry>
330 <varlistentry><term><parameter>tooltip</parameter>&nbsp;:</term>
331 <listitem><simpara> the tool tip to use
332 </simpara></listitem></varlistentry>
333 <varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a new <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> or <link linkend="NULL:CAPS"><type>NULL</type></link> if error is set
334 </simpara></listitem></varlistentry>
335 </variablelist></refsect2>
336 <refsect2 id="polkit-gnome-action-get-polkit-result" role="function">
337 <title>polkit_gnome_action_get_polkit_result ()</title>
338 <indexterm zone="polkit-gnome-action-get-polkit-result"><primary>polkit_gnome_action_get_polkit_result</primary></indexterm><programlisting><link linkend="PolKitResult">PolKitResult</link> polkit_gnome_action_get_polkit_result
339 (<link linkend="PolKitGnomeAction">PolKitGnomeAction</link> *action);</programlisting>
340 <para>
341 Gets the <link linkend="PolKitResult"><type>PolKitResult</type></link> that indicates whether the user is
342 privileged to do the <link linkend="PolKitAction"><type>PolKitAction</type></link> associated with this
343 <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> object.</para>
344 <para>
345
346 </para><variablelist role="params">
347 <varlistentry><term><parameter>action</parameter>&nbsp;:</term>
348 <listitem><simpara> The <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> object
349 </simpara></listitem></varlistentry>
350 <varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The <link linkend="PolKitAction"><type>PolKitAction</type></link> object. The caller shall not unref this object.
351 </simpara></listitem></varlistentry>
352 </variablelist></refsect2>
353 <refsect2 id="polkit-gnome-action-get-sensitive" role="function">
354 <title>polkit_gnome_action_get_sensitive ()</title>
355 <indexterm zone="polkit-gnome-action-get-sensitive"><primary>polkit_gnome_action_get_sensitive</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> polkit_gnome_action_get_sensitive (<link linkend="PolKitGnomeAction">PolKitGnomeAction</link> *action);</programlisting>
356 <para>
357 Get the master sensitivity, see PolKitGnomeAction:master-sensitive:
358 for details.</para>
359 <para>
360
361 </para><variablelist role="params">
362 <varlistentry><term><parameter>action</parameter>&nbsp;:</term>
363 <listitem><simpara> The <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> object
364 </simpara></listitem></varlistentry>
365 <varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the master sensitivity
366 </simpara></listitem></varlistentry>
367 </variablelist></refsect2>
368 <refsect2 id="polkit-gnome-action-set-sensitive" role="function">
369 <title>polkit_gnome_action_set_sensitive ()</title>
370 <indexterm zone="polkit-gnome-action-set-sensitive"><primary>polkit_gnome_action_set_sensitive</primary></indexterm><programlisting><link linkend="void">void</link> polkit_gnome_action_set_sensitive (<link linkend="PolKitGnomeAction">PolKitGnomeAction</link> *action,
371 <link linkend="gboolean">gboolean</link> sensitive);</programlisting>
372 <para>
373 Set the master sensitivity, see PolKitGnomeAction:master-sensitive:
374 for details.</para>
375 <para>
376
377 </para><variablelist role="params">
378 <varlistentry><term><parameter>action</parameter>&nbsp;:</term>
379 <listitem><simpara> The <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> object
380 </simpara></listitem></varlistentry>
381 <varlistentry><term><parameter>sensitive</parameter>&nbsp;:</term>
382 <listitem><simpara> master sensitivity
383 </simpara></listitem></varlistentry>
384 </variablelist></refsect2>
385 <refsect2 id="polkit-gnome-action-get-visible" role="function">
386 <title>polkit_gnome_action_get_visible ()</title>
387 <indexterm zone="polkit-gnome-action-get-visible"><primary>polkit_gnome_action_get_visible</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> polkit_gnome_action_get_visible (<link linkend="PolKitGnomeAction">PolKitGnomeAction</link> *action);</programlisting>
388 <para>
389 Get the master visibility, see PolKitGnomeAction:master-visible:
390 for details.</para>
391 <para>
392
393 </para><variablelist role="params">
394 <varlistentry><term><parameter>action</parameter>&nbsp;:</term>
395 <listitem><simpara> The <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> object
396 </simpara></listitem></varlistentry>
397 <varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the master visibility
398 </simpara></listitem></varlistentry>
399 </variablelist></refsect2>
400 <refsect2 id="polkit-gnome-action-set-visible" role="function">
401 <title>polkit_gnome_action_set_visible ()</title>
402 <indexterm zone="polkit-gnome-action-set-visible"><primary>polkit_gnome_action_set_visible</primary></indexterm><programlisting><link linkend="void">void</link> polkit_gnome_action_set_visible (<link linkend="PolKitGnomeAction">PolKitGnomeAction</link> *action,
403 <link linkend="gboolean">gboolean</link> visible);</programlisting>
404 <para>
405 Set the master visibility, see PolKitGnomeAction:master-visible:
406 for details.</para>
407 <para>
408
409 </para><variablelist role="params">
410 <varlistentry><term><parameter>action</parameter>&nbsp;:</term>
411 <listitem><simpara> The <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> object
412 </simpara></listitem></varlistentry>
413 <varlistentry><term><parameter>visible</parameter>&nbsp;:</term>
414 <listitem><simpara> master visibility
415 </simpara></listitem></varlistentry>
416 </variablelist></refsect2>
417 <refsect2 id="polkit-gnome-action-create-button" role="function">
418 <title>polkit_gnome_action_create_button ()</title>
419 <indexterm zone="polkit-gnome-action-create-button"><primary>polkit_gnome_action_create_button</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>* polkit_gnome_action_create_button (<link linkend="PolKitGnomeAction">PolKitGnomeAction</link> *action);</programlisting>
420 <para>
421 Create a button for the given action that displays the label,
422 tooltip and icon_name corresponding to whether the state, according
423 to PolicyKit, is no, auth or yes.</para>
424 <para>
425
426 </para><variablelist role="params">
427 <varlistentry><term><parameter>action</parameter>&nbsp;:</term>
428 <listitem><simpara> The <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> object
429 </simpara></listitem></varlistentry>
430 <varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> A <link linkend="GtkButton"><type>GtkButton</type></link> instance connected to the action
431 </simpara></listitem></varlistentry>
432 </variablelist></refsect2>
433
434 </refsect1>
435 <refsect1 id="PolKitGnomeAction.property-details" role="property_details">
436 <title role="property_details.title">Property Details</title>
437 <refsect2 id="PolKitGnomeAction--auth-icon-name"><title>The <literal>&quot;auth-icon-name&quot;</literal> property</title>
438 <indexterm zone="PolKitGnomeAction--auth-icon-name"><primary>PolKitGnomeAction:auth-icon-name</primary></indexterm><programlisting> &quot;auth-icon-name&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
439 <para>If PolicyKit evaluates the result as 'auth', use this icon-name.</para><para>Default value: NULL</para>
440 </refsect2>
441 <refsect2 id="PolKitGnomeAction--auth-label"><title>The <literal>&quot;auth-label&quot;</literal> property</title>
442 <indexterm zone="PolKitGnomeAction--auth-label"><primary>PolKitGnomeAction:auth-label</primary></indexterm><programlisting> &quot;auth-label&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
443 <para>If PolicyKit evaluates the result as 'auth', use this label.</para><para>Default value: NULL</para>
444 </refsect2>
445 <refsect2 id="PolKitGnomeAction--auth-sensitive"><title>The <literal>&quot;auth-sensitive&quot;</literal> property</title>
446 <indexterm zone="PolKitGnomeAction--auth-sensitive"><primary>PolKitGnomeAction:auth-sensitive</primary></indexterm><programlisting> &quot;auth-sensitive&quot; <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
447 <para>If PolicyKit evaluates the result as 'auth', whether the action will be sensitive.</para><para>Default value: TRUE</para>
448 </refsect2>
449 <refsect2 id="PolKitGnomeAction--auth-short-label"><title>The <literal>&quot;auth-short-label&quot;</literal> property</title>
450 <indexterm zone="PolKitGnomeAction--auth-short-label"><primary>PolKitGnomeAction:auth-short-label</primary></indexterm><programlisting> &quot;auth-short-label&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
451 <para>If PolicyKit evaluates the result as 'auth', use this short-label.</para><para>Default value: NULL</para>
452 </refsect2>
453 <refsect2 id="PolKitGnomeAction--auth-tooltip"><title>The <literal>&quot;auth-tooltip&quot;</literal> property</title>
454 <indexterm zone="PolKitGnomeAction--auth-tooltip"><primary>PolKitGnomeAction:auth-tooltip</primary></indexterm><programlisting> &quot;auth-tooltip&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
455 <para>If PolicyKit evaluates the result as 'auth', use this tooltip.</para><para>Default value: NULL</para>
456 </refsect2>
457 <refsect2 id="PolKitGnomeAction--auth-visible"><title>The <literal>&quot;auth-visible&quot;</literal> property</title>
458 <indexterm zone="PolKitGnomeAction--auth-visible"><primary>PolKitGnomeAction:auth-visible</primary></indexterm><programlisting> &quot;auth-visible&quot; <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
459 <para>If PolicyKit evaluates the result as 'auth', whether the action will be visible.</para><para>Default value: TRUE</para>
460 </refsect2>
461 <refsect2 id="PolKitGnomeAction--master-sensitive"><title>The <literal>&quot;master-sensitive&quot;</literal> property</title>
462 <indexterm zone="PolKitGnomeAction--master-sensitive"><primary>PolKitGnomeAction:master-sensitive</primary></indexterm><programlisting> &quot;master-sensitive&quot; <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
463 <para>Can be set to FALSE to force insensitivity no matter what PolicyKit reports.</para><para>Default value: TRUE</para>
464 </refsect2>
465 <refsect2 id="PolKitGnomeAction--master-visible"><title>The <literal>&quot;master-visible&quot;</literal> property</title>
466 <indexterm zone="PolKitGnomeAction--master-visible"><primary>PolKitGnomeAction:master-visible</primary></indexterm><programlisting> &quot;master-visible&quot; <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
467 <para>Can be set to FALSE to force invisibility no matter what PolicyKit reports.</para><para>Default value: TRUE</para>
468 </refsect2>
469 <refsect2 id="PolKitGnomeAction--no-icon-name"><title>The <literal>&quot;no-icon-name&quot;</literal> property</title>
470 <indexterm zone="PolKitGnomeAction--no-icon-name"><primary>PolKitGnomeAction:no-icon-name</primary></indexterm><programlisting> &quot;no-icon-name&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
471 <para>If PolicyKit evaluates the result as 'no', use this icon-name.</para><para>Default value: NULL</para>
472 </refsect2>
473 <refsect2 id="PolKitGnomeAction--no-label"><title>The <literal>&quot;no-label&quot;</literal> property</title>
474 <indexterm zone="PolKitGnomeAction--no-label"><primary>PolKitGnomeAction:no-label</primary></indexterm><programlisting> &quot;no-label&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
475 <para>If PolicyKit evaluates the result as 'no', use this label.</para><para>Default value: NULL</para>
476 </refsect2>
477 <refsect2 id="PolKitGnomeAction--no-sensitive"><title>The <literal>&quot;no-sensitive&quot;</literal> property</title>
478 <indexterm zone="PolKitGnomeAction--no-sensitive"><primary>PolKitGnomeAction:no-sensitive</primary></indexterm><programlisting> &quot;no-sensitive&quot; <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
479 <para>If PolicyKit evaluates the result as 'no', whether the action will be sensitive.</para><para>Default value: FALSE</para>
480 </refsect2>
481 <refsect2 id="PolKitGnomeAction--no-short-label"><title>The <literal>&quot;no-short-label&quot;</literal> property</title>
482 <indexterm zone="PolKitGnomeAction--no-short-label"><primary>PolKitGnomeAction:no-short-label</primary></indexterm><programlisting> &quot;no-short-label&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
483 <para>If PolicyKit evaluates the result as 'no', use this short-label.</para><para>Default value: NULL</para>
484 </refsect2>
485 <refsect2 id="PolKitGnomeAction--no-tooltip"><title>The <literal>&quot;no-tooltip&quot;</literal> property</title>
486 <indexterm zone="PolKitGnomeAction--no-tooltip"><primary>PolKitGnomeAction:no-tooltip</primary></indexterm><programlisting> &quot;no-tooltip&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
487 <para>If PolicyKit evaluates the result as 'no', use this tooltip.</para><para>Default value: NULL</para>
488 </refsect2>
489 <refsect2 id="PolKitGnomeAction--no-visible"><title>The <literal>&quot;no-visible&quot;</literal> property</title>
490 <indexterm zone="PolKitGnomeAction--no-visible"><primary>PolKitGnomeAction:no-visible</primary></indexterm><programlisting> &quot;no-visible&quot; <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
491 <para>If PolicyKit evaluates the result as 'no', whether the action will be visible.</para><para>Default value: TRUE</para>
492 </refsect2>
493 <refsect2 id="PolKitGnomeAction--polkit-action"><title>The <literal>&quot;polkit-action&quot;</literal> property</title>
494 <indexterm zone="PolKitGnomeAction--polkit-action"><primary>PolKitGnomeAction:polkit-action</primary></indexterm><programlisting> &quot;polkit-action&quot; <link linkend="gpointer">gpointer</link> : Read / Write / Construct</programlisting>
495 <para>The PolKitAction object this GTK+ action is tracking.</para></refsect2>
496 <refsect2 id="PolKitGnomeAction--polkit-action-sufficient"><title>The <literal>&quot;polkit-action-sufficient&quot;</literal> property</title>
497 <indexterm zone="PolKitGnomeAction--polkit-action-sufficient"><primary>PolKitGnomeAction:polkit-action-sufficient</primary></indexterm><programlisting> &quot;polkit-action-sufficient&quot; <link linkend="GValueArray">GValueArray</link>* : Read / Write / Construct</programlisting>
498 <para>An array of PolKitAction objects that are sufficient to have authorizations for.</para></refsect2>
499 <refsect2 id="PolKitGnomeAction--self-blocked-icon-name"><title>The <literal>&quot;self-blocked-icon-name&quot;</literal> property</title>
500 <indexterm zone="PolKitGnomeAction--self-blocked-icon-name"><primary>PolKitGnomeAction:self-blocked-icon-name</primary></indexterm><programlisting> &quot;self-blocked-icon-name&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
501 <para>If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this icon-name.</para><para>Default value: NULL</para>
502 </refsect2>
503 <refsect2 id="PolKitGnomeAction--self-blocked-label"><title>The <literal>&quot;self-blocked-label&quot;</literal> property</title>
504 <indexterm zone="PolKitGnomeAction--self-blocked-label"><primary>PolKitGnomeAction:self-blocked-label</primary></indexterm><programlisting> &quot;self-blocked-label&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
505 <para>If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this label.</para><para>Default value: NULL</para>
506 </refsect2>
507 <refsect2 id="PolKitGnomeAction--self-blocked-sensitive"><title>The <literal>&quot;self-blocked-sensitive&quot;</literal> property</title>
508 <indexterm zone="PolKitGnomeAction--self-blocked-sensitive"><primary>PolKitGnomeAction:self-blocked-sensitive</primary></indexterm><programlisting> &quot;self-blocked-sensitive&quot; <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
509 <para>If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, whether the action will be sensitive.</para><para>Default value: FALSE</para>
510 </refsect2>
511 <refsect2 id="PolKitGnomeAction--self-blocked-short-label"><title>The <literal>&quot;self-blocked-short-label&quot;</literal> property</title>
512 <indexterm zone="PolKitGnomeAction--self-blocked-short-label"><primary>PolKitGnomeAction:self-blocked-short-label</primary></indexterm><programlisting> &quot;self-blocked-short-label&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
513 <para>If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this short-label.</para><para>Default value: NULL</para>
514 </refsect2>
515 <refsect2 id="PolKitGnomeAction--self-blocked-tooltip"><title>The <literal>&quot;self-blocked-tooltip&quot;</literal> property</title>
516 <indexterm zone="PolKitGnomeAction--self-blocked-tooltip"><primary>PolKitGnomeAction:self-blocked-tooltip</primary></indexterm><programlisting> &quot;self-blocked-tooltip&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
517 <para>If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this tooltip.</para><para>Default value: NULL</para>
518 </refsect2>
519 <refsect2 id="PolKitGnomeAction--self-blocked-visible"><title>The <literal>&quot;self-blocked-visible&quot;</literal> property</title>
520 <indexterm zone="PolKitGnomeAction--self-blocked-visible"><primary>PolKitGnomeAction:self-blocked-visible</primary></indexterm><programlisting> &quot;self-blocked-visible&quot; <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
521 <para>If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, whether the action will be visible.</para><para>Default value: TRUE</para>
522 </refsect2>
523 <refsect2 id="PolKitGnomeAction--target-pid"><title>The <literal>&quot;target-pid&quot;</literal> property</title>
524 <indexterm zone="PolKitGnomeAction--target-pid"><primary>PolKitGnomeAction:target-pid</primary></indexterm><programlisting> &quot;target-pid&quot; <link linkend="guint">guint</link> : Read / Write / Construct</programlisting>
525 <para>The target process id to receive the authorization; if 0 it is the current process.</para><para>Default value: 0</para>
526 </refsect2>
527 <refsect2 id="PolKitGnomeAction--yes-icon-name"><title>The <literal>&quot;yes-icon-name&quot;</literal> property</title>
528 <indexterm zone="PolKitGnomeAction--yes-icon-name"><primary>PolKitGnomeAction:yes-icon-name</primary></indexterm><programlisting> &quot;yes-icon-name&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
529 <para>If PolicyKit evaluates the result as 'yes', use this icon-name.</para><para>Default value: NULL</para>
530 </refsect2>
531 <refsect2 id="PolKitGnomeAction--yes-label"><title>The <literal>&quot;yes-label&quot;</literal> property</title>
532 <indexterm zone="PolKitGnomeAction--yes-label"><primary>PolKitGnomeAction:yes-label</primary></indexterm><programlisting> &quot;yes-label&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
533 <para>If PolicyKit evaluates the result as 'yes', use this label.</para><para>Default value: NULL</para>
534 </refsect2>
535 <refsect2 id="PolKitGnomeAction--yes-sensitive"><title>The <literal>&quot;yes-sensitive&quot;</literal> property</title>
536 <indexterm zone="PolKitGnomeAction--yes-sensitive"><primary>PolKitGnomeAction:yes-sensitive</primary></indexterm><programlisting> &quot;yes-sensitive&quot; <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
537 <para>If PolicyKit evaluates the result as 'yes', whether the action will be sensitive.</para><para>Default value: TRUE</para>
538 </refsect2>
539 <refsect2 id="PolKitGnomeAction--yes-short-label"><title>The <literal>&quot;yes-short-label&quot;</literal> property</title>
540 <indexterm zone="PolKitGnomeAction--yes-short-label"><primary>PolKitGnomeAction:yes-short-label</primary></indexterm><programlisting> &quot;yes-short-label&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
541 <para>If PolicyKit evaluates the result as 'yes', use this short-label.</para><para>Default value: NULL</para>
542 </refsect2>
543 <refsect2 id="PolKitGnomeAction--yes-tooltip"><title>The <literal>&quot;yes-tooltip&quot;</literal> property</title>
544 <indexterm zone="PolKitGnomeAction--yes-tooltip"><primary>PolKitGnomeAction:yes-tooltip</primary></indexterm><programlisting> &quot;yes-tooltip&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
545 <para>If PolicyKit evaluates the result as 'yes', use this tooltip.</para><para>Default value: NULL</para>
546 </refsect2>
547 <refsect2 id="PolKitGnomeAction--yes-visible"><title>The <literal>&quot;yes-visible&quot;</literal> property</title>
548 <indexterm zone="PolKitGnomeAction--yes-visible"><primary>PolKitGnomeAction:yes-visible</primary></indexterm><programlisting> &quot;yes-visible&quot; <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
549 <para>If PolicyKit evaluates the result as 'yes', whether the action will be visible.</para><para>Default value: TRUE</para>
550 </refsect2>
551
552 </refsect1>
553
554 <refsect1 id="PolKitGnomeAction.signal-details" role="signals">
555 <title role="signals.title">Signal Details</title>
556 <refsect2 id="PolKitGnomeAction-auth-end"><title>The <literal>&quot;auth-end&quot;</literal> signal</title>
557 <indexterm zone="PolKitGnomeAction-auth-end"><primary>PolKitGnomeAction::auth-end</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="PolKitGnomeAction">PolKitGnomeAction</link> *action,
558 <link linkend="gboolean">gboolean</link> gained_privilege,
559 <link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
560 <para>
561 The ::auth-end signal is emitted when the an authentication
562 session ends and carries information about whether the
563 privilege was obtained or not.</para>
564 <para>
565
566 </para><variablelist role="params">
567 <varlistentry><term><parameter>action</parameter>&nbsp;:</term>
568 <listitem><simpara> the object
569 </simpara></listitem></varlistentry>
570 <varlistentry><term><parameter>gained_privilege</parameter>&nbsp;:</term>
571 <listitem><simpara> whether the privilege was gained
572 </simpara></listitem></varlistentry>
573 <varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
574 <listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
575 </variablelist></refsect2><refsect2 id="PolKitGnomeAction-auth-start"><title>The <literal>&quot;auth-start&quot;</literal> signal</title>
576 <indexterm zone="PolKitGnomeAction-auth-start"><primary>PolKitGnomeAction::auth-start</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="PolKitGnomeAction">PolKitGnomeAction</link> *action,
577 <link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
578 <para>
579 The ::auth-start signal is emitted when an authentication
580 session starts.</para>
581 <para>
582
583 </para><variablelist role="params">
584 <varlistentry><term><parameter>action</parameter>&nbsp;:</term>
585 <listitem><simpara> the object
586 </simpara></listitem></varlistentry>
587 <varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
588 <listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
589 </variablelist></refsect2><refsect2 id="PolKitGnomeAction-polkit-result-changed"><title>The <literal>&quot;polkit-result-changed&quot;</literal> signal</title>
590 <indexterm zone="PolKitGnomeAction-polkit-result-changed"><primary>PolKitGnomeAction::polkit-result-changed</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="PolKitGnomeAction">PolKitGnomeAction</link> *action,
591 <link linkend="gint">gint</link> current_result,
592 <link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
593 <para>
594 The ::polkit-result-changed signal is emitted when the
595 PolicyKit result changes. This can happen when external
596 factors (config file, ConsoleKit, privilege granted /
597 revoked) change since the <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link> class listens
598 for events using the <link linkend="PolKitGnomeContext"><type>PolKitGnomeContext</type></link> class.</para>
599 <para>
600
601 </para><variablelist role="params">
602 <varlistentry><term><parameter>action</parameter>&nbsp;:</term>
603 <listitem><simpara> the object
604 </simpara></listitem></varlistentry>
605 <varlistentry><term><parameter>current_result</parameter>&nbsp;:</term>
606 <listitem><simpara> current <link linkend="PolKitResult"><type>PolKitResult</type></link> from PolicyKit regarding given <link linkend="PolKitAction"><type>PolKitAction</type></link> object
607 </simpara></listitem></varlistentry>
608 <varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
609 <listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
610 </variablelist></refsect2>
611 </refsect1>
612
613
614
615 </refentry>
+0
-141
doc/xml/polkit-gnome-auth.xml less more
0 <?xml version="1.0"?>
1 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
2 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
3 <!ENTITY version SYSTEM "version.xml">
4 ]>
5 <refentry id="polkit-gnome-polkit-gnome-auth">
6 <refmeta>
7 <refentrytitle role="top_of_page" id="polkit-gnome-polkit-gnome-auth.top_of_page">Authentication Dialogs</refentrytitle>
8 <manvolnum>3</manvolnum>
9 <refmiscinfo>POLKIT-GNOME Library</refmiscinfo>
10 </refmeta>
11
12 <refnamediv>
13 <refname>Authentication Dialogs</refname>
14 <refpurpose>Show authentication dialogs to gain privileges</refpurpose>
15 <!--[<xref linkend="desc" endterm="desc.title"/>]-->
16 </refnamediv>
17
18 <refsynopsisdiv id="polkit-gnome-polkit-gnome-auth.synopsis" role="synopsis">
19 <title role="synopsis.title">Synopsis</title>
20
21 <synopsis>
22 <link linkend="void">void</link> (<link linkend="PolKitGnomeAuthCB">*PolKitGnomeAuthCB</link>) (<link linkend="PolKitAction">PolKitAction</link> *action,
23 <link linkend="gboolean">gboolean</link> gained_privilege,
24 <link linkend="GError">GError</link> *error,
25 <link linkend="gpointer">gpointer</link> user_data);
26 <link linkend="gboolean">gboolean</link> <link linkend="polkit-gnome-auth-obtain">polkit_gnome_auth_obtain</link> (<link linkend="PolKitAction">PolKitAction</link> *action,
27 <link linkend="guint">guint</link> xid,
28 <link linkend="pid-t">pid_t</link> pid,
29 <link linkend="PolKitGnomeAuthCB">PolKitGnomeAuthCB</link> callback,
30 <link linkend="gpointer">gpointer</link> user_data,
31 <link linkend="GError">GError</link> **error);
32 </synopsis>
33 </refsynopsisdiv>
34
35
36
37
38
39
40
41
42
43 <refsect1 id="polkit-gnome-polkit-gnome-auth.description" role="desc">
44 <title role="desc.title">Description</title>
45 <para>
46 Show authentication dialogs to gain privileges.</para>
47 <para>
48
49 </para>
50 </refsect1>
51
52 <refsect1 id="polkit-gnome-polkit-gnome-auth.details" role="details">
53 <title role="details.title">Details</title>
54 <refsect2 id="PolKitGnomeAuthCB" role="function">
55 <title>PolKitGnomeAuthCB ()</title>
56 <indexterm zone="PolKitGnomeAuthCB"><primary>PolKitGnomeAuthCB</primary></indexterm><programlisting><link linkend="void">void</link> (*PolKitGnomeAuthCB) (<link linkend="PolKitAction">PolKitAction</link> *action,
57 <link linkend="gboolean">gboolean</link> gained_privilege,
58 <link linkend="GError">GError</link> *error,
59 <link linkend="gpointer">gpointer</link> user_data);</programlisting>
60 <para>
61 The type of the callback function for
62 <link linkend="polkit-gnome-auth-show-dialog"><function>polkit_gnome_auth_show_dialog()</function></link>.</para>
63 <para>
64
65 </para><variablelist role="params">
66 <varlistentry><term><parameter>action</parameter>&nbsp;:</term>
67 <listitem><simpara> the <link linkend="PolKitAction"><type>PolKitAction</type></link> passed in <link linkend="polkit-gnome-auth-show-dialog"><function>polkit_gnome_auth_show_dialog()</function></link>
68 </simpara></listitem></varlistentry>
69 <varlistentry><term><parameter>gained_privilege</parameter>&nbsp;:</term>
70 <listitem><simpara> whether the user gained the privilege. Set to
71 <link linkend="FALSE:CAPS"><type>FALSE</type></link> if error is set. If set to <link linkend="TRUE:CAPS"><type>TRUE</type></link>, error will not be set.
72 </simpara></listitem></varlistentry>
73 <varlistentry><term><parameter>error</parameter>&nbsp;:</term>
74 <listitem><simpara> if the call failed, this parameter will be non-<link linkend="NULL:CAPS"><type>NULL</type></link>. The
75 callee shall free the error.
76 </simpara></listitem></varlistentry>
77 <varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
78 <listitem><simpara> user data
79 </simpara></listitem></varlistentry>
80 </variablelist></refsect2>
81 <refsect2 id="polkit-gnome-auth-obtain" role="function">
82 <title>polkit_gnome_auth_obtain ()</title>
83 <indexterm zone="polkit-gnome-auth-obtain"><primary>polkit_gnome_auth_obtain</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> polkit_gnome_auth_obtain (<link linkend="PolKitAction">PolKitAction</link> *action,
84 <link linkend="guint">guint</link> xid,
85 <link linkend="pid-t">pid_t</link> pid,
86 <link linkend="PolKitGnomeAuthCB">PolKitGnomeAuthCB</link> callback,
87 <link linkend="gpointer">gpointer</link> user_data,
88 <link linkend="GError">GError</link> **error);</programlisting>
89 <para>
90 Applications can use this function to show a dialog for the user
91 asking her to authenticate in order to gain privileges to do the
92 given action. The authentication, for security reasons, happens in
93 a separate process; this function is merely a wrapper around a
94 D-Bus call across the session message bus to the
95 <literal>org.freedesktop.PolicyKit.AuthenticationAgent</literal>
96 service. Depending on the setup, this may be the Authentication
97 Agent shipped with PolicyKit-gnome or it may be another
98 implementation. For example, if the user is in KDE it may be an
99 Authentication Agent using the Qt toolkit.
100 </para>
101 <para>
102 The Authentication Agent shipped with PolicyKit-gnome is described
103 in <link linkend="ref-auth-daemon">this section</link>.
104 </para>
105 <para>
106 This function is similar to the <link linkend="polkit-auth-obtain"><function>polkit_auth_obtain()</function></link> function
107 supplied in <literal>libpolkit-dbus</literal> except that this
108 function is asynchronous.</para>
109 <para>
110
111 </para><variablelist role="params">
112 <varlistentry><term><parameter>action</parameter>&nbsp;:</term>
113 <listitem><simpara> The <link linkend="PolKitAction"><type>PolKitAction</type></link> to make the user authenticate for
114 </simpara></listitem></varlistentry>
115 <varlistentry><term><parameter>xid</parameter>&nbsp;:</term>
116 <listitem><simpara> X11 window ID for the window that the dialog will be transient for. If there is no window, pass 0.
117 </simpara></listitem></varlistentry>
118 <varlistentry><term><parameter>pid</parameter>&nbsp;:</term>
119 <listitem><simpara> Process ID of process to grant authorization to. Normally one wants to pass result of <link linkend="getpid"><function>getpid()</function></link>.
120 </simpara></listitem></varlistentry>
121 <varlistentry><term><parameter>callback</parameter>&nbsp;:</term>
122 <listitem><simpara> Function to call when authentication is done
123 </simpara></listitem></varlistentry>
124 <varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
125 <listitem><simpara> Data to pass to the callback function
126 </simpara></listitem></varlistentry>
127 <varlistentry><term><parameter>error</parameter>&nbsp;:</term>
128 <listitem><simpara> Return location for error
129 </simpara></listitem></varlistentry>
130 <varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><type>TRUE</type></link> if the authentication session was scheduled to
131 start. <link linkend="FALSE:CAPS"><type>FALSE</type></link> if error is set (and no callback will be made).
132 </simpara></listitem></varlistentry>
133 </variablelist></refsect2>
134
135 </refsect1>
136
137
138
139
140 </refentry>
+0
-223
doc/xml/polkit-gnome-context.xml less more
0 <?xml version="1.0"?>
1 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
2 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
3 <!ENTITY version SYSTEM "version.xml">
4 ]>
5 <refentry id="PolKitGnomeContext">
6 <refmeta>
7 <refentrytitle role="top_of_page" id="PolKitGnomeContext.top_of_page">PolKitGnomeContext</refentrytitle>
8 <manvolnum>3</manvolnum>
9 <refmiscinfo>POLKIT-GNOME Library</refmiscinfo>
10 </refmeta>
11
12 <refnamediv>
13 <refname>PolKitGnomeContext</refname>
14 <refpurpose>Convenience functions for using PolicyKit from GTK+ and GNOME applications.</refpurpose>
15 <!--[<xref linkend="desc" endterm="desc.title"/>]-->
16 </refnamediv>
17
18 <refsynopsisdiv id="PolKitGnomeContext.synopsis" role="synopsis">
19 <title role="synopsis.title">Synopsis</title>
20
21 <synopsis>
22 #define <link linkend="POLKIT-GNOME-CONTEXT-ERROR:CAPS">POLKIT_GNOME_CONTEXT_ERROR</link>
23 enum <link linkend="PolKitGnomeContextError">PolKitGnomeContextError</link>;
24 <link linkend="PolKitGnomeContextPrivate">PolKitGnomeContextPrivate</link>;
25 <link linkend="PolKitGnomeContext-struct">PolKitGnomeContext</link>;
26 <link linkend="PolKitGnomeContext">PolKitGnomeContext</link>* <link linkend="polkit-gnome-context-get">polkit_gnome_context_get</link> (<link linkend="GError">GError</link> **error);
27 <link linkend="GQuark">GQuark</link> <link linkend="polkit-gnome-context-error-quark">polkit_gnome_context_error_quark</link> (void);
28 </synopsis>
29 </refsynopsisdiv>
30
31 <refsect1 id="PolKitGnomeContext.object-hierarchy" role="object_hierarchy">
32 <title role="object_hierarchy.title">Object Hierarchy</title>
33 <synopsis>
34 <link linkend="GObject">GObject</link>
35 +----PolKitGnomeContext
36 </synopsis>
37
38 </refsect1>
39
40
41
42
43
44
45 <refsect1 id="PolKitGnomeContext.signals" role="signal_proto">
46 <title role="signal_proto.title">Signals</title>
47 <synopsis>
48 &quot;<link linkend="PolKitGnomeContext-config-changed">config-changed</link>&quot; : Run Last
49 &quot;<link linkend="PolKitGnomeContext-console-kit-db-changed">console-kit-db-changed</link>&quot; : Run Last
50 </synopsis>
51 </refsect1>
52
53
54 <refsect1 id="PolKitGnomeContext.description" role="desc">
55 <title role="desc.title">Description</title>
56 <para>
57 This class provides convenience functions for using PolicyKit from
58 GTK+ and GNOME applications including setting up main loop
59 integration and system bus connections. Rather than using
60 callbacks, GObject signals are provided when external factors
61 change (e.g. the PolicyKit.conf configuration file changes or
62 ConsoleKit reports activity changes).
63 </para>
64 <para>
65 Actual usage of PolicyKit is still through the main PolicyKit API
66 through the public pk_context and pk_tracker variables.
67 </para>
68 <para>
69 This class is implemented as a singleton meaning that several
70 callers will share the underlying <link linkend="PolKitContext"><type>PolKitContext</type></link> and <link linkend="PolKitTracker"><type>PolKitTracker</type></link>
71 objects. Do not use any of the life cycle methods of these objects;
72 only use them to gather information.</para>
73 <para>
74
75 </para>
76 </refsect1>
77
78 <refsect1 id="PolKitGnomeContext.details" role="details">
79 <title role="details.title">Details</title>
80 <refsect2 id="POLKIT-GNOME-CONTEXT-ERROR:CAPS" role="macro">
81 <title>POLKIT_GNOME_CONTEXT_ERROR</title>
82 <indexterm zone="POLKIT-GNOME-CONTEXT-ERROR:CAPS"><primary>POLKIT_GNOME_CONTEXT_ERROR</primary></indexterm><programlisting>#define POLKIT_GNOME_CONTEXT_ERROR polkit_gnome_context_error_quark ()
83 </programlisting>
84 <para>
85 Error domain for using the GNOME PolicyKit context. Errors in this
86 domain will be from the <link linkend="PolKitGnomeContextError"><type>PolKitGnomeContextError</type></link> enumeration. See
87 <link linkend="GError"><type>GError</type></link> for information on error domains.</para>
88 <para>
89
90 </para></refsect2>
91 <refsect2 id="PolKitGnomeContextError" role="enum">
92 <title>enum PolKitGnomeContextError</title>
93 <indexterm zone="PolKitGnomeContextError"><primary>PolKitGnomeContextError</primary></indexterm><programlisting>typedef enum
94 {
95 POLKIT_GNOME_CONTEXT_ERROR_FAILED
96 } PolKitGnomeContextError;
97 </programlisting>
98 <para>
99 Error codes describing how <link linkend="PolKitGnomeContext"><type>PolKitGnomeContext</type></link> can fail.</para>
100 <para>
101
102 </para><variablelist role="enum">
103 <varlistentry id="POLKIT-GNOME-CONTEXT-ERROR-FAILED:CAPS" role="constant">
104 <term><literal>POLKIT_GNOME_CONTEXT_ERROR_FAILED</literal></term>
105 <listitem><simpara> General error
106 </simpara></listitem>
107 </varlistentry>
108 </variablelist></refsect2>
109 <refsect2 id="PolKitGnomeContextPrivate" role="struct">
110 <title>PolKitGnomeContextPrivate</title>
111 <indexterm zone="PolKitGnomeContextPrivate"><primary>PolKitGnomeContextPrivate</primary></indexterm><programlisting>typedef struct _PolKitGnomeContextPrivate PolKitGnomeContextPrivate;</programlisting>
112 <para>
113
114 </para></refsect2>
115 <refsect2 id="PolKitGnomeContext-struct" role="struct">
116 <title>PolKitGnomeContext</title>
117 <indexterm zone="PolKitGnomeContext-struct"><primary>PolKitGnomeContext</primary></indexterm><programlisting>typedef struct {
118 PolKitContext *pk_context;
119 PolKitTracker *pk_tracker;
120 } PolKitGnomeContext;
121 </programlisting>
122 <para>
123 Provide access to <link linkend="PolKitContext"><type>PolKitContext</type></link> and <link linkend="PolKitTracker"><type>PolKitTracker</type></link> instances
124 shared among many callers.</para>
125 <para>
126
127 </para><variablelist role="struct">
128 <varlistentry>
129 <term><link linkend="PolKitContext">PolKitContext</link>&nbsp;*<structfield>pk_context</structfield>;</term>
130 <listitem><simpara> for interfacing with PolicyKit; e.g. typically <link linkend="polkit-context-can-caller-do-action"><function>polkit_context_can_caller_do_action()</function></link>
131 </simpara></listitem>
132 </varlistentry>
133 <varlistentry>
134 <term><link linkend="PolKitTracker">PolKitTracker</link>&nbsp;*<structfield>pk_tracker</structfield>;</term>
135 <listitem><simpara> this is used for effieciently obtaining <link linkend="PolKitCaller"><type>PolKitCaller</type></link> objects
136 </simpara></listitem>
137 </varlistentry>
138 </variablelist></refsect2>
139 <refsect2 id="polkit-gnome-context-get" role="function">
140 <title>polkit_gnome_context_get ()</title>
141 <indexterm zone="polkit-gnome-context-get"><primary>polkit_gnome_context_get</primary></indexterm><programlisting><link linkend="PolKitGnomeContext">PolKitGnomeContext</link>* polkit_gnome_context_get (<link linkend="GError">GError</link> **error);</programlisting>
142 <para>
143 Returns a <link linkend="PolKitGnomeContext"><type>PolKitGnomeContext</type></link> object. The context is a global
144 singleton that may be shared with other callers of this function.
145 </para>
146 <para>
147 This operation can fail if the system message bus is not available.
148 </para>
149 <para>
150 When done with using this object, call <link linkend="g-object-unref"><function>g_object_unref()</function></link>. This is
151 such that resources can be freed when all callers have unreffed it.</para>
152 <para>
153
154 </para><variablelist role="params">
155 <varlistentry><term><parameter>error</parameter>&nbsp;:</term>
156 <listitem><simpara> return location for error
157 </simpara></listitem></varlistentry>
158 <varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a new <link linkend="PolKitGnomeContext"><type>PolKitGnomeContext</type></link> or NULL if error is set
159 </simpara></listitem></varlistentry>
160 </variablelist></refsect2>
161 <refsect2 id="polkit-gnome-context-error-quark" role="function">
162 <title>polkit_gnome_context_error_quark ()</title>
163 <indexterm zone="polkit-gnome-context-error-quark"><primary>polkit_gnome_context_error_quark</primary></indexterm><programlisting><link linkend="GQuark">GQuark</link> polkit_gnome_context_error_quark (void);</programlisting>
164 <para>
165
166 </para><variablelist role="params">
167 <varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>
168
169
170 </simpara></listitem></varlistentry>
171 </variablelist></refsect2>
172
173 </refsect1>
174
175 <refsect1 id="PolKitGnomeContext.signal-details" role="signals">
176 <title role="signals.title">Signal Details</title>
177 <refsect2 id="PolKitGnomeContext-config-changed"><title>The <literal>&quot;config-changed&quot;</literal> signal</title>
178 <indexterm zone="PolKitGnomeContext-config-changed"><primary>PolKitGnomeContext::config-changed</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="PolKitGnomeContext">PolKitGnomeContext</link> *context,
179 <link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
180 <para>
181 The ::config-changed signal is emitted when PolicyKit
182 configuration (e.g. /etc/PolicyKit/PolicyKit.conf or
183 .policy files) changes content.
184 </para>
185 <para>
186 As this is one contributing factor to what answer PolicyKit
187 will return, the caller should act on this signal and query
188 PolicyKit for any actions it cares about.</para>
189 <para>
190
191 </para><variablelist role="params">
192 <varlistentry><term><parameter>context</parameter>&nbsp;:</term>
193 <listitem><simpara> the object
194 </simpara></listitem></varlistentry>
195 <varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
196 <listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
197 </variablelist></refsect2><refsect2 id="PolKitGnomeContext-console-kit-db-changed"><title>The <literal>&quot;console-kit-db-changed&quot;</literal> signal</title>
198 <indexterm zone="PolKitGnomeContext-console-kit-db-changed"><primary>PolKitGnomeContext::console-kit-db-changed</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="PolKitGnomeContext">PolKitGnomeContext</link> *context,
199 <link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
200 <para>
201 The ::console-kit-db-changed signal is emitted when
202 ConsoleKit configuration changes; e.g. when a session
203 becomes active or inactive.
204 </para>
205 <para>
206 As this is one contributing factor to what answer PolicyKit
207 will return, the caller should act on this signal and query
208 PolicyKit for any actions it cares about.</para>
209 <para>
210
211 </para><variablelist role="params">
212 <varlistentry><term><parameter>context</parameter>&nbsp;:</term>
213 <listitem><simpara> the object
214 </simpara></listitem></varlistentry>
215 <varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
216 <listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
217 </variablelist></refsect2>
218 </refsect1>
219
220
221
222 </refentry>
+0
-265
doc/xml/polkit-gnome-toggle-action.xml less more
0 <?xml version="1.0"?>
1 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
2 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
3 <!ENTITY version SYSTEM "version.xml">
4 ]>
5 <refentry id="PolKitGnomeToggleAction">
6 <refmeta>
7 <refentrytitle role="top_of_page" id="PolKitGnomeToggleAction.top_of_page">PolKitGnomeToggleAction</refentrytitle>
8 <manvolnum>3</manvolnum>
9 <refmiscinfo>POLKIT-GNOME Library</refmiscinfo>
10 </refmeta>
11
12 <refnamediv>
13 <refname>PolKitGnomeToggleAction</refname>
14 <refpurpose>A GtkAction that can be toggled to
15 obtain and give up PolicyKit authorizations.</refpurpose>
16 <!--[<xref linkend="desc" endterm="desc.title"/>]-->
17 </refnamediv>
18
19 <refsynopsisdiv id="PolKitGnomeToggleAction.synopsis" role="synopsis">
20 <title role="synopsis.title">Synopsis</title>
21
22 <synopsis>
23 <link linkend="PolKitGnomeToggleActionPrivate">PolKitGnomeToggleActionPrivate</link>;
24 <link linkend="PolKitGnomeToggleAction-struct">PolKitGnomeToggleAction</link>;
25 <link linkend="PolKitGnomeToggleAction">PolKitGnomeToggleAction</link>* <link linkend="polkit-gnome-toggle-action-new">polkit_gnome_toggle_action_new</link> (const <link linkend="gchar">gchar</link> *name);
26 <link linkend="PolKitGnomeToggleAction">PolKitGnomeToggleAction</link>* <link linkend="polkit-gnome-toggle-action-new-default">polkit_gnome_toggle_action_new_default</link>
27 (const <link linkend="gchar">gchar</link> *name,
28 <link linkend="PolKitAction">PolKitAction</link> *polkit_action,
29 const <link linkend="gchar">gchar</link> *locked_label,
30 const <link linkend="gchar">gchar</link> *unlocked_label);
31 <link linkend="GtkWidget">GtkWidget</link>* <link linkend="polkit-gnome-toggle-action-create-toggle-button">polkit_gnome_toggle_action_create_toggle_button</link>
32 (<link linkend="PolKitGnomeToggleAction">PolKitGnomeToggleAction</link> *action);
33 </synopsis>
34 </refsynopsisdiv>
35
36 <refsect1 id="PolKitGnomeToggleAction.object-hierarchy" role="object_hierarchy">
37 <title role="object_hierarchy.title">Object Hierarchy</title>
38 <synopsis>
39 <link linkend="GObject">GObject</link>
40 +----<link linkend="GtkAction">GtkAction</link>
41 +----<link linkend="PolKitGnomeAction">PolKitGnomeAction</link>
42 +----PolKitGnomeToggleAction
43 </synopsis>
44
45 </refsect1>
46
47
48
49 <refsect1 id="PolKitGnomeToggleAction.implemented-interfaces" role="impl_interfaces">
50 <title role="impl_interfaces.title">Implemented Interfaces</title>
51 <para>
52 PolKitGnomeToggleAction implements
53 <link linkend="GtkBuildable">GtkBuildable</link>.</para>
54
55 </refsect1>
56
57
58 <refsect1 id="PolKitGnomeToggleAction.properties" role="properties">
59 <title role="properties.title">Properties</title>
60 <synopsis>
61 &quot;<link linkend="PolKitGnomeToggleAction--auth-underway-icon-name">auth-underway-icon-name</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
62 &quot;<link linkend="PolKitGnomeToggleAction--auth-underway-label">auth-underway-label</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
63 &quot;<link linkend="PolKitGnomeToggleAction--auth-underway-sensitive">auth-underway-sensitive</link>&quot; <link linkend="gboolean">gboolean</link> : Read / Write
64 &quot;<link linkend="PolKitGnomeToggleAction--auth-underway-short-label">auth-underway-short-label</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
65 &quot;<link linkend="PolKitGnomeToggleAction--auth-underway-tooltip">auth-underway-tooltip</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write
66 &quot;<link linkend="PolKitGnomeToggleAction--auth-underway-visible">auth-underway-visible</link>&quot; <link linkend="gboolean">gboolean</link> : Read / Write
67 </synopsis>
68 </refsect1>
69
70 <refsect1 id="PolKitGnomeToggleAction.signals" role="signal_proto">
71 <title role="signal_proto.title">Signals</title>
72 <synopsis>
73 &quot;<link linkend="PolKitGnomeToggleAction-toggled">toggled</link>&quot; : Run Last
74 </synopsis>
75 </refsect1>
76
77
78 <refsect1 id="PolKitGnomeToggleAction.description" role="desc">
79 <title role="desc.title">Description</title>
80 <para>
81 For an example of how to use this class, see the documentation for
82 <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link>.</para>
83 <para>
84
85 </para>
86 </refsect1>
87
88 <refsect1 id="PolKitGnomeToggleAction.details" role="details">
89 <title role="details.title">Details</title>
90 <refsect2 id="PolKitGnomeToggleActionPrivate" role="struct">
91 <title>PolKitGnomeToggleActionPrivate</title>
92 <indexterm zone="PolKitGnomeToggleActionPrivate"><primary>PolKitGnomeToggleActionPrivate</primary></indexterm><programlisting>typedef struct _PolKitGnomeToggleActionPrivate PolKitGnomeToggleActionPrivate;</programlisting>
93 <para>
94
95 </para></refsect2>
96 <refsect2 id="PolKitGnomeToggleAction-struct" role="struct">
97 <title>PolKitGnomeToggleAction</title>
98 <indexterm zone="PolKitGnomeToggleAction-struct"><primary>PolKitGnomeToggleAction</primary></indexterm><programlisting>typedef struct _PolKitGnomeToggleAction PolKitGnomeToggleAction;</programlisting>
99 <para>
100 The PolKitGnomeToggleAction struct contains only private data members and should not be accessed directly.</para>
101 <para>
102
103 </para></refsect2>
104 <refsect2 id="polkit-gnome-toggle-action-new" role="function">
105 <title>polkit_gnome_toggle_action_new ()</title>
106 <indexterm zone="polkit-gnome-toggle-action-new"><primary>polkit_gnome_toggle_action_new</primary></indexterm><programlisting><link linkend="PolKitGnomeToggleAction">PolKitGnomeToggleAction</link>* polkit_gnome_toggle_action_new (const <link linkend="gchar">gchar</link> *name);</programlisting>
107 <para>
108 Creates a new <link linkend="PolKitGnomeToggleAction"><type>PolKitGnomeToggleAction</type></link> object. The typical use for
109 this function is for specialized use where
110 <link linkend="polkit-gnome-toggle-action-new-default"><function>polkit_gnome_toggle_action_new_default()</function></link> does not meet the needs of
111 the application.
112 </para>
113 <para>
114 If the 'polkit-toggle_action' property is <link linkend="NULL:CAPS"><type>NULL</type></link> the behavior is similar to
115 as if a <link linkend="PolKitAction"><type>PolKitAction</type></link> returned <link linkend="POLKIT-RESULT-YES:CAPS"><type>POLKIT_RESULT_YES</type></link>.</para>
116 <para>
117
118 </para><variablelist role="params">
119 <varlistentry><term><parameter>name</parameter>&nbsp;:</term>
120 <listitem><simpara> A unique name for the toggle_action
121 </simpara></listitem></varlistentry>
122 <varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a new <link linkend="PolKitGnomeToggleAction"><type>PolKitGnomeToggleAction</type></link> or <link linkend="NULL:CAPS"><type>NULL</type></link> if error is set
123 </simpara></listitem></varlistentry>
124 </variablelist></refsect2>
125 <refsect2 id="polkit-gnome-toggle-action-new-default" role="function">
126 <title>polkit_gnome_toggle_action_new_default ()</title>
127 <indexterm zone="polkit-gnome-toggle-action-new-default"><primary>polkit_gnome_toggle_action_new_default</primary></indexterm><programlisting><link linkend="PolKitGnomeToggleAction">PolKitGnomeToggleAction</link>* polkit_gnome_toggle_action_new_default
128 (const <link linkend="gchar">gchar</link> *name,
129 <link linkend="PolKitAction">PolKitAction</link> *polkit_action,
130 const <link linkend="gchar">gchar</link> *locked_label,
131 const <link linkend="gchar">gchar</link> *unlocked_label);</programlisting>
132 <para>
133 Creates a new <link linkend="PolKitGnomeToggleAction"><type>PolKitGnomeToggleAction</type></link> object with the default
134 behavior for a given <link linkend="PolKitAction"><type>PolKitAction</type></link> object. The toggle represents
135 whether the user is authorized for the given <link linkend="PolKitAction"><type>PolKitAction</type></link>. If the
136 user is not authorized, clicking on a proxy widget (if it's
137 sensitive) will cause an authentication dialog to appear. If the
138 user is authorized, clicking on a proxy widget will cause all
139 authorizations to be given up (aka revoked). The ::toggled signal
140 is only emitted when such transitions occur. Thus, the user of this
141 class will never have to deal with bringing up authentication
142 dialogs; it's all handled behind the scenes.
143 </para>
144 <para>
145 As such, the typical use case for this action is an UI where the
146 user is encouraged to give up authorizations.
147 </para>
148 <para>
149 There's also support for the corner case where the user is
150 authorized because of implicit authorizations. In this case,
151 toggling the action will "grant" a negative authorization for the
152 user. By toggling the action again, the negative authorization will
153 be revoked.
154 </para>
155 <para>
156 Default behavior is defined as having the icon_name be 'security-medium'
157 by default except for the YES PolicyKit answer where it's set to
158 'security-low'. No tooltips are set. The label and short-label
159 will be 'locked_label' everywhere except in the YES state where
160 it's set to 'unlocked-label'. When authentication is underway, the
161 label will be "Authenticating..." and icon_name is untouched. If
162 the PolicyKit answer is NO, sensitivity is set to
163 <link linkend="FALSE:CAPS"><type>FALSE</type></link>. Visibility is always set to <link linkend="TRUE:CAPS"><type>TRUE</type></link>.
164 </para>
165 <para>
166 The caller can always modify individual aspects of the
167 toggle_action after creation, e.g. change the tooltip for the no,
168 auth and yes states; see the parent class <link linkend="PolKitGnomeAction"><type>PolKitGnomeAction</type></link>. In
169 addition to the properties in the parent class, this subclass
170 sports six new properties, "auth-underway-*" to control the look
171 of proxy widgets when authentication is underway.
172 </para>
173 <para>
174 If the given polkit_toggle_action is <link linkend="NULL:CAPS"><type>NULL</type></link> the behavior is similar to as
175 if a <link linkend="PolKitAction"><type>PolKitAction</type></link> returned <link linkend="POLKIT-RESULT-YES:CAPS"><type>POLKIT_RESULT_YES</type></link>.</para>
176 <para>
177
178 </para><variablelist role="params">
179 <varlistentry><term><parameter>name</parameter>&nbsp;:</term>
180 <listitem><simpara> A unique name for the toggle_action
181 </simpara></listitem></varlistentry>
182 <varlistentry><term><parameter>polkit_action</parameter>&nbsp;:</term>
183 <listitem><simpara> the <link linkend="PolKitAction"><type>PolKitAction</type></link> to track
184 </simpara></listitem></varlistentry>
185 <varlistentry><term><parameter>locked_label</parameter>&nbsp;:</term>
186 <listitem><simpara> The label to show when the user do not possess the
187 authorization, e.g. "Click to make changes"
188 </simpara></listitem></varlistentry>
189 <varlistentry><term><parameter>unlocked_label</parameter>&nbsp;:</term>
190 <listitem><simpara> The label to show when the user does posses the
191 authorization; e.g. "Click to prevent changes"
192 </simpara></listitem></varlistentry>
193 <varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a new <link linkend="PolKitGnomeToggleAction"><type>PolKitGnomeToggleAction</type></link> or <link linkend="NULL:CAPS"><type>NULL</type></link> if error is set
194 </simpara></listitem></varlistentry>
195 </variablelist></refsect2>
196 <refsect2 id="polkit-gnome-toggle-action-create-toggle-button" role="function">
197 <title>polkit_gnome_toggle_action_create_toggle_button ()</title>
198 <indexterm zone="polkit-gnome-toggle-action-create-toggle-button"><primary>polkit_gnome_toggle_action_create_toggle_button</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>* polkit_gnome_toggle_action_create_toggle_button
199 (<link linkend="PolKitGnomeToggleAction">PolKitGnomeToggleAction</link> *action);</programlisting>
200 <para>
201 Create a toggle button for the given action that displays the
202 label, tooltip and icon_name corresponding to whether the state,
203 according to PolicyKit, is no, auth or yes.</para>
204 <para>
205
206 </para><variablelist role="params">
207 <varlistentry><term><parameter>action</parameter>&nbsp;:</term>
208 <listitem><simpara> The <link linkend="PolKitGnomeToggleAction"><type>PolKitGnomeToggleAction</type></link> object
209 </simpara></listitem></varlistentry>
210 <varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> A <link linkend="GtkToggleButton"><type>GtkToggleButton</type></link> instance connected to the action
211 </simpara></listitem></varlistentry>
212 </variablelist></refsect2>
213
214 </refsect1>
215 <refsect1 id="PolKitGnomeToggleAction.property-details" role="property_details">
216 <title role="property_details.title">Property Details</title>
217 <refsect2 id="PolKitGnomeToggleAction--auth-underway-icon-name"><title>The <literal>&quot;auth-underway-icon-name&quot;</literal> property</title>
218 <indexterm zone="PolKitGnomeToggleAction--auth-underway-icon-name"><primary>PolKitGnomeToggleAction:auth-underway-icon-name</primary></indexterm><programlisting> &quot;auth-underway-icon-name&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
219 <para>When authentication is underway, use this icon-name.</para><para>Default value: NULL</para>
220 </refsect2>
221 <refsect2 id="PolKitGnomeToggleAction--auth-underway-label"><title>The <literal>&quot;auth-underway-label&quot;</literal> property</title>
222 <indexterm zone="PolKitGnomeToggleAction--auth-underway-label"><primary>PolKitGnomeToggleAction:auth-underway-label</primary></indexterm><programlisting> &quot;auth-underway-label&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
223 <para>When authentication is underway, use this label.</para><para>Default value: NULL</para>
224 </refsect2>
225 <refsect2 id="PolKitGnomeToggleAction--auth-underway-sensitive"><title>The <literal>&quot;auth-underway-sensitive&quot;</literal> property</title>
226 <indexterm zone="PolKitGnomeToggleAction--auth-underway-sensitive"><primary>PolKitGnomeToggleAction:auth-underway-sensitive</primary></indexterm><programlisting> &quot;auth-underway-sensitive&quot; <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
227 <para>When authentication is underway, whether the action will be sensitive.</para><para>Default value: TRUE</para>
228 </refsect2>
229 <refsect2 id="PolKitGnomeToggleAction--auth-underway-short-label"><title>The <literal>&quot;auth-underway-short-label&quot;</literal> property</title>
230 <indexterm zone="PolKitGnomeToggleAction--auth-underway-short-label"><primary>PolKitGnomeToggleAction:auth-underway-short-label</primary></indexterm><programlisting> &quot;auth-underway-short-label&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
231 <para>When authentication is underway, use this short-label.</para><para>Default value: NULL</para>
232 </refsect2>
233 <refsect2 id="PolKitGnomeToggleAction--auth-underway-tooltip"><title>The <literal>&quot;auth-underway-tooltip&quot;</literal> property</title>
234 <indexterm zone="PolKitGnomeToggleAction--auth-underway-tooltip"><primary>PolKitGnomeToggleAction:auth-underway-tooltip</primary></indexterm><programlisting> &quot;auth-underway-tooltip&quot; <link linkend="gchar">gchar</link>* : Read / Write</programlisting>
235 <para>When authentication is underway, use this tooltip.</para><para>Default value: NULL</para>
236 </refsect2>
237 <refsect2 id="PolKitGnomeToggleAction--auth-underway-visible"><title>The <literal>&quot;auth-underway-visible&quot;</literal> property</title>
238 <indexterm zone="PolKitGnomeToggleAction--auth-underway-visible"><primary>PolKitGnomeToggleAction:auth-underway-visible</primary></indexterm><programlisting> &quot;auth-underway-visible&quot; <link linkend="gboolean">gboolean</link> : Read / Write</programlisting>
239 <para>When authentication is underway, whether the action will be visible.</para><para>Default value: TRUE</para>
240 </refsect2>
241
242 </refsect1>
243
244 <refsect1 id="PolKitGnomeToggleAction.signal-details" role="signals">
245 <title role="signals.title">Signal Details</title>
246 <refsect2 id="PolKitGnomeToggleAction-toggled"><title>The <literal>&quot;toggled&quot;</literal> signal</title>
247 <indexterm zone="PolKitGnomeToggleAction-toggled"><primary>PolKitGnomeToggleAction::toggled</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="PolKitGnomeToggleAction">PolKitGnomeToggleAction</link> *toggle_action,
248 <link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
249 <para>
250 The ::toggled signal is emitted when the button is toggled.</para>
251 <para>
252
253 </para><variablelist role="params">
254 <varlistentry><term><parameter>toggle_action</parameter>&nbsp;:</term>
255 <listitem><simpara> the object
256 </simpara></listitem></varlistentry>
257 <varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
258 <listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
259 </variablelist></refsect2>
260 </refsect1>
261
262
263
264 </refentry>
0
1 NULL =
2
3 AUTOMAKE_OPTIONS = 1.7
4
5 # The name of the module.
6 DOC_MODULE=polkit-gtk-1
7
8 # The top-level SGML file.
9 DOC_MAIN_SGML_FILE=polkit-gtk-1-docs.xml
10
11 # Extra options to supply to gtkdoc-scan
12 SCAN_OPTIONS=--ignore-headers=config.h
13
14 # The directory containing the source code. Relative to $(srcdir)
15 DOC_SOURCE_DIR=../polkitgtk
16
17 # Used for dependencies
18 HFILE_GLOB=$(top_srcdir)/polkitgtk/*.h
19 CFILE_GLOB=$(top_srcdir)/polkitgtk/*.c
20
21 # Headers to ignore
22 IGNORE_HFILES= \
23 $(NULL)
24
25 # CFLAGS and LDFLAGS for compiling scan program. Only needed
26 # if $(DOC_MODULE).types is non-empty.
27 INCLUDES = \
28 $(POLKIT_GOBJECT_CFLAGS) \
29 $(GTK_CFLAGS) \
30 -I$(top_srcdir)/polkitgtk \
31 $(NULL)
32
33 GTKDOC_LIBS = \
34 $(POLKIT_GOBJECT_LIBS) \
35 $(GTK_LIBS) \
36 $(top_builddir)/polkitgtk/libpolkit-gtk-1.la \
37 $(NULL)
38
39 # Extra options to supply to gtkdoc-mkdb
40 MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=polkit
41
42 # Extra options to supply to gtkdoc-mktmpl
43 MKTMPL_OPTIONS=
44
45 # Non-autogenerated SGML files to be included in $(DOC_MAIN_SGML_FILE)
46 content_files = \
47 version.xml \
48 $(NULL)
49
50 # Images to copy into HTML directory
51 HTML_IMAGES = \
52 polkit-lock-button-locked.png \
53 polkit-lock-button-not-authorized.png \
54 polkit-lock-button-unlocked.png \
55 $(NULL)
56
57 # Extra options to supply to gtkdoc-fixref
58 FIXXREF_OPTIONS=
59
60 if ENABLE_GTK_DOC
61 include $(top_srcdir)/gtk-doc.make
62 else
63 CLEANFILES =
64 endif
65
66 CLEANFILES += *~ \
67 polkit-gtk-1-scan.* \
68 polkit-gtk-1.args \
69 polkit-gtk-1.hierarchy \
70 polkit-gtk-1.interfaces \
71 polkit-gtk-1.prerequisites \
72 polkit-gtk-1.signals \
73 *.bak \
74 polkit-gtk-1-decl-list.txt \
75 polkit-gtk-1-decl.txt \
76 polkit-gtk-1-overrides.txt \
77 polkit-gtk-1-undeclared.txt \
78 polkit-gtk-1-undocumented.txt \
79 *.stamp \
80 version.xml \
81 -rf html xml \
82 $(NULL)
83
0 # Makefile.in generated by automake 1.11 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17 # -*- mode: makefile -*-
18
19 ####################################
20 # Everything below here is generic #
21 ####################################
22 VPATH = @srcdir@
23 pkgdatadir = $(datadir)/@PACKAGE@
24 pkgincludedir = $(includedir)/@PACKAGE@
25 pkglibdir = $(libdir)/@PACKAGE@
26 pkglibexecdir = $(libexecdir)/@PACKAGE@
27 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
28 install_sh_DATA = $(install_sh) -c -m 644
29 install_sh_PROGRAM = $(install_sh) -c
30 install_sh_SCRIPT = $(install_sh) -c
31 INSTALL_HEADER = $(INSTALL_DATA)
32 transform = $(program_transform_name)
33 NORMAL_INSTALL = :
34 PRE_INSTALL = :
35 POST_INSTALL = :
36 NORMAL_UNINSTALL = :
37 PRE_UNINSTALL = :
38 POST_UNINSTALL = :
39 build_triplet = @build@
40 host_triplet = @host@
41 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
42 $(srcdir)/version.xml.in $(top_srcdir)/gtk-doc.make
43 subdir = docs
44 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
45 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
46 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
47 $(ACLOCAL_M4)
48 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
49 CONFIG_HEADER = $(top_builddir)/config.h
50 CONFIG_CLEAN_FILES = version.xml
51 CONFIG_CLEAN_VPATH_FILES =
52 SOURCES =
53 DIST_SOURCES =
54 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
55 ACLOCAL = @ACLOCAL@
56 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
57 ALL_LINGUAS = @ALL_LINGUAS@
58 AMTAR = @AMTAR@
59 AM_CFLAGS = @AM_CFLAGS@
60 AM_CPPFLAGS = @AM_CPPFLAGS@
61 AM_CXXFLAGS = @AM_CXXFLAGS@
62 AM_LDFLAGS = @AM_LDFLAGS@
63 AR = @AR@
64 AUTOCONF = @AUTOCONF@
65 AUTOHEADER = @AUTOHEADER@
66 AUTOMAKE = @AUTOMAKE@
67 AWK = @AWK@
68 CATALOGS = @CATALOGS@
69 CATOBJEXT = @CATOBJEXT@
70 CC = @CC@
71 CCDEPMODE = @CCDEPMODE@
72 CFLAGS = @CFLAGS@
73 CPP = @CPP@
74 CPPFLAGS = @CPPFLAGS@
75 CYGPATH_W = @CYGPATH_W@
76 DATADIRNAME = @DATADIRNAME@
77 DEFS = @DEFS@
78 DEPDIR = @DEPDIR@
79 DISABLE_DEPRECATED = @DISABLE_DEPRECATED@
80 DSYMUTIL = @DSYMUTIL@
81 DUMPBIN = @DUMPBIN@
82 ECHO_C = @ECHO_C@
83 ECHO_N = @ECHO_N@
84 ECHO_T = @ECHO_T@
85 EGREP = @EGREP@
86 EXEEXT = @EXEEXT@
87 FGREP = @FGREP@
88 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
89 GMOFILES = @GMOFILES@
90 GMSGFMT = @GMSGFMT@
91 GREP = @GREP@
92 GTKDOC_CHECK = @GTKDOC_CHECK@
93 GTK_CFLAGS = @GTK_CFLAGS@
94 GTK_LIBS = @GTK_LIBS@
95 HTML_DIR = @HTML_DIR@
96 INSTALL = @INSTALL@
97 INSTALL_DATA = @INSTALL_DATA@
98 INSTALL_PROGRAM = @INSTALL_PROGRAM@
99 INSTALL_SCRIPT = @INSTALL_SCRIPT@
100 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
101 INSTOBJEXT = @INSTOBJEXT@
102 INTLLIBS = @INTLLIBS@
103 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
104 INTLTOOL_MERGE = @INTLTOOL_MERGE@
105 INTLTOOL_PERL = @INTLTOOL_PERL@
106 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
107 LD = @LD@
108 LDFLAGS = @LDFLAGS@
109 LIBOBJS = @LIBOBJS@
110 LIBS = @LIBS@
111 LIBTOOL = @LIBTOOL@
112 LIPO = @LIPO@
113 LN_S = @LN_S@
114 LTLIBOBJS = @LTLIBOBJS@
115 LT_AGE = @LT_AGE@
116 LT_CURRENT = @LT_CURRENT@
117 LT_REVISION = @LT_REVISION@
118 MAINT = @MAINT@
119 MAKEINFO = @MAKEINFO@
120 MKDIR_P = @MKDIR_P@
121 MKINSTALLDIRS = @MKINSTALLDIRS@
122 MSGFMT = @MSGFMT@
123 MSGFMT_OPTS = @MSGFMT_OPTS@
124 MSGMERGE = @MSGMERGE@
125 NM = @NM@
126 NMEDIT = @NMEDIT@
127 OBJDUMP = @OBJDUMP@
128 OBJEXT = @OBJEXT@
129 OTOOL = @OTOOL@
130 OTOOL64 = @OTOOL64@
131 PACKAGE = @PACKAGE@
132 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
133 PACKAGE_NAME = @PACKAGE_NAME@
134 PACKAGE_STRING = @PACKAGE_STRING@
135 PACKAGE_TARNAME = @PACKAGE_TARNAME@
136 PACKAGE_VERSION = @PACKAGE_VERSION@
137 PATH_SEPARATOR = @PATH_SEPARATOR@
138 PKG_CONFIG = @PKG_CONFIG@
139 POFILES = @POFILES@
140 POLKIT_AGENT_CFLAGS = @POLKIT_AGENT_CFLAGS@
141 POLKIT_AGENT_LIBS = @POLKIT_AGENT_LIBS@
142 POLKIT_GOBJECT_CFLAGS = @POLKIT_GOBJECT_CFLAGS@
143 POLKIT_GOBJECT_LIBS = @POLKIT_GOBJECT_LIBS@
144 POSUB = @POSUB@
145 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
146 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
147 RANLIB = @RANLIB@
148 SED = @SED@
149 SET_MAKE = @SET_MAKE@
150 SHELL = @SHELL@
151 STRIP = @STRIP@
152 USE_NLS = @USE_NLS@
153 VERSION = @VERSION@
154 WARN_CFLAGS = @WARN_CFLAGS@
155 XGETTEXT = @XGETTEXT@
156 abs_builddir = @abs_builddir@
157 abs_srcdir = @abs_srcdir@
158 abs_top_builddir = @abs_top_builddir@
159 abs_top_srcdir = @abs_top_srcdir@
160 ac_ct_CC = @ac_ct_CC@
161 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
162 am__include = @am__include@
163 am__leading_dot = @am__leading_dot@
164 am__quote = @am__quote@
165 am__tar = @am__tar@
166 am__untar = @am__untar@
167 bindir = @bindir@
168 build = @build@
169 build_alias = @build_alias@
170 build_cpu = @build_cpu@
171 build_os = @build_os@
172 build_vendor = @build_vendor@
173 builddir = @builddir@
174 datadir = @datadir@
175 datarootdir = @datarootdir@
176 docdir = @docdir@
177 dvidir = @dvidir@
178 exec_prefix = @exec_prefix@
179 host = @host@
180 host_alias = @host_alias@
181 host_cpu = @host_cpu@
182 host_os = @host_os@
183 host_vendor = @host_vendor@
184 htmldir = @htmldir@
185 includedir = @includedir@
186 infodir = @infodir@
187 install_sh = @install_sh@
188 libdir = @libdir@
189 libexecdir = @libexecdir@
190 localedir = @localedir@
191 localstatedir = @localstatedir@
192 lt_ECHO = @lt_ECHO@
193 mandir = @mandir@
194 mkdir_p = @mkdir_p@
195 oldincludedir = @oldincludedir@
196 pdfdir = @pdfdir@
197 prefix = @prefix@
198 program_transform_name = @program_transform_name@
199 psdir = @psdir@
200 sbindir = @sbindir@
201 sharedstatedir = @sharedstatedir@
202 srcdir = @srcdir@
203 sysconfdir = @sysconfdir@
204 target_alias = @target_alias@
205 top_build_prefix = @top_build_prefix@
206 top_builddir = @top_builddir@
207 top_srcdir = @top_srcdir@
208 NULL =
209 AUTOMAKE_OPTIONS = 1.7
210
211 # The name of the module.
212 DOC_MODULE = polkit-gtk-1
213
214 # The top-level SGML file.
215 DOC_MAIN_SGML_FILE = polkit-gtk-1-docs.xml
216
217 # Extra options to supply to gtkdoc-scan
218 SCAN_OPTIONS = --ignore-headers=config.h
219
220 # The directory containing the source code. Relative to $(srcdir)
221 DOC_SOURCE_DIR = ../polkitgtk
222
223 # Used for dependencies
224 HFILE_GLOB = $(top_srcdir)/polkitgtk/*.h
225 CFILE_GLOB = $(top_srcdir)/polkitgtk/*.c
226
227 # Headers to ignore
228 IGNORE_HFILES = \
229 $(NULL)
230
231
232 # CFLAGS and LDFLAGS for compiling scan program. Only needed
233 # if $(DOC_MODULE).types is non-empty.
234 INCLUDES = \
235 $(POLKIT_GOBJECT_CFLAGS) \
236 $(GTK_CFLAGS) \
237 -I$(top_srcdir)/polkitgtk \
238 $(NULL)
239
240 GTKDOC_LIBS = \
241 $(POLKIT_GOBJECT_LIBS) \
242 $(GTK_LIBS) \
243 $(top_builddir)/polkitgtk/libpolkit-gtk-1.la \
244 $(NULL)
245
246
247 # Extra options to supply to gtkdoc-mkdb
248 MKDB_OPTIONS = --sgml-mode --output-format=xml --name-space=polkit
249
250 # Extra options to supply to gtkdoc-mktmpl
251 MKTMPL_OPTIONS =
252
253 # Non-autogenerated SGML files to be included in $(DOC_MAIN_SGML_FILE)
254 content_files = \
255 version.xml \
256 $(NULL)
257
258
259 # Images to copy into HTML directory
260 HTML_IMAGES = \
261 polkit-lock-button-locked.png \
262 polkit-lock-button-not-authorized.png \
263 polkit-lock-button-unlocked.png \
264 $(NULL)
265
266
267 # Extra options to supply to gtkdoc-fixref
268 FIXXREF_OPTIONS =
269 @ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
270 @ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
271 @ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
272 @ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
273 @ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN = sh -c
274 @ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
275
276 # We set GPATH here; this gives us semantics for GNU make
277 # which are more like other make's VPATH, when it comes to
278 # whether a source that is a target of one rule is then
279 # searched for in VPATH/GPATH.
280 #
281 @ENABLE_GTK_DOC_TRUE@GPATH = $(srcdir)
282 @ENABLE_GTK_DOC_TRUE@TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)
283 @ENABLE_GTK_DOC_TRUE@EXTRA_DIST = \
284 @ENABLE_GTK_DOC_TRUE@ $(content_files) \
285 @ENABLE_GTK_DOC_TRUE@ $(HTML_IMAGES) \
286 @ENABLE_GTK_DOC_TRUE@ $(DOC_MAIN_SGML_FILE) \
287 @ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-sections.txt \
288 @ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-overrides.txt
289
290 @ENABLE_GTK_DOC_TRUE@DOC_STAMPS = scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
291 @ENABLE_GTK_DOC_TRUE@ $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
292
293 @ENABLE_GTK_DOC_TRUE@SCANOBJ_FILES = \
294 @ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).args \
295 @ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).hierarchy \
296 @ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).interfaces \
297 @ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).prerequisites \
298 @ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).signals
299
300 @ENABLE_GTK_DOC_TRUE@REPORT_FILES = \
301 @ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-undocumented.txt \
302 @ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-undeclared.txt \
303 @ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-unused.txt
304
305 @ENABLE_GTK_DOC_FALSE@CLEANFILES = *~ polkit-gtk-1-scan.* \
306 @ENABLE_GTK_DOC_FALSE@ polkit-gtk-1.args polkit-gtk-1.hierarchy \
307 @ENABLE_GTK_DOC_FALSE@ polkit-gtk-1.interfaces \
308 @ENABLE_GTK_DOC_FALSE@ polkit-gtk-1.prerequisites \
309 @ENABLE_GTK_DOC_FALSE@ polkit-gtk-1.signals *.bak \
310 @ENABLE_GTK_DOC_FALSE@ polkit-gtk-1-decl-list.txt \
311 @ENABLE_GTK_DOC_FALSE@ polkit-gtk-1-decl.txt \
312 @ENABLE_GTK_DOC_FALSE@ polkit-gtk-1-overrides.txt \
313 @ENABLE_GTK_DOC_FALSE@ polkit-gtk-1-undeclared.txt \
314 @ENABLE_GTK_DOC_FALSE@ polkit-gtk-1-undocumented.txt *.stamp \
315 @ENABLE_GTK_DOC_FALSE@ version.xml -rf html xml $(NULL)
316 @ENABLE_GTK_DOC_TRUE@CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) \
317 @ENABLE_GTK_DOC_TRUE@ $(DOC_STAMPS) *~ polkit-gtk-1-scan.* \
318 @ENABLE_GTK_DOC_TRUE@ polkit-gtk-1.args polkit-gtk-1.hierarchy \
319 @ENABLE_GTK_DOC_TRUE@ polkit-gtk-1.interfaces \
320 @ENABLE_GTK_DOC_TRUE@ polkit-gtk-1.prerequisites \
321 @ENABLE_GTK_DOC_TRUE@ polkit-gtk-1.signals *.bak \
322 @ENABLE_GTK_DOC_TRUE@ polkit-gtk-1-decl-list.txt \
323 @ENABLE_GTK_DOC_TRUE@ polkit-gtk-1-decl.txt \
324 @ENABLE_GTK_DOC_TRUE@ polkit-gtk-1-overrides.txt \
325 @ENABLE_GTK_DOC_TRUE@ polkit-gtk-1-undeclared.txt \
326 @ENABLE_GTK_DOC_TRUE@ polkit-gtk-1-undocumented.txt *.stamp \
327 @ENABLE_GTK_DOC_TRUE@ version.xml -rf html xml $(NULL)
328 all: all-am
329
330 .SUFFIXES:
331 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/gtk-doc.make $(am__configure_deps)
332 @for dep in $?; do \
333 case '$(am__configure_deps)' in \
334 *$$dep*) \
335 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
336 && { if test -f $@; then exit 0; else break; fi; }; \
337 exit 1;; \
338 esac; \
339 done; \
340 echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/Makefile'; \
341 $(am__cd) $(top_srcdir) && \
342 $(AUTOMAKE) --foreign docs/Makefile
343 .PRECIOUS: Makefile
344 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
345 @case '$?' in \
346 *config.status*) \
347 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
348 *) \
349 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
350 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
351 esac;
352
353 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
354 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
355
356 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
357 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
358 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
359 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
360 $(am__aclocal_m4_deps):
361 version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in
362 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
363
364 mostlyclean-libtool:
365 -rm -f *.lo
366
367 clean-libtool:
368 -rm -rf .libs _libs
369 tags: TAGS
370 TAGS:
371
372 ctags: CTAGS
373 CTAGS:
374
375 @ENABLE_GTK_DOC_FALSE@dist-hook:
376
377 distdir: $(DISTFILES)
378 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
379 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
380 list='$(DISTFILES)'; \
381 dist_files=`for file in $$list; do echo $$file; done | \
382 sed -e "s|^$$srcdirstrip/||;t" \
383 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
384 case $$dist_files in \
385 */*) $(MKDIR_P) `echo "$$dist_files" | \
386 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
387 sort -u` ;; \
388 esac; \
389 for file in $$dist_files; do \
390 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
391 if test -d $$d/$$file; then \
392 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
393 if test -d "$(distdir)/$$file"; then \
394 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
395 fi; \
396 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
397 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
398 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
399 fi; \
400 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
401 else \
402 test -f "$(distdir)/$$file" \
403 || cp -p $$d/$$file "$(distdir)/$$file" \
404 || exit 1; \
405 fi; \
406 done
407 $(MAKE) $(AM_MAKEFLAGS) \
408 top_distdir="$(top_distdir)" distdir="$(distdir)" \
409 dist-hook
410 check-am: all-am
411 check: check-am
412 @ENABLE_GTK_DOC_FALSE@all-local:
413 all-am: Makefile all-local
414 installdirs:
415 install: install-am
416 install-exec: install-exec-am
417 install-data: install-data-am
418 uninstall: uninstall-am
419
420 install-am: all-am
421 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
422
423 installcheck: installcheck-am
424 install-strip:
425 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
426 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
427 `test -z '$(STRIP)' || \
428 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
429 mostlyclean-generic:
430
431 clean-generic:
432 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
433
434 distclean-generic:
435 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
436 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
437
438 maintainer-clean-generic:
439 @echo "This command is intended for maintainers to use"
440 @echo "it deletes files that may require special tools to rebuild."
441 @ENABLE_GTK_DOC_FALSE@uninstall-local:
442 @ENABLE_GTK_DOC_FALSE@distclean-local:
443 @ENABLE_GTK_DOC_FALSE@install-data-local:
444 @ENABLE_GTK_DOC_FALSE@maintainer-clean-local:
445 @ENABLE_GTK_DOC_FALSE@clean-local:
446 clean: clean-am
447
448 clean-am: clean-generic clean-libtool clean-local mostlyclean-am
449
450 distclean: distclean-am
451 -rm -f Makefile
452 distclean-am: clean-am distclean-generic distclean-local
453
454 dvi: dvi-am
455
456 dvi-am:
457
458 html: html-am
459
460 html-am:
461
462 info: info-am
463
464 info-am:
465
466 install-data-am: install-data-local
467
468 install-dvi: install-dvi-am
469
470 install-dvi-am:
471
472 install-exec-am:
473
474 install-html: install-html-am
475
476 install-html-am:
477
478 install-info: install-info-am
479
480 install-info-am:
481
482 install-man:
483
484 install-pdf: install-pdf-am
485
486 install-pdf-am:
487
488 install-ps: install-ps-am
489
490 install-ps-am:
491
492 installcheck-am:
493
494 maintainer-clean: maintainer-clean-am
495 -rm -f Makefile
496 maintainer-clean-am: distclean-am maintainer-clean-generic \
497 maintainer-clean-local
498
499 mostlyclean: mostlyclean-am
500
501 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
502
503 pdf: pdf-am
504
505 pdf-am:
506
507 ps: ps-am
508
509 ps-am:
510
511 uninstall-am: uninstall-local
512
513 .MAKE: install-am install-strip
514
515 .PHONY: all all-am all-local check check-am clean clean-generic \
516 clean-libtool clean-local dist-hook distclean \
517 distclean-generic distclean-libtool distclean-local distdir \
518 dvi dvi-am html html-am info info-am install install-am \
519 install-data install-data-am install-data-local install-dvi \
520 install-dvi-am install-exec install-exec-am install-html \
521 install-html-am install-info install-info-am install-man \
522 install-pdf install-pdf-am install-ps install-ps-am \
523 install-strip installcheck installcheck-am installdirs \
524 maintainer-clean maintainer-clean-generic \
525 maintainer-clean-local mostlyclean mostlyclean-generic \
526 mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
527 uninstall-local
528
529
530 @ENABLE_GTK_DOC_TRUE@all-local: html-build.stamp
531 #all-local:
532
533 @ENABLE_GTK_DOC_TRUE@docs: html-build.stamp
534
535 @ENABLE_GTK_DOC_TRUE@$(REPORT_FILES): sgml-build.stamp
536
537 #### scan ####
538
539 @ENABLE_GTK_DOC_TRUE@scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
540 @ENABLE_GTK_DOC_TRUE@ @echo 'gtk-doc: Scanning header files'
541 @ENABLE_GTK_DOC_TRUE@ @-chmod -R u+w $(srcdir)
542 @ENABLE_GTK_DOC_TRUE@ cd $(srcdir) && \
543 @ENABLE_GTK_DOC_TRUE@ gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
544 @ENABLE_GTK_DOC_TRUE@ if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
545 @ENABLE_GTK_DOC_TRUE@ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
546 @ENABLE_GTK_DOC_TRUE@ else \
547 @ENABLE_GTK_DOC_TRUE@ cd $(srcdir) ; \
548 @ENABLE_GTK_DOC_TRUE@ for i in $(SCANOBJ_FILES) ; do \
549 @ENABLE_GTK_DOC_TRUE@ test -f $$i || touch $$i ; \
550 @ENABLE_GTK_DOC_TRUE@ done \
551 @ENABLE_GTK_DOC_TRUE@ fi
552 @ENABLE_GTK_DOC_TRUE@ touch scan-build.stamp
553
554 @ENABLE_GTK_DOC_TRUE@$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
555 @ENABLE_GTK_DOC_TRUE@ @true
556
557 #### templates ####
558
559 @ENABLE_GTK_DOC_TRUE@tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
560 @ENABLE_GTK_DOC_TRUE@ @echo 'gtk-doc: Rebuilding template files'
561 @ENABLE_GTK_DOC_TRUE@ @-chmod -R u+w $(srcdir)
562 @ENABLE_GTK_DOC_TRUE@ cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
563 @ENABLE_GTK_DOC_TRUE@ touch tmpl-build.stamp
564
565 @ENABLE_GTK_DOC_TRUE@tmpl.stamp: tmpl-build.stamp
566 @ENABLE_GTK_DOC_TRUE@ @true
567
568 @ENABLE_GTK_DOC_TRUE@tmpl/*.sgml:
569 @ENABLE_GTK_DOC_TRUE@ @true
570
571 #### xml ####
572
573 @ENABLE_GTK_DOC_TRUE@sgml-build.stamp: tmpl.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
574 @ENABLE_GTK_DOC_TRUE@ @echo 'gtk-doc: Building XML'
575 @ENABLE_GTK_DOC_TRUE@ @-chmod -R u+w $(srcdir)
576 @ENABLE_GTK_DOC_TRUE@ cd $(srcdir) && \
577 @ENABLE_GTK_DOC_TRUE@ gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS)
578 @ENABLE_GTK_DOC_TRUE@ touch sgml-build.stamp
579
580 @ENABLE_GTK_DOC_TRUE@sgml.stamp: sgml-build.stamp
581 @ENABLE_GTK_DOC_TRUE@ @true
582
583 #### html ####
584
585 @ENABLE_GTK_DOC_TRUE@html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
586 @ENABLE_GTK_DOC_TRUE@ @echo 'gtk-doc: Building HTML'
587 @ENABLE_GTK_DOC_TRUE@ @-chmod -R u+w $(srcdir)
588 @ENABLE_GTK_DOC_TRUE@ rm -rf $(srcdir)/html
589 @ENABLE_GTK_DOC_TRUE@ mkdir $(srcdir)/html
590 @ENABLE_GTK_DOC_TRUE@ mkhtml_options=""; \
591 @ENABLE_GTK_DOC_TRUE@ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
592 @ENABLE_GTK_DOC_TRUE@ if test "$(?)" = "0"; then \
593 @ENABLE_GTK_DOC_TRUE@ mkhtml_options=--path="$(srcdir)"; \
594 @ENABLE_GTK_DOC_TRUE@ fi
595 @ENABLE_GTK_DOC_TRUE@ cd $(srcdir)/html && gtkdoc-mkhtml $(mkhtml_options) $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
596 @ENABLE_GTK_DOC_TRUE@ test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
597 @ENABLE_GTK_DOC_TRUE@ @echo 'gtk-doc: Fixing cross-references'
598 @ENABLE_GTK_DOC_TRUE@ cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
599 @ENABLE_GTK_DOC_TRUE@ touch html-build.stamp
600
601 ##############
602
603 @ENABLE_GTK_DOC_TRUE@clean-local:
604 @ENABLE_GTK_DOC_TRUE@ rm -f *~ *.bak
605 @ENABLE_GTK_DOC_TRUE@ rm -rf .libs
606
607 @ENABLE_GTK_DOC_TRUE@distclean-local:
608 @ENABLE_GTK_DOC_TRUE@ cd $(srcdir) && \
609 @ENABLE_GTK_DOC_TRUE@ rm -rf xml $(REPORT_FILES) \
610 @ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
611
612 @ENABLE_GTK_DOC_TRUE@maintainer-clean-local: clean
613 @ENABLE_GTK_DOC_TRUE@ cd $(srcdir) && rm -rf xml html
614
615 @ENABLE_GTK_DOC_TRUE@install-data-local:
616 @ENABLE_GTK_DOC_TRUE@ installfiles=`echo $(srcdir)/html/*`; \
617 @ENABLE_GTK_DOC_TRUE@ if test "$$installfiles" = '$(srcdir)/html/*'; \
618 @ENABLE_GTK_DOC_TRUE@ then echo '-- Nothing to install' ; \
619 @ENABLE_GTK_DOC_TRUE@ else \
620 @ENABLE_GTK_DOC_TRUE@ if test -n "$(DOC_MODULE_VERSION)"; then \
621 @ENABLE_GTK_DOC_TRUE@ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
622 @ENABLE_GTK_DOC_TRUE@ else \
623 @ENABLE_GTK_DOC_TRUE@ installdir="$(DESTDIR)$(TARGET_DIR)"; \
624 @ENABLE_GTK_DOC_TRUE@ fi; \
625 @ENABLE_GTK_DOC_TRUE@ $(mkinstalldirs) $${installdir} ; \
626 @ENABLE_GTK_DOC_TRUE@ for i in $$installfiles; do \
627 @ENABLE_GTK_DOC_TRUE@ echo '-- Installing '$$i ; \
628 @ENABLE_GTK_DOC_TRUE@ $(INSTALL_DATA) $$i $${installdir}; \
629 @ENABLE_GTK_DOC_TRUE@ done; \
630 @ENABLE_GTK_DOC_TRUE@ if test -n "$(DOC_MODULE_VERSION)"; then \
631 @ENABLE_GTK_DOC_TRUE@ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
632 @ENABLE_GTK_DOC_TRUE@ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
633 @ENABLE_GTK_DOC_TRUE@ mv -f $${installdir}/$(DOC_MODULE).devhelp \
634 @ENABLE_GTK_DOC_TRUE@ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \
635 @ENABLE_GTK_DOC_TRUE@ fi; \
636 @ENABLE_GTK_DOC_TRUE@ ! which gtkdoc-rebase >/dev/null 2>&1 || \
637 @ENABLE_GTK_DOC_TRUE@ gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir} ; \
638 @ENABLE_GTK_DOC_TRUE@ fi
639
640 @ENABLE_GTK_DOC_TRUE@uninstall-local:
641 @ENABLE_GTK_DOC_TRUE@ if test -n "$(DOC_MODULE_VERSION)"; then \
642 @ENABLE_GTK_DOC_TRUE@ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
643 @ENABLE_GTK_DOC_TRUE@ else \
644 @ENABLE_GTK_DOC_TRUE@ installdir="$(DESTDIR)$(TARGET_DIR)"; \
645 @ENABLE_GTK_DOC_TRUE@ fi; \
646 @ENABLE_GTK_DOC_TRUE@ rm -rf $${installdir}
647
648 #
649 # Require gtk-doc when making dist
650 #
651 @ENABLE_GTK_DOC_TRUE@dist-check-gtkdoc:
652 #dist-check-gtkdoc:
653 # @echo "*** gtk-doc must be installed and enabled in order to make dist"
654 # @false
655
656 @ENABLE_GTK_DOC_TRUE@dist-hook: dist-check-gtkdoc dist-hook-local
657 @ENABLE_GTK_DOC_TRUE@ mkdir $(distdir)/tmpl
658 @ENABLE_GTK_DOC_TRUE@ mkdir $(distdir)/xml
659 @ENABLE_GTK_DOC_TRUE@ mkdir $(distdir)/html
660 @ENABLE_GTK_DOC_TRUE@ -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
661 @ENABLE_GTK_DOC_TRUE@ -cp $(srcdir)/xml/*.xml $(distdir)/xml
662 @ENABLE_GTK_DOC_TRUE@ cp $(srcdir)/html/* $(distdir)/html
663 @ENABLE_GTK_DOC_TRUE@ -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
664 @ENABLE_GTK_DOC_TRUE@ -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
665 @ENABLE_GTK_DOC_TRUE@ cd $(distdir) && rm -f $(DISTCLEANFILES)
666 @ENABLE_GTK_DOC_TRUE@ ! which gtkdoc-rebase >/dev/null 2>&1 || \
667 @ENABLE_GTK_DOC_TRUE@ gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
668
669 @ENABLE_GTK_DOC_TRUE@.PHONY : dist-hook-local docs
670
671 # Tell versions [3.59,3.63) of GNU make to not export all variables.
672 # Otherwise a system limit (for SysV at least) may be exceeded.
673 .NOEXPORT:
Binary diff not shown
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>PolicyKit-GTK+ Reference Manual</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
6 <link rel="home" href="index.html" title="PolicyKit-GTK+ Reference Manual">
7 <link rel="next" href="ref-gtk-api.html" title="Part I. API Reference">
8 <meta name="generator" content="GTK-Doc V1.11 (XML mode)">
9 <link rel="stylesheet" href="style.css" type="text/css">
10 <link rel="part" href="ref-gtk-api.html" title="Part I. API Reference">
11 <link rel="chapter" href="polkit-gtk-hierarchy.html" title="Object Hierarchy">
12 <link rel="index" href="polkit-gtk-index.html" title="Index">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <div class="book" title="PolicyKit-GTK+ Reference Manual">
16 <div class="titlepage">
17 <div>
18 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">PolicyKit-GTK+ Reference Manual</p></th></tr></table></div>
19 <div><div class="authorgroup"><div class="author">
20 <h3 class="author">
21 <span class="firstname">David</span> <span class="surname">Zeuthen</span>
22 </h3>
23 <div class="affiliation"><div class="address"><p><br>
24             <code class="email">&lt;<a class="email" href="mailto:davidz@redhat.com">davidz@redhat.com</a>&gt;</code><br>
25           </p></div></div>
26 </div></div></div>
27 <div><p class="releaseinfo">Version 0.94
28 </p></div>
29 <div><p class="copyright">Copyright © 2008-2009 The PolicyKit Authors</p></div>
30 <div><div class="legalnotice" title="Legal Notice">
31 <a name="polkit-legal-notice"></a><p>
32 Permission is granted to copy, distribute and/or modify this
33 document under the terms of the <em class="citetitle">GNU Free
34 Documentation License</em>, Version 1.1 or any later
35 version published by the Free Software Foundation with no
36 Invariant Sections, no Front-Cover Texts, and no Back-Cover
37 Texts. You may obtain a copy of the <em class="citetitle">GNU Free
38 Documentation License</em> from the Free Software
39 Foundation by visiting <a class="ulink" href="http://www.fsf.org" target="_top">their Web site</a> or by writing
40 to:
41
42 </p>
43 <div class="address"><p><br>
44           The Free Software Foundation, Inc.,<br>
45           <span class="street">59 Temple Place</span> - Suite 330,<br>
46           <span class="city">Boston</span>, <span class="state">MA</span> <span class="postcode">02111-1307</span>,<br>
47           <span class="country">USA</span><br>
48         </p></div>
49 <p>
50 </p>
51 <p>
52 Many of the names used by companies to distinguish their
53 products and services are claimed as trademarks. Where those
54 names appear in any GNOME documentation, and those
55 trademarks are made aware to the members of the
56 GNOME Documentation Project, the names have been
57 printed in caps or initial caps.
58 </p>
59 </div></div>
60 </div>
61 <hr>
62 </div>
63 <div class="toc"><dl>
64 <dt><span class="part"><a href="ref-gtk-api.html">I. API Reference</a></span></dt>
65 <dd><dl><dt>
66 <span class="refentrytitle"><a href="polkit-gtk-1-polkitlockbutton.html">PolkitLockButton</a></span><span class="refpurpose"> — Toggle button for obtaining/revoking authorizations</span>
67 </dt></dl></dd>
68 <dt><span class="chapter"><a href="polkit-gtk-hierarchy.html">Object Hierarchy</a></span></dt>
69 <dt><span class="index"><a href="polkit-gtk-index.html">Index</a></span></dt>
70 </dl></div>
71 </div>
72 <div class="footer">
73 <hr>
74 Generated by GTK-Doc V1.11</div>
75 </body>
76 </html>
0 <ANCHOR id="polkit-gtk-1-polkitlockbutton" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html">
1 <ANCHOR id="polkit-gtk-1-polkitlockbutton.stability-level" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-gtk-1-polkitlockbutton.stability-level">
2 <ANCHOR id="polkit-gtk-1-polkitlockbutton.synopsis" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-gtk-1-polkitlockbutton.synopsis">
3 <ANCHOR id="PolkitLockButton" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#PolkitLockButton">
4 <ANCHOR id="polkit-gtk-1-polkitlockbutton.object-hierarchy" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-gtk-1-polkitlockbutton.object-hierarchy">
5 <ANCHOR id="polkit-gtk-1-polkitlockbutton.implemented-interfaces" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-gtk-1-polkitlockbutton.implemented-interfaces">
6 <ANCHOR id="polkit-gtk-1-polkitlockbutton.properties" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-gtk-1-polkitlockbutton.properties">
7 <ANCHOR id="polkit-gtk-1-polkitlockbutton.signals" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-gtk-1-polkitlockbutton.signals">
8 <ANCHOR id="polkit-gtk-1-polkitlockbutton.description" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-gtk-1-polkitlockbutton.description">
9 <ANCHOR id="polkit-gtk-1-polkitlockbutton.details" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-gtk-1-polkitlockbutton.details">
10 <ANCHOR id="PolkitLockButton-struct" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#PolkitLockButton-struct">
11 <ANCHOR id="PolkitLockButtonClass" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#PolkitLockButtonClass">
12 <ANCHOR id="polkit-lock-button-new" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-new">
13 <ANCHOR id="polkit-lock-button-get-is-authorized" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-is-authorized">
14 <ANCHOR id="polkit-lock-button-get-is-visible" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-is-visible">
15 <ANCHOR id="polkit-lock-button-get-can-obtain" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-can-obtain">
16 <ANCHOR id="polkit-lock-button-set-unlock-text" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-set-unlock-text">
17 <ANCHOR id="polkit-lock-button-set-lock-text" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-set-lock-text">
18 <ANCHOR id="polkit-lock-button-set-not-authorized-text" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-set-not-authorized-text">
19 <ANCHOR id="polkit-gtk-1-polkitlockbutton.property-details" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-gtk-1-polkitlockbutton.property-details">
20 <ANCHOR id="PolkitLockButton--action-id" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--action-id">
21 <ANCHOR id="PolkitLockButton--can-obtain" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--can-obtain">
22 <ANCHOR id="PolkitLockButton--is-authorized" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--is-authorized">
23 <ANCHOR id="PolkitLockButton--is-visible" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--is-visible">
24 <ANCHOR id="PolkitLockButton--text-lock" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--text-lock">
25 <ANCHOR id="PolkitLockButton--text-not-authorized" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--text-not-authorized">
26 <ANCHOR id="PolkitLockButton--text-unlock" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--text-unlock">
27 <ANCHOR id="polkit-gtk-1-polkitlockbutton.signal-details" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#polkit-gtk-1-polkitlockbutton.signal-details">
28 <ANCHOR id="PolkitLockButton-changed" href="polkit-gtk-1/polkit-gtk-1-polkitlockbutton.html#PolkitLockButton-changed">
Binary diff not shown
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>PolkitLockButton</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
6 <link rel="home" href="index.html" title="PolicyKit-GTK+ Reference Manual">
7 <link rel="up" href="ref-gtk-api.html" title="Part I. API Reference">
8 <link rel="prev" href="ref-gtk-api.html" title="Part I. API Reference">
9 <link rel="next" href="polkit-gtk-hierarchy.html" title="Object Hierarchy">
10 <meta name="generator" content="GTK-Doc V1.11 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 <link rel="part" href="ref-gtk-api.html" title="Part I. API Reference">
13 <link rel="chapter" href="polkit-gtk-hierarchy.html" title="Object Hierarchy">
14 <link rel="index" href="polkit-gtk-index.html" title="Index">
15 </head>
16 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
17 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
18 <tr valign="middle">
19 <td><a accesskey="p" href="ref-gtk-api.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
20 <td><a accesskey="u" href="ref-gtk-api.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
21 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
22 <th width="100%" align="center">PolicyKit-GTK+ Reference Manual</th>
23 <td><a accesskey="n" href="polkit-gtk-hierarchy.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
24 </tr>
25 <tr><td colspan="5" class="shortcuts">
26 <a href="#polkit-gtk-1-polkitlockbutton.synopsis" class="shortcut">Top</a>
27  | 
28 <a href="#polkit-gtk-1-polkitlockbutton.description" class="shortcut">Description</a>
29  | 
30 <a href="#polkit-gtk-1-polkitlockbutton.object-hierarchy" class="shortcut">Object Hierarchy</a>
31  | 
32 <a href="#polkit-gtk-1-polkitlockbutton.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
33  | 
34 <a href="#polkit-gtk-1-polkitlockbutton.properties" class="shortcut">Properties</a>
35  | 
36 <a href="#polkit-gtk-1-polkitlockbutton.signals" class="shortcut">Signals</a>
37 </td></tr>
38 </table>
39 <div class="refentry" title="PolkitLockButton">
40 <a name="polkit-gtk-1-polkitlockbutton"></a><div class="titlepage"></div>
41 <div class="refnamediv"><table width="100%"><tr>
42 <td valign="top">
43 <h2><span class="refentrytitle"><a name="polkit-gtk-1-polkitlockbutton.top_of_page"></a>PolkitLockButton</span></h2>
44 <p>PolkitLockButton — Toggle button for obtaining/revoking authorizations</p>
45 </td>
46 <td valign="top" align="right"></td>
47 </tr></table></div>
48 <div class="refsect1" title="Stability Level">
49 <a name="polkit-gtk-1-polkitlockbutton.stability-level"></a><h2>Stability Level</h2>
50 Stable, unless otherwise indicated
51 </div>
52 <div class="refsynopsisdiv" title="Synopsis">
53 <a name="polkit-gtk-1-polkitlockbutton.synopsis"></a><h2>Synopsis</h2>
54 <a name="PolkitLockButton"></a><pre class="synopsis">
55 <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton-struct" title="PolkitLockButton">PolkitLockButton</a>;
56 <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButtonClass" title="PolkitLockButtonClass">PolkitLockButtonClass</a>;
57 <a
58 href="http://library.gnome.org/devel/gtk/unstable/GtkWidget.html"
59 >GtkWidget</a> * <a class="link" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-new" title="polkit_lock_button_new ()">polkit_lock_button_new</a> (const <a
60 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
61 >gchar</a> *action_id);
62 <a
63 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
64 >gboolean</a> <a class="link" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-is-authorized" title="polkit_lock_button_get_is_authorized ()">polkit_lock_button_get_is_authorized</a>
65 (<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton">PolkitLockButton</a> *button);
66 <a
67 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
68 >gboolean</a> <a class="link" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-is-visible" title="polkit_lock_button_get_is_visible ()">polkit_lock_button_get_is_visible</a> (<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton">PolkitLockButton</a> *button);
69 <a
70 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
71 >gboolean</a> <a class="link" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-can-obtain" title="polkit_lock_button_get_can_obtain ()">polkit_lock_button_get_can_obtain</a> (<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton">PolkitLockButton</a> *button);
72 void <a class="link" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-set-unlock-text" title="polkit_lock_button_set_unlock_text ()">polkit_lock_button_set_unlock_text</a> (<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton">PolkitLockButton</a> *button,
73 const <a
74 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
75 >gchar</a> *text);
76 void <a class="link" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-set-lock-text" title="polkit_lock_button_set_lock_text ()">polkit_lock_button_set_lock_text</a> (<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton">PolkitLockButton</a> *button,
77 const <a
78 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
79 >gchar</a> *text);
80 void <a class="link" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-set-not-authorized-text" title="polkit_lock_button_set_not_authorized_text ()">polkit_lock_button_set_not_authorized_text</a>
81 (<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton">PolkitLockButton</a> *button,
82 const <a
83 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
84 >gchar</a> *text);
85 </pre>
86 </div>
87 <div class="refsect1" title="Object Hierarchy">
88 <a name="polkit-gtk-1-polkitlockbutton.object-hierarchy"></a><h2>Object Hierarchy</h2>
89 <pre class="synopsis">
90 <a
91 href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
92 >GObject</a>
93 +----<a
94 href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned"
95 >GInitiallyUnowned</a>
96 +----<a
97 href="http://library.gnome.org/devel/gtk/unstable/GtkObject.html"
98 >GtkObject</a>
99 +----<a
100 href="http://library.gnome.org/devel/gtk/unstable/GtkWidget.html"
101 >GtkWidget</a>
102 +----<a
103 href="http://library.gnome.org/devel/gtk/unstable/GtkContainer.html"
104 >GtkContainer</a>
105 +----<a
106 href="http://library.gnome.org/devel/gtk/unstable/GtkBox.html"
107 >GtkBox</a>
108 +----<a
109 href="http://library.gnome.org/devel/gtk/unstable/GtkHBox.html"
110 >GtkHBox</a>
111 +----PolkitLockButton
112 </pre>
113 </div>
114 <div class="refsect1" title="Implemented Interfaces">
115 <a name="polkit-gtk-1-polkitlockbutton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
116 <p>
117 PolkitLockButton implements
118 <a
119 href="http://library.gnome.org/devel/gtk/unstable/gtk-gtkbuildable.html#GtkBuildable"
120 >GtkBuildable</a>, AtkImplementorIface and <a
121 href="http://library.gnome.org/devel/gtk/unstable/gtk-Orientable.html#GtkOrientable"
122 >GtkOrientable</a>.</p>
123 </div>
124 <div class="refsect1" title="Properties">
125 <a name="polkit-gtk-1-polkitlockbutton.properties"></a><h2>Properties</h2>
126 <pre class="synopsis">
127 "<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--action-id" title='The "action-id" property'>action-id</a>" <a
128 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
129 >gchar</a>* : Read / Write / Construct Only
130 "<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--can-obtain" title='The "can-obtain" property'>can-obtain</a>" <a
131 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
132 >gboolean</a> : Read
133 "<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--is-authorized" title='The "is-authorized" property'>is-authorized</a>" <a
134 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
135 >gboolean</a> : Read
136 "<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--is-visible" title='The "is-visible" property'>is-visible</a>" <a
137 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
138 >gboolean</a> : Read
139 "<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--text-lock" title='The "text-lock" property'>text-lock</a>" <a
140 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
141 >gchar</a>* : Read / Write / Construct
142 "<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--text-not-authorized" title='The "text-not-authorized" property'>text-not-authorized</a>" <a
143 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
144 >gchar</a>* : Read / Write / Construct
145 "<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--text-unlock" title='The "text-unlock" property'>text-unlock</a>" <a
146 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
147 >gchar</a>* : Read / Write / Construct
148 </pre>
149 </div>
150 <div class="refsect1" title="Signals">
151 <a name="polkit-gtk-1-polkitlockbutton.signals"></a><h2>Signals</h2>
152 <pre class="synopsis">
153 "<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton-changed" title='The "changed" signal'>changed</a>" : Run Last
154 </pre>
155 </div>
156 <div class="refsect1" title="Description">
157 <a name="polkit-gtk-1-polkitlockbutton.description"></a><h2>Description</h2>
158 <p>
159 <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton"><span class="type">PolkitLockButton</span></a> is a widget that can be used in control panels to
160 allow users to obtain and revoke authorizations needed for the
161 control panel UI to function.
162 </p>
163 <p>
164 If the user lacks the authorization but authorization can be
165 obtained through authentication, the widget looks like this
166 </p>
167 <div class="mediaobject">
168 <a name="lock-button-locked"></a><img src="polkit-lock-button-locked.png">
169 </div>
170 <p>
171 and the user can click the button to obtain the authorization. This
172 will pop up an authentication dialog.
173 Once authorization is obtained, the widget changes to this
174 </p>
175 <div class="mediaobject">
176 <a name="lock-button-unlocked"></a><img src="polkit-lock-button-unlocked.png">
177 </div>
178 <p>
179 and the authorization can be dropped by clicking the button.
180 If the user is not able to obtain authorization at all, the widget
181 looks like this
182 </p>
183 <div class="mediaobject">
184 <a name="lock-button-unlocked-not-authorized"></a><img src="polkit-lock-button-not-authorized.png">
185 </div>
186 <p>
187 If the user is authorized (either implicitly via the .policy file
188 defaults or through e.g. Local Authority configuration) and no
189 authentication is necessary, the widget will be hidden.
190 </p>
191 <p>
192 Finally, if the user is not authorized but authorization can be
193 obtained and the obtained authorization will be a one-shot
194 authorization, the widget will be hidden as well. This
195 means that any attempt to use the Mechanism that requires authorization
196 for the specified action will always prompt for authentication. This
197 condition happens exactly when
198 (!<a class="link" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-is-authorized" title="polkit_lock_button_get_is_authorized ()"><code class="function">polkit_lock_button_get_is_authorized()</code></a> &amp;&amp; <a class="link" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-can-obtain" title="polkit_lock_button_get_can_obtain ()"><code class="function">polkit_lock_button_get_can_obtain()</code></a> &amp;&amp; !<a class="link" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-is-visible" title="polkit_lock_button_get_is_visible ()"><code class="function">polkit_lock_button_get_is_visible()</code></a>)
199 is <a
200 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE--CAPS"
201 ><code class="literal">TRUE</code></a>.
202 </p>
203 <p>
204 Typically <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton"><span class="type">PolkitLockButton</span></a> is only useful for actions where authorization
205 is retained (cf. the defaults specified in the <code class="literal">.policy</code>
206 file for the action) but note that this behavior can be overridden by the
207 Authority implementation.
208 </p>
209 <p>
210 The typical usage of this widget is like this:
211 </p>
212 <pre class="programlisting">
213 static void
214 update_sensitivity_according_to_lock_button (FooBar *bar)
215 {
216 gboolean make_sensitive;
217
218 make_sensitive = FALSE;
219 if (polkit_lock_button_get_is_authorized (POLKIT_LOCK_BUTTON (bar-&gt;priv-&gt;lock_button)))
220 {
221 make_sensitive = TRUE;
222 }
223 else
224 {
225 /* Catch the case where authorization is one-shot - this means
226 * an authentication dialog will be shown every time a widget the user
227 * manipulates calls into the Mechanism.
228 */
229 if (polkit_lock_button_get_can_obtain (POLKIT_LOCK_BUTTON (bar-&gt;priv-&gt;lock_button)) &amp;&amp;
230 !polkit_lock_button_get_is_visible (POLKIT_LOCK_BUTTON (bar-&gt;priv-&gt;lock_button)))
231 make_sensitive = TRUE;
232 }
233
234
235 /* Make all widgets relying on authorization sensitive according to
236 * the value of make_sensitive.
237 */
238 }
239
240 static void
241 on_lock_button_changed (PolkitLockButton *button,
242 gpointer user_data)
243 {
244 FooBar *bar = FOO_BAR (user_data);
245
246 update_sensitivity_according_to_lock_button (bar);
247 }
248
249 static void
250 foo_bar_init (FooBar *bar)
251 {
252 /* Construct other widgets */
253
254 bar-&gt;priv-&gt;lock_button = polkit_lock_button_new ("org.project.mechanism.action-name");
255 g_signal_connect (bar-&gt;priv-&gt;lock_button,
256 "changed",
257 G_CALLBACK (on_lock_button_changed),
258 bar);
259 update_sensitity_according_to_lock_button (bar);
260
261 /* Pack bar-&gt;priv-&gt;lock_button into widget hierarchy */
262 }
263 </pre>
264 <p>
265 </p>
266 </div>
267 <div class="refsect1" title="Details">
268 <a name="polkit-gtk-1-polkitlockbutton.details"></a><h2>Details</h2>
269 <div class="refsect2" title="PolkitLockButton">
270 <a name="PolkitLockButton-struct"></a><h3>PolkitLockButton</h3>
271 <pre class="programlisting">typedef struct _PolkitLockButton PolkitLockButton;</pre>
272 <p>
273 The <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton"><span class="type">PolkitLockButton</span></a> structure contains only private data and
274 should be accessed using the provided API.</p>
275 <p>
276 </p>
277 <div class="variablelist"><table border="0">
278 <col align="left" valign="top">
279 <tbody></tbody>
280 </table></div>
281 </div>
282 <hr>
283 <div class="refsect2" title="PolkitLockButtonClass">
284 <a name="PolkitLockButtonClass"></a><h3>PolkitLockButtonClass</h3>
285 <pre class="programlisting">typedef struct {
286 GtkHBoxClass parent_class;
287
288 /* Signals */
289 void (*changed) (PolkitLockButton *button);
290 } PolkitLockButtonClass;
291 </pre>
292 <p>
293 Class structure for <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton"><span class="type">PolkitLockButton</span></a>.</p>
294 <p>
295 </p>
296 <div class="variablelist"><table border="0">
297 <col align="left" valign="top">
298 <tbody>
299 <tr>
300 <td><p><span class="term">GtkHBoxClass <em class="structfield"><code>parent_class</code></em>;</span></p></td>
301 <td> The parent class structure.
302 </td>
303 </tr>
304 <tr>
305 <td><p><span class="term"><em class="structfield"><code>changed</code></em> ()</span></p></td>
306 <td> Signal class handler for the <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton-changed" title='The "changed" signal'><span class="type">"changed"</span></a> signal.
307 </td>
308 </tr>
309 </tbody>
310 </table></div>
311 </div>
312 <hr>
313 <div class="refsect2" title="polkit_lock_button_new ()">
314 <a name="polkit-lock-button-new"></a><h3>polkit_lock_button_new ()</h3>
315 <pre class="programlisting"><a
316 href="http://library.gnome.org/devel/gtk/unstable/GtkWidget.html"
317 >GtkWidget</a> * polkit_lock_button_new (const <a
318 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
319 >gchar</a> *action_id);</pre>
320 <p>
321 Constructs a <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton"><span class="type">PolkitLockButton</span></a> for <em class="parameter"><code>action_id</code></em>.</p>
322 <p>
323 </p>
324 <div class="variablelist"><table border="0">
325 <col align="left" valign="top">
326 <tbody>
327 <tr>
328 <td><p><span class="term"><em class="parameter"><code>action_id</code></em> :</span></p></td>
329 <td> An action identifer.
330 </td>
331 </tr>
332 <tr>
333 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
334 <td> A <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton"><span class="type">PolkitLockButton</span></a>.
335 </td>
336 </tr>
337 </tbody>
338 </table></div>
339 </div>
340 <hr>
341 <div class="refsect2" title="polkit_lock_button_get_is_authorized ()">
342 <a name="polkit-lock-button-get-is-authorized"></a><h3>polkit_lock_button_get_is_authorized ()</h3>
343 <pre class="programlisting"><a
344 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
345 >gboolean</a> polkit_lock_button_get_is_authorized
346 (<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton">PolkitLockButton</a> *button);</pre>
347 <p>
348 Gets whether the process is authorized.</p>
349 <p>
350 </p>
351 <div class="variablelist"><table border="0">
352 <col align="left" valign="top">
353 <tbody>
354 <tr>
355 <td><p><span class="term"><em class="parameter"><code>button</code></em> :</span></p></td>
356 <td> A <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton"><span class="type">PolkitLockButton</span></a>.
357 </td>
358 </tr>
359 <tr>
360 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
361 <td> <a
362 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE--CAPS"
363 ><code class="literal">TRUE</code></a> if authorized.
364 </td>
365 </tr>
366 </tbody>
367 </table></div>
368 </div>
369 <hr>
370 <div class="refsect2" title="polkit_lock_button_get_is_visible ()">
371 <a name="polkit-lock-button-get-is-visible"></a><h3>polkit_lock_button_get_is_visible ()</h3>
372 <pre class="programlisting"><a
373 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
374 >gboolean</a> polkit_lock_button_get_is_visible (<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton">PolkitLockButton</a> *button);</pre>
375 <p>
376 Gets whether <em class="parameter"><code>button</code></em> is currently being shown.</p>
377 <p>
378 </p>
379 <div class="variablelist"><table border="0">
380 <col align="left" valign="top">
381 <tbody>
382 <tr>
383 <td><p><span class="term"><em class="parameter"><code>button</code></em> :</span></p></td>
384 <td> A <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton"><span class="type">PolkitLockButton</span></a>.
385 </td>
386 </tr>
387 <tr>
388 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
389 <td> <a
390 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE--CAPS"
391 ><code class="literal">TRUE</code></a> if <em class="parameter"><code>button</code></em> has visible UI elements.
392 </td>
393 </tr>
394 </tbody>
395 </table></div>
396 </div>
397 <hr>
398 <div class="refsect2" title="polkit_lock_button_get_can_obtain ()">
399 <a name="polkit-lock-button-get-can-obtain"></a><h3>polkit_lock_button_get_can_obtain ()</h3>
400 <pre class="programlisting"><a
401 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
402 >gboolean</a> polkit_lock_button_get_can_obtain (<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton">PolkitLockButton</a> *button);</pre>
403 <p>
404 Gets whether the user can obtain an authorization through
405 authentication.</p>
406 <p>
407 </p>
408 <div class="variablelist"><table border="0">
409 <col align="left" valign="top">
410 <tbody>
411 <tr>
412 <td><p><span class="term"><em class="parameter"><code>button</code></em> :</span></p></td>
413 <td> A <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton"><span class="type">PolkitLockButton</span></a>.
414 </td>
415 </tr>
416 <tr>
417 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
418 <td> Whether the authorization is obtainable.
419 </td>
420 </tr>
421 </tbody>
422 </table></div>
423 </div>
424 <hr>
425 <div class="refsect2" title="polkit_lock_button_set_unlock_text ()">
426 <a name="polkit-lock-button-set-unlock-text"></a><h3>polkit_lock_button_set_unlock_text ()</h3>
427 <pre class="programlisting">void polkit_lock_button_set_unlock_text (<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton">PolkitLockButton</a> *button,
428 const <a
429 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
430 >gchar</a> *text);</pre>
431 <p>
432 Makes <em class="parameter"><code>button</code></em> display <em class="parameter"><code>text</code></em> when the prompting the user to unlock.</p>
433 <p>
434 </p>
435 <div class="variablelist"><table border="0">
436 <col align="left" valign="top">
437 <tbody>
438 <tr>
439 <td><p><span class="term"><em class="parameter"><code>button</code></em> :</span></p></td>
440 <td> A <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton"><span class="type">PolkitLockButton</span></a>.
441 </td>
442 </tr>
443 <tr>
444 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
445 <td> The text to set.
446 </td>
447 </tr>
448 </tbody>
449 </table></div>
450 </div>
451 <hr>
452 <div class="refsect2" title="polkit_lock_button_set_lock_text ()">
453 <a name="polkit-lock-button-set-lock-text"></a><h3>polkit_lock_button_set_lock_text ()</h3>
454 <pre class="programlisting">void polkit_lock_button_set_lock_text (<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton">PolkitLockButton</a> *button,
455 const <a
456 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
457 >gchar</a> *text);</pre>
458 <p>
459 Makes <em class="parameter"><code>button</code></em> display <em class="parameter"><code>text</code></em> when the prompting the user to unlock.</p>
460 <p>
461 </p>
462 <div class="variablelist"><table border="0">
463 <col align="left" valign="top">
464 <tbody>
465 <tr>
466 <td><p><span class="term"><em class="parameter"><code>button</code></em> :</span></p></td>
467 <td> A <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton"><span class="type">PolkitLockButton</span></a>.
468 </td>
469 </tr>
470 <tr>
471 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
472 <td> The text to set.
473 </td>
474 </tr>
475 </tbody>
476 </table></div>
477 </div>
478 <hr>
479 <div class="refsect2" title="polkit_lock_button_set_not_authorized_text ()">
480 <a name="polkit-lock-button-set-not-authorized-text"></a><h3>polkit_lock_button_set_not_authorized_text ()</h3>
481 <pre class="programlisting">void polkit_lock_button_set_not_authorized_text
482 (<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton">PolkitLockButton</a> *button,
483 const <a
484 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
485 >gchar</a> *text);</pre>
486 <p>
487 Makes <em class="parameter"><code>button</code></em> display <em class="parameter"><code>text</code></em> when the prompting the user to unlock.</p>
488 <p>
489 </p>
490 <div class="variablelist"><table border="0">
491 <col align="left" valign="top">
492 <tbody>
493 <tr>
494 <td><p><span class="term"><em class="parameter"><code>button</code></em> :</span></p></td>
495 <td> A <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton"><span class="type">PolkitLockButton</span></a>.
496 </td>
497 </tr>
498 <tr>
499 <td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
500 <td> The text to set.
501 </td>
502 </tr>
503 </tbody>
504 </table></div>
505 </div>
506 </div>
507 <div class="refsect1" title="Property Details">
508 <a name="polkit-gtk-1-polkitlockbutton.property-details"></a><h2>Property Details</h2>
509 <div class="refsect2" title='The "action-id" property'>
510 <a name="PolkitLockButton--action-id"></a><h3>The <code class="literal">"action-id"</code> property</h3>
511 <pre class="programlisting"> "action-id" <a
512 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
513 >gchar</a>* : Read / Write / Construct Only</pre>
514 <p>
515 The action identifier to use for the button.</p>
516 <p>
517 </p>
518 <p>Default value: NULL</p>
519 </div>
520 <hr>
521 <div class="refsect2" title='The "can-obtain" property'>
522 <a name="PolkitLockButton--can-obtain"></a><h3>The <code class="literal">"can-obtain"</code> property</h3>
523 <pre class="programlisting"> "can-obtain" <a
524 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
525 >gboolean</a> : Read</pre>
526 <p>
527 Whether authorization can be obtained.</p>
528 <p>
529 </p>
530 <p>Default value: FALSE</p>
531 </div>
532 <hr>
533 <div class="refsect2" title='The "is-authorized" property'>
534 <a name="PolkitLockButton--is-authorized"></a><h3>The <code class="literal">"is-authorized"</code> property</h3>
535 <pre class="programlisting"> "is-authorized" <a
536 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
537 >gboolean</a> : Read</pre>
538 <p>
539 Whether the process is authorized.</p>
540 <p>
541 </p>
542 <p>Default value: FALSE</p>
543 </div>
544 <hr>
545 <div class="refsect2" title='The "is-visible" property'>
546 <a name="PolkitLockButton--is-visible"></a><h3>The <code class="literal">"is-visible"</code> property</h3>
547 <pre class="programlisting"> "is-visible" <a
548 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"
549 >gboolean</a> : Read</pre>
550 <p>
551 Whether the widget is visible.</p>
552 <p>
553 </p>
554 <p>Default value: TRUE</p>
555 </div>
556 <hr>
557 <div class="refsect2" title='The "text-lock" property'>
558 <a name="PolkitLockButton--text-lock"></a><h3>The <code class="literal">"text-lock"</code> property</h3>
559 <pre class="programlisting"> "text-lock" <a
560 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
561 >gchar</a>* : Read / Write / Construct</pre>
562 <p>
563 The text to display when prompting the user to lock.</p>
564 <p>
565 </p>
566 <p>Default value: "Click to prevent changes"</p>
567 </div>
568 <hr>
569 <div class="refsect2" title='The "text-not-authorized" property'>
570 <a name="PolkitLockButton--text-not-authorized"></a><h3>The <code class="literal">"text-not-authorized"</code> property</h3>
571 <pre class="programlisting"> "text-not-authorized" <a
572 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
573 >gchar</a>* : Read / Write / Construct</pre>
574 <p>
575 The text to display when the user cannot obtain authorization through authentication.</p>
576 <p>
577 </p>
578 <p>Default value: "Not authorized to make changes"</p>
579 </div>
580 <hr>
581 <div class="refsect2" title='The "text-unlock" property'>
582 <a name="PolkitLockButton--text-unlock"></a><h3>The <code class="literal">"text-unlock"</code> property</h3>
583 <pre class="programlisting"> "text-unlock" <a
584 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"
585 >gchar</a>* : Read / Write / Construct</pre>
586 <p>
587 The text to display when prompting the user to unlock.</p>
588 <p>
589 </p>
590 <p>Default value: "Click to make changes"</p>
591 </div>
592 </div>
593 <div class="refsect1" title="Signal Details">
594 <a name="polkit-gtk-1-polkitlockbutton.signal-details"></a><h2>Signal Details</h2>
595 <div class="refsect2" title='The "changed" signal'>
596 <a name="PolkitLockButton-changed"></a><h3>The <code class="literal">"changed"</code> signal</h3>
597 <pre class="programlisting">void user_function (<a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton">PolkitLockButton</a> *button,
598 <a
599 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"
600 >gpointer</a> user_data) : Run Last</pre>
601 <p>
602 Emitted when something on <em class="parameter"><code>button</code></em> changes.</p>
603 <p>
604 </p>
605 <div class="variablelist"><table border="0">
606 <col align="left" valign="top">
607 <tbody>
608 <tr>
609 <td><p><span class="term"><em class="parameter"><code>button</code></em> :</span></p></td>
610 <td> A <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton"><span class="type">PolkitLockButton</span></a>.
611 </td>
612 </tr>
613 <tr>
614 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
615 <td>user data set when the signal handler was connected.</td>
616 </tr>
617 </tbody>
618 </table></div>
619 </div>
620 </div>
621 </div>
622 <div class="footer">
623 <hr>
624 Generated by GTK-Doc V1.11</div>
625 </body>
626 </html>
0 <?xml version="1.0" encoding="utf-8" standalone="no"?>
1 <!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
2 <book xmlns="http://www.devhelp.net/book" title="PolicyKit-GTK+ Reference Manual" link="index.html" author="David Zeuthen" name="polkit-gtk-1">
3 <chapters>
4 <sub name="API Reference" link="ref-gtk-api.html">
5 <sub name="PolkitLockButton" link="polkit-gtk-1-polkitlockbutton.html"/>
6 </sub>
7 <sub name="Object Hierarchy" link="polkit-gtk-hierarchy.html"/>
8 <sub name="Index" link="polkit-gtk-index.html"/>
9 </chapters>
10 <functions>
11 <function name="PolkitLockButton" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton-struct"/>
12 <function name="PolkitLockButtonClass" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButtonClass"/>
13 <function name="polkit_lock_button_new ()" link="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-new"/>
14 <function name="polkit_lock_button_get_is_authorized ()" link="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-is-authorized"/>
15 <function name="polkit_lock_button_get_is_visible ()" link="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-is-visible"/>
16 <function name="polkit_lock_button_get_can_obtain ()" link="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-can-obtain"/>
17 <function name="polkit_lock_button_set_unlock_text ()" link="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-set-unlock-text"/>
18 <function name="polkit_lock_button_set_lock_text ()" link="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-set-lock-text"/>
19 <function name="polkit_lock_button_set_not_authorized_text ()" link="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-set-not-authorized-text"/>
20 <function name="The &quot;action-id&quot; property" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--action-id"/>
21 <function name="The &quot;can-obtain&quot; property" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--can-obtain"/>
22 <function name="The &quot;is-authorized&quot; property" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--is-authorized"/>
23 <function name="The &quot;is-visible&quot; property" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--is-visible"/>
24 <function name="The &quot;text-lock&quot; property" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--text-lock"/>
25 <function name="The &quot;text-not-authorized&quot; property" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--text-not-authorized"/>
26 <function name="The &quot;text-unlock&quot; property" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--text-unlock"/>
27 <function name="The &quot;changed&quot; signal" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton-changed"/>
28 </functions>
29 </book>
0 <?xml version="1.0" encoding="utf-8" standalone="no"?>
1 <!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
2 <book xmlns="http://www.devhelp.net/book" title="PolicyKit-GTK+ Reference Manual" link="index.html" author="David Zeuthen" name="polkit-gtk-1" version="2" language="c">
3 <chapters>
4 <sub name="API Reference" link="ref-gtk-api.html">
5 <sub name="PolkitLockButton" link="polkit-gtk-1-polkitlockbutton.html"/>
6 </sub>
7 <sub name="Object Hierarchy" link="polkit-gtk-hierarchy.html"/>
8 <sub name="Index" link="polkit-gtk-index.html"/>
9 </chapters>
10 <functions>
11 <keyword type="struct" name="PolkitLockButton" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton-struct"/>
12 <keyword type="struct" name="PolkitLockButtonClass" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButtonClass"/>
13 <keyword type="function" name="polkit_lock_button_new ()" link="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-new"/>
14 <keyword type="function" name="polkit_lock_button_get_is_authorized ()" link="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-is-authorized"/>
15 <keyword type="function" name="polkit_lock_button_get_is_visible ()" link="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-is-visible"/>
16 <keyword type="function" name="polkit_lock_button_get_can_obtain ()" link="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-can-obtain"/>
17 <keyword type="function" name="polkit_lock_button_set_unlock_text ()" link="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-set-unlock-text"/>
18 <keyword type="function" name="polkit_lock_button_set_lock_text ()" link="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-set-lock-text"/>
19 <keyword type="function" name="polkit_lock_button_set_not_authorized_text ()" link="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-set-not-authorized-text"/>
20 <keyword type="property" name="The &quot;action-id&quot; property" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--action-id"/>
21 <keyword type="property" name="The &quot;can-obtain&quot; property" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--can-obtain"/>
22 <keyword type="property" name="The &quot;is-authorized&quot; property" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--is-authorized"/>
23 <keyword type="property" name="The &quot;is-visible&quot; property" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--is-visible"/>
24 <keyword type="property" name="The &quot;text-lock&quot; property" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--text-lock"/>
25 <keyword type="property" name="The &quot;text-not-authorized&quot; property" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--text-not-authorized"/>
26 <keyword type="property" name="The &quot;text-unlock&quot; property" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--text-unlock"/>
27 <keyword type="signal" name="The &quot;changed&quot; signal" link="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton-changed"/>
28 </functions>
29 </book>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>Object Hierarchy</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
6 <link rel="home" href="index.html" title="PolicyKit-GTK+ Reference Manual">
7 <link rel="up" href="index.html" title="PolicyKit-GTK+ Reference Manual">
8 <link rel="prev" href="polkit-gtk-1-polkitlockbutton.html" title="PolkitLockButton">
9 <link rel="next" href="polkit-gtk-index.html" title="Index">
10 <meta name="generator" content="GTK-Doc V1.11 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 <link rel="part" href="ref-gtk-api.html" title="Part I. API Reference">
13 <link rel="chapter" href="polkit-gtk-hierarchy.html" title="Object Hierarchy">
14 <link rel="index" href="polkit-gtk-index.html" title="Index">
15 </head>
16 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
17 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
18 <td><a accesskey="p" href="polkit-gtk-1-polkitlockbutton.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
19 <td> </td>
20 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
21 <th width="100%" align="center">PolicyKit-GTK+ Reference Manual</th>
22 <td><a accesskey="n" href="polkit-gtk-index.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 </tr></table>
24 <div class="chapter" title="Object Hierarchy">
25 <div class="titlepage"><div><div><h2 class="title">
26 <a name="polkit-gtk-hierarchy"></a>Object Hierarchy</h2></div></div></div>
27 <pre class="screen">
28 <a
29 href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
30 >GObject</a>
31 <a
32 href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned"
33 >GInitiallyUnowned</a>
34 <a
35 href="http://library.gnome.org/devel/gtk/unstable/GtkObject.html"
36 >GtkObject</a>
37 <a
38 href="http://library.gnome.org/devel/gtk/unstable/GtkWidget.html"
39 >GtkWidget</a>
40 <a
41 href="http://library.gnome.org/devel/gtk/unstable/GtkContainer.html"
42 >GtkContainer</a>
43 <a
44 href="http://library.gnome.org/devel/gtk/unstable/GtkBox.html"
45 >GtkBox</a>
46 <a
47 href="http://library.gnome.org/devel/gtk/unstable/GtkHBox.html"
48 >GtkHBox</a>
49 <a class="link" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton">PolkitLockButton</a>
50 </pre>
51 </div>
52 <div class="footer">
53 <hr>
54 Generated by GTK-Doc V1.11</div>
55 </body>
56 </html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>Index</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
6 <link rel="home" href="index.html" title="PolicyKit-GTK+ Reference Manual">
7 <link rel="up" href="index.html" title="PolicyKit-GTK+ Reference Manual">
8 <link rel="prev" href="polkit-gtk-hierarchy.html" title="Object Hierarchy">
9 <meta name="generator" content="GTK-Doc V1.11 (XML mode)">
10 <link rel="stylesheet" href="style.css" type="text/css">
11 <link rel="part" href="ref-gtk-api.html" title="Part I. API Reference">
12 <link rel="chapter" href="polkit-gtk-hierarchy.html" title="Object Hierarchy">
13 <link rel="index" href="polkit-gtk-index.html" title="Index">
14 </head>
15 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
16 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
17 <td><a accesskey="p" href="polkit-gtk-hierarchy.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td> </td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">PolicyKit-GTK+ Reference Manual</th>
21 <td> </td>
22 </tr></table>
23 <div class="index" title="Index">
24 <div class="titlepage"><div><div><h2 class="title">
25 <a name="polkit-gtk-index"></a>Index</h2></div></div></div>
26 <div class="index"><div class="indexdiv">
27 <h3>L</h3>
28 <dl>
29 <dt>PolkitLockButton, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton-struct">PolkitLockButton</a>
30 </dt>
31 <dt>PolkitLockButton::changed, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton-changed">The "changed" signal</a>
32 </dt>
33 <dt>PolkitLockButton:action-id, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--action-id">The "action-id" property</a>
34 </dt>
35 <dt>PolkitLockButton:can-obtain, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--can-obtain">The "can-obtain" property</a>
36 </dt>
37 <dt>PolkitLockButton:is-authorized, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--is-authorized">The "is-authorized" property</a>
38 </dt>
39 <dt>PolkitLockButton:is-visible, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--is-visible">The "is-visible" property</a>
40 </dt>
41 <dt>PolkitLockButton:text-lock, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--text-lock">The "text-lock" property</a>
42 </dt>
43 <dt>PolkitLockButton:text-not-authorized, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--text-not-authorized">The "text-not-authorized" property</a>
44 </dt>
45 <dt>PolkitLockButton:text-unlock, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButton--text-unlock">The "text-unlock" property</a>
46 </dt>
47 <dt>PolkitLockButtonClass, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#PolkitLockButtonClass">PolkitLockButtonClass</a>
48 </dt>
49 <dt>polkit_lock_button_get_can_obtain, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-can-obtain">polkit_lock_button_get_can_obtain ()</a>
50 </dt>
51 <dt>polkit_lock_button_get_is_authorized, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-is-authorized">polkit_lock_button_get_is_authorized ()</a>
52 </dt>
53 <dt>polkit_lock_button_get_is_visible, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-get-is-visible">polkit_lock_button_get_is_visible ()</a>
54 </dt>
55 <dt>polkit_lock_button_new, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-new">polkit_lock_button_new ()</a>
56 </dt>
57 <dt>polkit_lock_button_set_lock_text, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-set-lock-text">polkit_lock_button_set_lock_text ()</a>
58 </dt>
59 <dt>polkit_lock_button_set_not_authorized_text, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-set-not-authorized-text">polkit_lock_button_set_not_authorized_text ()</a>
60 </dt>
61 <dt>polkit_lock_button_set_unlock_text, <a class="indexterm" href="polkit-gtk-1-polkitlockbutton.html#polkit-lock-button-set-unlock-text">polkit_lock_button_set_unlock_text ()</a>
62 </dt>
63 </dl>
64 </div></div>
65 </div>
66 <div class="footer">
67 <hr>
68 Generated by GTK-Doc V1.11</div>
69 </body>
70 </html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>Part I. API Reference</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
6 <link rel="home" href="index.html" title="PolicyKit-GTK+ Reference Manual">
7 <link rel="up" href="index.html" title="PolicyKit-GTK+ Reference Manual">
8 <link rel="prev" href="index.html" title="PolicyKit-GTK+ Reference Manual">
9 <link rel="next" href="polkit-gtk-1-polkitlockbutton.html" title="PolkitLockButton">
10 <meta name="generator" content="GTK-Doc V1.11 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 <link rel="part" href="ref-gtk-api.html" title="Part I. API Reference">
13 <link rel="chapter" href="polkit-gtk-hierarchy.html" title="Object Hierarchy">
14 <link rel="index" href="polkit-gtk-index.html" title="Index">
15 </head>
16 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
17 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
18 <td><a accesskey="p" href="index.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
19 <td> </td>
20 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
21 <th width="100%" align="center">PolicyKit-GTK+ Reference Manual</th>
22 <td><a accesskey="n" href="polkit-gtk-1-polkitlockbutton.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 </tr></table>
24 <div class="part" title="Part I. API Reference">
25 <div class="titlepage"><div><div><h1 class="title">
26 <a name="ref-gtk-api"></a>Part I. API Reference</h1></div></div></div>
27 <div class="toc">
28 <p><b>Table of Contents</b></p>
29 <dl><dt>
30 <span class="refentrytitle"><a href="polkit-gtk-1-polkitlockbutton.html">PolkitLockButton</a></span><span class="refpurpose"> — Toggle button for obtaining/revoking authorizations</span>
31 </dt></dl>
32 </div>
33 </div>
34 <div class="footer">
35 <hr>
36 Generated by GTK-Doc V1.11</div>
37 </body>
38 </html>
Binary diff not shown
0 .synopsis, .classsynopsis
1 {
2 background: #eeeeee;
3 border: solid 1px #aaaaaa;
4 padding: 0.5em;
5 }
6 .programlisting
7 {
8 background: #eeeeff;
9 border: solid 1px #aaaaff;
10 padding: 0.5em;
11 }
12 .variablelist
13 {
14 padding: 4px;
15 margin-left: 3em;
16 }
17 .variablelist td:first-child
18 {
19 vertical-align: top;
20 }
21
22 /* this is needed so that the local anchors are displayed below the naviagtion */
23 @media screen {
24 sup a.footnote
25 {
26 position: relative;
27 top: 0em ! important;
28 }
29 div.refnamediv a[name], div.refsect1 a[name]
30 {
31 position: relative;
32 top: -4.5em;
33 }
34 table.navigation#top
35 {
36 background: #ffeeee;
37 border: solid 1px #ffaaaa;
38 margin-top: 0;
39 margin-bottom: 0;
40 position: fixed;
41 top: 0;
42 left: 0;
43 height: 2em;
44 z-index: 1;
45 }
46 .navigation a
47 {
48 color: #770000;
49 }
50 .navigation a:visited
51 {
52 color: #550000;
53 }
54 td.shortcuts
55 {
56 color: #770000;
57 font-size: 80%;
58 white-space: nowrap;
59 }
60 div.refentry, div.chapter, div.reference, div.part, div.book, div.glossary, div.sect1, div.appendix, div.preface
61 {
62 position: relative;
63 top: 3em;
64 z-index: 0;
65 }
66 div.glossary, div.index
67 {
68 position: relative;
69 top: 2em;
70 z-index: 0;
71 }
72 div.refnamediv
73 {
74 margin-top: 2em;
75 }
76 body
77 {
78 padding-bottom: 20em;
79 }
80 }
81 @media print {
82 table.navigation {
83 visibility: collapse;
84 display: none;
85 }
86 div.titlepage table.navigation {
87 visibility: visible;
88 display: table;
89 background: #ffeeee;
90 border: solid 1px #ffaaaa;
91 margin-top: 0;
92 margin-bottom: 0;
93 top: 0;
94 left: 0;
95 height: 2em;
96 }
97 }
98
99 .navigation .title
100 {
101 font-size: 200%;
102 }
103
104
105 div.gallery-float
106 {
107 float: left;
108 padding: 10px;
109 }
110 div.gallery-float img
111 {
112 border-style: none;
113 }
114 div.gallery-spacer
115 {
116 clear: both;
117 }
118 a
119 {
120 text-decoration: none;
121 }
122 a:hover
123 {
124 text-decoration: underline;
125 color: #FF0000;
126 }
127
128 div.table table
129 {
130 border-collapse: collapse;
131 border-spacing: 0px;
132 border-style: solid;
133 border-color: #777777;
134 border-width: 1px;
135 }
136
137 div.table table td, div.table table th
138 {
139 border-style: solid;
140 border-color: #777777;
141 border-width: 1px;
142 padding: 3px;
143 vertical-align: top;
144 }
145
146 div.table table th
147 {
148 background-color: #eeeeee;
149 }
150
151 hr
152 {
153 color: #777777;
154 background: #777777;
155 border: 0;
156 height: 1px;
157 clear: both;
158 }
159
160 .footer
161 {
162 padding-top: 3.5em;
163 color: #777777;
164 text-align: center;
165 font-size: 80%;
166 }
Binary diff not shown
0 <?xml version="1.0"?>
1 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
2 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
3 <!ENTITY version SYSTEM "version.xml">
4 ]>
5 <book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
6 <bookinfo>
7 <title>PolicyKit-GTK+ Reference Manual</title>
8 <releaseinfo>Version &version;</releaseinfo>
9 <authorgroup>
10 <author>
11 <firstname>David</firstname>
12 <surname>Zeuthen</surname>
13 <affiliation>
14 <address>
15 <email>davidz@redhat.com</email>
16 </address>
17 </affiliation>
18 </author>
19 </authorgroup>
20
21 <copyright>
22 <year>2008-2009</year>
23 <holder>The PolicyKit Authors</holder>
24 </copyright>
25
26 <legalnotice id="polkit-legal-notice">
27 <para>
28 Permission is granted to copy, distribute and/or modify this
29 document under the terms of the <citetitle>GNU Free
30 Documentation License</citetitle>, Version 1.1 or any later
31 version published by the Free Software Foundation with no
32 Invariant Sections, no Front-Cover Texts, and no Back-Cover
33 Texts. You may obtain a copy of the <citetitle>GNU Free
34 Documentation License</citetitle> from the Free Software
35 Foundation by visiting <ulink type="http"
36 url="http://www.fsf.org">their Web site</ulink> or by writing
37 to:
38
39 <address>
40 The Free Software Foundation, Inc.,
41 <street>59 Temple Place</street> - Suite 330,
42 <city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>,
43 <country>USA</country>
44 </address>
45 </para>
46
47 <para>
48 Many of the names used by companies to distinguish their
49 products and services are claimed as trademarks. Where those
50 names appear in any GNOME documentation, and those
51 trademarks are made aware to the members of the
52 GNOME Documentation Project, the names have been
53 printed in caps or initial caps.
54 </para>
55 </legalnotice>
56 </bookinfo>
57
58 <part id="ref-gtk-api">
59 <title>API Reference</title>
60 <xi:include href="xml/polkitlockbutton.xml"/>
61 </part>
62
63
64 <chapter id="polkit-gtk-hierarchy">
65 <title>Object Hierarchy</title>
66 <xi:include href="xml/tree_index.sgml"/>
67 </chapter>
68
69 <index id="polkit-gtk-index">
70 <title>Index</title>
71 </index>
72
73 </book>
0 <SECTION>
1 <FILE>polkitlockbutton</FILE>
2 PolkitLockButton
3 PolkitLockButtonClass
4 polkit_lock_button_new
5 polkit_lock_button_get_is_authorized
6 polkit_lock_button_get_is_authenticating
7 polkit_lock_button_get_is_visible
8 polkit_lock_button_get_can_obtain
9 polkit_lock_button_set_unlock_text
10 polkit_lock_button_set_lock_text
11 polkit_lock_button_set_not_authorized_text
12 <SUBSECTION Standard>
13 PolkitLockButtonPrivate
14 POLKIT_LOCK_BUTTON
15 POLKIT_IS_LOCK_BUTTON
16 POLKIT_TYPE_LOCK_BUTTON
17 polkit_lock_button_get_type
18 POLKIT_LOCK_BUTTON_CLASS
19 POLKIT_IS_LOCK_BUTTON_CLASS
20 POLKIT_LOCK_BUTTON_GET_CLASS
21 </SECTION>
0 polkit_lock_button_get_type
0 <!-- ##### SECTION Title ##### -->
1 polkitlockbutton
2
3 <!-- ##### SECTION Short_Description ##### -->
4
5
6 <!-- ##### SECTION Long_Description ##### -->
7 <para>
8
9 </para>
10
11 <!-- ##### SECTION See_Also ##### -->
12 <para>
13
14 </para>
15
16 <!-- ##### SECTION Stability_Level ##### -->
17
18
19 <!-- ##### STRUCT PolkitLockButton ##### -->
20 <para>
21
22 </para>
23
24
25 <!-- ##### SIGNAL PolkitLockButton::changed ##### -->
26 <para>
27
28 </para>
29
30 @polkitlockbutton: the object which received the signal.
31
32 <!-- ##### ARG PolkitLockButton:action-id ##### -->
33 <para>
34
35 </para>
36
37 <!-- ##### ARG PolkitLockButton:can-obtain ##### -->
38 <para>
39
40 </para>
41
42 <!-- ##### ARG PolkitLockButton:is-authorized ##### -->
43 <para>
44
45 </para>
46
47 <!-- ##### ARG PolkitLockButton:is-visible ##### -->
48 <para>
49
50 </para>
51
52 <!-- ##### ARG PolkitLockButton:text-lock ##### -->
53 <para>
54
55 </para>
56
57 <!-- ##### ARG PolkitLockButton:text-not-authorized ##### -->
58 <para>
59
60 </para>
61
62 <!-- ##### ARG PolkitLockButton:text-unlock ##### -->
63 <para>
64
65 </para>
66
67 <!-- ##### STRUCT PolkitLockButtonClass ##### -->
68 <para>
69
70 </para>
71
72 @parent_class:
73 @changed:
74
75 <!-- ##### FUNCTION polkit_lock_button_new ##### -->
76 <para>
77
78 </para>
79
80 @action_id:
81 @Returns:
82
83
84 <!-- ##### FUNCTION polkit_lock_button_get_is_authorized ##### -->
85 <para>
86
87 </para>
88
89 @button:
90 @Returns:
91
92
93 <!-- ##### FUNCTION polkit_lock_button_get_is_visible ##### -->
94 <para>
95
96 </para>
97
98 @button:
99 @Returns:
100
101
102 <!-- ##### FUNCTION polkit_lock_button_get_can_obtain ##### -->
103 <para>
104
105 </para>
106
107 @button:
108 @Returns:
109
110
111 <!-- ##### FUNCTION polkit_lock_button_set_unlock_text ##### -->
112 <para>
113
114 </para>
115
116 @button:
117 @text:
118
119
120 <!-- ##### FUNCTION polkit_lock_button_set_lock_text ##### -->
121 <para>
122
123 </para>
124
125 @button:
126 @text:
127
128
129 <!-- ##### FUNCTION polkit_lock_button_set_not_authorized_text ##### -->
130 <para>
131
132 </para>
133
134 @button:
135 @text:
136
137
0 <?xml version="1.0"?>
1 <!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
2 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
3 <!ENTITY version SYSTEM "version.xml">
4 ]>
5 <indexdiv>
6 </indexdiv>
0 <?xml version="1.0"?>
1 <!DOCTYPE indexdiv PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
2 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
3 <!ENTITY version SYSTEM "version.xml">
4 ]>
5 <indexdiv>
6 <indexdiv><title>L</title>
7 <indexentry><primaryie linkends="PolkitLockButton-struct"><link linkend="PolkitLockButton-struct">PolkitLockButton</link></primaryie></indexentry>
8 <indexentry><primaryie linkends="PolkitLockButton-changed"><link linkend="PolkitLockButton-changed">PolkitLockButton::changed</link></primaryie></indexentry>
9 <indexentry><primaryie linkends="PolkitLockButton--action-id"><link linkend="PolkitLockButton--action-id">PolkitLockButton:action-id</link></primaryie></indexentry>
10 <indexentry><primaryie linkends="PolkitLockButton--can-obtain"><link linkend="PolkitLockButton--can-obtain">PolkitLockButton:can-obtain</link></primaryie></indexentry>
11 <indexentry><primaryie linkends="PolkitLockButton--is-authorized"><link linkend="PolkitLockButton--is-authorized">PolkitLockButton:is-authorized</link></primaryie></indexentry>
12 <indexentry><primaryie linkends="PolkitLockButton--is-visible"><link linkend="PolkitLockButton--is-visible">PolkitLockButton:is-visible</link></primaryie></indexentry>
13 <indexentry><primaryie linkends="PolkitLockButton--text-lock"><link linkend="PolkitLockButton--text-lock">PolkitLockButton:text-lock</link></primaryie></indexentry>
14 <indexentry><primaryie linkends="PolkitLockButton--text-not-authorized"><link linkend="PolkitLockButton--text-not-authorized">PolkitLockButton:text-not-authorized</link></primaryie></indexentry>
15 <indexentry><primaryie linkends="PolkitLockButton--text-unlock"><link linkend="PolkitLockButton--text-unlock">PolkitLockButton:text-unlock</link></primaryie></indexentry>
16 <indexentry><primaryie linkends="PolkitLockButtonClass"><link linkend="PolkitLockButtonClass">PolkitLockButtonClass</link></primaryie></indexentry>
17 <indexentry><primaryie linkends="polkit-lock-button-get-can-obtain"><link linkend="polkit-lock-button-get-can-obtain">polkit_lock_button_get_can_obtain</link></primaryie></indexentry>
18 <indexentry><primaryie linkends="polkit-lock-button-get-is-authorized"><link linkend="polkit-lock-button-get-is-authorized">polkit_lock_button_get_is_authorized</link></primaryie></indexentry>
19 <indexentry><primaryie linkends="polkit-lock-button-get-is-visible"><link linkend="polkit-lock-button-get-is-visible">polkit_lock_button_get_is_visible</link></primaryie></indexentry>
20 <indexentry><primaryie linkends="polkit-lock-button-new"><link linkend="polkit-lock-button-new">polkit_lock_button_new</link></primaryie></indexentry>
21 <indexentry><primaryie linkends="polkit-lock-button-set-lock-text"><link linkend="polkit-lock-button-set-lock-text">polkit_lock_button_set_lock_text</link></primaryie></indexentry>
22 <indexentry><primaryie linkends="polkit-lock-button-set-not-authorized-text"><link linkend="polkit-lock-button-set-not-authorized-text">polkit_lock_button_set_not_authorized_text</link></primaryie></indexentry>
23 <indexentry><primaryie linkends="polkit-lock-button-set-unlock-text"><link linkend="polkit-lock-button-set-unlock-text">polkit_lock_button_set_unlock_text</link></primaryie></indexentry>
24 </indexdiv>
25 </indexdiv>
0 <?xml version="1.0"?>
1 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
2 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
3 <!ENTITY version SYSTEM "version.xml">
4 ]>
5 <refentry id="polkit-gtk-1-polkitlockbutton">
6 <refmeta>
7 <refentrytitle role="top_of_page" id="polkit-gtk-1-polkitlockbutton.top_of_page">PolkitLockButton</refentrytitle>
8 <manvolnum>3</manvolnum>
9 <refmiscinfo>POLKIT-GTK-1 Library</refmiscinfo>
10 </refmeta>
11
12 <refnamediv>
13 <refname>PolkitLockButton</refname>
14 <refpurpose>Toggle button for obtaining/revoking authorizations</refpurpose>
15 </refnamediv>
16 <refsect1 id="polkit-gtk-1-polkitlockbutton.stability-level">
17 <title>Stability Level</title>
18 Stable, unless otherwise indicated
19 </refsect1>
20
21 <refsynopsisdiv id="polkit-gtk-1-polkitlockbutton.synopsis" role="synopsis">
22 <title role="synopsis.title">Synopsis</title>
23 <anchor id="PolkitLockButton"/>
24 <synopsis>
25 <link linkend="PolkitLockButton-struct">PolkitLockButton</link>;
26 <link linkend="PolkitLockButtonClass">PolkitLockButtonClass</link>;
27 <link linkend="GtkWidget">GtkWidget</link> * <link linkend="polkit-lock-button-new">polkit_lock_button_new</link> (const <link linkend="gchar">gchar</link> *action_id);
28 <link linkend="gboolean">gboolean</link> <link linkend="polkit-lock-button-get-is-authorized">polkit_lock_button_get_is_authorized</link>
29 (<link linkend="PolkitLockButton">PolkitLockButton</link> *button);
30 <link linkend="gboolean">gboolean</link> <link linkend="polkit-lock-button-get-is-visible">polkit_lock_button_get_is_visible</link> (<link linkend="PolkitLockButton">PolkitLockButton</link> *button);
31 <link linkend="gboolean">gboolean</link> <link linkend="polkit-lock-button-get-can-obtain">polkit_lock_button_get_can_obtain</link> (<link linkend="PolkitLockButton">PolkitLockButton</link> *button);
32 <link linkend="void">void</link> <link linkend="polkit-lock-button-set-unlock-text">polkit_lock_button_set_unlock_text</link> (<link linkend="PolkitLockButton">PolkitLockButton</link> *button,
33 const <link linkend="gchar">gchar</link> *text);
34 <link linkend="void">void</link> <link linkend="polkit-lock-button-set-lock-text">polkit_lock_button_set_lock_text</link> (<link linkend="PolkitLockButton">PolkitLockButton</link> *button,
35 const <link linkend="gchar">gchar</link> *text);
36 <link linkend="void">void</link> <link linkend="polkit-lock-button-set-not-authorized-text">polkit_lock_button_set_not_authorized_text</link>
37 (<link linkend="PolkitLockButton">PolkitLockButton</link> *button,
38 const <link linkend="gchar">gchar</link> *text);
39 </synopsis>
40 </refsynopsisdiv>
41
42 <refsect1 id="polkit-gtk-1-polkitlockbutton.object-hierarchy" role="object_hierarchy">
43 <title role="object_hierarchy.title">Object Hierarchy</title>
44 <synopsis>
45 <link linkend="GObject">GObject</link>
46 +----<link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
47 +----<link linkend="GtkObject">GtkObject</link>
48 +----<link linkend="GtkWidget">GtkWidget</link>
49 +----<link linkend="GtkContainer">GtkContainer</link>
50 +----<link linkend="GtkBox">GtkBox</link>
51 +----<link linkend="GtkHBox">GtkHBox</link>
52 +----PolkitLockButton
53 </synopsis>
54 </refsect1>
55
56
57
58 <refsect1 id="polkit-gtk-1-polkitlockbutton.implemented-interfaces" role="impl_interfaces">
59 <title role="impl_interfaces.title">Implemented Interfaces</title>
60 <para>
61 PolkitLockButton implements
62 <link linkend="GtkBuildable">GtkBuildable</link>, <link linkend="AtkImplementorIface">AtkImplementorIface</link> and <link linkend="GtkOrientable">GtkOrientable</link>.</para>
63 </refsect1>
64
65
66 <refsect1 id="polkit-gtk-1-polkitlockbutton.properties" role="properties">
67 <title role="properties.title">Properties</title>
68 <synopsis>
69 &quot;<link linkend="PolkitLockButton--action-id">action-id</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write / Construct Only
70 &quot;<link linkend="PolkitLockButton--can-obtain">can-obtain</link>&quot; <link linkend="gboolean">gboolean</link> : Read
71 &quot;<link linkend="PolkitLockButton--is-authorized">is-authorized</link>&quot; <link linkend="gboolean">gboolean</link> : Read
72 &quot;<link linkend="PolkitLockButton--is-visible">is-visible</link>&quot; <link linkend="gboolean">gboolean</link> : Read
73 &quot;<link linkend="PolkitLockButton--text-lock">text-lock</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write / Construct
74 &quot;<link linkend="PolkitLockButton--text-not-authorized">text-not-authorized</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write / Construct
75 &quot;<link linkend="PolkitLockButton--text-unlock">text-unlock</link>&quot; <link linkend="gchar">gchar</link>* : Read / Write / Construct
76 </synopsis>
77 </refsect1>
78
79 <refsect1 id="polkit-gtk-1-polkitlockbutton.signals" role="signal_proto">
80 <title role="signal_proto.title">Signals</title>
81 <synopsis>
82 &quot;<link linkend="PolkitLockButton-changed">changed</link>&quot; : Run Last
83 </synopsis>
84 </refsect1>
85
86
87 <refsect1 id="polkit-gtk-1-polkitlockbutton.description" role="desc">
88 <title role="desc.title">Description</title>
89 <para>
90 <link linkend="PolkitLockButton"><type>PolkitLockButton</type></link> is a widget that can be used in control panels to
91 allow users to obtain and revoke authorizations needed for the
92 control panel UI to function.
93 </para>
94 <para>
95 If the user lacks the authorization but authorization can be
96 obtained through authentication, the widget looks like this
97 <mediaobject id="lock-button-locked">
98 <imageobject>
99 <imagedata fileref="polkit-lock-button-locked.png" format="PNG"/>
100 </imageobject>
101 </mediaobject>
102 and the user can click the button to obtain the authorization. This
103 will pop up an authentication dialog.
104 Once authorization is obtained, the widget changes to this
105 <mediaobject id="lock-button-unlocked">
106 <imageobject>
107 <imagedata fileref="polkit-lock-button-unlocked.png" format="PNG"/>
108 </imageobject>
109 </mediaobject>
110 and the authorization can be dropped by clicking the button.
111 If the user is not able to obtain authorization at all, the widget
112 looks like this
113 <mediaobject id="lock-button-unlocked-not-authorized">
114 <imageobject>
115 <imagedata fileref="polkit-lock-button-not-authorized.png" format="PNG"/>
116 </imageobject>
117 </mediaobject>
118 If the user is authorized (either implicitly via the .policy file
119 defaults or through e.g. Local Authority configuration) and no
120 authentication is necessary, the widget will be hidden.
121 </para>
122 <para>
123 Finally, if the user is not authorized but authorization can be
124 obtained and the obtained authorization will be a one-shot
125 authorization, the widget will be hidden as well. This
126 means that any attempt to use the Mechanism that requires authorization
127 for the specified action will always prompt for authentication. This
128 condition happens exactly when
129 (!<link linkend="polkit-lock-button-get-is-authorized"><function>polkit_lock_button_get_is_authorized()</function></link> &amp;&amp; <link linkend="polkit-lock-button-get-can-obtain"><function>polkit_lock_button_get_can_obtain()</function></link> &amp;&amp; !<link linkend="polkit-lock-button-get-is-visible"><function>polkit_lock_button_get_is_visible()</function></link>)
130 is <link linkend="TRUE--CAPS"><literal>TRUE</literal></link>.
131 </para>
132 <para>
133 Typically <link linkend="PolkitLockButton"><type>PolkitLockButton</type></link> is only useful for actions where authorization
134 is retained (cf. the defaults specified in the <literal>.policy</literal>
135 file for the action) but note that this behavior can be overridden by the
136 Authority implementation.
137 </para>
138 <para>
139 The typical usage of this widget is like this:
140 <programlisting>
141 static void
142 update_sensitivity_according_to_lock_button (FooBar *bar)
143 {
144 gboolean make_sensitive;
145
146 make_sensitive = FALSE;
147 if (polkit_lock_button_get_is_authorized (POLKIT_LOCK_BUTTON (bar->priv->lock_button)))
148 {
149 make_sensitive = TRUE;
150 }
151 else
152 {
153 /<!-- -->* Catch the case where authorization is one-shot - this means
154 * an authentication dialog will be shown every time a widget the user
155 * manipulates calls into the Mechanism.
156 *<!-- -->/
157 if (polkit_lock_button_get_can_obtain (POLKIT_LOCK_BUTTON (bar->priv->lock_button)) &amp;&amp;
158 !polkit_lock_button_get_is_visible (POLKIT_LOCK_BUTTON (bar->priv->lock_button)))
159 make_sensitive = TRUE;
160 }
161
162
163 /<!-- -->* Make all widgets relying on authorization sensitive according to
164 * the value of make_sensitive.
165 *<!-- -->/
166 }
167
168 static void
169 on_lock_button_changed (PolkitLockButton *button,
170 gpointer user_data)
171 {
172 FooBar *bar = FOO_BAR (user_data);
173
174 update_sensitivity_according_to_lock_button (bar);
175 }
176
177 static void
178 foo_bar_init (FooBar *bar)
179 {
180 /<!-- -->* Construct other widgets *<!-- -->/
181
182 bar->priv->lock_button = polkit_lock_button_new ("org.project.mechanism.action-name");
183 g_signal_connect (bar->priv->lock_button,
184 "changed",
185 G_CALLBACK (on_lock_button_changed),
186 bar);
187 update_sensitity_according_to_lock_button (bar);
188
189 /<!-- -->* Pack bar->priv->lock_button into widget hierarchy *<!-- -->/
190 }
191 </programlisting></para>
192 <para>
193 </para>
194 </refsect1>
195
196 <refsect1 id="polkit-gtk-1-polkitlockbutton.details" role="details">
197 <title role="details.title">Details</title>
198 <refsect2 id="PolkitLockButton-struct" role="struct">
199 <title>PolkitLockButton</title>
200 <indexterm zone="PolkitLockButton-struct"><primary sortas="LockButton">PolkitLockButton</primary></indexterm><programlisting>typedef struct _PolkitLockButton PolkitLockButton;</programlisting>
201 <para>
202 The <link linkend="PolkitLockButton"><type>PolkitLockButton</type></link> structure contains only private data and
203 should be accessed using the provided API.</para>
204 <para>
205 </para><variablelist role="struct">
206 </variablelist></refsect2>
207 <refsect2 id="PolkitLockButtonClass" role="struct">
208 <title>PolkitLockButtonClass</title>
209 <indexterm zone="PolkitLockButtonClass"><primary sortas="LockButtonClass">PolkitLockButtonClass</primary></indexterm><programlisting>typedef struct {
210 GtkHBoxClass parent_class;
211
212 /* Signals */
213 void (*changed) (PolkitLockButton *button);
214 } PolkitLockButtonClass;
215 </programlisting>
216 <para>
217 Class structure for <link linkend="PolkitLockButton"><type>PolkitLockButton</type></link>.</para>
218 <para>
219 </para><variablelist role="struct">
220 <varlistentry>
221 <term><link linkend="GtkHBoxClass">GtkHBoxClass</link>&#160;<structfield>parent_class</structfield>;</term>
222 <listitem><simpara> The parent class structure.
223 </simpara></listitem>
224 </varlistentry>
225 <varlistentry>
226 <term><structfield>changed</structfield>&#160;()</term>
227 <listitem><simpara> Signal class handler for the <link linkend="PolkitLockButton-changed"><type>"changed"</type></link> signal.
228 </simpara></listitem>
229 </varlistentry>
230 </variablelist></refsect2>
231 <refsect2 id="polkit-lock-button-new" role="function">
232 <title>polkit_lock_button_new ()</title>
233 <indexterm zone="polkit-lock-button-new"><primary sortas="lock_button_new">polkit_lock_button_new</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link> * polkit_lock_button_new (const <link linkend="gchar">gchar</link> *action_id);</programlisting>
234 <para>
235 Constructs a <link linkend="PolkitLockButton"><type>PolkitLockButton</type></link> for <parameter>action_id</parameter>.</para>
236 <para>
237 </para><variablelist role="params">
238 <varlistentry><term><parameter>action_id</parameter>&#160;:</term>
239 <listitem><simpara> An action identifer.
240 </simpara></listitem></varlistentry>
241 <varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> A <link linkend="PolkitLockButton"><type>PolkitLockButton</type></link>.
242 </simpara></listitem></varlistentry>
243 </variablelist></refsect2>
244 <refsect2 id="polkit-lock-button-get-is-authorized" role="function">
245 <title>polkit_lock_button_get_is_authorized ()</title>
246 <indexterm zone="polkit-lock-button-get-is-authorized"><primary sortas="lock_button_get_is_authorized">polkit_lock_button_get_is_authorized</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> polkit_lock_button_get_is_authorized
247 (<link linkend="PolkitLockButton">PolkitLockButton</link> *button);</programlisting>
248 <para>
249 Gets whether the process is authorized.</para>
250 <para>
251 </para><variablelist role="params">
252 <varlistentry><term><parameter>button</parameter>&#160;:</term>
253 <listitem><simpara> A <link linkend="PolkitLockButton"><type>PolkitLockButton</type></link>.
254 </simpara></listitem></varlistentry>
255 <varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if authorized.
256 </simpara></listitem></varlistentry>
257 </variablelist></refsect2>
258 <refsect2 id="polkit-lock-button-get-is-visible" role="function">
259 <title>polkit_lock_button_get_is_visible ()</title>
260 <indexterm zone="polkit-lock-button-get-is-visible"><primary sortas="lock_button_get_is_visible">polkit_lock_button_get_is_visible</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> polkit_lock_button_get_is_visible (<link linkend="PolkitLockButton">PolkitLockButton</link> *button);</programlisting>
261 <para>
262 Gets whether <parameter>button</parameter> is currently being shown.</para>
263 <para>
264 </para><variablelist role="params">
265 <varlistentry><term><parameter>button</parameter>&#160;:</term>
266 <listitem><simpara> A <link linkend="PolkitLockButton"><type>PolkitLockButton</type></link>.
267 </simpara></listitem></varlistentry>
268 <varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>button</parameter> has visible UI elements.
269 </simpara></listitem></varlistentry>
270 </variablelist></refsect2>
271 <refsect2 id="polkit-lock-button-get-can-obtain" role="function">
272 <title>polkit_lock_button_get_can_obtain ()</title>
273 <indexterm zone="polkit-lock-button-get-can-obtain"><primary sortas="lock_button_get_can_obtain">polkit_lock_button_get_can_obtain</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> polkit_lock_button_get_can_obtain (<link linkend="PolkitLockButton">PolkitLockButton</link> *button);</programlisting>
274 <para>
275 Gets whether the user can obtain an authorization through
276 authentication.</para>
277 <para>
278 </para><variablelist role="params">
279 <varlistentry><term><parameter>button</parameter>&#160;:</term>
280 <listitem><simpara> A <link linkend="PolkitLockButton"><type>PolkitLockButton</type></link>.
281 </simpara></listitem></varlistentry>
282 <varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> Whether the authorization is obtainable.
283 </simpara></listitem></varlistentry>
284 </variablelist></refsect2>
285 <refsect2 id="polkit-lock-button-set-unlock-text" role="function">
286 <title>polkit_lock_button_set_unlock_text ()</title>
287 <indexterm zone="polkit-lock-button-set-unlock-text"><primary sortas="lock_button_set_unlock_text">polkit_lock_button_set_unlock_text</primary></indexterm><programlisting><link linkend="void">void</link> polkit_lock_button_set_unlock_text (<link linkend="PolkitLockButton">PolkitLockButton</link> *button,
288 const <link linkend="gchar">gchar</link> *text);</programlisting>
289 <para>
290 Makes <parameter>button</parameter> display <parameter>text</parameter> when the prompting the user to unlock.</para>
291 <para>
292 </para><variablelist role="params">
293 <varlistentry><term><parameter>button</parameter>&#160;:</term>
294 <listitem><simpara> A <link linkend="PolkitLockButton"><type>PolkitLockButton</type></link>.
295 </simpara></listitem></varlistentry>
296 <varlistentry><term><parameter>text</parameter>&#160;:</term>
297 <listitem><simpara> The text to set.
298 </simpara></listitem></varlistentry>
299 </variablelist></refsect2>
300 <refsect2 id="polkit-lock-button-set-lock-text" role="function">
301 <title>polkit_lock_button_set_lock_text ()</title>
302 <indexterm zone="polkit-lock-button-set-lock-text"><primary sortas="lock_button_set_lock_text">polkit_lock_button_set_lock_text</primary></indexterm><programlisting><link linkend="void">void</link> polkit_lock_button_set_lock_text (<link linkend="PolkitLockButton">PolkitLockButton</link> *button,
303 const <link linkend="gchar">gchar</link> *text);</programlisting>
304 <para>
305 Makes <parameter>button</parameter> display <parameter>text</parameter> when the prompting the user to unlock.</para>
306 <para>
307 </para><variablelist role="params">
308 <varlistentry><term><parameter>button</parameter>&#160;:</term>
309 <listitem><simpara> A <link linkend="PolkitLockButton"><type>PolkitLockButton</type></link>.
310 </simpara></listitem></varlistentry>
311 <varlistentry><term><parameter>text</parameter>&#160;:</term>
312 <listitem><simpara> The text to set.
313 </simpara></listitem></varlistentry>
314 </variablelist></refsect2>
315 <refsect2 id="polkit-lock-button-set-not-authorized-text" role="function">
316 <title>polkit_lock_button_set_not_authorized_text ()</title>
317 <indexterm zone="polkit-lock-button-set-not-authorized-text"><primary sortas="lock_button_set_not_authorized_text">polkit_lock_button_set_not_authorized_text</primary></indexterm><programlisting><link linkend="void">void</link> polkit_lock_button_set_not_authorized_text
318 (<link linkend="PolkitLockButton">PolkitLockButton</link> *button,
319 const <link linkend="gchar">gchar</link> *text);</programlisting>
320 <para>
321 Makes <parameter>button</parameter> display <parameter>text</parameter> when the prompting the user to unlock.</para>
322 <para>
323 </para><variablelist role="params">
324 <varlistentry><term><parameter>button</parameter>&#160;:</term>
325 <listitem><simpara> A <link linkend="PolkitLockButton"><type>PolkitLockButton</type></link>.
326 </simpara></listitem></varlistentry>
327 <varlistentry><term><parameter>text</parameter>&#160;:</term>
328 <listitem><simpara> The text to set.
329 </simpara></listitem></varlistentry>
330 </variablelist></refsect2>
331
332 </refsect1>
333 <refsect1 id="polkit-gtk-1-polkitlockbutton.property-details" role="property_details">
334 <title role="property_details.title">Property Details</title>
335 <refsect2 id="PolkitLockButton--action-id" role="property"><title>The <literal>&quot;action-id&quot;</literal> property</title>
336 <indexterm zone="PolkitLockButton--action-id"><primary sortas="LockButton:action-id">PolkitLockButton:action-id</primary></indexterm><programlisting> &quot;action-id&quot; <link linkend="gchar">gchar</link>* : Read / Write / Construct Only</programlisting>
337 <para>
338 The action identifier to use for the button.</para>
339 <para>
340 </para><para>Default value: NULL</para>
341 </refsect2>
342 <refsect2 id="PolkitLockButton--can-obtain" role="property"><title>The <literal>&quot;can-obtain&quot;</literal> property</title>
343 <indexterm zone="PolkitLockButton--can-obtain"><primary sortas="LockButton:can-obtain">PolkitLockButton:can-obtain</primary></indexterm><programlisting> &quot;can-obtain&quot; <link linkend="gboolean">gboolean</link> : Read</programlisting>
344 <para>
345 Whether authorization can be obtained.</para>
346 <para>
347 </para><para>Default value: FALSE</para>
348 </refsect2>
349 <refsect2 id="PolkitLockButton--is-authorized" role="property"><title>The <literal>&quot;is-authorized&quot;</literal> property</title>
350 <indexterm zone="PolkitLockButton--is-authorized"><primary sortas="LockButton:is-authorized">PolkitLockButton:is-authorized</primary></indexterm><programlisting> &quot;is-authorized&quot; <link linkend="gboolean">gboolean</link> : Read</programlisting>
351 <para>
352 Whether the process is authorized.</para>
353 <para>
354 </para><para>Default value: FALSE</para>
355 </refsect2>
356 <refsect2 id="PolkitLockButton--is-visible" role="property"><title>The <literal>&quot;is-visible&quot;</literal> property</title>
357 <indexterm zone="PolkitLockButton--is-visible"><primary sortas="LockButton:is-visible">PolkitLockButton:is-visible</primary></indexterm><programlisting> &quot;is-visible&quot; <link linkend="gboolean">gboolean</link> : Read</programlisting>
358 <para>
359 Whether the widget is visible.</para>
360 <para>
361 </para><para>Default value: TRUE</para>
362 </refsect2>
363 <refsect2 id="PolkitLockButton--text-lock" role="property"><title>The <literal>&quot;text-lock&quot;</literal> property</title>
364 <indexterm zone="PolkitLockButton--text-lock"><primary sortas="LockButton:text-lock">PolkitLockButton:text-lock</primary></indexterm><programlisting> &quot;text-lock&quot; <link linkend="gchar">gchar</link>* : Read / Write / Construct</programlisting>
365 <para>
366 The text to display when prompting the user to lock.</para>
367 <para>
368 </para><para>Default value: "Click to prevent changes"</para>
369 </refsect2>
370 <refsect2 id="PolkitLockButton--text-not-authorized" role="property"><title>The <literal>&quot;text-not-authorized&quot;</literal> property</title>
371 <indexterm zone="PolkitLockButton--text-not-authorized"><primary sortas="LockButton:text-not-authorized">PolkitLockButton:text-not-authorized</primary></indexterm><programlisting> &quot;text-not-authorized&quot; <link linkend="gchar">gchar</link>* : Read / Write / Construct</programlisting>
372 <para>
373 The text to display when the user cannot obtain authorization through authentication.</para>
374 <para>
375 </para><para>Default value: "Not authorized to make changes"</para>
376 </refsect2>
377 <refsect2 id="PolkitLockButton--text-unlock" role="property"><title>The <literal>&quot;text-unlock&quot;</literal> property</title>
378 <indexterm zone="PolkitLockButton--text-unlock"><primary sortas="LockButton:text-unlock">PolkitLockButton:text-unlock</primary></indexterm><programlisting> &quot;text-unlock&quot; <link linkend="gchar">gchar</link>* : Read / Write / Construct</programlisting>
379 <para>
380 The text to display when prompting the user to unlock.</para>
381 <para>
382 </para><para>Default value: "Click to make changes"</para>
383 </refsect2>
384 </refsect1>
385
386 <refsect1 id="polkit-gtk-1-polkitlockbutton.signal-details" role="signals">
387 <title role="signals.title">Signal Details</title>
388 <refsect2 id="PolkitLockButton-changed" role="signal"><title>The <literal>&quot;changed&quot;</literal> signal</title>
389 <indexterm zone="PolkitLockButton-changed"><primary sortas="LockButton::changed">PolkitLockButton::changed</primary></indexterm><programlisting><link linkend="void">void</link> user_function (<link linkend="PolkitLockButton">PolkitLockButton</link> *button,
390 <link linkend="gpointer">gpointer</link> user_data) : Run Last</programlisting>
391 <para>
392 Emitted when something on <parameter>button</parameter> changes.</para>
393 <para>
394 </para><variablelist role="params">
395 <varlistentry><term><parameter>button</parameter>&#160;:</term>
396 <listitem><simpara> A <link linkend="PolkitLockButton"><type>PolkitLockButton</type></link>.
397 </simpara></listitem></varlistentry>
398 <varlistentry><term><parameter>user_data</parameter>&#160;:</term>
399 <listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
400 </variablelist></refsect2>
401 </refsect1>
402
403
404
405 </refentry>
+0
-51
examples/Makefile.am less more
0
1 bin_PROGRAMS = polkit-gnome-example
2
3 polkit_gnome_example_SOURCES = \
4 polkit-gnome-example.c
5
6 polkit_gnome_example_CPPFLAGS = \
7 -I$(top_srcdir) \
8 -DLIBEXECDIR=\""$(libexecdir)"\" \
9 -DDATADIR=\""$(pkgdatadir)"\" \
10 -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
11 $(DISABLE_DEPRECATED) \
12 $(AM_CPPFLAGS)
13
14 polkit_gnome_example_CFLAGS = \
15 $(GTK_CFLAGS) \
16 $(DBUS_GLIB_CFLAGS) \
17 $(POLKIT_DBUS_CFLAGS) \
18 $(WARN_CFLAGS) \
19 $(AM_CFLAGS)
20
21 polkit_gnome_example_LDFLAGS = \
22 $(AM_LDFLAGS)
23
24 polkit_gnome_example_LDADD = \
25 $(GTK_LIBS) \
26 $(DBUS_GLIB_LIBS) \
27 $(POLKIT_DBUS_LIBS) \
28 $(POLKIT_GRANT_LIBS) \
29 $(INTLLIBS) \
30 $(top_builddir)/polkit-gnome/libpolkit-gnome.la
31
32 # PolicyKit action definitions for this example
33 #
34 polkit_policydir = $(datadir)/PolicyKit/policy
35 dist_polkit_policy_DATA = org.gnome.policykit.examples.policy
36
37 # You will need a recent intltool or the patch from this bug
38 # http://bugzilla.gnome.org/show_bug.cgi?id=462312
39 @INTLTOOL_POLICY_RULE@
40
41 check:
42 $(POLKIT_POLICY_FILE_VALIDATE) $(top_srcdir)/examples/$(dist_polkit_policy_DATA)
43
44 EXTRA_DIST = org.gnome.policykit.examples.policy.in
45
46 CLEANFILES = $(BUILT_SOURCES)
47 DISTCLEANFILES = org.gnome.policykit.examples.policy
48
49 clean-local :
50 rm -f *~
+0
-633
examples/Makefile.in less more
0 # Makefile.in generated by automake 1.10.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16
17 VPATH = @srcdir@
18 pkgdatadir = $(datadir)/@PACKAGE@
19 pkglibdir = $(libdir)/@PACKAGE@
20 pkgincludedir = $(includedir)/@PACKAGE@
21 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
22 install_sh_DATA = $(install_sh) -c -m 644
23 install_sh_PROGRAM = $(install_sh) -c
24 install_sh_SCRIPT = $(install_sh) -c
25 INSTALL_HEADER = $(INSTALL_DATA)
26 transform = $(program_transform_name)
27 NORMAL_INSTALL = :
28 PRE_INSTALL = :
29 POST_INSTALL = :
30 NORMAL_UNINSTALL = :
31 PRE_UNINSTALL = :
32 POST_UNINSTALL = :
33 build_triplet = @build@
34 host_triplet = @host@
35 bin_PROGRAMS = polkit-gnome-example$(EXEEXT)
36 subdir = examples
37 DIST_COMMON = $(dist_polkit_policy_DATA) $(srcdir)/Makefile.am \
38 $(srcdir)/Makefile.in
39 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
40 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
41 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
42 $(ACLOCAL_M4)
43 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
44 CONFIG_HEADER = $(top_builddir)/config.h
45 CONFIG_CLEAN_FILES =
46 am__installdirs = "$(DESTDIR)$(bindir)" \
47 "$(DESTDIR)$(polkit_policydir)"
48 binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
49 PROGRAMS = $(bin_PROGRAMS)
50 am_polkit_gnome_example_OBJECTS = \
51 polkit_gnome_example-polkit-gnome-example.$(OBJEXT)
52 polkit_gnome_example_OBJECTS = $(am_polkit_gnome_example_OBJECTS)
53 am__DEPENDENCIES_1 =
54 polkit_gnome_example_DEPENDENCIES = $(am__DEPENDENCIES_1) \
55 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
56 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
57 $(top_builddir)/polkit-gnome/libpolkit-gnome.la
58 polkit_gnome_example_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
59 $(LIBTOOLFLAGS) --mode=link $(CCLD) \
60 $(polkit_gnome_example_CFLAGS) $(CFLAGS) \
61 $(polkit_gnome_example_LDFLAGS) $(LDFLAGS) -o $@
62 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
63 depcomp = $(SHELL) $(top_srcdir)/depcomp
64 am__depfiles_maybe = depfiles
65 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
66 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
67 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
68 --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
69 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
70 CCLD = $(CC)
71 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
72 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
73 $(LDFLAGS) -o $@
74 SOURCES = $(polkit_gnome_example_SOURCES)
75 DIST_SOURCES = $(polkit_gnome_example_SOURCES)
76 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
77 am__vpath_adj = case $$p in \
78 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
79 *) f=$$p;; \
80 esac;
81 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
82 dist_polkit_policyDATA_INSTALL = $(INSTALL_DATA)
83 DATA = $(dist_polkit_policy_DATA)
84 ETAGS = etags
85 CTAGS = ctags
86 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
87 ACLOCAL = @ACLOCAL@
88 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
89 ALL_LINGUAS = @ALL_LINGUAS@
90 AMTAR = @AMTAR@
91 AM_CFLAGS = @AM_CFLAGS@
92 AM_CPPFLAGS = @AM_CPPFLAGS@
93 AM_CXXFLAGS = @AM_CXXFLAGS@
94 AM_LDFLAGS = @AM_LDFLAGS@
95 AR = @AR@
96 AUTOCONF = @AUTOCONF@
97 AUTOHEADER = @AUTOHEADER@
98 AUTOMAKE = @AUTOMAKE@
99 AWK = @AWK@
100 CATALOGS = @CATALOGS@
101 CATOBJEXT = @CATOBJEXT@
102 CC = @CC@
103 CCDEPMODE = @CCDEPMODE@
104 CFLAGS = @CFLAGS@
105 CPP = @CPP@
106 CPPFLAGS = @CPPFLAGS@
107 CXX = @CXX@
108 CXXCPP = @CXXCPP@
109 CXXDEPMODE = @CXXDEPMODE@
110 CXXFLAGS = @CXXFLAGS@
111 CYGPATH_W = @CYGPATH_W@
112 DATADIRNAME = @DATADIRNAME@
113 DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@
114 DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@
115 DEFS = @DEFS@
116 DEPDIR = @DEPDIR@
117 DISABLE_DEPRECATED = @DISABLE_DEPRECATED@
118 DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
119 DOC_USER_FORMATS = @DOC_USER_FORMATS@
120 DSYMUTIL = @DSYMUTIL@
121 ECHO = @ECHO@
122 ECHO_C = @ECHO_C@
123 ECHO_N = @ECHO_N@
124 ECHO_T = @ECHO_T@
125 EGREP = @EGREP@
126 EXEEXT = @EXEEXT@
127 F77 = @F77@
128 FFLAGS = @FFLAGS@
129 GCONFTOOL = @GCONFTOOL@
130 GCONF_CFLAGS = @GCONF_CFLAGS@
131 GCONF_LIBS = @GCONF_LIBS@
132 GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
133 GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
134 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
135 GMOFILES = @GMOFILES@
136 GMSGFMT = @GMSGFMT@
137 GREP = @GREP@
138 GTKDOC_CHECK = @GTKDOC_CHECK@
139 GTK_CFLAGS = @GTK_CFLAGS@
140 GTK_LIBS = @GTK_LIBS@
141 HELP_DIR = @HELP_DIR@
142 HTML_DIR = @HTML_DIR@
143 INSTALL = @INSTALL@
144 INSTALL_DATA = @INSTALL_DATA@
145 INSTALL_PROGRAM = @INSTALL_PROGRAM@
146 INSTALL_SCRIPT = @INSTALL_SCRIPT@
147 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
148 INSTOBJEXT = @INSTOBJEXT@
149 INTLLIBS = @INTLLIBS@
150 INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
151 INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
152 INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
153 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
154 INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@
155 INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
156 INTLTOOL_MERGE = @INTLTOOL_MERGE@
157 INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
158 INTLTOOL_PERL = @INTLTOOL_PERL@
159 INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@
160 INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
161 INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
162 INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
163 INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
164 INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
165 INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
166 INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
167 INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
168 INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
169 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
170 INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
171 INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@
172 INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
173 LDFLAGS = @LDFLAGS@
174 LIBOBJS = @LIBOBJS@
175 LIBS = @LIBS@
176 LIBTOOL = @LIBTOOL@
177 LN_S = @LN_S@
178 LTLIBOBJS = @LTLIBOBJS@
179 LT_AGE = @LT_AGE@
180 LT_CURRENT = @LT_CURRENT@
181 LT_REVISION = @LT_REVISION@
182 MAINT = @MAINT@
183 MAKEINFO = @MAKEINFO@
184 MKDIR_P = @MKDIR_P@
185 MKINSTALLDIRS = @MKINSTALLDIRS@
186 MSGFMT = @MSGFMT@
187 MSGFMT_OPTS = @MSGFMT_OPTS@
188 MSGMERGE = @MSGMERGE@
189 NMEDIT = @NMEDIT@
190 OBJEXT = @OBJEXT@
191 OMF_DIR = @OMF_DIR@
192 PACKAGE = @PACKAGE@
193 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
194 PACKAGE_NAME = @PACKAGE_NAME@
195 PACKAGE_STRING = @PACKAGE_STRING@
196 PACKAGE_TARNAME = @PACKAGE_TARNAME@
197 PACKAGE_VERSION = @PACKAGE_VERSION@
198 PATH_SEPARATOR = @PATH_SEPARATOR@
199 PKG_CONFIG = @PKG_CONFIG@
200 POFILES = @POFILES@
201 POLKIT_DBUS_CFLAGS = @POLKIT_DBUS_CFLAGS@
202 POLKIT_DBUS_LIBS = @POLKIT_DBUS_LIBS@
203 POLKIT_GRANT_CFLAGS = @POLKIT_GRANT_CFLAGS@
204 POLKIT_GRANT_LIBS = @POLKIT_GRANT_LIBS@
205 POLKIT_POLICY_FILE_VALIDATE = @POLKIT_POLICY_FILE_VALIDATE@
206 POSUB = @POSUB@
207 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
208 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
209 RANLIB = @RANLIB@
210 SED = @SED@
211 SET_MAKE = @SET_MAKE@
212 SHELL = @SHELL@
213 STRIP = @STRIP@
214 USE_NLS = @USE_NLS@
215 VERSION = @VERSION@
216 WARN_CFLAGS = @WARN_CFLAGS@
217 XGETTEXT = @XGETTEXT@
218 abs_builddir = @abs_builddir@
219 abs_srcdir = @abs_srcdir@
220 abs_top_builddir = @abs_top_builddir@
221 abs_top_srcdir = @abs_top_srcdir@
222 ac_ct_CC = @ac_ct_CC@
223 ac_ct_CXX = @ac_ct_CXX@
224 ac_ct_F77 = @ac_ct_F77@
225 am__include = @am__include@
226 am__leading_dot = @am__leading_dot@
227 am__quote = @am__quote@
228 am__tar = @am__tar@
229 am__untar = @am__untar@
230 bindir = @bindir@
231 build = @build@
232 build_alias = @build_alias@
233 build_cpu = @build_cpu@
234 build_os = @build_os@
235 build_vendor = @build_vendor@
236 builddir = @builddir@
237 datadir = @datadir@
238 datarootdir = @datarootdir@
239 docdir = @docdir@
240 dvidir = @dvidir@
241 exec_prefix = @exec_prefix@
242 host = @host@
243 host_alias = @host_alias@
244 host_cpu = @host_cpu@
245 host_os = @host_os@
246 host_vendor = @host_vendor@
247 htmldir = @htmldir@
248 includedir = @includedir@
249 infodir = @infodir@
250 install_sh = @install_sh@
251 libdir = @libdir@
252 libexecdir = @libexecdir@
253 localedir = @localedir@
254 localstatedir = @localstatedir@
255 mandir = @mandir@
256 mkdir_p = @mkdir_p@
257 oldincludedir = @oldincludedir@
258 pdfdir = @pdfdir@
259 prefix = @prefix@
260 program_transform_name = @program_transform_name@
261 psdir = @psdir@
262 sbindir = @sbindir@
263 sharedstatedir = @sharedstatedir@
264 srcdir = @srcdir@
265 sysconfdir = @sysconfdir@
266 target_alias = @target_alias@
267 top_build_prefix = @top_build_prefix@
268 top_builddir = @top_builddir@
269 top_srcdir = @top_srcdir@
270 polkit_gnome_example_SOURCES = \
271 polkit-gnome-example.c
272
273 polkit_gnome_example_CPPFLAGS = \
274 -I$(top_srcdir) \
275 -DLIBEXECDIR=\""$(libexecdir)"\" \
276 -DDATADIR=\""$(pkgdatadir)"\" \
277 -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
278 $(DISABLE_DEPRECATED) \
279 $(AM_CPPFLAGS)
280
281 polkit_gnome_example_CFLAGS = \
282 $(GTK_CFLAGS) \
283 $(DBUS_GLIB_CFLAGS) \
284 $(POLKIT_DBUS_CFLAGS) \
285 $(WARN_CFLAGS) \
286 $(AM_CFLAGS)
287
288 polkit_gnome_example_LDFLAGS = \
289 $(AM_LDFLAGS)
290
291 polkit_gnome_example_LDADD = \
292 $(GTK_LIBS) \
293 $(DBUS_GLIB_LIBS) \
294 $(POLKIT_DBUS_LIBS) \
295 $(POLKIT_GRANT_LIBS) \
296 $(INTLLIBS) \
297 $(top_builddir)/polkit-gnome/libpolkit-gnome.la
298
299
300 # PolicyKit action definitions for this example
301 #
302 polkit_policydir = $(datadir)/PolicyKit/policy
303 dist_polkit_policy_DATA = org.gnome.policykit.examples.policy
304 EXTRA_DIST = org.gnome.policykit.examples.policy.in
305 CLEANFILES = $(BUILT_SOURCES)
306 DISTCLEANFILES = org.gnome.policykit.examples.policy
307 all: all-am
308
309 .SUFFIXES:
310 .SUFFIXES: .c .lo .o .obj
311 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
312 @for dep in $?; do \
313 case '$(am__configure_deps)' in \
314 *$$dep*) \
315 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
316 && exit 0; \
317 exit 1;; \
318 esac; \
319 done; \
320 echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/Makefile'; \
321 cd $(top_srcdir) && \
322 $(AUTOMAKE) --foreign examples/Makefile
323 .PRECIOUS: Makefile
324 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
325 @case '$?' in \
326 *config.status*) \
327 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
328 *) \
329 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
330 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
331 esac;
332
333 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
334 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
335
336 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
337 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
338 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
339 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
340 install-binPROGRAMS: $(bin_PROGRAMS)
341 @$(NORMAL_INSTALL)
342 test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
343 @list='$(bin_PROGRAMS)'; for p in $$list; do \
344 p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
345 if test -f $$p \
346 || test -f $$p1 \
347 ; then \
348 f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
349 echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
350 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
351 else :; fi; \
352 done
353
354 uninstall-binPROGRAMS:
355 @$(NORMAL_UNINSTALL)
356 @list='$(bin_PROGRAMS)'; for p in $$list; do \
357 f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
358 echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
359 rm -f "$(DESTDIR)$(bindir)/$$f"; \
360 done
361
362 clean-binPROGRAMS:
363 @list='$(bin_PROGRAMS)'; for p in $$list; do \
364 f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
365 echo " rm -f $$p $$f"; \
366 rm -f $$p $$f ; \
367 done
368 polkit-gnome-example$(EXEEXT): $(polkit_gnome_example_OBJECTS) $(polkit_gnome_example_DEPENDENCIES)
369 @rm -f polkit-gnome-example$(EXEEXT)
370 $(polkit_gnome_example_LINK) $(polkit_gnome_example_OBJECTS) $(polkit_gnome_example_LDADD) $(LIBS)
371
372 mostlyclean-compile:
373 -rm -f *.$(OBJEXT)
374
375 distclean-compile:
376 -rm -f *.tab.c
377
378 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polkit_gnome_example-polkit-gnome-example.Po@am__quote@
379
380 .c.o:
381 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
382 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
383 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
384 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
385 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
386
387 .c.obj:
388 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
389 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
390 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
391 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
392 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
393
394 .c.lo:
395 @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
396 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
397 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
398 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
399 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
400
401 polkit_gnome_example-polkit-gnome-example.o: polkit-gnome-example.c
402 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_example_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_example_CFLAGS) $(CFLAGS) -MT polkit_gnome_example-polkit-gnome-example.o -MD -MP -MF $(DEPDIR)/polkit_gnome_example-polkit-gnome-example.Tpo -c -o polkit_gnome_example-polkit-gnome-example.o `test -f 'polkit-gnome-example.c' || echo '$(srcdir)/'`polkit-gnome-example.c
403 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/polkit_gnome_example-polkit-gnome-example.Tpo $(DEPDIR)/polkit_gnome_example-polkit-gnome-example.Po
404 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkit-gnome-example.c' object='polkit_gnome_example-polkit-gnome-example.o' libtool=no @AMDEPBACKSLASH@
405 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
406 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_example_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_example_CFLAGS) $(CFLAGS) -c -o polkit_gnome_example-polkit-gnome-example.o `test -f 'polkit-gnome-example.c' || echo '$(srcdir)/'`polkit-gnome-example.c
407
408 polkit_gnome_example-polkit-gnome-example.obj: polkit-gnome-example.c
409 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_example_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_example_CFLAGS) $(CFLAGS) -MT polkit_gnome_example-polkit-gnome-example.obj -MD -MP -MF $(DEPDIR)/polkit_gnome_example-polkit-gnome-example.Tpo -c -o polkit_gnome_example-polkit-gnome-example.obj `if test -f 'polkit-gnome-example.c'; then $(CYGPATH_W) 'polkit-gnome-example.c'; else $(CYGPATH_W) '$(srcdir)/polkit-gnome-example.c'; fi`
410 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/polkit_gnome_example-polkit-gnome-example.Tpo $(DEPDIR)/polkit_gnome_example-polkit-gnome-example.Po
411 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkit-gnome-example.c' object='polkit_gnome_example-polkit-gnome-example.obj' libtool=no @AMDEPBACKSLASH@
412 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
413 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_example_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_example_CFLAGS) $(CFLAGS) -c -o polkit_gnome_example-polkit-gnome-example.obj `if test -f 'polkit-gnome-example.c'; then $(CYGPATH_W) 'polkit-gnome-example.c'; else $(CYGPATH_W) '$(srcdir)/polkit-gnome-example.c'; fi`
414
415 mostlyclean-libtool:
416 -rm -f *.lo
417
418 clean-libtool:
419 -rm -rf .libs _libs
420 install-dist_polkit_policyDATA: $(dist_polkit_policy_DATA)
421 @$(NORMAL_INSTALL)
422 test -z "$(polkit_policydir)" || $(MKDIR_P) "$(DESTDIR)$(polkit_policydir)"
423 @list='$(dist_polkit_policy_DATA)'; for p in $$list; do \
424 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
425 f=$(am__strip_dir) \
426 echo " $(dist_polkit_policyDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(polkit_policydir)/$$f'"; \
427 $(dist_polkit_policyDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(polkit_policydir)/$$f"; \
428 done
429
430 uninstall-dist_polkit_policyDATA:
431 @$(NORMAL_UNINSTALL)
432 @list='$(dist_polkit_policy_DATA)'; for p in $$list; do \
433 f=$(am__strip_dir) \
434 echo " rm -f '$(DESTDIR)$(polkit_policydir)/$$f'"; \
435 rm -f "$(DESTDIR)$(polkit_policydir)/$$f"; \
436 done
437
438 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
439 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
440 unique=`for i in $$list; do \
441 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
442 done | \
443 $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
444 END { if (nonempty) { for (i in files) print i; }; }'`; \
445 mkid -fID $$unique
446 tags: TAGS
447
448 TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
449 $(TAGS_FILES) $(LISP)
450 tags=; \
451 here=`pwd`; \
452 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
453 unique=`for i in $$list; do \
454 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
455 done | \
456 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
457 END { if (nonempty) { for (i in files) print i; }; }'`; \
458 if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
459 test -n "$$unique" || unique=$$empty_fix; \
460 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
461 $$tags $$unique; \
462 fi
463 ctags: CTAGS
464 CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
465 $(TAGS_FILES) $(LISP)
466 tags=; \
467 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
468 unique=`for i in $$list; do \
469 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
470 done | \
471 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
472 END { if (nonempty) { for (i in files) print i; }; }'`; \
473 test -z "$(CTAGS_ARGS)$$tags$$unique" \
474 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
475 $$tags $$unique
476
477 GTAGS:
478 here=`$(am__cd) $(top_builddir) && pwd` \
479 && cd $(top_srcdir) \
480 && gtags -i $(GTAGS_ARGS) $$here
481
482 distclean-tags:
483 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
484
485 distdir: $(DISTFILES)
486 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
487 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
488 list='$(DISTFILES)'; \
489 dist_files=`for file in $$list; do echo $$file; done | \
490 sed -e "s|^$$srcdirstrip/||;t" \
491 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
492 case $$dist_files in \
493 */*) $(MKDIR_P) `echo "$$dist_files" | \
494 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
495 sort -u` ;; \
496 esac; \
497 for file in $$dist_files; do \
498 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
499 if test -d $$d/$$file; then \
500 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
501 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
502 cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
503 fi; \
504 cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
505 else \
506 test -f $(distdir)/$$file \
507 || cp -p $$d/$$file $(distdir)/$$file \
508 || exit 1; \
509 fi; \
510 done
511 check-am: all-am
512 check: check-am
513 all-am: Makefile $(PROGRAMS) $(DATA)
514 installdirs:
515 for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(polkit_policydir)"; do \
516 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
517 done
518 install: install-am
519 install-exec: install-exec-am
520 install-data: install-data-am
521 uninstall: uninstall-am
522
523 install-am: all-am
524 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
525
526 installcheck: installcheck-am
527 install-strip:
528 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
529 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
530 `test -z '$(STRIP)' || \
531 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
532 mostlyclean-generic:
533
534 clean-generic:
535 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
536
537 distclean-generic:
538 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
539 -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
540
541 maintainer-clean-generic:
542 @echo "This command is intended for maintainers to use"
543 @echo "it deletes files that may require special tools to rebuild."
544 clean: clean-am
545
546 clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \
547 mostlyclean-am
548
549 distclean: distclean-am
550 -rm -rf ./$(DEPDIR)
551 -rm -f Makefile
552 distclean-am: clean-am distclean-compile distclean-generic \
553 distclean-tags
554
555 dvi: dvi-am
556
557 dvi-am:
558
559 html: html-am
560
561 info: info-am
562
563 info-am:
564
565 install-data-am: install-dist_polkit_policyDATA
566
567 install-dvi: install-dvi-am
568
569 install-exec-am: install-binPROGRAMS
570
571 install-html: install-html-am
572
573 install-info: install-info-am
574
575 install-man:
576
577 install-pdf: install-pdf-am
578
579 install-ps: install-ps-am
580
581 installcheck-am:
582
583 maintainer-clean: maintainer-clean-am
584 -rm -rf ./$(DEPDIR)
585 -rm -f Makefile
586 maintainer-clean-am: distclean-am maintainer-clean-generic
587
588 mostlyclean: mostlyclean-am
589
590 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
591 mostlyclean-libtool
592
593 pdf: pdf-am
594
595 pdf-am:
596
597 ps: ps-am
598
599 ps-am:
600
601 uninstall-am: uninstall-binPROGRAMS uninstall-dist_polkit_policyDATA
602
603 .MAKE: install-am install-strip
604
605 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
606 clean-generic clean-libtool clean-local ctags distclean \
607 distclean-compile distclean-generic distclean-libtool \
608 distclean-tags distdir dvi dvi-am html html-am info info-am \
609 install install-am install-binPROGRAMS install-data \
610 install-data-am install-dist_polkit_policyDATA install-dvi \
611 install-dvi-am install-exec install-exec-am install-html \
612 install-html-am install-info install-info-am install-man \
613 install-pdf install-pdf-am install-ps install-ps-am \
614 install-strip installcheck installcheck-am installdirs \
615 maintainer-clean maintainer-clean-generic mostlyclean \
616 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
617 pdf pdf-am ps ps-am tags uninstall uninstall-am \
618 uninstall-binPROGRAMS uninstall-dist_polkit_policyDATA
619
620
621 # You will need a recent intltool or the patch from this bug
622 # http://bugzilla.gnome.org/show_bug.cgi?id=462312
623 @INTLTOOL_POLICY_RULE@
624
625 check:
626 $(POLKIT_POLICY_FILE_VALIDATE) $(top_srcdir)/examples/$(dist_polkit_policy_DATA)
627
628 clean-local :
629 rm -f *~
630 # Tell versions [3.59,3.63) of GNU make to not export all variables.
631 # Otherwise a system limit (for SysV at least) may be exceeded.
632 .NOEXPORT:
+0
-273
examples/org.gnome.policykit.examples.policy less more
0 <?xml version="1.0" encoding="UTF-8"?>
1 <!DOCTYPE policyconfig PUBLIC
2 "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
3 "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
4 <policyconfig>
5
6 <action id="org.gnome.policykit.examples.jump">
7 <description>Jump</description>
8 <description xml:lang="cs">Přeskočit</description>
9 <description xml:lang="en_GB">Jump</description>
10 <description xml:lang="es">Saltar</description>
11 <description xml:lang="fi">Hyppää</description>
12 <description xml:lang="fr">Sauter</description>
13 <description xml:lang="ja">Jump</description>
14 <description xml:lang="pl">Wykonaj "Jump"</description>
15 <description xml:lang="pt_BR">Pular</description>
16 <description xml:lang="ru">Jump</description>
17 <description xml:lang="sk">Jump</description>
18 <description xml:lang="zh_CN">Jump</description>
19 <message>System policy prevents the PolicyKit-gnome example helper from Jumping</message>
20 <message xml:lang="en_GB">System policy prevents the PolicyKit-gnome example helper from Jumping</message>
21 <message xml:lang="fi">Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta hyppäämästä</message>
22 <message xml:lang="fr">La stratégie système empêche l'assistant exemple de PolicyKit-gnome de sauter</message>
23 <message xml:lang="ja">System policy prevents the PolicyKit-gnome example helper from Jumping</message>
24 <message xml:lang="pl">Zasady systemu powstrzymują przykładowy program pomocniczy PolicyKit-gnome przed wykonaniem "Jump"</message>
25 <message xml:lang="pt_BR">A política do sistema impediu que o assistente de exemplo do PolicyKit-gnome realizasse um pulo</message>
26 <message xml:lang="ru">System policy prevents the PolicyKit-gnome example helper from Jumping</message>
27 <message xml:lang="sk">Systémová politika zabraňuje ukážkovému príkladu PolicyKit-gnome vo vykonaní akcie Jump</message>
28 <message xml:lang="zh_CN">系统策略防止 PolicyKit-gnome 例子帮助程序进行 Jumping</message>
29 <defaults>
30 <allow_inactive>no</allow_inactive>
31 <allow_active>auth_self_one_shot</allow_active>
32 </defaults>
33 </action>
34
35 <action id="org.gnome.policykit.examples.frobnicate">
36 <description>Frobnicate</description>
37 <description xml:lang="da">Frobniker</description>
38 <description xml:lang="en_GB">Frobnicate</description>
39 <description xml:lang="fi">Säädä</description>
40 <description xml:lang="fr">Tripatouiller</description>
41 <description xml:lang="ja">Frobnicate</description>
42 <description xml:lang="pl">Wykonaj "Frobnicate"</description>
43 <description xml:lang="pt_BR">Ajustar</description>
44 <description xml:lang="ru">Frobnicate</description>
45 <description xml:lang="sk">Frobnicate</description>
46 <description xml:lang="zh_CN">Frobnicate</description>
47 <message>System policy prevents the PolicyKit-gnome example helper from Frobnicating</message>
48 <message xml:lang="da">System indstillinger forhindrer PolicyKit-gnome eksempel hjælper i at Frobnikere!</message>
49 <message xml:lang="en_GB">System policy prevents the PolicyKit-gnome example helper from Frobnicating</message>
50 <message xml:lang="fi">Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta säätämästä</message>
51 <message xml:lang="fr">La stratégie système empêche l'assistant exemple de PolicyKit-gnome de tripatouiller</message>
52 <message xml:lang="ja">System policy prevents the PolicyKit-gnome example helper from Frobnicating</message>
53 <message xml:lang="pl">Zasady systemu powstrzymują przykładowy program pomocniczy PolicyKit-gnome przed wykonaniem "Frobnicate"</message>
54 <message xml:lang="pt_BR">A política do sistema impediu que o assistente de exemplo do PolicyKit-gnome realizasse um ajuste</message>
55 <message xml:lang="ru">System policy prevents the PolicyKit-gnome example helper from Frobnicating</message>
56 <message xml:lang="sk">Systémová politika zabraňuje ukážkovému príkladu PolicyKit-gnome vo vykonaní akcie Frobnicate.</message>
57 <message xml:lang="zh_CN">系统策略防止 PolicyKit-gnome 例子帮助程序进行 Frobnicat</message>
58 <defaults>
59 <allow_inactive>no</allow_inactive>
60 <allow_active>auth_self</allow_active>
61 </defaults>
62 </action>
63
64 <action id="org.gnome.policykit.examples.tweak">
65 <description>Tweak</description>
66 <description xml:lang="cs">Přizpůsobit</description>
67 <description xml:lang="da">Tvæk</description>
68 <description xml:lang="en_GB">Tweak</description>
69 <description xml:lang="fi">Viritä</description>
70 <description xml:lang="fr">Ajuster</description>
71 <description xml:lang="ja">Tweak</description>
72 <description xml:lang="pl">Wykonaj "Tweak"</description>
73 <description xml:lang="pt">Ajustar</description>
74 <description xml:lang="pt_BR">Tweak</description>
75 <description xml:lang="ru">Tweak</description>
76 <description xml:lang="sk">Tweak</description>
77 <description xml:lang="zh_CN">Tweak</description>
78 <message>System policy prevents the PolicyKit-gnome example helper from Tweaking</message>
79 <message xml:lang="da">System indstillinger forhindrer PolicyKit-gnome eksempel hjælper i at Tvække!</message>
80 <message xml:lang="en_GB">System policy prevents the PolicyKit-gnome example helper from Tweaking</message>
81 <message xml:lang="fi">Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta virittämästä</message>
82 <message xml:lang="fr">La stratégie système empêche l'assistant exemple de PolicyKit-gnome d'ajuster</message>
83 <message xml:lang="ja">System policy prevents the PolicyKit-gnome example helper from Tweaking</message>
84 <message xml:lang="pl">Zasady systemu powstrzymują przykładowy program pomocniczy PolicyKit-gnome przed wykonaniem "Tweak"</message>
85 <message xml:lang="pt_BR">A política do sistema impediu que o assistente de exemplo do PolicyKit-gnome realizasse um Tweak</message>
86 <message xml:lang="ru">System policy prevents the PolicyKit-gnome example helper from Tweaking</message>
87 <message xml:lang="sk">Systémová politika zabraňuje ukážkovému príkladu PolicyKit-gnome vo vykonaní akcie Tweak</message>
88 <message xml:lang="zh_CN">系统策略防止 PolicyKit-gnome 例子帮助程序进行 Tweaking</message>
89 <defaults>
90 <allow_inactive>no</allow_inactive>
91 <allow_active>auth_admin</allow_active>
92 </defaults>
93 </action>
94
95 <action id="org.gnome.policykit.examples.twiddle">
96 <description>Twiddle</description>
97 <description xml:lang="da">Tvidl</description>
98 <description xml:lang="en_GB">Twiddle</description>
99 <description xml:lang="fi">Pyörittele</description>
100 <description xml:lang="fr">Bidouiller</description>
101 <description xml:lang="ja">Twiddle</description>
102 <description xml:lang="pl">Wykonaj "Twiddle"</description>
103 <description xml:lang="pt_BR">Girar</description>
104 <description xml:lang="ru">Twiddle</description>
105 <description xml:lang="sk">Twiddle</description>
106 <description xml:lang="zh_CN">Twiddle</description>
107 <message>System policy prevents the PolicyKit-gnome example helper from Twiddling</message>
108 <message xml:lang="da">System indstillinger forhindrer PolicyKit-gnome eksempel hjælper i at Tvidle!</message>
109 <message xml:lang="en_GB">System policy prevents the PolicyKit-gnome example helper from Twiddling</message>
110 <message xml:lang="fi">Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta pyörittelemästä</message>
111 <message xml:lang="fr">La stratégie système empêche l'assistant exemple de PolicyKit-gnome de bidouiller</message>
112 <message xml:lang="ja">System policy prevents the PolicyKit-gnome example helper from Twiddling</message>
113 <message xml:lang="pl">Zasady systemu powstrzymują przykładowy program pomocniczy PolicyKit-gnome przed wykonaniem "Twiddle"</message>
114 <message xml:lang="pt_BR">A política do sistema impediu que o assistente de exemplo do PolicyKit-gnome realizasse um giro</message>
115 <message xml:lang="ru">System policy prevents the PolicyKit-gnome example helper from Twiddling</message>
116 <message xml:lang="sk">Systémová politika zabraňuje ukážkovému príkladu PolicyKit-gnome vo vykonaní akcie Twiddle</message>
117 <message xml:lang="zh_CN">系统策略防止 PolicyKit-gnome 例子帮助程序进行 Twiddling</message>
118 <defaults>
119 <allow_inactive>no</allow_inactive>
120 <allow_active>auth_admin_keep_always</allow_active>
121 </defaults>
122 </action>
123
124 <action id="org.gnome.policykit.examples.punch">
125 <description>Punch</description>
126 <description xml:lang="da">Smadre</description>
127 <description xml:lang="en_GB">Punch</description>
128 <description xml:lang="fi">Näpäytä</description>
129 <description xml:lang="fr">Frapper</description>
130 <description xml:lang="ja">Punch</description>
131 <description xml:lang="pl">Wykonaj "Punch"</description>
132 <description xml:lang="pt_BR">Socar</description>
133 <description xml:lang="ru">Punch</description>
134 <description xml:lang="sk">Punch</description>
135 <description xml:lang="zh_CN">Punch</description>
136 <message>System policy prevents the PolicyKit-gnome example helper from Punching</message>
137 <message xml:lang="da">System indstillinger forhindrer PolicyKit-gnome eksempel hjælper i at Smadre!</message>
138 <message xml:lang="en_GB">System policy prevents the PolicyKit-gnome example helper from Punching</message>
139 <message xml:lang="fi">Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta näpäyttämästä</message>
140 <message xml:lang="fr">La stratégie système empêche l'assistant exemple de PolicyKit-gnome de frapper</message>
141 <message xml:lang="ja">System policy prevents the PolicyKit-gnome example helper from Punching</message>
142 <message xml:lang="pl">Zasady systemu powstrzymują przykładowy program pomocniczy PolicyKit-gnome przed wykonaniem "Punch"</message>
143 <message xml:lang="pt_BR">A política do sistema impediu que o assistente de exemplo do PolicyKit-gnome realizasse um soco</message>
144 <message xml:lang="ru">System policy prevents the PolicyKit-gnome example helper from Punching</message>
145 <message xml:lang="sk">Systémová politika zabraňuje ukážkovému príkladu PolicyKit-gnome vo vykonaní akcie Punch</message>
146 <message xml:lang="zh_CN">系统策略防止 PolicyKit-gnome 例子帮助程序进行 Punching</message>
147 <defaults>
148 <allow_inactive>no</allow_inactive>
149 <allow_active>auth_self_keep_session</allow_active>
150 </defaults>
151 </action>
152
153 <action id="org.gnome.policykit.examples.toggle">
154 <description>Toggle</description>
155 <description xml:lang="ca">Commuta</description>
156 <description xml:lang="cs">Přepnout</description>
157 <description xml:lang="el">Εναλλαγή</description>
158 <description xml:lang="en_GB">Toggle</description>
159 <description xml:lang="es">Conmutar</description>
160 <description xml:lang="fi">Kytke</description>
161 <description xml:lang="fr">Basculer</description>
162 <description xml:lang="ja">Toggle</description>
163 <description xml:lang="pl">Wykonaj "Toggle"</description>
164 <description xml:lang="pt_BR">Alternar</description>
165 <description xml:lang="ru">Toggle</description>
166 <description xml:lang="sk">Toggle</description>
167 <description xml:lang="sv">Växla</description>
168 <description xml:lang="zh_CN">Toggle</description>
169 <message>System policy prevents the PolicyKit-gnome example helper from Toggling</message>
170 <message xml:lang="en_GB">System policy prevents the PolicyKit-gnome example helper from Toggling</message>
171 <message xml:lang="fi">Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta kytkemästä</message>
172 <message xml:lang="fr">La stratégie système empêche l'assistant exemple de PolicyKit-gnome de basculer</message>
173 <message xml:lang="ja">System policy prevents the PolicyKit-gnome example helper from Toggling</message>
174 <message xml:lang="pl">Zasady systemu powstrzymują przykładowy program pomocniczy PolicyKit-gnome przed wykonaniem "Toggle"</message>
175 <message xml:lang="pt_BR">A política do sistema impediu o assistente de exemplo do PolicyKit-gnome de realizar uma alternância.</message>
176 <message xml:lang="ru">System policy prevents the PolicyKit-gnome example helper from Toggling</message>
177 <message xml:lang="sk">Systémová politika zabraňuje ukážkovému príkladu PolicyKit-gnome vo vykonaní akcie Toggle</message>
178 <message xml:lang="zh_CN">系统策略防止 PolicyKit-gnome 例子帮助程序进行 Toggling</message>
179 <defaults>
180 <allow_inactive>no</allow_inactive>
181 <allow_active>auth_admin_keep_always</allow_active>
182 </defaults>
183 </action>
184
185 <action id="org.gnome.policykit.examples.kick-foo">
186 <description>Kick foo</description>
187 <description xml:lang="en_GB">Kick foo</description>
188 <description xml:lang="fi">Potkaise foota</description>
189 <description xml:lang="fr">Pousser toto</description>
190 <description xml:lang="ja">Kick foo</description>
191 <description xml:lang="pl">Wykonaj "Kick" na "foo"</description>
192 <description xml:lang="pt_BR">Kick foo</description>
193 <description xml:lang="ru">Kick foo</description>
194 <description xml:lang="sk">Kick foo</description>
195 <description xml:lang="zh_CN">Kick foo</description>
196 <message>System policy prevents the PolicyKit-gnome example helper from Kicking foo</message>
197 <message xml:lang="da">System indstillinger forhindrer PolicyKit-gnome eksempel hjælper fra at Sparke foo!</message>
198 <message xml:lang="en_GB">System policy prevents the PolicyKit-gnome example helper from Kicking foo</message>
199 <message xml:lang="fi">Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta potkaisemasta foota</message>
200 <message xml:lang="fr">La stratégie système empêche l'assistant exemple de PolicyKit-gnome de pousser toto</message>
201 <message xml:lang="ja">System policy prevents the PolicyKit-gnome example helper from Kicking foo</message>
202 <message xml:lang="pl">Zasady systemu powstrzymują przykładowy program pomocniczy PolicyKit-gnome przed wykonaniem "Kick" na "foo"</message>
203 <message xml:lang="pt_BR">A política do sistema impediu que o assistente de exemplo do PolicyKit-gnome realizasse um kick foo</message>
204 <message xml:lang="ru">System policy prevents the PolicyKit-gnome example helper from Kicking foo</message>
205 <message xml:lang="sk">Systémová politika zabraňuje ukážkovému príkladu PolicyKit-gnome vo vykonaní akcie Kick foo</message>
206 <message xml:lang="zh_CN">系统策略防止 PolicyKit-gnome 例子帮助程序进行 Kicking foo</message>
207 <defaults>
208 <allow_inactive>no</allow_inactive>
209 <allow_active>auth_self</allow_active>
210 </defaults>
211 <annotate key="org.gnome.policykit.examples.kick-path">foo</annotate>
212 </action>
213
214 <action id="org.gnome.policykit.examples.kick-bar">
215 <description>Kick bar</description>
216 <description xml:lang="en_GB">Kick bar</description>
217 <description xml:lang="fi">Potkaise baria</description>
218 <description xml:lang="fr">Pousser titi</description>
219 <description xml:lang="ja">Kick bar</description>
220 <description xml:lang="pl">Wykonaj "Kick" na "bar"</description>
221 <description xml:lang="pt_BR">Kick bar</description>
222 <description xml:lang="ru">Kick bar</description>
223 <description xml:lang="sk">Kick bar</description>
224 <description xml:lang="zh_CN">Kick bar</description>
225 <message>System policy prevents the PolicyKit-gnome example helper from Kicking bar</message>
226 <message xml:lang="da">System indstillinger forhindrer PolicyKit-gnome eksempel hjælper fra at Sparke bar!</message>
227 <message xml:lang="en_GB">System policy prevents the PolicyKit-gnome example helper from Kicking bar</message>
228 <message xml:lang="fi">Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta potkaisemasta baria</message>
229 <message xml:lang="fr">La stratégie système empêche l'assistant exemple de PolicyKit-gnome de pousser titi</message>
230 <message xml:lang="ja">System policy prevents the PolicyKit-gnome example helper from Kicking bar</message>
231 <message xml:lang="pl">Zasady systemu powstrzymują przykładowy program pomocniczy PolicyKit-gnome przed wykonaniem "Kick" na "bar"</message>
232 <message xml:lang="pt_BR">A política do sistema impediu que o assistente de exemplo do PolicyKit-gnome realizasse um kick bar</message>
233 <message xml:lang="ru">System policy prevents the PolicyKit-gnome example helper from Kicking bar</message>
234 <message xml:lang="sk">Systémová politika zabraňuje ukážkovému príkladu PolicyKit-gnome vo vykonaní akcie Kick bar</message>
235 <message xml:lang="zh_CN">系统策略防止 PolicyKit-gnome 例子帮助程序进行 Kicking bar</message>
236 <defaults>
237 <allow_inactive>no</allow_inactive>
238 <allow_active>auth_self</allow_active>
239 </defaults>
240 <annotate key="org.gnome.policykit.examples.kick-path">bar</annotate>
241 </action>
242
243 <action id="org.gnome.policykit.examples.kick-baz">
244 <description>Kick baz</description>
245 <description xml:lang="en_GB">Kick baz</description>
246 <description xml:lang="fi">Potkaise bazia</description>
247 <description xml:lang="fr">Pousser tata</description>
248 <description xml:lang="ja">Kick baz</description>
249 <description xml:lang="pl">Wykonaj "Kick" na "baz</description>
250 <description xml:lang="pt_BR">Kick baz</description>
251 <description xml:lang="ru">Kick baz</description>
252 <description xml:lang="sk">Kick baz</description>
253 <description xml:lang="zh_CN">Kick baz</description>
254 <message>System policy prevents the PolicyKit-gnome example helper from Kicking baz</message>
255 <message xml:lang="da">System indstillinger forhindrer PolicyKit-gnome eksempel hjælper fra at Sparke baz!</message>
256 <message xml:lang="en_GB">System policy prevents the PolicyKit-gnome example helper from Kicking baz</message>
257 <message xml:lang="fi">Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta potkaisemasta bazia</message>
258 <message xml:lang="fr">La stratégie système empêche l'assistant exemple de PolicyKit-gnome de pousser tata</message>
259 <message xml:lang="ja">System policy prevents the PolicyKit-gnome example helper from Kicking baz</message>
260 <message xml:lang="pl">Zasady systemu powstrzymują przykładowy program pomocniczy PolicyKit-gnome przed wykonaniem "Kick" na "baz"</message>
261 <message xml:lang="pt_BR">A política do sistema impediu que o assistente de exemplo do PolicyKit-gnome realizasse um kick baz</message>
262 <message xml:lang="ru">System policy prevents the PolicyKit-gnome example helper from Kicking baz</message>
263 <message xml:lang="sk">Systémová politika zabraňuje ukážkovému príkladu PolicyKit-gnome vo vykonaní akcie Kick baz</message>
264 <message xml:lang="zh_CN">系统策略防止 PolicyKit-gnome 例子帮助程序进行 Kicking baz</message>
265 <defaults>
266 <allow_inactive>no</allow_inactive>
267 <allow_active>auth_self</allow_active>
268 </defaults>
269 <annotate key="org.gnome.policykit.examples.kick-path">baz</annotate>
270 </action>
271
272 </policyconfig>
+0
-103
examples/org.gnome.policykit.examples.policy.in less more
0 <?xml version="1.0" encoding="utf-8"?>
1
2 <!DOCTYPE policyconfig PUBLIC
3 "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
4 "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
5
6 <!--
7 Policy definitions for PolicyKit-Gnome example
8
9 Copyright (c) 2007 David Zeuthen <david@fubar.dk>
10
11 NOTE: If you make changes to this file, make sure to validate the file
12 using the polkit-policy-file-validate(1) tool. Changes made to this
13 file are instantly applied.
14 -->
15
16 <policyconfig>
17
18 <action id="org.gnome.policykit.examples.jump">
19 <_description>Jump</_description>
20 <_message>System policy prevents the PolicyKit-gnome example helper from Jumping</_message>
21 <defaults>
22 <allow_inactive>no</allow_inactive>
23 <allow_active>auth_self_one_shot</allow_active>
24 </defaults>
25 </action>
26
27 <action id="org.gnome.policykit.examples.frobnicate">
28 <_description>Frobnicate</_description>
29 <_message>System policy prevents the PolicyKit-gnome example helper from Frobnicating</_message>
30 <defaults>
31 <allow_inactive>no</allow_inactive>
32 <allow_active>auth_self</allow_active>
33 </defaults>
34 </action>
35
36 <action id="org.gnome.policykit.examples.tweak">
37 <_description>Tweak</_description>
38 <_message>System policy prevents the PolicyKit-gnome example helper from Tweaking</_message>
39 <defaults>
40 <allow_inactive>no</allow_inactive>
41 <allow_active>auth_admin</allow_active>
42 </defaults>
43 </action>
44
45 <action id="org.gnome.policykit.examples.twiddle">
46 <_description>Twiddle</_description>
47 <_message>System policy prevents the PolicyKit-gnome example helper from Twiddling</_message>
48 <defaults>
49 <allow_inactive>no</allow_inactive>
50 <allow_active>auth_admin_keep_always</allow_active>
51 </defaults>
52 </action>
53
54 <action id="org.gnome.policykit.examples.punch">
55 <_description>Punch</_description>
56 <_message>System policy prevents the PolicyKit-gnome example helper from Punching</_message>
57 <defaults>
58 <allow_inactive>no</allow_inactive>
59 <allow_active>auth_self_keep_session</allow_active>
60 </defaults>
61 </action>
62
63 <action id="org.gnome.policykit.examples.toggle">
64 <_description>Toggle</_description>
65 <_message>System policy prevents the PolicyKit-gnome example helper from Toggling</_message>
66 <defaults>
67 <allow_inactive>no</allow_inactive>
68 <allow_active>auth_admin_keep_always</allow_active>
69 </defaults>
70 </action>
71
72 <action id="org.gnome.policykit.examples.kick-foo">
73 <_description>Kick foo</_description>
74 <_message>System policy prevents the PolicyKit-gnome example helper from Kicking foo</_message>
75 <defaults>
76 <allow_inactive>no</allow_inactive>
77 <allow_active>auth_self</allow_active>
78 </defaults>
79 <annotate key="org.gnome.policykit.examples.kick-path">foo</annotate>
80 </action>
81
82 <action id="org.gnome.policykit.examples.kick-bar">
83 <_description>Kick bar</_description>
84 <_message>System policy prevents the PolicyKit-gnome example helper from Kicking bar</_message>
85 <defaults>
86 <allow_inactive>no</allow_inactive>
87 <allow_active>auth_self</allow_active>
88 </defaults>
89 <annotate key="org.gnome.policykit.examples.kick-path">bar</annotate>
90 </action>
91
92 <action id="org.gnome.policykit.examples.kick-baz">
93 <_description>Kick baz</_description>
94 <_message>System policy prevents the PolicyKit-gnome example helper from Kicking baz</_message>
95 <defaults>
96 <allow_inactive>no</allow_inactive>
97 <allow_active>auth_self</allow_active>
98 </defaults>
99 <annotate key="org.gnome.policykit.examples.kick-path">baz</annotate>
100 </action>
101
102 </policyconfig>
+0
-452
examples/polkit-gnome-example.c less more
0 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
1 *
2 * polkit-gnome-example: Simple example showing how a GTK+ application
3 * can use PolicyKit.
4 *
5 * Copyright (C) 2007 David Zeuthen <david@fubar.dk>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 *
21 */
22
23 #ifdef HAVE_CONFIG_H
24 # include "config.h"
25 #endif
26
27 #include <sys/types.h>
28 #include <unistd.h>
29 #include <stdlib.h>
30 #include <string.h>
31 #include <glib/gi18n.h>
32 #include <polkit-gnome/polkit-gnome.h>
33
34 static GtkWidget *toplevel_window;
35 static PolKitGnomeContext *pkgc;
36
37 static void
38 _button_toggled (GtkToggleButton *toggle_button, PolKitGnomeAction *action)
39 {
40 g_debug ("in _button_toggled for action '%s'", gtk_action_get_name (GTK_ACTION (action)));
41 }
42
43 static void
44 _button_clicked (GtkToggleButton *toggle_button, PolKitGnomeAction *action)
45 {
46 g_debug ("in _button_clicked for '%s'", gtk_action_get_name (GTK_ACTION (action)));
47 }
48
49 /* This function is called when the following two conditions are true
50 *
51 * - the user clicks one of the buttons created via the method
52 * polkit_gnome_action_create_button() (see main() below)
53 *
54 * - For the PolKitAction associated with the button, PolicyKit
55 * reports either 'no' or 'yes'.
56 *
57 * In the event the user clicks a button and he is not privileged
58 * (e.g. PolicyKit returns one of the 'auth' results) he will be
59 * asked to authenticate; this all happens behind the scenes; the
60 * application _only_ gets the ::activate signal on PolKitGnomeAction
61 * instances when PolicyKit reports that the user is privileged.
62 *
63 * Note that for action org.gnome.policykit.examples.tweak, the
64 * corresponding PolKitGnomeAction is configured to be sensitive (see
65 * main() below) even when PolicyKit reports 'no'. Hence we need to
66 * handle that case too and we do that by popping up a dialog. Note
67 * that this can only be triggered by adding a stanza like
68 *
69 * <match action="org.gnome.policykit.examples.tweak">
70 * <return result="no"/>
71 * </match>
72 *
73 * to the /etc/PolicyKit/PolicyKit.conf file.
74 */
75 static void
76 activate_polkit_gnome_action (PolKitGnomeAction *action, gpointer user_data)
77 {
78 PolKitCaller *pk_caller;
79 PolKitAction *pk_action;
80 PolKitResult pk_result;
81 DBusError dbus_error;
82
83 if (strcmp (gtk_action_get_name (GTK_ACTION (action)), "toggle") == 0) {
84 /* we're not supposed to run actions when the
85 * authorization is flipped.. we're supposed to make
86 * some UI sensitive and de-sensitive.. (one use at least) */
87 g_debug ("toggled for '%s'", gtk_action_get_name (GTK_ACTION (action)));
88 return;
89 }
90
91 g_debug ("pretending to be the mechanism for action '%s'", gtk_action_get_name (GTK_ACTION (action)));
92
93 g_object_get (action, "polkit-action", &pk_action, NULL);
94
95 dbus_error_init (&dbus_error);
96 pk_caller = polkit_tracker_get_caller_from_pid (pkgc->pk_tracker,
97 getpid (),
98 &dbus_error);
99 if (pk_caller == NULL) {
100 g_warning ("Cannot get PolKitCaller object for ourselves (pid=%d): %s: %s",
101 getpid (), dbus_error.name, dbus_error.message);
102 dbus_error_free (&dbus_error);
103 } else {
104 /* note how we pass #TRUE to revoke_if_one_shot - this is because we're
105 * pretending to be the mechanism
106 */
107 pk_result = polkit_context_is_caller_authorized (pkgc->pk_context,
108 pk_action,
109 pk_caller,
110 TRUE,
111 NULL);
112
113 polkit_caller_unref (pk_caller);
114 }
115
116 polkit_action_unref (pk_action);
117
118 }
119
120 static void
121 activate_action (GtkAction *action, gpointer user_data)
122 {
123 if (g_ascii_strcasecmp (gtk_action_get_name (action), "Quit") == 0) {
124 exit (0);
125 } else if (g_ascii_strcasecmp (gtk_action_get_name (action), "About") == 0) {
126 const char *authors[] = {
127 "David Zeuthen <david@fubar.dk>",
128 NULL};
129 const char *documenters[] = {
130 "David Zeuthen <david@fubar.dk>",
131 NULL};
132
133
134 gtk_show_about_dialog (NULL,
135 "version", VERSION,
136 "copyright", _("Copyright © 2007 David Zeuthen"),
137 "website-label", _("PolicyKit-gnome Website"),
138 "website", "http://hal.freedesktop.org/docs/PolicyKit-gnome/",
139 "program-name", _("PolicyKit-gnome demo"),
140 "comments", _("PolicyKit for the GNOME desktop"),
141 "logo-icon-name", GTK_STOCK_DIALOG_AUTHENTICATION,
142 "authors", authors,
143 "documenters", documenters,
144 NULL);
145
146 }
147 }
148
149 static GtkActionEntry entries[] = {
150 { "FileMenu", NULL, N_("_File") }, /* name, stock id, label */
151 { "ActionsMenu", NULL, N_("_Actions") }, /* name, stock id, label */
152 { "HelpMenu", NULL, N_("_Help") }, /* name, stock id, label */
153
154 { "Quit", GTK_STOCK_QUIT, /* name, stock id */
155 N_("_Quit"), "<control>Q", /* label, accelerator */
156 N_("Quit"), /* tooltip */
157 G_CALLBACK (activate_action) },
158
159 { "About", GTK_STOCK_ABOUT, /* name, stock id */
160 N_("_About"), "<control>A", /* label, accelerator */
161 N_("About"), /* tooltip */
162 G_CALLBACK (activate_action) },
163 };
164 static guint n_entries = G_N_ELEMENTS (entries);
165
166 static const gchar *ui_info =
167 "<ui>"
168 " <menubar name='MenuBar'>"
169 " <menu action='FileMenu'>"
170 " <menuitem action='Quit'/>"
171 " </menu>"
172 " <menu action='ActionsMenu'>"
173 " <menuitem action='frobnicate'/>"
174 " <menuitem action='jump'/>"
175 " <menuitem action='tweak'/>"
176 " <menuitem action='twiddle'/>"
177 " <menuitem action='punch'/>"
178 " <menuitem action='toggle'/>"
179 " </menu>"
180 " <menu action='HelpMenu'>"
181 " <menuitem action='About'/>"
182 " </menu>"
183 " </menubar>"
184 " <toolbar name='ToolBar'>"
185 " <toolitem action='Quit'/>"
186 " <toolitem action='About'/>"
187 " <separator action='Sep1'/>"
188 " <toolitem action='frobnicate'/>"
189 " <toolitem action='jump'/>"
190 " <toolitem action='tweak'/>"
191 " <toolitem action='twiddle'/>"
192 " <toolitem action='punch'/>"
193 " <toolitem action='toggle'/>"
194 " </toolbar>"
195 "</ui>";
196
197 int
198 main (int argc, char **argv)
199 {
200 GtkWidget *hbox;
201 GtkWidget *vbox;
202 GtkWidget *vbox2;
203 GtkWidget *label;
204 GMainLoop*loop;
205 PolKitAction *pk_action;
206 PolKitGnomeAction *action;
207 GtkWidget *button;
208 GtkUIManager *ui;
209 GtkActionGroup *actions;
210
211 gtk_init (&argc, &argv);
212
213 pkgc = polkit_gnome_context_get (NULL);
214
215 loop = g_main_loop_new (NULL, FALSE);
216
217 toplevel_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
218
219 actions = gtk_action_group_new ("Actions");
220 gtk_action_group_add_actions (actions, entries, n_entries, NULL);
221
222 ui = gtk_ui_manager_new ();
223 gtk_ui_manager_insert_action_group (ui, actions, 0);
224
225 gtk_window_add_accel_group (GTK_WINDOW (toplevel_window),
226 gtk_ui_manager_get_accel_group (ui));
227
228
229 gtk_ui_manager_add_ui_from_string (ui, ui_info, -1, NULL);
230
231 /*----------------------------------------------------------------*/
232
233 vbox = gtk_vbox_new (FALSE, 10);
234 gtk_container_add (GTK_CONTAINER (toplevel_window), vbox);
235
236 vbox2 = gtk_vbox_new (FALSE, 0);
237 gtk_box_pack_start (GTK_BOX (vbox), vbox2, FALSE, FALSE, 0);
238
239 /*----------------------------------------------------------------*/
240
241 label = gtk_label_new (NULL);
242 gtk_label_set_markup (GTK_LABEL (label), _("Making the helper <b>Frobnicate</b> requires the "
243 "user to authenticate. The authorization is kept for "
244 "the life time of the process"));
245 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
246 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
247 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
248
249 pk_action = polkit_action_new ();
250 polkit_action_set_action_id (pk_action, "org.gnome.policykit.examples.frobnicate");
251 action = polkit_gnome_action_new_default ("frobnicate", pk_action, _("Frobnicate!"), NULL);
252 polkit_action_unref (pk_action);
253 g_signal_connect (action, "activate", G_CALLBACK (activate_polkit_gnome_action), NULL);
254 gtk_action_group_add_action (actions, GTK_ACTION (action));
255 button = polkit_gnome_action_create_button (action);
256 gtk_box_pack_start (GTK_BOX (vbox),
257 button,
258 FALSE, FALSE, 0);
259 g_signal_connect (button, "clicked", G_CALLBACK (_button_clicked), action);
260
261 /*----------------------------------------------------------------*/
262 gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0);
263 /*----------------------------------------------------------------*/
264
265 label = gtk_label_new (NULL);
266 gtk_label_set_markup (GTK_LABEL (label), _("Making the helper <b>Jump</b> requires the "
267 "user to authenticate. This is a one-shot authorization."));
268 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
269 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
270 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
271
272 pk_action = polkit_action_new ();
273 polkit_action_set_action_id (pk_action, "org.gnome.policykit.examples.jump");
274 action = polkit_gnome_action_new_default ("jump", pk_action, _("Jump!"), NULL);
275 polkit_action_unref (pk_action);
276 g_signal_connect (action, "activate", G_CALLBACK (activate_polkit_gnome_action), NULL);
277 gtk_action_group_add_action (actions, GTK_ACTION (action));
278 button = polkit_gnome_action_create_button (action);
279 gtk_box_pack_start (GTK_BOX (vbox),
280 button,
281 FALSE, FALSE, 0);
282 g_signal_connect (button, "clicked", G_CALLBACK (_button_clicked), action);
283
284 /*----------------------------------------------------------------*/
285 gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0);
286 /*----------------------------------------------------------------*/
287
288 label = gtk_label_new (NULL);
289 gtk_label_set_markup (GTK_LABEL (label), _("Making the helper <b>Tweak</b> requires a system "
290 "administrator to authenticate. This instance "
291 "overrides the defaults set in polkit_gnome_action_new()."));
292 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
293 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
294 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
295
296 pk_action = polkit_action_new ();
297 polkit_action_set_action_id (pk_action, "org.gnome.policykit.examples.tweak");
298 action = polkit_gnome_action_new_default ("tweak", pk_action, _("Tweak!"), NULL);
299 polkit_action_unref (pk_action);
300
301 /* For this particular GtkAction instance, we want to customize the appearence */
302 g_object_set (action,
303 "no-visible", TRUE,
304 "no-sensitive", TRUE,
305 "no-short-label", _("Tweak"),
306 "no-label", _("Tweak (long)"),
307 "no-tooltip", _("If your admin wasn't annoying, you could do this"),
308 "no-icon-name", GTK_STOCK_NO,
309
310 "auth-visible", TRUE,
311 "auth-sensitive", TRUE,
312 "auth-short-label", _("Tweak..."),
313 "auth-label", _("Tweak... (long)"),
314 "auth-tooltip", _("Only card carrying tweakers can do this!"),
315 "auth-icon-name", GTK_STOCK_DIALOG_AUTHENTICATION,
316
317 "yes-visible", TRUE,
318 "yes-sensitive", TRUE,
319 "yes-short-label", _("Tweak!"),
320 "yes-label", _("Tweak! (long)"),
321 "yes-tooltip", _("Go ahead, tweak tweak tweak!"),
322 "yes-icon-name", GTK_STOCK_YES,
323 NULL);
324
325 g_signal_connect (action, "activate", G_CALLBACK (activate_polkit_gnome_action), NULL);
326 gtk_action_group_add_action (actions, GTK_ACTION (action));
327 button = polkit_gnome_action_create_button (action);
328 gtk_box_pack_start (GTK_BOX (vbox),
329 button,
330 FALSE, FALSE, 0);
331 g_signal_connect (button, "clicked", G_CALLBACK (_button_clicked), action);
332
333 /*----------------------------------------------------------------*/
334 gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0);
335 /*----------------------------------------------------------------*/
336
337 label = gtk_label_new (NULL);
338 gtk_label_set_markup (GTK_LABEL (label), _("Making the helper <b>Twiddle</b> requires a system "
339 "administrator to authenticate. Once authenticated, this "
340 "privilege can be retained indefinitely."));
341 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
342 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
343 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
344
345 pk_action = polkit_action_new ();
346 polkit_action_set_action_id (pk_action, "org.gnome.policykit.examples.twiddle");
347 action = polkit_gnome_action_new_default ("twiddle", pk_action, _("Twiddle!"), NULL);
348 polkit_action_unref (pk_action);
349 g_signal_connect (action, "activate", G_CALLBACK (activate_polkit_gnome_action), NULL);
350 gtk_action_group_add_action (actions, GTK_ACTION (action));
351 button = polkit_gnome_action_create_button (action);
352 gtk_box_pack_start (GTK_BOX (vbox),
353 button,
354 FALSE, FALSE, 0);
355 g_signal_connect (button, "clicked", G_CALLBACK (_button_clicked), action);
356
357 /*----------------------------------------------------------------*/
358 gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0);
359 /*----------------------------------------------------------------*/
360
361 label = gtk_label_new (NULL);
362 gtk_label_set_markup (GTK_LABEL (label), _("Making the helper <b>Punch</b> requires the user to "
363 "authenticate. Once authenticated, this privilege can "
364 "be retained for the remainder of the desktop session."));
365 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
366 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
367 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
368
369 pk_action = polkit_action_new ();
370 polkit_action_set_action_id (pk_action, "org.gnome.policykit.examples.punch");
371 action = polkit_gnome_action_new_default ("punch", pk_action, _("Punch!"), NULL);
372 polkit_action_unref (pk_action);
373 g_signal_connect (action, "activate", G_CALLBACK (activate_polkit_gnome_action), NULL);
374 gtk_action_group_add_action (actions, GTK_ACTION (action));
375 button = polkit_gnome_action_create_button (action);
376 gtk_box_pack_start (GTK_BOX (vbox),
377 polkit_gnome_action_create_button (action),
378 FALSE, FALSE, 0);
379 g_signal_connect (button, "clicked", G_CALLBACK (_button_clicked), action);
380
381 /*----------------------------------------------------------------*/
382 gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0);
383 /*----------------------------------------------------------------*/
384
385 label = gtk_label_new (NULL);
386 gtk_label_set_markup (GTK_LABEL (label), _("The <b>Toggle</b> action demonstrates the use of "
387 "PolicyKit to drive a GtkToggleButton; it's an intuitive "
388 "way to ask users to give up authorizations when they "
389 "are done with them. E.g. the button is 'pressed in' exactly"
390 "when the authorization is held. Toggling the button means "
391 "obtaining resp. revoking the authorization in question."));
392 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
393 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
394 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
395
396 pk_action = polkit_action_new ();
397 polkit_action_set_action_id (pk_action, "org.gnome.policykit.examples.toggle");
398 PolKitGnomeToggleAction *toggle_action;
399 toggle_action = polkit_gnome_toggle_action_new_default ("toggle", pk_action,
400 _("Click to make changes..."),
401 _("Click to prevent changes"));
402 //g_object_set (toggle_action, "target-pid", 24887, NULL);
403 polkit_action_unref (pk_action);
404 g_signal_connect (toggle_action, "activate", G_CALLBACK (activate_polkit_gnome_action), NULL);
405 gtk_action_group_add_action (actions, GTK_ACTION (toggle_action));
406 GtkWidget *toggle_button;
407 toggle_button = polkit_gnome_toggle_action_create_toggle_button (toggle_action);
408 g_signal_connect (toggle_button, "toggled", G_CALLBACK (_button_toggled), toggle_action);
409 gtk_box_pack_start (GTK_BOX (vbox),
410 toggle_button,
411 FALSE, FALSE, 0);
412
413 /*----------------------------------------------------------------*/
414 gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0);
415 /*----------------------------------------------------------------*/
416
417 hbox = gtk_hbox_new (FALSE, 5);
418 gtk_box_pack_start (GTK_BOX (hbox), gtk_image_new_from_stock (GTK_STOCK_DIALOG_INFO,
419 GTK_ICON_SIZE_SMALL_TOOLBAR), FALSE, FALSE, 0);
420 label = gtk_label_new (NULL);
421 gtk_label_set_markup (GTK_LABEL (label), _("<i>Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets update in real-time.</i>."));
422 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
423 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
424 gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
425 gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
426
427 /*----------------------------------------------------------------*/
428
429 g_object_unref (actions);
430
431 gtk_box_pack_start (GTK_BOX (vbox2),
432 gtk_ui_manager_get_widget (ui, "/MenuBar"),
433 FALSE, FALSE, 0);
434
435 GtkWidget *toolbar;
436 toolbar = gtk_ui_manager_get_widget (ui, "/ToolBar");
437 gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_BOTH);
438 gtk_box_pack_start (GTK_BOX (vbox2),
439 toolbar,
440 FALSE, FALSE, 0);
441
442 /*----------------------------------------------------------------*/
443
444 gtk_window_set_default_size (GTK_WINDOW (toplevel_window), 700, 0);
445 gtk_window_set_title (GTK_WINDOW (toplevel_window), _("PolicyKit-gnome demo"));
446 g_signal_connect (toplevel_window, "delete-event", (GCallback) exit, NULL);
447 gtk_widget_show_all (toplevel_window);
448
449 g_main_loop_run (loop);
450 return 0;
451 }
66 if GTK_DOC_USE_LIBTOOL
77 GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
88 GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
9 GTKDOC_RUN = $(LIBTOOL) --mode=execute
910 else
1011 GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
1112 GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
13 GTKDOC_RUN = sh -c
1214 endif
1315
1416 # We set GPATH here; this gives us semantics for GNU make
5254
5355 docs: html-build.stamp
5456
57 $(REPORT_FILES): sgml-build.stamp
58
5559 #### scan ####
5660
5761 scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
6064 cd $(srcdir) && \
6165 gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
6266 if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
63 CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
67 CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
6468 else \
6569 cd $(srcdir) ; \
6670 for i in $(SCANOBJ_FILES) ; do \
106110 @-chmod -R u+w $(srcdir)
107111 rm -rf $(srcdir)/html
108112 mkdir $(srcdir)/html
109 cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
113 mkhtml_options=""; \
114 gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
115 if test "$(?)" = "0"; then \
116 mkhtml_options=--path="$(srcdir)"; \
117 fi
118 cd $(srcdir)/html && gtkdoc-mkhtml $(mkhtml_options) $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
110119 test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
111120 @echo 'gtk-doc: Fixing cross-references'
112121 cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
127136 cd $(srcdir) && rm -rf xml html
128137
129138 install-data-local:
130 -installfiles=`echo $(srcdir)/html/*`; \
139 installfiles=`echo $(srcdir)/html/*`; \
131140 if test "$$installfiles" = '$(srcdir)/html/*'; \
132141 then echo '-- Nothing to install' ; \
133142 else \
134 $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \
143 if test -n "$(DOC_MODULE_VERSION)"; then \
144 installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
145 else \
146 installdir="$(DESTDIR)$(TARGET_DIR)"; \
147 fi; \
148 $(mkinstalldirs) $${installdir} ; \
135149 for i in $$installfiles; do \
136150 echo '-- Installing '$$i ; \
137 $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
151 $(INSTALL_DATA) $$i $${installdir}; \
138152 done; \
139 echo '-- Installing $(srcdir)/html/index.sgml' ; \
140 $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
141 which gtkdoc-rebase >/dev/null && \
142 gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) ; \
153 if test -n "$(DOC_MODULE_VERSION)"; then \
154 mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
155 $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
156 mv -f $${installdir}/$(DOC_MODULE).devhelp \
157 $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \
158 fi; \
159 ! which gtkdoc-rebase >/dev/null 2>&1 || \
160 gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir} ; \
143161 fi
144
145162
146163 uninstall-local:
147 rm -f $(DESTDIR)$(TARGET_DIR)/*
164 if test -n "$(DOC_MODULE_VERSION)"; then \
165 installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
166 else \
167 installdir="$(DESTDIR)$(TARGET_DIR)"; \
168 fi; \
169 rm -rf $${installdir}
148170
149171 #
150172 # Require gtk-doc when making dist
167189 -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
168190 -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
169191 cd $(distdir) && rm -f $(DISTCLEANFILES)
170 -gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
192 ! which gtkdoc-rebase >/dev/null 2>&1 || \
193 gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
171194
172195 .PHONY : dist-hook-local docs
00 #!/bin/sh
11 # install - install a program, script, or datafile
22
3 scriptversion=2006-12-25.00
3 scriptversion=2009-04-28.21; # UTC
44
55 # This originates from X11R5 (mit/util/scripts/install.sh), which was
66 # later released in X11R6 (xc/config/util/install.sh) with the
514514 # eval: (add-hook 'write-file-hooks 'time-stamp)
515515 # time-stamp-start: "scriptversion="
516516 # time-stamp-format: "%:y-%02m-%02d.%02H"
517 # time-stamp-end: "$"
517 # time-stamp-time-zone: "UTC"
518 # time-stamp-end: "; # UTC"
518519 # End:
+5274
-3824
ltmain.sh less more
0 # ltmain.sh - Provide generalized library-building support services.
1 # NOTE: Changing this file will not affect anything until you rerun configure.
2 #
3 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
4 # 2007, 2008 Free Software Foundation, Inc.
5 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
6 #
7 # This program is free software; you can redistribute it and/or modify
0 # Generated from ltmain.m4sh.
1
2 # ltmain.sh (GNU libtool) 2.2.6
3 # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
4
5 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
6 # This is free software; see the source for copying conditions. There is NO
7 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
8
9 # GNU Libtool is free software; you can redistribute it and/or modify
810 # it under the terms of the GNU General Public License as published by
911 # the Free Software Foundation; either version 2 of the License, or
1012 # (at your option) any later version.
1113 #
12 # This program is distributed in the hope that it will be useful, but
14 # As a special exception to the GNU General Public License,
15 # if you distribute this file as part of a program or library that
16 # is built using GNU Libtool, you may include this file under the
17 # same distribution terms that you use for the rest of that program.
18 #
19 # GNU Libtool is distributed in the hope that it will be useful, but
1320 # WITHOUT ANY WARRANTY; without even the implied warranty of
1421 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1522 # General Public License for more details.
1623 #
1724 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25 # along with GNU Libtool; see the file COPYING. If not, a copy
26 # can be downloaded from http://www.gnu.org/licenses/gpl.html,
27 # or obtained by writing to the Free Software Foundation, Inc.,
28 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
29
30 # Usage: $progname [OPTION]... [MODE-ARG]...
2031 #
21 # As a special exception to the GNU General Public License, if you
22 # distribute this file as part of a program that contains a
23 # configuration script generated by Autoconf, you may include it under
24 # the same distribution terms that you use for the rest of that program.
25
26 basename="s,^.*/,,g"
27
28 # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
29 # is ksh but when the shell is invoked as "sh" and the current value of
30 # the _XPG environment variable is not equal to 1 (one), the special
31 # positional parameter $0, within a function call, is the name of the
32 # function.
33 progpath="$0"
34
35 # The name of this program:
36 progname=`echo "$progpath" | $SED $basename`
37 modename="$progname"
38
39 # Global variables:
40 EXIT_SUCCESS=0
41 EXIT_FAILURE=1
32 # Provide generalized library-building support services.
33 #
34 # --config show all configuration variables
35 # --debug enable verbose shell tracing
36 # -n, --dry-run display commands without modifying any files
37 # --features display basic configuration information and exit
38 # --mode=MODE use operation mode MODE
39 # --preserve-dup-deps don't remove duplicate dependency libraries
40 # --quiet, --silent don't print informational messages
41 # --tag=TAG use configuration variables from tag TAG
42 # -v, --verbose print informational messages (default)
43 # --version print version information
44 # -h, --help print short or long help message
45 #
46 # MODE must be one of the following:
47 #
48 # clean remove files from the build directory
49 # compile compile a source file into a libtool object
50 # execute automatically set library path, then run a program
51 # finish complete the installation of libtool libraries
52 # install install libraries or executables
53 # link create a library or an executable
54 # uninstall remove libraries from an installed directory
55 #
56 # MODE-ARGS vary depending on the MODE.
57 # Try `$progname --help --mode=MODE' for a more detailed description of MODE.
58 #
59 # When reporting a bug, please describe a test case to reproduce it and
60 # include the following information:
61 #
62 # host-triplet: $host
63 # shell: $SHELL
64 # compiler: $LTCC
65 # compiler flags: $LTCFLAGS
66 # linker: $LD (gnu? $with_gnu_ld)
67 # $progname: (GNU libtool) 2.2.6
68 # automake: $automake_version
69 # autoconf: $autoconf_version
70 #
71 # Report bugs to <bug-libtool@gnu.org>.
4272
4373 PROGRAM=ltmain.sh
4474 PACKAGE=libtool
45 VERSION=1.5.26
46 TIMESTAMP=" (1.1220.2.493 2008/02/01 16:58:18)"
47
48 # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
75 VERSION=2.2.6
76 TIMESTAMP=""
77 package_revision=1.3012
78
79 # Be Bourne compatible
4980 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
5081 emulate sh
5182 NULLCMD=:
5990 BIN_SH=xpg4; export BIN_SH # for Tru64
6091 DUALCASE=1; export DUALCASE # for MKS sh
6192
62 # Check that we have a working $echo.
93 # NLS nuisances: We save the old values to restore during execute mode.
94 # Only set LANG and LC_ALL to C if already set.
95 # These must not be set unconditionally because not all systems understand
96 # e.g. LANG=C (notably SCO).
97 lt_user_locale=
98 lt_safe_locale=
99 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
100 do
101 eval "if test \"\${$lt_var+set}\" = set; then
102 save_$lt_var=\$$lt_var
103 $lt_var=C
104 export $lt_var
105 lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
106 lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
107 fi"
108 done
109
110 $lt_unset CDPATH
111
112
113
114
115
116 : ${CP="cp -f"}
117 : ${ECHO="echo"}
118 : ${EGREP="/bin/grep -E"}
119 : ${FGREP="/bin/grep -F"}
120 : ${GREP="/bin/grep"}
121 : ${LN_S="ln -s"}
122 : ${MAKE="make"}
123 : ${MKDIR="mkdir"}
124 : ${MV="mv -f"}
125 : ${RM="rm -f"}
126 : ${SED="/bin/sed"}
127 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
128 : ${Xsed="$SED -e 1s/^X//"}
129
130 # Global variables:
131 EXIT_SUCCESS=0
132 EXIT_FAILURE=1
133 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
134 EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
135
136 exit_status=$EXIT_SUCCESS
137
138 # Make sure IFS has a sensible default
139 lt_nl='
140 '
141 IFS=" $lt_nl"
142
143 dirname="s,/[^/]*$,,"
144 basename="s,^.*/,,"
145
146 # func_dirname_and_basename file append nondir_replacement
147 # perform func_basename and func_dirname in a single function
148 # call:
149 # dirname: Compute the dirname of FILE. If nonempty,
150 # add APPEND to the result, otherwise set result
151 # to NONDIR_REPLACEMENT.
152 # value returned in "$func_dirname_result"
153 # basename: Compute filename of FILE.
154 # value retuned in "$func_basename_result"
155 # Implementation must be kept synchronized with func_dirname
156 # and func_basename. For efficiency, we do not delegate to
157 # those functions but instead duplicate the functionality here.
158 func_dirname_and_basename ()
159 {
160 # Extract subdirectory from the argument.
161 func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
162 if test "X$func_dirname_result" = "X${1}"; then
163 func_dirname_result="${3}"
164 else
165 func_dirname_result="$func_dirname_result${2}"
166 fi
167 func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
168 }
169
170 # Generated shell functions inserted here.
171
172 # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
173 # is ksh but when the shell is invoked as "sh" and the current value of
174 # the _XPG environment variable is not equal to 1 (one), the special
175 # positional parameter $0, within a function call, is the name of the
176 # function.
177 progpath="$0"
178
179 # The name of this program:
180 # In the unlikely event $progname began with a '-', it would play havoc with
181 # func_echo (imagine progname=-n), so we prepend ./ in that case:
182 func_dirname_and_basename "$progpath"
183 progname=$func_basename_result
184 case $progname in
185 -*) progname=./$progname ;;
186 esac
187
188 # Make sure we have an absolute path for reexecution:
189 case $progpath in
190 [\\/]*|[A-Za-z]:\\*) ;;
191 *[\\/]*)
192 progdir=$func_dirname_result
193 progdir=`cd "$progdir" && pwd`
194 progpath="$progdir/$progname"
195 ;;
196 *)
197 save_IFS="$IFS"
198 IFS=:
199 for progdir in $PATH; do
200 IFS="$save_IFS"
201 test -x "$progdir/$progname" && break
202 done
203 IFS="$save_IFS"
204 test -n "$progdir" || progdir=`pwd`
205 progpath="$progdir/$progname"
206 ;;
207 esac
208
209 # Sed substitution that helps us do robust quoting. It backslashifies
210 # metacharacters that are still active within double-quoted strings.
211 Xsed="${SED}"' -e 1s/^X//'
212 sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
213
214 # Same as above, but do not quote variable references.
215 double_quote_subst='s/\(["`\\]\)/\\\1/g'
216
217 # Re-`\' parameter expansions in output of double_quote_subst that were
218 # `\'-ed in input to the same. If an odd number of `\' preceded a '$'
219 # in input to double_quote_subst, that '$' was protected from expansion.
220 # Since each input `\' is now two `\'s, look for any number of runs of
221 # four `\'s followed by two `\'s and then a '$'. `\' that '$'.
222 bs='\\'
223 bs2='\\\\'
224 bs4='\\\\\\\\'
225 dollar='\$'
226 sed_double_backslash="\
227 s/$bs4/&\\
228 /g
229 s/^$bs2$dollar/$bs&/
230 s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
231 s/\n//g"
232
233 # Standard options:
234 opt_dry_run=false
235 opt_help=false
236 opt_quiet=false
237 opt_verbose=false
238 opt_warning=:
239
240 # func_echo arg...
241 # Echo program name prefixed message, along with the current mode
242 # name if it has been set yet.
243 func_echo ()
244 {
245 $ECHO "$progname${mode+: }$mode: $*"
246 }
247
248 # func_verbose arg...
249 # Echo program name prefixed message in verbose mode only.
250 func_verbose ()
251 {
252 $opt_verbose && func_echo ${1+"$@"}
253
254 # A bug in bash halts the script if the last line of a function
255 # fails when set -e is in force, so we need another command to
256 # work around that:
257 :
258 }
259
260 # func_error arg...
261 # Echo program name prefixed message to standard error.
262 func_error ()
263 {
264 $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
265 }
266
267 # func_warning arg...
268 # Echo program name prefixed warning message to standard error.
269 func_warning ()
270 {
271 $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
272
273 # bash bug again:
274 :
275 }
276
277 # func_fatal_error arg...
278 # Echo program name prefixed message to standard error, and exit.
279 func_fatal_error ()
280 {
281 func_error ${1+"$@"}
282 exit $EXIT_FAILURE
283 }
284
285 # func_fatal_help arg...
286 # Echo program name prefixed message to standard error, followed by
287 # a help hint, and exit.
288 func_fatal_help ()
289 {
290 func_error ${1+"$@"}
291 func_fatal_error "$help"
292 }
293 help="Try \`$progname --help' for more information." ## default
294
295
296 # func_grep expression filename
297 # Check whether EXPRESSION matches any line of FILENAME, without output.
298 func_grep ()
299 {
300 $GREP "$1" "$2" >/dev/null 2>&1
301 }
302
303
304 # func_mkdir_p directory-path
305 # Make sure the entire path to DIRECTORY-PATH is available.
306 func_mkdir_p ()
307 {
308 my_directory_path="$1"
309 my_dir_list=
310
311 if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
312
313 # Protect directory names starting with `-'
314 case $my_directory_path in
315 -*) my_directory_path="./$my_directory_path" ;;
316 esac
317
318 # While some portion of DIR does not yet exist...
319 while test ! -d "$my_directory_path"; do
320 # ...make a list in topmost first order. Use a colon delimited
321 # list incase some portion of path contains whitespace.
322 my_dir_list="$my_directory_path:$my_dir_list"
323
324 # If the last portion added has no slash in it, the list is done
325 case $my_directory_path in */*) ;; *) break ;; esac
326
327 # ...otherwise throw away the child directory and loop
328 my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
329 done
330 my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
331
332 save_mkdir_p_IFS="$IFS"; IFS=':'
333 for my_dir in $my_dir_list; do
334 IFS="$save_mkdir_p_IFS"
335 # mkdir can fail with a `File exist' error if two processes
336 # try to create one of the directories concurrently. Don't
337 # stop in that case!
338 $MKDIR "$my_dir" 2>/dev/null || :
339 done
340 IFS="$save_mkdir_p_IFS"
341
342 # Bail out if we (or some other process) failed to create a directory.
343 test -d "$my_directory_path" || \
344 func_fatal_error "Failed to create \`$1'"
345 fi
346 }
347
348
349 # func_mktempdir [string]
350 # Make a temporary directory that won't clash with other running
351 # libtool processes, and avoids race conditions if possible. If
352 # given, STRING is the basename for that directory.
353 func_mktempdir ()
354 {
355 my_template="${TMPDIR-/tmp}/${1-$progname}"
356
357 if test "$opt_dry_run" = ":"; then
358 # Return a directory name, but don't create it in dry-run mode
359 my_tmpdir="${my_template}-$$"
360 else
361
362 # If mktemp works, use that first and foremost
363 my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
364
365 if test ! -d "$my_tmpdir"; then
366 # Failing that, at least try and use $RANDOM to avoid a race
367 my_tmpdir="${my_template}-${RANDOM-0}$$"
368
369 save_mktempdir_umask=`umask`
370 umask 0077
371 $MKDIR "$my_tmpdir"
372 umask $save_mktempdir_umask
373 fi
374
375 # If we're not in dry-run mode, bomb out on failure
376 test -d "$my_tmpdir" || \
377 func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
378 fi
379
380 $ECHO "X$my_tmpdir" | $Xsed
381 }
382
383
384 # func_quote_for_eval arg
385 # Aesthetically quote ARG to be evaled later.
386 # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
387 # is double-quoted, suitable for a subsequent eval, whereas
388 # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
389 # which are still active within double quotes backslashified.
390 func_quote_for_eval ()
391 {
392 case $1 in
393 *[\\\`\"\$]*)
394 func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
395 *)
396 func_quote_for_eval_unquoted_result="$1" ;;
397 esac
398
399 case $func_quote_for_eval_unquoted_result in
400 # Double-quote args containing shell metacharacters to delay
401 # word splitting, command substitution and and variable
402 # expansion for a subsequent eval.
403 # Many Bourne shells cannot handle close brackets correctly
404 # in scan sets, so we specify it separately.
405 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
406 func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
407 ;;
408 *)
409 func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
410 esac
411 }
412
413
414 # func_quote_for_expand arg
415 # Aesthetically quote ARG to be evaled later; same as above,
416 # but do not quote variable references.
417 func_quote_for_expand ()
418 {
419 case $1 in
420 *[\\\`\"]*)
421 my_arg=`$ECHO "X$1" | $Xsed \
422 -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
423 *)
424 my_arg="$1" ;;
425 esac
426
427 case $my_arg in
428 # Double-quote args containing shell metacharacters to delay
429 # word splitting and command substitution for a subsequent eval.
430 # Many Bourne shells cannot handle close brackets correctly
431 # in scan sets, so we specify it separately.
432 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
433 my_arg="\"$my_arg\""
434 ;;
435 esac
436
437 func_quote_for_expand_result="$my_arg"
438 }
439
440
441 # func_show_eval cmd [fail_exp]
442 # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
443 # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
444 # is given, then evaluate it.
445 func_show_eval ()
446 {
447 my_cmd="$1"
448 my_fail_exp="${2-:}"
449
450 ${opt_silent-false} || {
451 func_quote_for_expand "$my_cmd"
452 eval "func_echo $func_quote_for_expand_result"
453 }
454
455 if ${opt_dry_run-false}; then :; else
456 eval "$my_cmd"
457 my_status=$?
458 if test "$my_status" -eq 0; then :; else
459 eval "(exit $my_status); $my_fail_exp"
460 fi
461 fi
462 }
463
464
465 # func_show_eval_locale cmd [fail_exp]
466 # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
467 # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
468 # is given, then evaluate it. Use the saved locale for evaluation.
469 func_show_eval_locale ()
470 {
471 my_cmd="$1"
472 my_fail_exp="${2-:}"
473
474 ${opt_silent-false} || {
475 func_quote_for_expand "$my_cmd"
476 eval "func_echo $func_quote_for_expand_result"
477 }
478
479 if ${opt_dry_run-false}; then :; else
480 eval "$lt_user_locale
481 $my_cmd"
482 my_status=$?
483 eval "$lt_safe_locale"
484 if test "$my_status" -eq 0; then :; else
485 eval "(exit $my_status); $my_fail_exp"
486 fi
487 fi
488 }
489
490
491
492
493
494 # func_version
495 # Echo version message to standard output and exit.
496 func_version ()
497 {
498 $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
499 s/^# //
500 s/^# *$//
501 s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
502 p
503 }' < "$progpath"
504 exit $?
505 }
506
507 # func_usage
508 # Echo short help message to standard output and exit.
509 func_usage ()
510 {
511 $SED -n '/^# Usage:/,/# -h/ {
512 s/^# //
513 s/^# *$//
514 s/\$progname/'$progname'/
515 p
516 }' < "$progpath"
517 $ECHO
518 $ECHO "run \`$progname --help | more' for full usage"
519 exit $?
520 }
521
522 # func_help
523 # Echo long help message to standard output and exit.
524 func_help ()
525 {
526 $SED -n '/^# Usage:/,/# Report bugs to/ {
527 s/^# //
528 s/^# *$//
529 s*\$progname*'$progname'*
530 s*\$host*'"$host"'*
531 s*\$SHELL*'"$SHELL"'*
532 s*\$LTCC*'"$LTCC"'*
533 s*\$LTCFLAGS*'"$LTCFLAGS"'*
534 s*\$LD*'"$LD"'*
535 s/\$with_gnu_ld/'"$with_gnu_ld"'/
536 s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
537 s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
538 p
539 }' < "$progpath"
540 exit $?
541 }
542
543 # func_missing_arg argname
544 # Echo program name prefixed message to standard error and set global
545 # exit_cmd.
546 func_missing_arg ()
547 {
548 func_error "missing argument for $1"
549 exit_cmd=exit
550 }
551
552 exit_cmd=:
553
554
555
556
557
558 # Check that we have a working $ECHO.
63559 if test "X$1" = X--no-reexec; then
64560 # Discard the --no-reexec flag, and continue.
65561 shift
66562 elif test "X$1" = X--fallback-echo; then
67563 # Avoid inline document here, it may be left over
68564 :
69 elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
70 # Yippee, $echo works!
565 elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
566 # Yippee, $ECHO works!
71567 :
72568 else
73 # Restart under the correct shell, and then maybe $echo will work.
569 # Restart under the correct shell, and then maybe $ECHO will work.
74570 exec $SHELL "$progpath" --no-reexec ${1+"$@"}
75571 fi
76572
83579 exit $EXIT_SUCCESS
84580 fi
85581
86 default_mode=
87 help="Try \`$progname --help' for more information."
88582 magic="%%%MAGIC variable%%%"
89 mkdir="mkdir"
90 mv="mv -f"
91 rm="rm -f"
92
93 # Sed substitution that helps us do robust quoting. It backslashifies
94 # metacharacters that are still active within double-quoted strings.
95 Xsed="${SED}"' -e 1s/^X//'
96 sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
97 # test EBCDIC or ASCII
98 case `echo X|tr X '\101'` in
99 A) # ASCII based system
100 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
101 SP2NL='tr \040 \012'
102 NL2SP='tr \015\012 \040\040'
103 ;;
104 *) # EBCDIC based system
105 SP2NL='tr \100 \n'
106 NL2SP='tr \r\n \100\100'
107 ;;
108 esac
109
110 # NLS nuisances.
111 # Only set LANG and LC_ALL to C if already set.
112 # These must not be set unconditionally because not all systems understand
113 # e.g. LANG=C (notably SCO).
114 # We save the old values to restore during execute mode.
115 lt_env=
116 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
117 do
118 eval "if test \"\${$lt_var+set}\" = set; then
119 save_$lt_var=\$$lt_var
120 lt_env=\"$lt_var=\$$lt_var \$lt_env\"
121 $lt_var=C
122 export $lt_var
123 fi"
124 done
125
126 if test -n "$lt_env"; then
127 lt_env="env $lt_env"
128 fi
129
130 # Make sure IFS has a sensible default
131 lt_nl='
132 '
133 IFS=" $lt_nl"
134
135 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
136 $echo "$modename: not configured to build any kind of library" 1>&2
137 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
138 exit $EXIT_FAILURE
139 fi
583 magic_exe="%%%MAGIC EXE variable%%%"
140584
141585 # Global variables.
142 mode=$default_mode
586 # $mode is unset
143587 nonopt=
144 prev=
145 prevopt=
146 run=
147 show="$echo"
148 show_help=
149588 execute_dlfiles=
150 duplicate_deps=no
151589 preserve_args=
152590 lo2o="s/\\.lo\$/.${objext}/"
153591 o2lo="s/\\.${objext}\$/.lo/"
154592 extracted_archives=
155593 extracted_serial=0
156594
157 #####################################
158 # Shell function definitions:
159 # This seems to be the best place for them
160
161 # func_mktempdir [string]
162 # Make a temporary directory that won't clash with other running
163 # libtool processes, and avoids race conditions if possible. If
164 # given, STRING is the basename for that directory.
165 func_mktempdir ()
595 opt_dry_run=false
596 opt_duplicate_deps=false
597 opt_silent=false
598 opt_debug=:
599
600 # If this variable is set in any of the actions, the command in it
601 # will be execed at the end. This prevents here-documents from being
602 # left over by shells.
603 exec_cmd=
604
605 # func_fatal_configuration arg...
606 # Echo program name prefixed message to standard error, followed by
607 # a configuration failure hint, and exit.
608 func_fatal_configuration ()
166609 {
167 my_template="${TMPDIR-/tmp}/${1-$progname}"
168
169 if test "$run" = ":"; then
170 # Return a directory name, but don't create it in dry-run mode
171 my_tmpdir="${my_template}-$$"
610 func_error ${1+"$@"}
611 func_error "See the $PACKAGE documentation for more information."
612 func_fatal_error "Fatal configuration error."
613 }
614
615
616 # func_config
617 # Display the configuration for all the tags in this script.
618 func_config ()
619 {
620 re_begincf='^# ### BEGIN LIBTOOL'
621 re_endcf='^# ### END LIBTOOL'
622
623 # Default configuration.
624 $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
625
626 # Now print the configurations for the tags.
627 for tagname in $taglist; do
628 $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
629 done
630
631 exit $?
632 }
633
634 # func_features
635 # Display the features supported by this script.
636 func_features ()
637 {
638 $ECHO "host: $host"
639 if test "$build_libtool_libs" = yes; then
640 $ECHO "enable shared libraries"
172641 else
173
174 # If mktemp works, use that first and foremost
175 my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
176
177 if test ! -d "$my_tmpdir"; then
178 # Failing that, at least try and use $RANDOM to avoid a race
179 my_tmpdir="${my_template}-${RANDOM-0}$$"
180
181 save_mktempdir_umask=`umask`
182 umask 0077
183 $mkdir "$my_tmpdir"
184 umask $save_mktempdir_umask
642 $ECHO "disable shared libraries"
643 fi
644 if test "$build_old_libs" = yes; then
645 $ECHO "enable static libraries"
646 else
647 $ECHO "disable static libraries"
648 fi
649
650 exit $?
651 }
652
653 # func_enable_tag tagname
654 # Verify that TAGNAME is valid, and either flag an error and exit, or
655 # enable the TAGNAME tag. We also add TAGNAME to the global $taglist
656 # variable here.
657 func_enable_tag ()
658 {
659 # Global variable:
660 tagname="$1"
661
662 re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
663 re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
664 sed_extractcf="/$re_begincf/,/$re_endcf/p"
665
666 # Validate tagname.
667 case $tagname in
668 *[!-_A-Za-z0-9,/]*)
669 func_fatal_error "invalid tag name: $tagname"
670 ;;
671 esac
672
673 # Don't test for the "default" C tag, as we know it's
674 # there but not specially marked.
675 case $tagname in
676 CC) ;;
677 *)
678 if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
679 taglist="$taglist $tagname"
680
681 # Evaluate the configuration. Be careful to quote the path
682 # and the sed script, to avoid splitting on whitespace, but
683 # also don't use non-portable quotes within backquotes within
684 # quotes we have to do it in 2 steps:
685 extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
686 eval "$extractedcf"
687 else
688 func_error "ignoring unknown tag $tagname"
185689 fi
186
187 # If we're not in dry-run mode, bomb out on failure
188 test -d "$my_tmpdir" || {
189 $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
690 ;;
691 esac
692 }
693
694 # Parse options once, thoroughly. This comes as soon as possible in
695 # the script to make things like `libtool --version' happen quickly.
696 {
697
698 # Shorthand for --mode=foo, only valid as the first argument
699 case $1 in
700 clean|clea|cle|cl)
701 shift; set dummy --mode clean ${1+"$@"}; shift
702 ;;
703 compile|compil|compi|comp|com|co|c)
704 shift; set dummy --mode compile ${1+"$@"}; shift
705 ;;
706 execute|execut|execu|exec|exe|ex|e)
707 shift; set dummy --mode execute ${1+"$@"}; shift
708 ;;
709 finish|finis|fini|fin|fi|f)
710 shift; set dummy --mode finish ${1+"$@"}; shift
711 ;;
712 install|instal|insta|inst|ins|in|i)
713 shift; set dummy --mode install ${1+"$@"}; shift
714 ;;
715 link|lin|li|l)
716 shift; set dummy --mode link ${1+"$@"}; shift
717 ;;
718 uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
719 shift; set dummy --mode uninstall ${1+"$@"}; shift
720 ;;
721 esac
722
723 # Parse non-mode specific arguments:
724 while test "$#" -gt 0; do
725 opt="$1"
726 shift
727
728 case $opt in
729 --config) func_config ;;
730
731 --debug) preserve_args="$preserve_args $opt"
732 func_echo "enabling shell trace mode"
733 opt_debug='set -x'
734 $opt_debug
735 ;;
736
737 -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break
738 execute_dlfiles="$execute_dlfiles $1"
739 shift
740 ;;
741
742 --dry-run | -n) opt_dry_run=: ;;
743 --features) func_features ;;
744 --finish) mode="finish" ;;
745
746 --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break
747 case $1 in
748 # Valid mode arguments:
749 clean) ;;
750 compile) ;;
751 execute) ;;
752 finish) ;;
753 install) ;;
754 link) ;;
755 relink) ;;
756 uninstall) ;;
757
758 # Catch anything else as an error
759 *) func_error "invalid argument for $opt"
760 exit_cmd=exit
761 break
762 ;;
763 esac
764
765 mode="$1"
766 shift
767 ;;
768
769 --preserve-dup-deps)
770 opt_duplicate_deps=: ;;
771
772 --quiet|--silent) preserve_args="$preserve_args $opt"
773 opt_silent=:
774 ;;
775
776 --verbose| -v) preserve_args="$preserve_args $opt"
777 opt_silent=false
778 ;;
779
780 --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
781 preserve_args="$preserve_args $opt $1"
782 func_enable_tag "$1" # tagname is set here
783 shift
784 ;;
785
786 # Separate optargs to long options:
787 -dlopen=*|--mode=*|--tag=*)
788 func_opt_split "$opt"
789 set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
790 shift
791 ;;
792
793 -\?|-h) func_usage ;;
794 --help) opt_help=: ;;
795 --version) func_version ;;
796
797 -*) func_fatal_help "unrecognized option \`$opt'" ;;
798
799 *) nonopt="$opt"
800 break
801 ;;
802 esac
803 done
804
805
806 case $host in
807 *cygwin* | *mingw* | *pw32* | *cegcc*)
808 # don't eliminate duplications in $postdeps and $predeps
809 opt_duplicate_compiler_generated_deps=:
810 ;;
811 *)
812 opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
813 ;;
814 esac
815
816 # Having warned about all mis-specified options, bail out if
817 # anything was wrong.
818 $exit_cmd $EXIT_FAILURE
819 }
820
821 # func_check_version_match
822 # Ensure that we are using m4 macros, and libtool script from the same
823 # release of libtool.
824 func_check_version_match ()
825 {
826 if test "$package_revision" != "$macro_revision"; then
827 if test "$VERSION" != "$macro_version"; then
828 if test -z "$macro_version"; then
829 cat >&2 <<_LT_EOF
830 $progname: Version mismatch error. This is $PACKAGE $VERSION, but the
831 $progname: definition of this LT_INIT comes from an older release.
832 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
833 $progname: and run autoconf again.
834 _LT_EOF
835 else
836 cat >&2 <<_LT_EOF
837 $progname: Version mismatch error. This is $PACKAGE $VERSION, but the
838 $progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
839 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
840 $progname: and run autoconf again.
841 _LT_EOF
842 fi
843 else
844 cat >&2 <<_LT_EOF
845 $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
846 $progname: but the definition of this LT_INIT comes from revision $macro_revision.
847 $progname: You should recreate aclocal.m4 with macros from revision $package_revision
848 $progname: of $PACKAGE $VERSION and run autoconf again.
849 _LT_EOF
850 fi
851
852 exit $EXIT_MISMATCH
853 fi
854 }
855
856
857 ## ----------- ##
858 ## Main. ##
859 ## ----------- ##
860
861 $opt_help || {
862 # Sanity checks first:
863 func_check_version_match
864
865 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
866 func_fatal_configuration "not configured to build any kind of library"
867 fi
868
869 test -z "$mode" && func_fatal_error "error: you must specify a MODE."
870
871
872 # Darwin sucks
873 eval std_shrext=\"$shrext_cmds\"
874
875
876 # Only execute mode is allowed to have -dlopen flags.
877 if test -n "$execute_dlfiles" && test "$mode" != execute; then
878 func_error "unrecognized option \`-dlopen'"
879 $ECHO "$help" 1>&2
880 exit $EXIT_FAILURE
881 fi
882
883 # Change the help message to a mode-specific one.
884 generic_help="$help"
885 help="Try \`$progname --help --mode=$mode' for more information."
886 }
887
888
889 # func_lalib_p file
890 # True iff FILE is a libtool `.la' library or `.lo' object file.
891 # This function is only a basic sanity check; it will hardly flush out
892 # determined imposters.
893 func_lalib_p ()
894 {
895 test -f "$1" &&
896 $SED -e 4q "$1" 2>/dev/null \
897 | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
898 }
899
900 # func_lalib_unsafe_p file
901 # True iff FILE is a libtool `.la' library or `.lo' object file.
902 # This function implements the same check as func_lalib_p without
903 # resorting to external programs. To this end, it redirects stdin and
904 # closes it afterwards, without saving the original file descriptor.
905 # As a safety measure, use it only where a negative result would be
906 # fatal anyway. Works if `file' does not exist.
907 func_lalib_unsafe_p ()
908 {
909 lalib_p=no
910 if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
911 for lalib_p_l in 1 2 3 4
912 do
913 read lalib_p_line
914 case "$lalib_p_line" in
915 \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
916 esac
917 done
918 exec 0<&5 5<&-
919 fi
920 test "$lalib_p" = yes
921 }
922
923 # func_ltwrapper_script_p file
924 # True iff FILE is a libtool wrapper script
925 # This function is only a basic sanity check; it will hardly flush out
926 # determined imposters.
927 func_ltwrapper_script_p ()
928 {
929 func_lalib_p "$1"
930 }
931
932 # func_ltwrapper_executable_p file
933 # True iff FILE is a libtool wrapper executable
934 # This function is only a basic sanity check; it will hardly flush out
935 # determined imposters.
936 func_ltwrapper_executable_p ()
937 {
938 func_ltwrapper_exec_suffix=
939 case $1 in
940 *.exe) ;;
941 *) func_ltwrapper_exec_suffix=.exe ;;
942 esac
943 $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
944 }
945
946 # func_ltwrapper_scriptname file
947 # Assumes file is an ltwrapper_executable
948 # uses $file to determine the appropriate filename for a
949 # temporary ltwrapper_script.
950 func_ltwrapper_scriptname ()
951 {
952 func_ltwrapper_scriptname_result=""
953 if func_ltwrapper_executable_p "$1"; then
954 func_dirname_and_basename "$1" "" "."
955 func_stripname '' '.exe' "$func_basename_result"
956 func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
957 fi
958 }
959
960 # func_ltwrapper_p file
961 # True iff FILE is a libtool wrapper script or wrapper executable
962 # This function is only a basic sanity check; it will hardly flush out
963 # determined imposters.
964 func_ltwrapper_p ()
965 {
966 func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
967 }
968
969
970 # func_execute_cmds commands fail_cmd
971 # Execute tilde-delimited COMMANDS.
972 # If FAIL_CMD is given, eval that upon failure.
973 # FAIL_CMD may read-access the current command in variable CMD!
974 func_execute_cmds ()
975 {
976 $opt_debug
977 save_ifs=$IFS; IFS='~'
978 for cmd in $1; do
979 IFS=$save_ifs
980 eval cmd=\"$cmd\"
981 func_show_eval "$cmd" "${2-:}"
982 done
983 IFS=$save_ifs
984 }
985
986
987 # func_source file
988 # Source FILE, adding directory component if necessary.
989 # Note that it is not necessary on cygwin/mingw to append a dot to
990 # FILE even if both FILE and FILE.exe exist: automatic-append-.exe
991 # behavior happens only for exec(3), not for open(2)! Also, sourcing
992 # `FILE.' does not work on cygwin managed mounts.
993 func_source ()
994 {
995 $opt_debug
996 case $1 in
997 */* | *\\*) . "$1" ;;
998 *) . "./$1" ;;
999 esac
1000 }
1001
1002
1003 # func_infer_tag arg
1004 # Infer tagged configuration to use if any are available and
1005 # if one wasn't chosen via the "--tag" command line option.
1006 # Only attempt this if the compiler in the base compile
1007 # command doesn't match the default compiler.
1008 # arg is usually of the form 'gcc ...'
1009 func_infer_tag ()
1010 {
1011 $opt_debug
1012 if test -n "$available_tags" && test -z "$tagname"; then
1013 CC_quoted=
1014 for arg in $CC; do
1015 func_quote_for_eval "$arg"
1016 CC_quoted="$CC_quoted $func_quote_for_eval_result"
1017 done
1018 case $@ in
1019 # Blanks in the command may have been stripped by the calling shell,
1020 # but not from the CC environment variable when configure was run.
1021 " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
1022 # Blanks at the start of $base_compile will cause this to fail
1023 # if we don't check for them as well.
1024 *)
1025 for z in $available_tags; do
1026 if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
1027 # Evaluate the configuration.
1028 eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
1029 CC_quoted=
1030 for arg in $CC; do
1031 # Double-quote args containing other shell metacharacters.
1032 func_quote_for_eval "$arg"
1033 CC_quoted="$CC_quoted $func_quote_for_eval_result"
1034 done
1035 case "$@ " in
1036 " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
1037 # The compiler in the base compile command matches
1038 # the one in the tagged configuration.
1039 # Assume this is the tagged configuration we want.
1040 tagname=$z
1041 break
1042 ;;
1043 esac
1044 fi
1045 done
1046 # If $tagname still isn't set, then no tagged configuration
1047 # was found and let the user know that the "--tag" command
1048 # line option must be used.
1049 if test -z "$tagname"; then
1050 func_echo "unable to infer tagged configuration"
1051 func_fatal_error "specify a tag with \`--tag'"
1052 # else
1053 # func_verbose "using $tagname tagged configuration"
1054 fi
1055 ;;
1056 esac
1057 fi
1058 }
1059
1060
1061
1062 # func_write_libtool_object output_name pic_name nonpic_name
1063 # Create a libtool object file (analogous to a ".la" file),
1064 # but don't create it if we're doing a dry run.
1065 func_write_libtool_object ()
1066 {
1067 write_libobj=${1}
1068 if test "$build_libtool_libs" = yes; then
1069 write_lobj=\'${2}\'
1070 else
1071 write_lobj=none
1072 fi
1073
1074 if test "$build_old_libs" = yes; then
1075 write_oldobj=\'${3}\'
1076 else
1077 write_oldobj=none
1078 fi
1079
1080 $opt_dry_run || {
1081 cat >${write_libobj}T <<EOF
1082 # $write_libobj - a libtool object file
1083 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
1084 #
1085 # Please DO NOT delete this file!
1086 # It is necessary for linking the library.
1087
1088 # Name of the PIC object.
1089 pic_object=$write_lobj
1090
1091 # Name of the non-PIC object
1092 non_pic_object=$write_oldobj
1093
1094 EOF
1095 $MV "${write_libobj}T" "${write_libobj}"
1096 }
1097 }
1098
1099 # func_mode_compile arg...
1100 func_mode_compile ()
1101 {
1102 $opt_debug
1103 # Get the compilation command and the source file.
1104 base_compile=
1105 srcfile="$nonopt" # always keep a non-empty value in "srcfile"
1106 suppress_opt=yes
1107 suppress_output=
1108 arg_mode=normal
1109 libobj=
1110 later=
1111 pie_flag=
1112
1113 for arg
1114 do
1115 case $arg_mode in
1116 arg )
1117 # do not "continue". Instead, add this to base_compile
1118 lastarg="$arg"
1119 arg_mode=normal
1120 ;;
1121
1122 target )
1123 libobj="$arg"
1124 arg_mode=normal
1125 continue
1126 ;;
1127
1128 normal )
1129 # Accept any command-line options.
1130 case $arg in
1131 -o)
1132 test -n "$libobj" && \
1133 func_fatal_error "you cannot specify \`-o' more than once"
1134 arg_mode=target
1135 continue
1136 ;;
1137
1138 -pie | -fpie | -fPIE)
1139 pie_flag="$pie_flag $arg"
1140 continue
1141 ;;
1142
1143 -shared | -static | -prefer-pic | -prefer-non-pic)
1144 later="$later $arg"
1145 continue
1146 ;;
1147
1148 -no-suppress)
1149 suppress_opt=no
1150 continue
1151 ;;
1152
1153 -Xcompiler)
1154 arg_mode=arg # the next one goes into the "base_compile" arg list
1155 continue # The current "srcfile" will either be retained or
1156 ;; # replaced later. I would guess that would be a bug.
1157
1158 -Wc,*)
1159 func_stripname '-Wc,' '' "$arg"
1160 args=$func_stripname_result
1161 lastarg=
1162 save_ifs="$IFS"; IFS=','
1163 for arg in $args; do
1164 IFS="$save_ifs"
1165 func_quote_for_eval "$arg"
1166 lastarg="$lastarg $func_quote_for_eval_result"
1167 done
1168 IFS="$save_ifs"
1169 func_stripname ' ' '' "$lastarg"
1170 lastarg=$func_stripname_result
1171
1172 # Add the arguments to base_compile.
1173 base_compile="$base_compile $lastarg"
1174 continue
1175 ;;
1176
1177 *)
1178 # Accept the current argument as the source file.
1179 # The previous "srcfile" becomes the current argument.
1180 #
1181 lastarg="$srcfile"
1182 srcfile="$arg"
1183 ;;
1184 esac # case $arg
1185 ;;
1186 esac # case $arg_mode
1187
1188 # Aesthetically quote the previous argument.
1189 func_quote_for_eval "$lastarg"
1190 base_compile="$base_compile $func_quote_for_eval_result"
1191 done # for arg
1192
1193 case $arg_mode in
1194 arg)
1195 func_fatal_error "you must specify an argument for -Xcompile"
1196 ;;
1197 target)
1198 func_fatal_error "you must specify a target with \`-o'"
1199 ;;
1200 *)
1201 # Get the name of the library object.
1202 test -z "$libobj" && {
1203 func_basename "$srcfile"
1204 libobj="$func_basename_result"
1205 }
1206 ;;
1207 esac
1208
1209 # Recognize several different file suffixes.
1210 # If the user specifies -o file.o, it is replaced with file.lo
1211 case $libobj in
1212 *.[cCFSifmso] | \
1213 *.ada | *.adb | *.ads | *.asm | \
1214 *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
1215 *.[fF][09]? | *.for | *.java | *.obj | *.sx)
1216 func_xform "$libobj"
1217 libobj=$func_xform_result
1218 ;;
1219 esac
1220
1221 case $libobj in
1222 *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
1223 *)
1224 func_fatal_error "cannot determine name of library object from \`$libobj'"
1225 ;;
1226 esac
1227
1228 func_infer_tag $base_compile
1229
1230 for arg in $later; do
1231 case $arg in
1232 -shared)
1233 test "$build_libtool_libs" != yes && \
1234 func_fatal_configuration "can not build a shared library"
1235 build_old_libs=no
1236 continue
1237 ;;
1238
1239 -static)
1240 build_libtool_libs=no
1241 build_old_libs=yes
1242 continue
1243 ;;
1244
1245 -prefer-pic)
1246 pic_mode=yes
1247 continue
1248 ;;
1249
1250 -prefer-non-pic)
1251 pic_mode=no
1252 continue
1253 ;;
1254 esac
1255 done
1256
1257 func_quote_for_eval "$libobj"
1258 test "X$libobj" != "X$func_quote_for_eval_result" \
1259 && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
1260 && func_warning "libobj name \`$libobj' may not contain shell special characters."
1261 func_dirname_and_basename "$obj" "/" ""
1262 objname="$func_basename_result"
1263 xdir="$func_dirname_result"
1264 lobj=${xdir}$objdir/$objname
1265
1266 test -z "$base_compile" && \
1267 func_fatal_help "you must specify a compilation command"
1268
1269 # Delete any leftover library objects.
1270 if test "$build_old_libs" = yes; then
1271 removelist="$obj $lobj $libobj ${libobj}T"
1272 else
1273 removelist="$lobj $libobj ${libobj}T"
1274 fi
1275
1276 # On Cygwin there's no "real" PIC flag so we must build both object types
1277 case $host_os in
1278 cygwin* | mingw* | pw32* | os2* | cegcc*)
1279 pic_mode=default
1280 ;;
1281 esac
1282 if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
1283 # non-PIC code in shared libraries is not supported
1284 pic_mode=default
1285 fi
1286
1287 # Calculate the filename of the output object if compiler does
1288 # not support -o with -c
1289 if test "$compiler_c_o" = no; then
1290 output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
1291 lockfile="$output_obj.lock"
1292 else
1293 output_obj=
1294 need_locks=no
1295 lockfile=
1296 fi
1297
1298 # Lock this critical section if it is needed
1299 # We use this script file to make the link, it avoids creating a new file
1300 if test "$need_locks" = yes; then
1301 until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
1302 func_echo "Waiting for $lockfile to be removed"
1303 sleep 2
1304 done
1305 elif test "$need_locks" = warn; then
1306 if test -f "$lockfile"; then
1307 $ECHO "\
1308 *** ERROR, $lockfile exists and contains:
1309 `cat $lockfile 2>/dev/null`
1310
1311 This indicates that another process is trying to use the same
1312 temporary object file, and libtool could not work around it because
1313 your compiler does not support \`-c' and \`-o' together. If you
1314 repeat this compilation, it may succeed, by chance, but you had better
1315 avoid parallel builds (make -j) in this platform, or get a better
1316 compiler."
1317
1318 $opt_dry_run || $RM $removelist
1901319 exit $EXIT_FAILURE
191 }
1320 fi
1321 removelist="$removelist $output_obj"
1322 $ECHO "$srcfile" > "$lockfile"
1921323 fi
1931324
194 $echo "X$my_tmpdir" | $Xsed
1325 $opt_dry_run || $RM $removelist
1326 removelist="$removelist $lockfile"
1327 trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
1328
1329 if test -n "$fix_srcfile_path"; then
1330 eval srcfile=\"$fix_srcfile_path\"
1331 fi
1332 func_quote_for_eval "$srcfile"
1333 qsrcfile=$func_quote_for_eval_result
1334
1335 # Only build a PIC object if we are building libtool libraries.
1336 if test "$build_libtool_libs" = yes; then
1337 # Without this assignment, base_compile gets emptied.
1338 fbsd_hideous_sh_bug=$base_compile
1339
1340 if test "$pic_mode" != no; then
1341 command="$base_compile $qsrcfile $pic_flag"
1342 else
1343 # Don't build PIC code
1344 command="$base_compile $qsrcfile"
1345 fi
1346
1347 func_mkdir_p "$xdir$objdir"
1348
1349 if test -z "$output_obj"; then
1350 # Place PIC objects in $objdir
1351 command="$command -o $lobj"
1352 fi
1353
1354 func_show_eval_locale "$command" \
1355 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
1356
1357 if test "$need_locks" = warn &&
1358 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1359 $ECHO "\
1360 *** ERROR, $lockfile contains:
1361 `cat $lockfile 2>/dev/null`
1362
1363 but it should contain:
1364 $srcfile
1365
1366 This indicates that another process is trying to use the same
1367 temporary object file, and libtool could not work around it because
1368 your compiler does not support \`-c' and \`-o' together. If you
1369 repeat this compilation, it may succeed, by chance, but you had better
1370 avoid parallel builds (make -j) in this platform, or get a better
1371 compiler."
1372
1373 $opt_dry_run || $RM $removelist
1374 exit $EXIT_FAILURE
1375 fi
1376
1377 # Just move the object if needed, then go on to compile the next one
1378 if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
1379 func_show_eval '$MV "$output_obj" "$lobj"' \
1380 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
1381 fi
1382
1383 # Allow error messages only from the first compilation.
1384 if test "$suppress_opt" = yes; then
1385 suppress_output=' >/dev/null 2>&1'
1386 fi
1387 fi
1388
1389 # Only build a position-dependent object if we build old libraries.
1390 if test "$build_old_libs" = yes; then
1391 if test "$pic_mode" != yes; then
1392 # Don't build PIC code
1393 command="$base_compile $qsrcfile$pie_flag"
1394 else
1395 command="$base_compile $qsrcfile $pic_flag"
1396 fi
1397 if test "$compiler_c_o" = yes; then
1398 command="$command -o $obj"
1399 fi
1400
1401 # Suppress compiler output if we already did a PIC compilation.
1402 command="$command$suppress_output"
1403 func_show_eval_locale "$command" \
1404 '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
1405
1406 if test "$need_locks" = warn &&
1407 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1408 $ECHO "\
1409 *** ERROR, $lockfile contains:
1410 `cat $lockfile 2>/dev/null`
1411
1412 but it should contain:
1413 $srcfile
1414
1415 This indicates that another process is trying to use the same
1416 temporary object file, and libtool could not work around it because
1417 your compiler does not support \`-c' and \`-o' together. If you
1418 repeat this compilation, it may succeed, by chance, but you had better
1419 avoid parallel builds (make -j) in this platform, or get a better
1420 compiler."
1421
1422 $opt_dry_run || $RM $removelist
1423 exit $EXIT_FAILURE
1424 fi
1425
1426 # Just move the object if needed
1427 if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
1428 func_show_eval '$MV "$output_obj" "$obj"' \
1429 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
1430 fi
1431 fi
1432
1433 $opt_dry_run || {
1434 func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
1435
1436 # Unlock the critical section if it was locked
1437 if test "$need_locks" != no; then
1438 removelist=$lockfile
1439 $RM "$lockfile"
1440 fi
1441 }
1442
1443 exit $EXIT_SUCCESS
1951444 }
1961445
1446 $opt_help || {
1447 test "$mode" = compile && func_mode_compile ${1+"$@"}
1448 }
1449
1450 func_mode_help ()
1451 {
1452 # We need to display help for each of the modes.
1453 case $mode in
1454 "")
1455 # Generic help is extracted from the usage comments
1456 # at the start of this file.
1457 func_help
1458 ;;
1459
1460 clean)
1461 $ECHO \
1462 "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
1463
1464 Remove files from the build directory.
1465
1466 RM is the name of the program to use to delete files associated with each FILE
1467 (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
1468 to RM.
1469
1470 If FILE is a libtool library, object or program, all the files associated
1471 with it are deleted. Otherwise, only FILE itself is deleted using RM."
1472 ;;
1473
1474 compile)
1475 $ECHO \
1476 "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
1477
1478 Compile a source file into a libtool library object.
1479
1480 This mode accepts the following additional options:
1481
1482 -o OUTPUT-FILE set the output file name to OUTPUT-FILE
1483 -no-suppress do not suppress compiler output for multiple passes
1484 -prefer-pic try to building PIC objects only
1485 -prefer-non-pic try to building non-PIC objects only
1486 -shared do not build a \`.o' file suitable for static linking
1487 -static only build a \`.o' file suitable for static linking
1488
1489 COMPILE-COMMAND is a command to be used in creating a \`standard' object file
1490 from the given SOURCEFILE.
1491
1492 The output file name is determined by removing the directory component from
1493 SOURCEFILE, then substituting the C source code suffix \`.c' with the
1494 library object suffix, \`.lo'."
1495 ;;
1496
1497 execute)
1498 $ECHO \
1499 "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
1500
1501 Automatically set library path, then run a program.
1502
1503 This mode accepts the following additional options:
1504
1505 -dlopen FILE add the directory containing FILE to the library path
1506
1507 This mode sets the library path environment variable according to \`-dlopen'
1508 flags.
1509
1510 If any of the ARGS are libtool executable wrappers, then they are translated
1511 into their corresponding uninstalled binary, and any of their required library
1512 directories are added to the library path.
1513
1514 Then, COMMAND is executed, with ARGS as arguments."
1515 ;;
1516
1517 finish)
1518 $ECHO \
1519 "Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
1520
1521 Complete the installation of libtool libraries.
1522
1523 Each LIBDIR is a directory that contains libtool libraries.
1524
1525 The commands that this mode executes may require superuser privileges. Use
1526 the \`--dry-run' option if you just want to see what would be executed."
1527 ;;
1528
1529 install)
1530 $ECHO \
1531 "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
1532
1533 Install executables or libraries.
1534
1535 INSTALL-COMMAND is the installation command. The first component should be
1536 either the \`install' or \`cp' program.
1537
1538 The following components of INSTALL-COMMAND are treated specially:
1539
1540 -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation
1541
1542 The rest of the components are interpreted as arguments to that command (only
1543 BSD-compatible install options are recognized)."
1544 ;;
1545
1546 link)
1547 $ECHO \
1548 "Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
1549
1550 Link object files or libraries together to form another library, or to
1551 create an executable program.
1552
1553 LINK-COMMAND is a command using the C compiler that you would use to create
1554 a program from several object files.
1555
1556 The following components of LINK-COMMAND are treated specially:
1557
1558 -all-static do not do any dynamic linking at all
1559 -avoid-version do not add a version suffix if possible
1560 -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
1561 -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
1562 -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
1563 -export-symbols SYMFILE
1564 try to export only the symbols listed in SYMFILE
1565 -export-symbols-regex REGEX
1566 try to export only the symbols matching REGEX
1567 -LLIBDIR search LIBDIR for required installed libraries
1568 -lNAME OUTPUT-FILE requires the installed library libNAME
1569 -module build a library that can dlopened
1570 -no-fast-install disable the fast-install mode
1571 -no-install link a not-installable executable
1572 -no-undefined declare that a library does not refer to external symbols
1573 -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
1574 -objectlist FILE Use a list of object files found in FILE to specify objects
1575 -precious-files-regex REGEX
1576 don't remove output files matching REGEX
1577 -release RELEASE specify package release information
1578 -rpath LIBDIR the created library will eventually be installed in LIBDIR
1579 -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
1580 -shared only do dynamic linking of libtool libraries
1581 -shrext SUFFIX override the standard shared library file extension
1582 -static do not do any dynamic linking of uninstalled libtool libraries
1583 -static-libtool-libs
1584 do not do any dynamic linking of libtool libraries
1585 -version-info CURRENT[:REVISION[:AGE]]
1586 specify library version info [each variable defaults to 0]
1587 -weak LIBNAME declare that the target provides the LIBNAME interface
1588
1589 All other options (arguments beginning with \`-') are ignored.
1590
1591 Every other argument is treated as a filename. Files ending in \`.la' are
1592 treated as uninstalled libtool libraries, other files are standard or library
1593 object files.
1594
1595 If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
1596 only library objects (\`.lo' files) may be specified, and \`-rpath' is
1597 required, except when creating a convenience library.
1598
1599 If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
1600 using \`ar' and \`ranlib', or on Windows using \`lib'.
1601
1602 If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
1603 is created, otherwise an executable program is created."
1604 ;;
1605
1606 uninstall)
1607 $ECHO \
1608 "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
1609
1610 Remove libraries from an installation directory.
1611
1612 RM is the name of the program to use to delete files associated with each FILE
1613 (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
1614 to RM.
1615
1616 If FILE is a libtool library, all the files associated with it are deleted.
1617 Otherwise, only FILE itself is deleted using RM."
1618 ;;
1619
1620 *)
1621 func_fatal_help "invalid operation mode \`$mode'"
1622 ;;
1623 esac
1624
1625 $ECHO
1626 $ECHO "Try \`$progname --help' for more information about other modes."
1627
1628 exit $?
1629 }
1630
1631 # Now that we've collected a possible --mode arg, show help if necessary
1632 $opt_help && func_mode_help
1633
1634
1635 # func_mode_execute arg...
1636 func_mode_execute ()
1637 {
1638 $opt_debug
1639 # The first argument is the command name.
1640 cmd="$nonopt"
1641 test -z "$cmd" && \
1642 func_fatal_help "you must specify a COMMAND"
1643
1644 # Handle -dlopen flags immediately.
1645 for file in $execute_dlfiles; do
1646 test -f "$file" \
1647 || func_fatal_help "\`$file' is not a file"
1648
1649 dir=
1650 case $file in
1651 *.la)
1652 # Check to see that this really is a libtool archive.
1653 func_lalib_unsafe_p "$file" \
1654 || func_fatal_help "\`$lib' is not a valid libtool archive"
1655
1656 # Read the libtool library.
1657 dlname=
1658 library_names=
1659 func_source "$file"
1660
1661 # Skip this library if it cannot be dlopened.
1662 if test -z "$dlname"; then
1663 # Warn if it was a shared library.
1664 test -n "$library_names" && \
1665 func_warning "\`$file' was not linked with \`-export-dynamic'"
1666 continue
1667 fi
1668
1669 func_dirname "$file" "" "."
1670 dir="$func_dirname_result"
1671
1672 if test -f "$dir/$objdir/$dlname"; then
1673 dir="$dir/$objdir"
1674 else
1675 if test ! -f "$dir/$dlname"; then
1676 func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
1677 fi
1678 fi
1679 ;;
1680
1681 *.lo)
1682 # Just add the directory containing the .lo file.
1683 func_dirname "$file" "" "."
1684 dir="$func_dirname_result"
1685 ;;
1686
1687 *)
1688 func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
1689 continue
1690 ;;
1691 esac
1692
1693 # Get the absolute pathname.
1694 absdir=`cd "$dir" && pwd`
1695 test -n "$absdir" && dir="$absdir"
1696
1697 # Now add the directory to shlibpath_var.
1698 if eval "test -z \"\$$shlibpath_var\""; then
1699 eval "$shlibpath_var=\"\$dir\""
1700 else
1701 eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
1702 fi
1703 done
1704
1705 # This variable tells wrapper scripts just to set shlibpath_var
1706 # rather than running their programs.
1707 libtool_execute_magic="$magic"
1708
1709 # Check if any of the arguments is a wrapper script.
1710 args=
1711 for file
1712 do
1713 case $file in
1714 -*) ;;
1715 *)
1716 # Do a test to see if this is really a libtool program.
1717 if func_ltwrapper_script_p "$file"; then
1718 func_source "$file"
1719 # Transform arg to wrapped name.
1720 file="$progdir/$program"
1721 elif func_ltwrapper_executable_p "$file"; then
1722 func_ltwrapper_scriptname "$file"
1723 func_source "$func_ltwrapper_scriptname_result"
1724 # Transform arg to wrapped name.
1725 file="$progdir/$program"
1726 fi
1727 ;;
1728 esac
1729 # Quote arguments (to preserve shell metacharacters).
1730 func_quote_for_eval "$file"
1731 args="$args $func_quote_for_eval_result"
1732 done
1733
1734 if test "X$opt_dry_run" = Xfalse; then
1735 if test -n "$shlibpath_var"; then
1736 # Export the shlibpath_var.
1737 eval "export $shlibpath_var"
1738 fi
1739
1740 # Restore saved environment variables
1741 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
1742 do
1743 eval "if test \"\${save_$lt_var+set}\" = set; then
1744 $lt_var=\$save_$lt_var; export $lt_var
1745 else
1746 $lt_unset $lt_var
1747 fi"
1748 done
1749
1750 # Now prepare to actually exec the command.
1751 exec_cmd="\$cmd$args"
1752 else
1753 # Display what would be done.
1754 if test -n "$shlibpath_var"; then
1755 eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
1756 $ECHO "export $shlibpath_var"
1757 fi
1758 $ECHO "$cmd$args"
1759 exit $EXIT_SUCCESS
1760 fi
1761 }
1762
1763 test "$mode" = execute && func_mode_execute ${1+"$@"}
1764
1765
1766 # func_mode_finish arg...
1767 func_mode_finish ()
1768 {
1769 $opt_debug
1770 libdirs="$nonopt"
1771 admincmds=
1772
1773 if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
1774 for dir
1775 do
1776 libdirs="$libdirs $dir"
1777 done
1778
1779 for libdir in $libdirs; do
1780 if test -n "$finish_cmds"; then
1781 # Do each command in the finish commands.
1782 func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
1783 '"$cmd"'"'
1784 fi
1785 if test -n "$finish_eval"; then
1786 # Do the single finish_eval.
1787 eval cmds=\"$finish_eval\"
1788 $opt_dry_run || eval "$cmds" || admincmds="$admincmds
1789 $cmds"
1790 fi
1791 done
1792 fi
1793
1794 # Exit here if they wanted silent mode.
1795 $opt_silent && exit $EXIT_SUCCESS
1796
1797 $ECHO "X----------------------------------------------------------------------" | $Xsed
1798 $ECHO "Libraries have been installed in:"
1799 for libdir in $libdirs; do
1800 $ECHO " $libdir"
1801 done
1802 $ECHO
1803 $ECHO "If you ever happen to want to link against installed libraries"
1804 $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
1805 $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
1806 $ECHO "flag during linking and do at least one of the following:"
1807 if test -n "$shlibpath_var"; then
1808 $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable"
1809 $ECHO " during execution"
1810 fi
1811 if test -n "$runpath_var"; then
1812 $ECHO " - add LIBDIR to the \`$runpath_var' environment variable"
1813 $ECHO " during linking"
1814 fi
1815 if test -n "$hardcode_libdir_flag_spec"; then
1816 libdir=LIBDIR
1817 eval flag=\"$hardcode_libdir_flag_spec\"
1818
1819 $ECHO " - use the \`$flag' linker flag"
1820 fi
1821 if test -n "$admincmds"; then
1822 $ECHO " - have your system administrator run these commands:$admincmds"
1823 fi
1824 if test -f /etc/ld.so.conf; then
1825 $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
1826 fi
1827 $ECHO
1828
1829 $ECHO "See any operating system documentation about shared libraries for"
1830 case $host in
1831 solaris2.[6789]|solaris2.1[0-9])
1832 $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
1833 $ECHO "pages."
1834 ;;
1835 *)
1836 $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
1837 ;;
1838 esac
1839 $ECHO "X----------------------------------------------------------------------" | $Xsed
1840 exit $EXIT_SUCCESS
1841 }
1842
1843 test "$mode" = finish && func_mode_finish ${1+"$@"}
1844
1845
1846 # func_mode_install arg...
1847 func_mode_install ()
1848 {
1849 $opt_debug
1850 # There may be an optional sh(1) argument at the beginning of
1851 # install_prog (especially on Windows NT).
1852 if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
1853 # Allow the use of GNU shtool's install command.
1854 $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
1855 # Aesthetically quote it.
1856 func_quote_for_eval "$nonopt"
1857 install_prog="$func_quote_for_eval_result "
1858 arg=$1
1859 shift
1860 else
1861 install_prog=
1862 arg=$nonopt
1863 fi
1864
1865 # The real first argument should be the name of the installation program.
1866 # Aesthetically quote it.
1867 func_quote_for_eval "$arg"
1868 install_prog="$install_prog$func_quote_for_eval_result"
1869
1870 # We need to accept at least all the BSD install flags.
1871 dest=
1872 files=
1873 opts=
1874 prev=
1875 install_type=
1876 isdir=no
1877 stripme=
1878 for arg
1879 do
1880 if test -n "$dest"; then
1881 files="$files $dest"
1882 dest=$arg
1883 continue
1884 fi
1885
1886 case $arg in
1887 -d) isdir=yes ;;
1888 -f)
1889 case " $install_prog " in
1890 *[\\\ /]cp\ *) ;;
1891 *) prev=$arg ;;
1892 esac
1893 ;;
1894 -g | -m | -o)
1895 prev=$arg
1896 ;;
1897 -s)
1898 stripme=" -s"
1899 continue
1900 ;;
1901 -*)
1902 ;;
1903 *)
1904 # If the previous option needed an argument, then skip it.
1905 if test -n "$prev"; then
1906 prev=
1907 else
1908 dest=$arg
1909 continue
1910 fi
1911 ;;
1912 esac
1913
1914 # Aesthetically quote the argument.
1915 func_quote_for_eval "$arg"
1916 install_prog="$install_prog $func_quote_for_eval_result"
1917 done
1918
1919 test -z "$install_prog" && \
1920 func_fatal_help "you must specify an install program"
1921
1922 test -n "$prev" && \
1923 func_fatal_help "the \`$prev' option requires an argument"
1924
1925 if test -z "$files"; then
1926 if test -z "$dest"; then
1927 func_fatal_help "no file or destination specified"
1928 else
1929 func_fatal_help "you must specify a destination"
1930 fi
1931 fi
1932
1933 # Strip any trailing slash from the destination.
1934 func_stripname '' '/' "$dest"
1935 dest=$func_stripname_result
1936
1937 # Check to see that the destination is a directory.
1938 test -d "$dest" && isdir=yes
1939 if test "$isdir" = yes; then
1940 destdir="$dest"
1941 destname=
1942 else
1943 func_dirname_and_basename "$dest" "" "."
1944 destdir="$func_dirname_result"
1945 destname="$func_basename_result"
1946
1947 # Not a directory, so check to see that there is only one file specified.
1948 set dummy $files; shift
1949 test "$#" -gt 1 && \
1950 func_fatal_help "\`$dest' is not a directory"
1951 fi
1952 case $destdir in
1953 [\\/]* | [A-Za-z]:[\\/]*) ;;
1954 *)
1955 for file in $files; do
1956 case $file in
1957 *.lo) ;;
1958 *)
1959 func_fatal_help "\`$destdir' must be an absolute directory name"
1960 ;;
1961 esac
1962 done
1963 ;;
1964 esac
1965
1966 # This variable tells wrapper scripts just to set variables rather
1967 # than running their programs.
1968 libtool_install_magic="$magic"
1969
1970 staticlibs=
1971 future_libdirs=
1972 current_libdirs=
1973 for file in $files; do
1974
1975 # Do each installation.
1976 case $file in
1977 *.$libext)
1978 # Do the static libraries later.
1979 staticlibs="$staticlibs $file"
1980 ;;
1981
1982 *.la)
1983 # Check to see that this really is a libtool archive.
1984 func_lalib_unsafe_p "$file" \
1985 || func_fatal_help "\`$file' is not a valid libtool archive"
1986
1987 library_names=
1988 old_library=
1989 relink_command=
1990 func_source "$file"
1991
1992 # Add the libdir to current_libdirs if it is the destination.
1993 if test "X$destdir" = "X$libdir"; then
1994 case "$current_libdirs " in
1995 *" $libdir "*) ;;
1996 *) current_libdirs="$current_libdirs $libdir" ;;
1997 esac
1998 else
1999 # Note the libdir as a future libdir.
2000 case "$future_libdirs " in
2001 *" $libdir "*) ;;
2002 *) future_libdirs="$future_libdirs $libdir" ;;
2003 esac
2004 fi
2005
2006 func_dirname "$file" "/" ""
2007 dir="$func_dirname_result"
2008 dir="$dir$objdir"
2009
2010 if test -n "$relink_command"; then
2011 # Determine the prefix the user has applied to our future dir.
2012 inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
2013
2014 # Don't allow the user to place us outside of our expected
2015 # location b/c this prevents finding dependent libraries that
2016 # are installed to the same prefix.
2017 # At present, this check doesn't affect windows .dll's that
2018 # are installed into $libdir/../bin (currently, that works fine)
2019 # but it's something to keep an eye on.
2020 test "$inst_prefix_dir" = "$destdir" && \
2021 func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
2022
2023 if test -n "$inst_prefix_dir"; then
2024 # Stick the inst_prefix_dir data into the link command.
2025 relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
2026 else
2027 relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
2028 fi
2029
2030 func_warning "relinking \`$file'"
2031 func_show_eval "$relink_command" \
2032 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
2033 fi
2034
2035 # See the names of the shared library.
2036 set dummy $library_names; shift
2037 if test -n "$1"; then
2038 realname="$1"
2039 shift
2040
2041 srcname="$realname"
2042 test -n "$relink_command" && srcname="$realname"T
2043
2044 # Install the shared library and build the symlinks.
2045 func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
2046 'exit $?'
2047 tstripme="$stripme"
2048 case $host_os in
2049 cygwin* | mingw* | pw32* | cegcc*)
2050 case $realname in
2051 *.dll.a)
2052 tstripme=""
2053 ;;
2054 esac
2055 ;;
2056 esac
2057 if test -n "$tstripme" && test -n "$striplib"; then
2058 func_show_eval "$striplib $destdir/$realname" 'exit $?'
2059 fi
2060
2061 if test "$#" -gt 0; then
2062 # Delete the old symlinks, and create new ones.
2063 # Try `ln -sf' first, because the `ln' binary might depend on
2064 # the symlink we replace! Solaris /bin/ln does not understand -f,
2065 # so we also need to try rm && ln -s.
2066 for linkname
2067 do
2068 test "$linkname" != "$realname" \
2069 && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
2070 done
2071 fi
2072
2073 # Do each command in the postinstall commands.
2074 lib="$destdir/$realname"
2075 func_execute_cmds "$postinstall_cmds" 'exit $?'
2076 fi
2077
2078 # Install the pseudo-library for information purposes.
2079 func_basename "$file"
2080 name="$func_basename_result"
2081 instname="$dir/$name"i
2082 func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
2083
2084 # Maybe install the static library, too.
2085 test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
2086 ;;
2087
2088 *.lo)
2089 # Install (i.e. copy) a libtool object.
2090
2091 # Figure out destination file name, if it wasn't already specified.
2092 if test -n "$destname"; then
2093 destfile="$destdir/$destname"
2094 else
2095 func_basename "$file"
2096 destfile="$func_basename_result"
2097 destfile="$destdir/$destfile"
2098 fi
2099
2100 # Deduce the name of the destination old-style object file.
2101 case $destfile in
2102 *.lo)
2103 func_lo2o "$destfile"
2104 staticdest=$func_lo2o_result
2105 ;;
2106 *.$objext)
2107 staticdest="$destfile"
2108 destfile=
2109 ;;
2110 *)
2111 func_fatal_help "cannot copy a libtool object to \`$destfile'"
2112 ;;
2113 esac
2114
2115 # Install the libtool object if requested.
2116 test -n "$destfile" && \
2117 func_show_eval "$install_prog $file $destfile" 'exit $?'
2118
2119 # Install the old object if enabled.
2120 if test "$build_old_libs" = yes; then
2121 # Deduce the name of the old-style object file.
2122 func_lo2o "$file"
2123 staticobj=$func_lo2o_result
2124 func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
2125 fi
2126 exit $EXIT_SUCCESS
2127 ;;
2128
2129 *)
2130 # Figure out destination file name, if it wasn't already specified.
2131 if test -n "$destname"; then
2132 destfile="$destdir/$destname"
2133 else
2134 func_basename "$file"
2135 destfile="$func_basename_result"
2136 destfile="$destdir/$destfile"
2137 fi
2138
2139 # If the file is missing, and there is a .exe on the end, strip it
2140 # because it is most likely a libtool script we actually want to
2141 # install
2142 stripped_ext=""
2143 case $file in
2144 *.exe)
2145 if test ! -f "$file"; then
2146 func_stripname '' '.exe' "$file"
2147 file=$func_stripname_result
2148 stripped_ext=".exe"
2149 fi
2150 ;;
2151 esac
2152
2153 # Do a test to see if this is really a libtool program.
2154 case $host in
2155 *cygwin* | *mingw*)
2156 if func_ltwrapper_executable_p "$file"; then
2157 func_ltwrapper_scriptname "$file"
2158 wrapper=$func_ltwrapper_scriptname_result
2159 else
2160 func_stripname '' '.exe' "$file"
2161 wrapper=$func_stripname_result
2162 fi
2163 ;;
2164 *)
2165 wrapper=$file
2166 ;;
2167 esac
2168 if func_ltwrapper_script_p "$wrapper"; then
2169 notinst_deplibs=
2170 relink_command=
2171
2172 func_source "$wrapper"
2173
2174 # Check the variables that should have been set.
2175 test -z "$generated_by_libtool_version" && \
2176 func_fatal_error "invalid libtool wrapper script \`$wrapper'"
2177
2178 finalize=yes
2179 for lib in $notinst_deplibs; do
2180 # Check to see that each library is installed.
2181 libdir=
2182 if test -f "$lib"; then
2183 func_source "$lib"
2184 fi
2185 libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
2186 if test -n "$libdir" && test ! -f "$libfile"; then
2187 func_warning "\`$lib' has not been installed in \`$libdir'"
2188 finalize=no
2189 fi
2190 done
2191
2192 relink_command=
2193 func_source "$wrapper"
2194
2195 outputname=
2196 if test "$fast_install" = no && test -n "$relink_command"; then
2197 $opt_dry_run || {
2198 if test "$finalize" = yes; then
2199 tmpdir=`func_mktempdir`
2200 func_basename "$file$stripped_ext"
2201 file="$func_basename_result"
2202 outputname="$tmpdir/$file"
2203 # Replace the output file specification.
2204 relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
2205
2206 $opt_silent || {
2207 func_quote_for_expand "$relink_command"
2208 eval "func_echo $func_quote_for_expand_result"
2209 }
2210 if eval "$relink_command"; then :
2211 else
2212 func_error "error: relink \`$file' with the above command before installing it"
2213 $opt_dry_run || ${RM}r "$tmpdir"
2214 continue
2215 fi
2216 file="$outputname"
2217 else
2218 func_warning "cannot relink \`$file'"
2219 fi
2220 }
2221 else
2222 # Install the binary that we compiled earlier.
2223 file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
2224 fi
2225 fi
2226
2227 # remove .exe since cygwin /usr/bin/install will append another
2228 # one anyway
2229 case $install_prog,$host in
2230 */usr/bin/install*,*cygwin*)
2231 case $file:$destfile in
2232 *.exe:*.exe)
2233 # this is ok
2234 ;;
2235 *.exe:*)
2236 destfile=$destfile.exe
2237 ;;
2238 *:*.exe)
2239 func_stripname '' '.exe' "$destfile"
2240 destfile=$func_stripname_result
2241 ;;
2242 esac
2243 ;;
2244 esac
2245 func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
2246 $opt_dry_run || if test -n "$outputname"; then
2247 ${RM}r "$tmpdir"
2248 fi
2249 ;;
2250 esac
2251 done
2252
2253 for file in $staticlibs; do
2254 func_basename "$file"
2255 name="$func_basename_result"
2256
2257 # Set up the ranlib parameters.
2258 oldlib="$destdir/$name"
2259
2260 func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
2261
2262 if test -n "$stripme" && test -n "$old_striplib"; then
2263 func_show_eval "$old_striplib $oldlib" 'exit $?'
2264 fi
2265
2266 # Do each command in the postinstall commands.
2267 func_execute_cmds "$old_postinstall_cmds" 'exit $?'
2268 done
2269
2270 test -n "$future_libdirs" && \
2271 func_warning "remember to run \`$progname --finish$future_libdirs'"
2272
2273 if test -n "$current_libdirs"; then
2274 # Maybe just do a dry run.
2275 $opt_dry_run && current_libdirs=" -n$current_libdirs"
2276 exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
2277 else
2278 exit $EXIT_SUCCESS
2279 fi
2280 }
2281
2282 test "$mode" = install && func_mode_install ${1+"$@"}
2283
2284
2285 # func_generate_dlsyms outputname originator pic_p
2286 # Extract symbols from dlprefiles and create ${outputname}S.o with
2287 # a dlpreopen symbol table.
2288 func_generate_dlsyms ()
2289 {
2290 $opt_debug
2291 my_outputname="$1"
2292 my_originator="$2"
2293 my_pic_p="${3-no}"
2294 my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
2295 my_dlsyms=
2296
2297 if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
2298 if test -n "$NM" && test -n "$global_symbol_pipe"; then
2299 my_dlsyms="${my_outputname}S.c"
2300 else
2301 func_error "not configured to extract global symbols from dlpreopened files"
2302 fi
2303 fi
2304
2305 if test -n "$my_dlsyms"; then
2306 case $my_dlsyms in
2307 "") ;;
2308 *.c)
2309 # Discover the nlist of each of the dlfiles.
2310 nlist="$output_objdir/${my_outputname}.nm"
2311
2312 func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
2313
2314 # Parse the name list into a source file.
2315 func_verbose "creating $output_objdir/$my_dlsyms"
2316
2317 $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
2318 /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
2319 /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
2320
2321 #ifdef __cplusplus
2322 extern \"C\" {
2323 #endif
2324
2325 /* External symbol declarations for the compiler. */\
2326 "
2327
2328 if test "$dlself" = yes; then
2329 func_verbose "generating symbol list for \`$output'"
2330
2331 $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
2332
2333 # Add our own program objects to the symbol list.
2334 progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
2335 for progfile in $progfiles; do
2336 func_verbose "extracting global C symbols from \`$progfile'"
2337 $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
2338 done
2339
2340 if test -n "$exclude_expsyms"; then
2341 $opt_dry_run || {
2342 eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
2343 eval '$MV "$nlist"T "$nlist"'
2344 }
2345 fi
2346
2347 if test -n "$export_symbols_regex"; then
2348 $opt_dry_run || {
2349 eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
2350 eval '$MV "$nlist"T "$nlist"'
2351 }
2352 fi
2353
2354 # Prepare the list of exported symbols
2355 if test -z "$export_symbols"; then
2356 export_symbols="$output_objdir/$outputname.exp"
2357 $opt_dry_run || {
2358 $RM $export_symbols
2359 eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
2360 case $host in
2361 *cygwin* | *mingw* | *cegcc* )
2362 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
2363 eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
2364 ;;
2365 esac
2366 }
2367 else
2368 $opt_dry_run || {
2369 eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
2370 eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
2371 eval '$MV "$nlist"T "$nlist"'
2372 case $host in
2373 *cygwin | *mingw* | *cegcc* )
2374 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
2375 eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
2376 ;;
2377 esac
2378 }
2379 fi
2380 fi
2381
2382 for dlprefile in $dlprefiles; do
2383 func_verbose "extracting global C symbols from \`$dlprefile'"
2384 func_basename "$dlprefile"
2385 name="$func_basename_result"
2386 $opt_dry_run || {
2387 eval '$ECHO ": $name " >> "$nlist"'
2388 eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
2389 }
2390 done
2391
2392 $opt_dry_run || {
2393 # Make sure we have at least an empty file.
2394 test -f "$nlist" || : > "$nlist"
2395
2396 if test -n "$exclude_expsyms"; then
2397 $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
2398 $MV "$nlist"T "$nlist"
2399 fi
2400
2401 # Try sorting and uniquifying the output.
2402 if $GREP -v "^: " < "$nlist" |
2403 if sort -k 3 </dev/null >/dev/null 2>&1; then
2404 sort -k 3
2405 else
2406 sort +2
2407 fi |
2408 uniq > "$nlist"S; then
2409 :
2410 else
2411 $GREP -v "^: " < "$nlist" > "$nlist"S
2412 fi
2413
2414 if test -f "$nlist"S; then
2415 eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
2416 else
2417 $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
2418 fi
2419
2420 $ECHO >> "$output_objdir/$my_dlsyms" "\
2421
2422 /* The mapping between symbol names and symbols. */
2423 typedef struct {
2424 const char *name;
2425 void *address;
2426 } lt_dlsymlist;
2427 "
2428 case $host in
2429 *cygwin* | *mingw* | *cegcc* )
2430 $ECHO >> "$output_objdir/$my_dlsyms" "\
2431 /* DATA imports from DLLs on WIN32 con't be const, because
2432 runtime relocations are performed -- see ld's documentation
2433 on pseudo-relocs. */"
2434 lt_dlsym_const= ;;
2435 *osf5*)
2436 echo >> "$output_objdir/$my_dlsyms" "\
2437 /* This system does not cope well with relocations in const data */"
2438 lt_dlsym_const= ;;
2439 *)
2440 lt_dlsym_const=const ;;
2441 esac
2442
2443 $ECHO >> "$output_objdir/$my_dlsyms" "\
2444 extern $lt_dlsym_const lt_dlsymlist
2445 lt_${my_prefix}_LTX_preloaded_symbols[];
2446 $lt_dlsym_const lt_dlsymlist
2447 lt_${my_prefix}_LTX_preloaded_symbols[] =
2448 {\
2449 { \"$my_originator\", (void *) 0 },"
2450
2451 case $need_lib_prefix in
2452 no)
2453 eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
2454 ;;
2455 *)
2456 eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
2457 ;;
2458 esac
2459 $ECHO >> "$output_objdir/$my_dlsyms" "\
2460 {0, (void *) 0}
2461 };
2462
2463 /* This works around a problem in FreeBSD linker */
2464 #ifdef FREEBSD_WORKAROUND
2465 static const void *lt_preloaded_setup() {
2466 return lt_${my_prefix}_LTX_preloaded_symbols;
2467 }
2468 #endif
2469
2470 #ifdef __cplusplus
2471 }
2472 #endif\
2473 "
2474 } # !$opt_dry_run
2475
2476 pic_flag_for_symtable=
2477 case "$compile_command " in
2478 *" -static "*) ;;
2479 *)
2480 case $host in
2481 # compiling the symbol table file with pic_flag works around
2482 # a FreeBSD bug that causes programs to crash when -lm is
2483 # linked before any other PIC object. But we must not use
2484 # pic_flag when linking with -static. The problem exists in
2485 # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
2486 *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
2487 pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
2488 *-*-hpux*)
2489 pic_flag_for_symtable=" $pic_flag" ;;
2490 *)
2491 if test "X$my_pic_p" != Xno; then
2492 pic_flag_for_symtable=" $pic_flag"
2493 fi
2494 ;;
2495 esac
2496 ;;
2497 esac
2498 symtab_cflags=
2499 for arg in $LTCFLAGS; do
2500 case $arg in
2501 -pie | -fpie | -fPIE) ;;
2502 *) symtab_cflags="$symtab_cflags $arg" ;;
2503 esac
2504 done
2505
2506 # Now compile the dynamic symbol file.
2507 func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
2508
2509 # Clean up the generated files.
2510 func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
2511
2512 # Transform the symbol file into the correct name.
2513 symfileobj="$output_objdir/${my_outputname}S.$objext"
2514 case $host in
2515 *cygwin* | *mingw* | *cegcc* )
2516 if test -f "$output_objdir/$my_outputname.def"; then
2517 compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
2518 finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
2519 else
2520 compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
2521 finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
2522 fi
2523 ;;
2524 *)
2525 compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
2526 finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
2527 ;;
2528 esac
2529 ;;
2530 *)
2531 func_fatal_error "unknown suffix for \`$my_dlsyms'"
2532 ;;
2533 esac
2534 else
2535 # We keep going just in case the user didn't refer to
2536 # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
2537 # really was required.
2538
2539 # Nullify the symbol file.
2540 compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
2541 finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
2542 fi
2543 }
1972544
1982545 # func_win32_libid arg
1992546 # return the library type of file 'arg'
2032550 # that is supplied when $file_magic_command is called.
2042551 func_win32_libid ()
2052552 {
2553 $opt_debug
2062554 win32_libid_type="unknown"
2072555 win32_fileres=`file -L $1 2>/dev/null`
2082556 case $win32_fileres in
2102558 win32_libid_type="x86 archive import"
2112559 ;;
2122560 *ar\ archive*) # could be an import, or static
213 if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
214 $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
215 win32_nmres=`eval $NM -f posix -A $1 | \
216 $SED -n -e '1,100{
2561 if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
2562 $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
2563 win32_nmres=`eval $NM -f posix -A $1 |
2564 $SED -n -e '
2565 1,100{
2172566 / I /{
218 s,.*,import,
219 p
220 q
221 }
222 }'`
2567 s,.*,import,
2568 p
2569 q
2570 }
2571 }'`
2232572 case $win32_nmres in
2242573 import*) win32_libid_type="x86 archive import";;
2252574 *) win32_libid_type="x86 archive static";;
2372586 esac
2382587 ;;
2392588 esac
240 $echo $win32_libid_type
2589 $ECHO "$win32_libid_type"
2412590 }
2422591
243
244 # func_infer_tag arg
245 # Infer tagged configuration to use if any are available and
246 # if one wasn't chosen via the "--tag" command line option.
247 # Only attempt this if the compiler in the base compile
248 # command doesn't match the default compiler.
249 # arg is usually of the form 'gcc ...'
250 func_infer_tag ()
251 {
252 if test -n "$available_tags" && test -z "$tagname"; then
253 CC_quoted=
254 for arg in $CC; do
255 case $arg in
256 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
257 arg="\"$arg\""
258 ;;
259 esac
260 CC_quoted="$CC_quoted $arg"
261 done
262 case $@ in
263 # Blanks in the command may have been stripped by the calling shell,
264 # but not from the CC environment variable when configure was run.
265 " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
266 # Blanks at the start of $base_compile will cause this to fail
267 # if we don't check for them as well.
268 *)
269 for z in $available_tags; do
270 if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
271 # Evaluate the configuration.
272 eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
273 CC_quoted=
274 for arg in $CC; do
275 # Double-quote args containing other shell metacharacters.
276 case $arg in
277 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
278 arg="\"$arg\""
279 ;;
280 esac
281 CC_quoted="$CC_quoted $arg"
282 done
283 case "$@ " in
284 " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
285 # The compiler in the base compile command matches
286 # the one in the tagged configuration.
287 # Assume this is the tagged configuration we want.
288 tagname=$z
289 break
290 ;;
291 esac
292 fi
293 done
294 # If $tagname still isn't set, then no tagged configuration
295 # was found and let the user know that the "--tag" command
296 # line option must be used.
297 if test -z "$tagname"; then
298 $echo "$modename: unable to infer tagged configuration"
299 $echo "$modename: specify a tag with \`--tag'" 1>&2
300 exit $EXIT_FAILURE
301 # else
302 # $echo "$modename: using $tagname tagged configuration"
303 fi
304 ;;
305 esac
306 fi
307 }
3082592
3092593
3102594 # func_extract_an_archive dir oldlib
3112595 func_extract_an_archive ()
3122596 {
2597 $opt_debug
3132598 f_ex_an_ar_dir="$1"; shift
3142599 f_ex_an_ar_oldlib="$1"
315
316 $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
317 $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
2600 func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
3182601 if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
3192602 :
3202603 else
321 $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
322 exit $EXIT_FAILURE
2604 func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
3232605 fi
3242606 }
2607
3252608
3262609 # func_extract_archives gentop oldlib ...
3272610 func_extract_archives ()
3282611 {
2612 $opt_debug
3292613 my_gentop="$1"; shift
3302614 my_oldlibs=${1+"$@"}
3312615 my_oldobjs=""
3322616 my_xlib=""
3332617 my_xabs=""
3342618 my_xdir=""
335 my_status=""
336
337 $show "${rm}r $my_gentop"
338 $run ${rm}r "$my_gentop"
339 $show "$mkdir $my_gentop"
340 $run $mkdir "$my_gentop"
341 my_status=$?
342 if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
343 exit $my_status
344 fi
3452619
3462620 for my_xlib in $my_oldlibs; do
3472621 # Extract the objects.
3492623 [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
3502624 *) my_xabs=`pwd`"/$my_xlib" ;;
3512625 esac
352 my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
2626 func_basename "$my_xlib"
2627 my_xlib="$func_basename_result"
3532628 my_xlib_u=$my_xlib
3542629 while :; do
3552630 case " $extracted_archives " in
3562631 *" $my_xlib_u "*)
357 extracted_serial=`expr $extracted_serial + 1`
2632 func_arith $extracted_serial + 1
2633 extracted_serial=$func_arith_result
3582634 my_xlib_u=lt$extracted_serial-$my_xlib ;;
3592635 *) break ;;
3602636 esac
3622638 extracted_archives="$extracted_archives $my_xlib_u"
3632639 my_xdir="$my_gentop/$my_xlib_u"
3642640
365 $show "${rm}r $my_xdir"
366 $run ${rm}r "$my_xdir"
367 $show "$mkdir $my_xdir"
368 $run $mkdir "$my_xdir"
369 exit_status=$?
370 if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
371 exit $exit_status
372 fi
2641 func_mkdir_p "$my_xdir"
2642
3732643 case $host in
3742644 *-darwin*)
375 $show "Extracting $my_xabs"
2645 func_verbose "Extracting $my_xabs"
3762646 # Do not bother doing anything if just a dry run
377 if test -z "$run"; then
2647 $opt_dry_run || {
3782648 darwin_orig_dir=`pwd`
3792649 cd $my_xdir || exit $?
3802650 darwin_archive=$my_xabs
3812651 darwin_curdir=`pwd`
382 darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
383 darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
384 if test -n "$darwin_arches"; then
385 darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
2652 darwin_base_archive=`basename "$darwin_archive"`
2653 darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
2654 if test -n "$darwin_arches"; then
2655 darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
3862656 darwin_arch=
387 $show "$darwin_base_archive has multiple architectures $darwin_arches"
2657 func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
3882658 for darwin_arch in $darwin_arches ; do
389 mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
390 lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
2659 func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
2660 $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
3912661 cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
3922662 func_extract_an_archive "`pwd`" "${darwin_base_archive}"
3932663 cd "$darwin_curdir"
394 $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
2664 $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
3952665 done # $darwin_arches
396 ## Okay now we have a bunch of thin objects, gotta fatten them up :)
397 darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
2666 ## Okay now we've a bunch of thin objects, gotta fatten them up :)
2667 darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
3982668 darwin_file=
3992669 darwin_files=
4002670 for darwin_file in $darwin_filelist; do
4012671 darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
402 lipo -create -output "$darwin_file" $darwin_files
2672 $LIPO -create -output "$darwin_file" $darwin_files
4032673 done # $darwin_filelist
404 ${rm}r unfat-$$
2674 $RM -rf unfat-$$
4052675 cd "$darwin_orig_dir"
4062676 else
407 cd "$darwin_orig_dir"
408 func_extract_an_archive "$my_xdir" "$my_xabs"
2677 cd $darwin_orig_dir
2678 func_extract_an_archive "$my_xdir" "$my_xabs"
4092679 fi # $darwin_arches
410 fi # $run
2680 } # !$opt_dry_run
4112681 ;;
4122682 *)
4132683 func_extract_an_archive "$my_xdir" "$my_xabs"
414 ;;
2684 ;;
4152685 esac
4162686 my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
4172687 done
2688
4182689 func_extract_archives_result="$my_oldobjs"
4192690 }
420 # End of Shell function definitions
421 #####################################
422
423 # Darwin sucks
424 eval std_shrext=\"$shrext_cmds\"
425
426 disable_libs=no
427
428 # Parse our command line options once, thoroughly.
429 while test "$#" -gt 0
430 do
431 arg="$1"
432 shift
433
434 case $arg in
435 -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
436 *) optarg= ;;
437 esac
438
439 # If the previous option needs an argument, assign it.
440 if test -n "$prev"; then
441 case $prev in
442 execute_dlfiles)
443 execute_dlfiles="$execute_dlfiles $arg"
444 ;;
445 tag)
446 tagname="$arg"
447 preserve_args="${preserve_args}=$arg"
448
449 # Check whether tagname contains only valid characters
450 case $tagname in
451 *[!-_A-Za-z0-9,/]*)
452 $echo "$progname: invalid tag name: $tagname" 1>&2
453 exit $EXIT_FAILURE
454 ;;
2691
2692
2693
2694 # func_emit_wrapper_part1 [arg=no]
2695 #
2696 # Emit the first part of a libtool wrapper script on stdout.
2697 # For more information, see the description associated with
2698 # func_emit_wrapper(), below.
2699 func_emit_wrapper_part1 ()
2700 {
2701 func_emit_wrapper_part1_arg1=no
2702 if test -n "$1" ; then
2703 func_emit_wrapper_part1_arg1=$1
2704 fi
2705
2706 $ECHO "\
2707 #! $SHELL
2708
2709 # $output - temporary wrapper script for $objdir/$outputname
2710 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
2711 #
2712 # The $output program cannot be directly executed until all the libtool
2713 # libraries that it depends on are installed.
2714 #
2715 # This wrapper script should never be moved out of the build directory.
2716 # If it is, it will not operate correctly.
2717
2718 # Sed substitution that helps us do robust quoting. It backslashifies
2719 # metacharacters that are still active within double-quoted strings.
2720 Xsed='${SED} -e 1s/^X//'
2721 sed_quote_subst='$sed_quote_subst'
2722
2723 # Be Bourne compatible
2724 if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
2725 emulate sh
2726 NULLCMD=:
2727 # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
2728 # is contrary to our usage. Disable this feature.
2729 alias -g '\${1+\"\$@\"}'='\"\$@\"'
2730 setopt NO_GLOB_SUBST
2731 else
2732 case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
2733 fi
2734 BIN_SH=xpg4; export BIN_SH # for Tru64
2735 DUALCASE=1; export DUALCASE # for MKS sh
2736
2737 # The HP-UX ksh and POSIX shell print the target directory to stdout
2738 # if CDPATH is set.
2739 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
2740
2741 relink_command=\"$relink_command\"
2742
2743 # This environment variable determines our operation mode.
2744 if test \"\$libtool_install_magic\" = \"$magic\"; then
2745 # install mode needs the following variables:
2746 generated_by_libtool_version='$macro_version'
2747 notinst_deplibs='$notinst_deplibs'
2748 else
2749 # When we are sourced in execute mode, \$file and \$ECHO are already set.
2750 if test \"\$libtool_execute_magic\" != \"$magic\"; then
2751 ECHO=\"$qecho\"
2752 file=\"\$0\"
2753 # Make sure echo works.
2754 if test \"X\$1\" = X--no-reexec; then
2755 # Discard the --no-reexec flag, and continue.
2756 shift
2757 elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
2758 # Yippee, \$ECHO works!
2759 :
2760 else
2761 # Restart under the correct shell, and then maybe \$ECHO will work.
2762 exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
2763 fi
2764 fi\
2765 "
2766 $ECHO "\
2767
2768 # Find the directory that this script lives in.
2769 thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
2770 test \"x\$thisdir\" = \"x\$file\" && thisdir=.
2771
2772 # Follow symbolic links until we get to the real thisdir.
2773 file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
2774 while test -n \"\$file\"; do
2775 destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
2776
2777 # If there was a directory component, then change thisdir.
2778 if test \"x\$destdir\" != \"x\$file\"; then
2779 case \"\$destdir\" in
2780 [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
2781 *) thisdir=\"\$thisdir/\$destdir\" ;;
4552782 esac
456
457 case $tagname in
458 CC)
459 # Don't test for the "default" C tag, as we know, it's there, but
460 # not specially marked.
461 ;;
462 *)
463 if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
464 taglist="$taglist $tagname"
465 # Evaluate the configuration.
466 eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
467 else
468 $echo "$progname: ignoring unknown tag $tagname" 1>&2
2783 fi
2784
2785 file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
2786 file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
2787 done
2788 "
2789 }
2790 # end: func_emit_wrapper_part1
2791
2792 # func_emit_wrapper_part2 [arg=no]
2793 #
2794 # Emit the second part of a libtool wrapper script on stdout.
2795 # For more information, see the description associated with
2796 # func_emit_wrapper(), below.
2797 func_emit_wrapper_part2 ()
2798 {
2799 func_emit_wrapper_part2_arg1=no
2800 if test -n "$1" ; then
2801 func_emit_wrapper_part2_arg1=$1
4692802 fi
470 ;;
471 esac
472 ;;
473 *)
474 eval "$prev=\$arg"
475 ;;
476 esac
477
478 prev=
479 prevopt=
480 continue
481 fi
482
483 # Have we seen a non-optional argument yet?
484 case $arg in
485 --help)
486 show_help=yes
487 ;;
488
489 --version)
490 echo "\
491 $PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
492
493 Copyright (C) 2008 Free Software Foundation, Inc.
494 This is free software; see the source for copying conditions. There is NO
495 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
496 exit $?
497 ;;
498
499 --config)
500 ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
501 # Now print the configurations for the tags.
502 for tagname in $taglist; do
503 ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
504 done
505 exit $?
506 ;;
507
508 --debug)
509 $echo "$progname: enabling shell trace mode"
510 set -x
511 preserve_args="$preserve_args $arg"
512 ;;
513
514 --dry-run | -n)
515 run=:
516 ;;
517
518 --features)
519 $echo "host: $host"
520 if test "$build_libtool_libs" = yes; then
521 $echo "enable shared libraries"
522 else
523 $echo "disable shared libraries"
2803
2804 $ECHO "\
2805
2806 # Usually 'no', except on cygwin/mingw when embedded into
2807 # the cwrapper.
2808 WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
2809 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
2810 # special case for '.'
2811 if test \"\$thisdir\" = \".\"; then
2812 thisdir=\`pwd\`
5242813 fi
525 if test "$build_old_libs" = yes; then
526 $echo "enable static libraries"
527 else
528 $echo "disable static libraries"
529 fi
530 exit $?
531 ;;
532
533 --finish) mode="finish" ;;
534
535 --mode) prevopt="--mode" prev=mode ;;
536 --mode=*) mode="$optarg" ;;
537
538 --preserve-dup-deps) duplicate_deps="yes" ;;
539
540 --quiet | --silent)
541 show=:
542 preserve_args="$preserve_args $arg"
543 ;;
544
545 --tag)
546 prevopt="--tag"
547 prev=tag
548 preserve_args="$preserve_args --tag"
549 ;;
550 --tag=*)
551 set tag "$optarg" ${1+"$@"}
552 shift
553 prev=tag
554 preserve_args="$preserve_args --tag"
555 ;;
556
557 -dlopen)
558 prevopt="-dlopen"
559 prev=execute_dlfiles
560 ;;
561
562 -*)
563 $echo "$modename: unrecognized option \`$arg'" 1>&2
564 $echo "$help" 1>&2
565 exit $EXIT_FAILURE
566 ;;
567
568 *)
569 nonopt="$arg"
570 break
571 ;;
572 esac
573 done
574
575 if test -n "$prevopt"; then
576 $echo "$modename: option \`$prevopt' requires an argument" 1>&2
577 $echo "$help" 1>&2
578 exit $EXIT_FAILURE
579 fi
580
581 case $disable_libs in
582 no)
583 ;;
584 shared)
585 build_libtool_libs=no
586 build_old_libs=yes
587 ;;
588 static)
589 build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
590 ;;
591 esac
592
593 # If this variable is set in any of the actions, the command in it
594 # will be execed at the end. This prevents here-documents from being
595 # left over by shells.
596 exec_cmd=
597
598 if test -z "$show_help"; then
599
600 # Infer the operation mode.
601 if test -z "$mode"; then
602 $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
603 $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
604 case $nonopt in
605 *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
606 mode=link
607 for arg
608 do
609 case $arg in
610 -c)
611 mode=compile
612 break
613 ;;
614 esac
615 done
616 ;;
617 *db | *dbx | *strace | *truss)
618 mode=execute
619 ;;
620 *install*|cp|mv)
621 mode=install
622 ;;
623 *rm)
624 mode=uninstall
625 ;;
626 *)
627 # If we have no mode, but dlfiles were specified, then do execute mode.
628 test -n "$execute_dlfiles" && mode=execute
629
630 # Just use the default operation mode.
631 if test -z "$mode"; then
632 if test -n "$nonopt"; then
633 $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
634 else
635 $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
636 fi
637 fi
638 ;;
2814 # remove .libs from thisdir
2815 case \"\$thisdir\" in
2816 *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
2817 $objdir ) thisdir=. ;;
6392818 esac
6402819 fi
6412820
642 # Only execute mode is allowed to have -dlopen flags.
643 if test -n "$execute_dlfiles" && test "$mode" != execute; then
644 $echo "$modename: unrecognized option \`-dlopen'" 1>&2
645 $echo "$help" 1>&2
646 exit $EXIT_FAILURE
2821 # Try to get the absolute directory name.
2822 absdir=\`cd \"\$thisdir\" && pwd\`
2823 test -n \"\$absdir\" && thisdir=\"\$absdir\"
2824 "
2825
2826 if test "$fast_install" = yes; then
2827 $ECHO "\
2828 program=lt-'$outputname'$exeext
2829 progdir=\"\$thisdir/$objdir\"
2830
2831 if test ! -f \"\$progdir/\$program\" ||
2832 { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
2833 test \"X\$file\" != \"X\$progdir/\$program\"; }; then
2834
2835 file=\"\$\$-\$program\"
2836
2837 if test ! -d \"\$progdir\"; then
2838 $MKDIR \"\$progdir\"
2839 else
2840 $RM \"\$progdir/\$file\"
2841 fi"
2842
2843 $ECHO "\
2844
2845 # relink executable if necessary
2846 if test -n \"\$relink_command\"; then
2847 if relink_command_output=\`eval \$relink_command 2>&1\`; then :
2848 else
2849 $ECHO \"\$relink_command_output\" >&2
2850 $RM \"\$progdir/\$file\"
2851 exit 1
2852 fi
2853 fi
2854
2855 $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
2856 { $RM \"\$progdir/\$program\";
2857 $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
2858 $RM \"\$progdir/\$file\"
2859 fi"
2860 else
2861 $ECHO "\
2862 program='$outputname'
2863 progdir=\"\$thisdir/$objdir\"
2864 "
2865 fi
2866
2867 $ECHO "\
2868
2869 if test -f \"\$progdir/\$program\"; then"
2870
2871 # Export our shlibpath_var if we have one.
2872 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
2873 $ECHO "\
2874 # Add our own library path to $shlibpath_var
2875 $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
2876
2877 # Some systems cannot cope with colon-terminated $shlibpath_var
2878 # The second colon is a workaround for a bug in BeOS R4 sed
2879 $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
2880
2881 export $shlibpath_var
2882 "
2883 fi
2884
2885 # fixup the dll searchpath if we need to.
2886 if test -n "$dllsearchpath"; then
2887 $ECHO "\
2888 # Add the dll search path components to the executable PATH
2889 PATH=$dllsearchpath:\$PATH
2890 "
2891 fi
2892
2893 $ECHO "\
2894 if test \"\$libtool_execute_magic\" != \"$magic\"; then
2895 # Run the actual program with our arguments.
2896 "
2897 case $host in
2898 # Backslashes separate directories on plain windows
2899 *-*-mingw | *-*-os2* | *-cegcc*)
2900 $ECHO "\
2901 exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
2902 "
2903 ;;
2904
2905 *)
2906 $ECHO "\
2907 exec \"\$progdir/\$program\" \${1+\"\$@\"}
2908 "
2909 ;;
2910 esac
2911 $ECHO "\
2912 \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
2913 exit 1
2914 fi
2915 else
2916 # The program doesn't exist.
2917 \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
2918 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
2919 $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
2920 exit 1
6472921 fi
648
649 # Change the help message to a mode-specific one.
650 generic_help="$help"
651 help="Try \`$modename --help --mode=$mode' for more information."
652
653 # These modes are in order of execution frequency so that they run quickly.
654 case $mode in
655 # libtool compile mode
656 compile)
657 modename="$modename: compile"
658 # Get the compilation command and the source file.
659 base_compile=
660 srcfile="$nonopt" # always keep a non-empty value in "srcfile"
661 suppress_opt=yes
662 suppress_output=
663 arg_mode=normal
664 libobj=
665 later=
666
667 for arg
668 do
669 case $arg_mode in
670 arg )
671 # do not "continue". Instead, add this to base_compile
672 lastarg="$arg"
673 arg_mode=normal
674 ;;
675
676 target )
677 libobj="$arg"
678 arg_mode=normal
679 continue
680 ;;
681
682 normal )
683 # Accept any command-line options.
684 case $arg in
685 -o)
686 if test -n "$libobj" ; then
687 $echo "$modename: you cannot specify \`-o' more than once" 1>&2
688 exit $EXIT_FAILURE
689 fi
690 arg_mode=target
691 continue
692 ;;
693
694 -static | -prefer-pic | -prefer-non-pic)
695 later="$later $arg"
696 continue
697 ;;
698
699 -no-suppress)
700 suppress_opt=no
701 continue
702 ;;
703
704 -Xcompiler)
705 arg_mode=arg # the next one goes into the "base_compile" arg list
706 continue # The current "srcfile" will either be retained or
707 ;; # replaced later. I would guess that would be a bug.
708
709 -Wc,*)
710 args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
711 lastarg=
712 save_ifs="$IFS"; IFS=','
713 for arg in $args; do
714 IFS="$save_ifs"
715
716 # Double-quote args containing other shell metacharacters.
717 # Many Bourne shells cannot handle close brackets correctly
718 # in scan sets, so we specify it separately.
719 case $arg in
720 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
721 arg="\"$arg\""
722 ;;
2922 fi\
2923 "
2924 }
2925 # end: func_emit_wrapper_part2
2926
2927
2928 # func_emit_wrapper [arg=no]
2929 #
2930 # Emit a libtool wrapper script on stdout.
2931 # Don't directly open a file because we may want to
2932 # incorporate the script contents within a cygwin/mingw
2933 # wrapper executable. Must ONLY be called from within
2934 # func_mode_link because it depends on a number of variables
2935 # set therein.
2936 #
2937 # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
2938 # variable will take. If 'yes', then the emitted script
2939 # will assume that the directory in which it is stored is
2940 # the $objdir directory. This is a cygwin/mingw-specific
2941 # behavior.
2942 func_emit_wrapper ()
2943 {
2944 func_emit_wrapper_arg1=no
2945 if test -n "$1" ; then
2946 func_emit_wrapper_arg1=$1
2947 fi
2948
2949 # split this up so that func_emit_cwrapperexe_src
2950 # can call each part independently.
2951 func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
2952 func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
2953 }
2954
2955
2956 # func_to_host_path arg
2957 #
2958 # Convert paths to host format when used with build tools.
2959 # Intended for use with "native" mingw (where libtool itself
2960 # is running under the msys shell), or in the following cross-
2961 # build environments:
2962 # $build $host
2963 # mingw (msys) mingw [e.g. native]
2964 # cygwin mingw
2965 # *nix + wine mingw
2966 # where wine is equipped with the `winepath' executable.
2967 # In the native mingw case, the (msys) shell automatically
2968 # converts paths for any non-msys applications it launches,
2969 # but that facility isn't available from inside the cwrapper.
2970 # Similar accommodations are necessary for $host mingw and
2971 # $build cygwin. Calling this function does no harm for other
2972 # $host/$build combinations not listed above.
2973 #
2974 # ARG is the path (on $build) that should be converted to
2975 # the proper representation for $host. The result is stored
2976 # in $func_to_host_path_result.
2977 func_to_host_path ()
2978 {
2979 func_to_host_path_result="$1"
2980 if test -n "$1" ; then
2981 case $host in
2982 *mingw* )
2983 lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
2984 case $build in
2985 *mingw* ) # actually, msys
2986 # awkward: cmd appends spaces to result
2987 lt_sed_strip_trailing_spaces="s/[ ]*\$//"
2988 func_to_host_path_tmp1=`( cmd //c echo "$1" |\
2989 $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
2990 func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
2991 $SED -e "$lt_sed_naive_backslashify"`
2992 ;;
2993 *cygwin* )
2994 func_to_host_path_tmp1=`cygpath -w "$1"`
2995 func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
2996 $SED -e "$lt_sed_naive_backslashify"`
2997 ;;
2998 * )
2999 # Unfortunately, winepath does not exit with a non-zero
3000 # error code, so we are forced to check the contents of
3001 # stdout. On the other hand, if the command is not
3002 # found, the shell will set an exit code of 127 and print
3003 # *an error message* to stdout. So we must check for both
3004 # error code of zero AND non-empty stdout, which explains
3005 # the odd construction:
3006 func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
3007 if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
3008 func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
3009 $SED -e "$lt_sed_naive_backslashify"`
3010 else
3011 # Allow warning below.
3012 func_to_host_path_result=""
3013 fi
3014 ;;
3015 esac
3016 if test -z "$func_to_host_path_result" ; then
3017 func_error "Could not determine host path corresponding to"
3018 func_error " '$1'"
3019 func_error "Continuing, but uninstalled executables may not work."
3020 # Fallback:
3021 func_to_host_path_result="$1"
3022 fi
3023 ;;
3024 esac
3025 fi
3026 }
3027 # end: func_to_host_path
3028
3029 # func_to_host_pathlist arg
3030 #
3031 # Convert pathlists to host format when used with build tools.
3032 # See func_to_host_path(), above. This function supports the
3033 # following $build/$host combinations (but does no harm for
3034 # combinations not listed here):
3035 # $build $host
3036 # mingw (msys) mingw [e.g. native]
3037 # cygwin mingw
3038 # *nix + wine mingw
3039 #
3040 # Path separators are also converted from $build format to
3041 # $host format. If ARG begins or ends with a path separator
3042 # character, it is preserved (but converted to $host format)
3043 # on output.
3044 #
3045 # ARG is a pathlist (on $build) that should be converted to
3046 # the proper representation on $host. The result is stored
3047 # in $func_to_host_pathlist_result.
3048 func_to_host_pathlist ()
3049 {
3050 func_to_host_pathlist_result="$1"
3051 if test -n "$1" ; then
3052 case $host in
3053 *mingw* )
3054 lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
3055 # Remove leading and trailing path separator characters from
3056 # ARG. msys behavior is inconsistent here, cygpath turns them
3057 # into '.;' and ';.', and winepath ignores them completely.
3058 func_to_host_pathlist_tmp2="$1"
3059 # Once set for this call, this variable should not be
3060 # reassigned. It is used in tha fallback case.
3061 func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
3062 $SED -e 's|^:*||' -e 's|:*$||'`
3063 case $build in
3064 *mingw* ) # Actually, msys.
3065 # Awkward: cmd appends spaces to result.
3066 lt_sed_strip_trailing_spaces="s/[ ]*\$//"
3067 func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
3068 $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
3069 func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
3070 $SED -e "$lt_sed_naive_backslashify"`
3071 ;;
3072 *cygwin* )
3073 func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
3074 func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
3075 $SED -e "$lt_sed_naive_backslashify"`
3076 ;;
3077 * )
3078 # unfortunately, winepath doesn't convert pathlists
3079 func_to_host_pathlist_result=""
3080 func_to_host_pathlist_oldIFS=$IFS
3081 IFS=:
3082 for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
3083 IFS=$func_to_host_pathlist_oldIFS
3084 if test -n "$func_to_host_pathlist_f" ; then
3085 func_to_host_path "$func_to_host_pathlist_f"
3086 if test -n "$func_to_host_path_result" ; then
3087 if test -z "$func_to_host_pathlist_result" ; then
3088 func_to_host_pathlist_result="$func_to_host_path_result"
3089 else
3090 func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
3091 fi
3092 fi
3093 fi
3094 IFS=:
3095 done
3096 IFS=$func_to_host_pathlist_oldIFS
3097 ;;
3098 esac
3099 if test -z "$func_to_host_pathlist_result" ; then
3100 func_error "Could not determine the host path(s) corresponding to"
3101 func_error " '$1'"
3102 func_error "Continuing, but uninstalled executables may not work."
3103 # Fallback. This may break if $1 contains DOS-style drive
3104 # specifications. The fix is not to complicate the expression
3105 # below, but for the user to provide a working wine installation
3106 # with winepath so that path translation in the cross-to-mingw
3107 # case works properly.
3108 lt_replace_pathsep_nix_to_dos="s|:|;|g"
3109 func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
3110 $SED -e "$lt_replace_pathsep_nix_to_dos"`
3111 fi
3112 # Now, add the leading and trailing path separators back
3113 case "$1" in
3114 :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
3115 ;;
3116 esac
3117 case "$1" in
3118 *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
3119 ;;
3120 esac
3121 ;;
3122 esac
3123 fi
3124 }
3125 # end: func_to_host_pathlist
3126
3127 # func_emit_cwrapperexe_src
3128 # emit the source code for a wrapper executable on stdout
3129 # Must ONLY be called from within func_mode_link because
3130 # it depends on a number of variable set therein.
3131 func_emit_cwrapperexe_src ()
3132 {
3133 cat <<EOF
3134
3135 /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
3136 Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
3137
3138 The $output program cannot be directly executed until all the libtool
3139 libraries that it depends on are installed.
3140
3141 This wrapper executable should never be moved out of the build directory.
3142 If it is, it will not operate correctly.
3143
3144 Currently, it simply execs the wrapper *script* "$SHELL $output",
3145 but could eventually absorb all of the scripts functionality and
3146 exec $objdir/$outputname directly.
3147 */
3148 EOF
3149 cat <<"EOF"
3150 #include <stdio.h>
3151 #include <stdlib.h>
3152 #ifdef _MSC_VER
3153 # include <direct.h>
3154 # include <process.h>
3155 # include <io.h>
3156 # define setmode _setmode
3157 #else
3158 # include <unistd.h>
3159 # include <stdint.h>
3160 # ifdef __CYGWIN__
3161 # include <io.h>
3162 # define HAVE_SETENV
3163 # ifdef __STRICT_ANSI__
3164 char *realpath (const char *, char *);
3165 int putenv (char *);
3166 int setenv (const char *, const char *, int);
3167 # endif
3168 # endif
3169 #endif
3170 #include <malloc.h>
3171 #include <stdarg.h>
3172 #include <assert.h>
3173 #include <string.h>
3174 #include <ctype.h>
3175 #include <errno.h>
3176 #include <fcntl.h>
3177 #include <sys/stat.h>
3178
3179 #if defined(PATH_MAX)
3180 # define LT_PATHMAX PATH_MAX
3181 #elif defined(MAXPATHLEN)
3182 # define LT_PATHMAX MAXPATHLEN
3183 #else
3184 # define LT_PATHMAX 1024
3185 #endif
3186
3187 #ifndef S_IXOTH
3188 # define S_IXOTH 0
3189 #endif
3190 #ifndef S_IXGRP
3191 # define S_IXGRP 0
3192 #endif
3193
3194 #ifdef _MSC_VER
3195 # define S_IXUSR _S_IEXEC
3196 # define stat _stat
3197 # ifndef _INTPTR_T_DEFINED
3198 # define intptr_t int
3199 # endif
3200 #endif
3201
3202 #ifndef DIR_SEPARATOR
3203 # define DIR_SEPARATOR '/'
3204 # define PATH_SEPARATOR ':'
3205 #endif
3206
3207 #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
3208 defined (__OS2__)
3209 # define HAVE_DOS_BASED_FILE_SYSTEM
3210 # define FOPEN_WB "wb"
3211 # ifndef DIR_SEPARATOR_2
3212 # define DIR_SEPARATOR_2 '\\'
3213 # endif
3214 # ifndef PATH_SEPARATOR_2
3215 # define PATH_SEPARATOR_2 ';'
3216 # endif
3217 #endif
3218
3219 #ifndef DIR_SEPARATOR_2
3220 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
3221 #else /* DIR_SEPARATOR_2 */
3222 # define IS_DIR_SEPARATOR(ch) \
3223 (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
3224 #endif /* DIR_SEPARATOR_2 */
3225
3226 #ifndef PATH_SEPARATOR_2
3227 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
3228 #else /* PATH_SEPARATOR_2 */
3229 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
3230 #endif /* PATH_SEPARATOR_2 */
3231
3232 #ifdef __CYGWIN__
3233 # define FOPEN_WB "wb"
3234 #endif
3235
3236 #ifndef FOPEN_WB
3237 # define FOPEN_WB "w"
3238 #endif
3239 #ifndef _O_BINARY
3240 # define _O_BINARY 0
3241 #endif
3242
3243 #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
3244 #define XFREE(stale) do { \
3245 if (stale) { free ((void *) stale); stale = 0; } \
3246 } while (0)
3247
3248 #undef LTWRAPPER_DEBUGPRINTF
3249 #if defined DEBUGWRAPPER
3250 # define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
3251 static void
3252 ltwrapper_debugprintf (const char *fmt, ...)
3253 {
3254 va_list args;
3255 va_start (args, fmt);
3256 (void) vfprintf (stderr, fmt, args);
3257 va_end (args);
3258 }
3259 #else
3260 # define LTWRAPPER_DEBUGPRINTF(args)
3261 #endif
3262
3263 const char *program_name = NULL;
3264
3265 void *xmalloc (size_t num);
3266 char *xstrdup (const char *string);
3267 const char *base_name (const char *name);
3268 char *find_executable (const char *wrapper);
3269 char *chase_symlinks (const char *pathspec);
3270 int make_executable (const char *path);
3271 int check_executable (const char *path);
3272 char *strendzap (char *str, const char *pat);
3273 void lt_fatal (const char *message, ...);
3274 void lt_setenv (const char *name, const char *value);
3275 char *lt_extend_str (const char *orig_value, const char *add, int to_end);
3276 void lt_opt_process_env_set (const char *arg);
3277 void lt_opt_process_env_prepend (const char *arg);
3278 void lt_opt_process_env_append (const char *arg);
3279 int lt_split_name_value (const char *arg, char** name, char** value);
3280 void lt_update_exe_path (const char *name, const char *value);
3281 void lt_update_lib_path (const char *name, const char *value);
3282
3283 static const char *script_text_part1 =
3284 EOF
3285
3286 func_emit_wrapper_part1 yes |
3287 $SED -e 's/\([\\"]\)/\\\1/g' \
3288 -e 's/^/ "/' -e 's/$/\\n"/'
3289 echo ";"
3290 cat <<EOF
3291
3292 static const char *script_text_part2 =
3293 EOF
3294 func_emit_wrapper_part2 yes |
3295 $SED -e 's/\([\\"]\)/\\\1/g' \
3296 -e 's/^/ "/' -e 's/$/\\n"/'
3297 echo ";"
3298
3299 cat <<EOF
3300 const char * MAGIC_EXE = "$magic_exe";
3301 const char * LIB_PATH_VARNAME = "$shlibpath_var";
3302 EOF
3303
3304 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
3305 func_to_host_pathlist "$temp_rpath"
3306 cat <<EOF
3307 const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result";
3308 EOF
3309 else
3310 cat <<"EOF"
3311 const char * LIB_PATH_VALUE = "";
3312 EOF
3313 fi
3314
3315 if test -n "$dllsearchpath"; then
3316 func_to_host_pathlist "$dllsearchpath:"
3317 cat <<EOF
3318 const char * EXE_PATH_VARNAME = "PATH";
3319 const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result";
3320 EOF
3321 else
3322 cat <<"EOF"
3323 const char * EXE_PATH_VARNAME = "";
3324 const char * EXE_PATH_VALUE = "";
3325 EOF
3326 fi
3327
3328 if test "$fast_install" = yes; then
3329 cat <<EOF
3330 const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
3331 EOF
3332 else
3333 cat <<EOF
3334 const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
3335 EOF
3336 fi
3337
3338
3339 cat <<"EOF"
3340
3341 #define LTWRAPPER_OPTION_PREFIX "--lt-"
3342 #define LTWRAPPER_OPTION_PREFIX_LENGTH 5
3343
3344 static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
3345 static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
3346
3347 static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
3348
3349 static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
3350 static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set";
3351 /* argument is putenv-style "foo=bar", value of foo is set to bar */
3352
3353 static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
3354 static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend";
3355 /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
3356
3357 static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
3358 static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append";
3359 /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
3360
3361 int
3362 main (int argc, char *argv[])
3363 {
3364 char **newargz;
3365 int newargc;
3366 char *tmp_pathspec;
3367 char *actual_cwrapper_path;
3368 char *actual_cwrapper_name;
3369 char *target_name;
3370 char *lt_argv_zero;
3371 intptr_t rval = 127;
3372
3373 int i;
3374
3375 program_name = (char *) xstrdup (base_name (argv[0]));
3376 LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0]));
3377 LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
3378
3379 /* very simple arg parsing; don't want to rely on getopt */
3380 for (i = 1; i < argc; i++)
3381 {
3382 if (strcmp (argv[i], dumpscript_opt) == 0)
3383 {
3384 EOF
3385 case "$host" in
3386 *mingw* | *cygwin* )
3387 # make stdout use "unix" line endings
3388 echo " setmode(1,_O_BINARY);"
3389 ;;
3390 esac
3391
3392 cat <<"EOF"
3393 printf ("%s", script_text_part1);
3394 printf ("%s", script_text_part2);
3395 return 0;
3396 }
3397 }
3398
3399 newargz = XMALLOC (char *, argc + 1);
3400 tmp_pathspec = find_executable (argv[0]);
3401 if (tmp_pathspec == NULL)
3402 lt_fatal ("Couldn't find %s", argv[0]);
3403 LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
3404 tmp_pathspec));
3405
3406 actual_cwrapper_path = chase_symlinks (tmp_pathspec);
3407 LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
3408 actual_cwrapper_path));
3409 XFREE (tmp_pathspec);
3410
3411 actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
3412 strendzap (actual_cwrapper_path, actual_cwrapper_name);
3413
3414 /* wrapper name transforms */
3415 strendzap (actual_cwrapper_name, ".exe");
3416 tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
3417 XFREE (actual_cwrapper_name);
3418 actual_cwrapper_name = tmp_pathspec;
3419 tmp_pathspec = 0;
3420
3421 /* target_name transforms -- use actual target program name; might have lt- prefix */
3422 target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
3423 strendzap (target_name, ".exe");
3424 tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
3425 XFREE (target_name);
3426 target_name = tmp_pathspec;
3427 tmp_pathspec = 0;
3428
3429 LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
3430 target_name));
3431 EOF
3432
3433 cat <<EOF
3434 newargz[0] =
3435 XMALLOC (char, (strlen (actual_cwrapper_path) +
3436 strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
3437 strcpy (newargz[0], actual_cwrapper_path);
3438 strcat (newargz[0], "$objdir");
3439 strcat (newargz[0], "/");
3440 EOF
3441
3442 cat <<"EOF"
3443 /* stop here, and copy so we don't have to do this twice */
3444 tmp_pathspec = xstrdup (newargz[0]);
3445
3446 /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
3447 strcat (newargz[0], actual_cwrapper_name);
3448
3449 /* DO want the lt- prefix here if it exists, so use target_name */
3450 lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
3451 XFREE (tmp_pathspec);
3452 tmp_pathspec = NULL;
3453 EOF
3454
3455 case $host_os in
3456 mingw*)
3457 cat <<"EOF"
3458 {
3459 char* p;
3460 while ((p = strchr (newargz[0], '\\')) != NULL)
3461 {
3462 *p = '/';
3463 }
3464 while ((p = strchr (lt_argv_zero, '\\')) != NULL)
3465 {
3466 *p = '/';
3467 }
3468 }
3469 EOF
3470 ;;
7233471 esac
724 lastarg="$lastarg $arg"
725 done
726 IFS="$save_ifs"
727 lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
728
729 # Add the arguments to base_compile.
730 base_compile="$base_compile $lastarg"
731 continue
732 ;;
733
734 * )
735 # Accept the current argument as the source file.
736 # The previous "srcfile" becomes the current argument.
737 #
738 lastarg="$srcfile"
739 srcfile="$arg"
740 ;;
741 esac # case $arg
742 ;;
743 esac # case $arg_mode
744
745 # Aesthetically quote the previous argument.
746 lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
747
748 case $lastarg in
749 # Double-quote args containing other shell metacharacters.
750 # Many Bourne shells cannot handle close brackets correctly
751 # in scan sets, and some SunOS ksh mistreat backslash-escaping
752 # in scan sets (worked around with variable expansion),
753 # and furthermore cannot handle '|' '&' '(' ')' in scan sets
754 # at all, so we specify them separately.
755 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
756 lastarg="\"$lastarg\""
757 ;;
758 esac
759
760 base_compile="$base_compile $lastarg"
761 done # for arg
762
763 case $arg_mode in
764 arg)
765 $echo "$modename: you must specify an argument for -Xcompile"
766 exit $EXIT_FAILURE
767 ;;
768 target)
769 $echo "$modename: you must specify a target with \`-o'" 1>&2
770 exit $EXIT_FAILURE
771 ;;
772 *)
773 # Get the name of the library object.
774 [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
775 ;;
776 esac
777
778 # Recognize several different file suffixes.
779 # If the user specifies -o file.o, it is replaced with file.lo
780 xform='[cCFSifmso]'
781 case $libobj in
782 *.ada) xform=ada ;;
783 *.adb) xform=adb ;;
784 *.ads) xform=ads ;;
785 *.asm) xform=asm ;;
786 *.c++) xform=c++ ;;
787 *.cc) xform=cc ;;
788 *.ii) xform=ii ;;
789 *.class) xform=class ;;
790 *.cpp) xform=cpp ;;
791 *.cxx) xform=cxx ;;
792 *.[fF][09]?) xform=[fF][09]. ;;
793 *.for) xform=for ;;
794 *.java) xform=java ;;
795 *.obj) xform=obj ;;
796 *.sx) xform=sx ;;
797 esac
798
799 libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
800
801 case $libobj in
802 *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
803 *)
804 $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
805 exit $EXIT_FAILURE
806 ;;
807 esac
808
809 func_infer_tag $base_compile
810
811 for arg in $later; do
812 case $arg in
813 -static)
814 build_old_libs=yes
815 continue
816 ;;
817
818 -prefer-pic)
819 pic_mode=yes
820 continue
821 ;;
822
823 -prefer-non-pic)
824 pic_mode=no
825 continue
826 ;;
827 esac
828 done
829
830 qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
831 case $qlibobj in
832 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
833 qlibobj="\"$qlibobj\"" ;;
834 esac
835 test "X$libobj" != "X$qlibobj" \
836 && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \
837 && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
838 objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
839 xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
840 if test "X$xdir" = "X$obj"; then
841 xdir=
842 else
843 xdir=$xdir/
844 fi
845 lobj=${xdir}$objdir/$objname
846
847 if test -z "$base_compile"; then
848 $echo "$modename: you must specify a compilation command" 1>&2
849 $echo "$help" 1>&2
850 exit $EXIT_FAILURE
851 fi
852
853 # Delete any leftover library objects.
854 if test "$build_old_libs" = yes; then
855 removelist="$obj $lobj $libobj ${libobj}T"
856 else
857 removelist="$lobj $libobj ${libobj}T"
858 fi
859
860 $run $rm $removelist
861 trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
862
863 # On Cygwin there's no "real" PIC flag so we must build both object types
864 case $host_os in
865 cygwin* | mingw* | pw32* | os2*)
866 pic_mode=default
867 ;;
868 esac
869 if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
870 # non-PIC code in shared libraries is not supported
871 pic_mode=default
872 fi
873
874 # Calculate the filename of the output object if compiler does
875 # not support -o with -c
876 if test "$compiler_c_o" = no; then
877 output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
878 lockfile="$output_obj.lock"
879 removelist="$removelist $output_obj $lockfile"
880 trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
881 else
882 output_obj=
883 need_locks=no
884 lockfile=
885 fi
886
887 # Lock this critical section if it is needed
888 # We use this script file to make the link, it avoids creating a new file
889 if test "$need_locks" = yes; then
890 until $run ln "$progpath" "$lockfile" 2>/dev/null; do
891 $show "Waiting for $lockfile to be removed"
892 sleep 2
893 done
894 elif test "$need_locks" = warn; then
895 if test -f "$lockfile"; then
896 $echo "\
897 *** ERROR, $lockfile exists and contains:
898 `cat $lockfile 2>/dev/null`
899
900 This indicates that another process is trying to use the same
901 temporary object file, and libtool could not work around it because
902 your compiler does not support \`-c' and \`-o' together. If you
903 repeat this compilation, it may succeed, by chance, but you had better
904 avoid parallel builds (make -j) in this platform, or get a better
905 compiler."
906
907 $run $rm $removelist
908 exit $EXIT_FAILURE
909 fi
910 $echo "$srcfile" > "$lockfile"
911 fi
912
913 if test -n "$fix_srcfile_path"; then
914 eval srcfile=\"$fix_srcfile_path\"
915 fi
916 qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
917 case $qsrcfile in
918 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
919 qsrcfile="\"$qsrcfile\"" ;;
920 esac
921
922 $run $rm "$libobj" "${libobj}T"
923
924 # Create a libtool object file (analogous to a ".la" file),
925 # but don't create it if we're doing a dry run.
926 test -z "$run" && cat > ${libobj}T <<EOF
927 # $libobj - a libtool object file
928 # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
929 #
930 # Please DO NOT delete this file!
931 # It is necessary for linking the library.
932
933 # Name of the PIC object.
3472
3473 cat <<"EOF"
3474 XFREE (target_name);
3475 XFREE (actual_cwrapper_path);
3476 XFREE (actual_cwrapper_name);
3477
3478 lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
3479 lt_setenv ("DUALCASE", "1"); /* for MSK sh */
3480 lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
3481 lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
3482
3483 newargc=0;
3484 for (i = 1; i < argc; i++)
3485 {
3486 if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
3487 {
3488 if (argv[i][env_set_opt_len] == '=')
3489 {
3490 const char *p = argv[i] + env_set_opt_len + 1;
3491 lt_opt_process_env_set (p);
3492 }
3493 else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
3494 {
3495 lt_opt_process_env_set (argv[++i]); /* don't copy */
3496 }
3497 else
3498 lt_fatal ("%s missing required argument", env_set_opt);
3499 continue;
3500 }
3501 if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
3502 {
3503 if (argv[i][env_prepend_opt_len] == '=')
3504 {
3505 const char *p = argv[i] + env_prepend_opt_len + 1;
3506 lt_opt_process_env_prepend (p);
3507 }
3508 else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
3509 {
3510 lt_opt_process_env_prepend (argv[++i]); /* don't copy */
3511 }
3512 else
3513 lt_fatal ("%s missing required argument", env_prepend_opt);
3514 continue;
3515 }
3516 if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
3517 {
3518 if (argv[i][env_append_opt_len] == '=')
3519 {
3520 const char *p = argv[i] + env_append_opt_len + 1;
3521 lt_opt_process_env_append (p);
3522 }
3523 else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
3524 {
3525 lt_opt_process_env_append (argv[++i]); /* don't copy */
3526 }
3527 else
3528 lt_fatal ("%s missing required argument", env_append_opt);
3529 continue;
3530 }
3531 if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
3532 {
3533 /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
3534 namespace, but it is not one of the ones we know about and
3535 have already dealt with, above (inluding dump-script), then
3536 report an error. Otherwise, targets might begin to believe
3537 they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
3538 namespace. The first time any user complains about this, we'll
3539 need to make LTWRAPPER_OPTION_PREFIX a configure-time option
3540 or a configure.ac-settable value.
3541 */
3542 lt_fatal ("Unrecognized option in %s namespace: '%s'",
3543 ltwrapper_option_prefix, argv[i]);
3544 }
3545 /* otherwise ... */
3546 newargz[++newargc] = xstrdup (argv[i]);
3547 }
3548 newargz[++newargc] = NULL;
3549
3550 LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
3551 for (i = 0; i < newargc; i++)
3552 {
3553 LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
3554 }
3555
9343556 EOF
9353557
936 # Only build a PIC object if we are building libtool libraries.
937 if test "$build_libtool_libs" = yes; then
938 # Without this assignment, base_compile gets emptied.
939 fbsd_hideous_sh_bug=$base_compile
940
941 if test "$pic_mode" != no; then
942 command="$base_compile $qsrcfile $pic_flag"
3558 case $host_os in
3559 mingw*)
3560 cat <<"EOF"
3561 /* execv doesn't actually work on mingw as expected on unix */
3562 rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
3563 if (rval == -1)
3564 {
3565 /* failed to start process */
3566 LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
3567 return 127;
3568 }
3569 return rval;
3570 EOF
3571 ;;
3572 *)
3573 cat <<"EOF"
3574 execv (lt_argv_zero, newargz);
3575 return rval; /* =127, but avoids unused variable warning */
3576 EOF
3577 ;;
3578 esac
3579
3580 cat <<"EOF"
3581 }
3582
3583 void *
3584 xmalloc (size_t num)
3585 {
3586 void *p = (void *) malloc (num);
3587 if (!p)
3588 lt_fatal ("Memory exhausted");
3589
3590 return p;
3591 }
3592
3593 char *
3594 xstrdup (const char *string)
3595 {
3596 return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
3597 string) : NULL;
3598 }
3599
3600 const char *
3601 base_name (const char *name)
3602 {
3603 const char *base;
3604
3605 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
3606 /* Skip over the disk name in MSDOS pathnames. */
3607 if (isalpha ((unsigned char) name[0]) && name[1] == ':')
3608 name += 2;
3609 #endif
3610
3611 for (base = name; *name; name++)
3612 if (IS_DIR_SEPARATOR (*name))
3613 base = name + 1;
3614 return base;
3615 }
3616
3617 int
3618 check_executable (const char *path)
3619 {
3620 struct stat st;
3621
3622 LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n",
3623 path ? (*path ? path : "EMPTY!") : "NULL!"));
3624 if ((!path) || (!*path))
3625 return 0;
3626
3627 if ((stat (path, &st) >= 0)
3628 && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
3629 return 1;
3630 else
3631 return 0;
3632 }
3633
3634 int
3635 make_executable (const char *path)
3636 {
3637 int rval = 0;
3638 struct stat st;
3639
3640 LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n",
3641 path ? (*path ? path : "EMPTY!") : "NULL!"));
3642 if ((!path) || (!*path))
3643 return 0;
3644
3645 if (stat (path, &st) >= 0)
3646 {
3647 rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
3648 }
3649 return rval;
3650 }
3651
3652 /* Searches for the full path of the wrapper. Returns
3653 newly allocated full path name if found, NULL otherwise
3654 Does not chase symlinks, even on platforms that support them.
3655 */
3656 char *
3657 find_executable (const char *wrapper)
3658 {
3659 int has_slash = 0;
3660 const char *p;
3661 const char *p_next;
3662 /* static buffer for getcwd */
3663 char tmp[LT_PATHMAX + 1];
3664 int tmp_len;
3665 char *concat_name;
3666
3667 LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n",
3668 wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
3669
3670 if ((wrapper == NULL) || (*wrapper == '\0'))
3671 return NULL;
3672
3673 /* Absolute path? */
3674 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
3675 if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
3676 {
3677 concat_name = xstrdup (wrapper);
3678 if (check_executable (concat_name))
3679 return concat_name;
3680 XFREE (concat_name);
3681 }
3682 else
3683 {
3684 #endif
3685 if (IS_DIR_SEPARATOR (wrapper[0]))
3686 {
3687 concat_name = xstrdup (wrapper);
3688 if (check_executable (concat_name))
3689 return concat_name;
3690 XFREE (concat_name);
3691 }
3692 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
3693 }
3694 #endif
3695
3696 for (p = wrapper; *p; p++)
3697 if (*p == '/')
3698 {
3699 has_slash = 1;
3700 break;
3701 }
3702 if (!has_slash)
3703 {
3704 /* no slashes; search PATH */
3705 const char *path = getenv ("PATH");
3706 if (path != NULL)
3707 {
3708 for (p = path; *p; p = p_next)
3709 {
3710 const char *q;
3711 size_t p_len;
3712 for (q = p; *q; q++)
3713 if (IS_PATH_SEPARATOR (*q))
3714 break;
3715 p_len = q - p;
3716 p_next = (*q == '\0' ? q : q + 1);
3717 if (p_len == 0)
3718 {
3719 /* empty path: current directory */
3720 if (getcwd (tmp, LT_PATHMAX) == NULL)
3721 lt_fatal ("getcwd failed");
3722 tmp_len = strlen (tmp);
3723 concat_name =
3724 XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
3725 memcpy (concat_name, tmp, tmp_len);
3726 concat_name[tmp_len] = '/';
3727 strcpy (concat_name + tmp_len + 1, wrapper);
3728 }
3729 else
3730 {
3731 concat_name =
3732 XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
3733 memcpy (concat_name, p, p_len);
3734 concat_name[p_len] = '/';
3735 strcpy (concat_name + p_len + 1, wrapper);
3736 }
3737 if (check_executable (concat_name))
3738 return concat_name;
3739 XFREE (concat_name);
3740 }
3741 }
3742 /* not found in PATH; assume curdir */
3743 }
3744 /* Relative path | not found in path: prepend cwd */
3745 if (getcwd (tmp, LT_PATHMAX) == NULL)
3746 lt_fatal ("getcwd failed");
3747 tmp_len = strlen (tmp);
3748 concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
3749 memcpy (concat_name, tmp, tmp_len);
3750 concat_name[tmp_len] = '/';
3751 strcpy (concat_name + tmp_len + 1, wrapper);
3752
3753 if (check_executable (concat_name))
3754 return concat_name;
3755 XFREE (concat_name);
3756 return NULL;
3757 }
3758
3759 char *
3760 chase_symlinks (const char *pathspec)
3761 {
3762 #ifndef S_ISLNK
3763 return xstrdup (pathspec);
3764 #else
3765 char buf[LT_PATHMAX];
3766 struct stat s;
3767 char *tmp_pathspec = xstrdup (pathspec);
3768 char *p;
3769 int has_symlinks = 0;
3770 while (strlen (tmp_pathspec) && !has_symlinks)
3771 {
3772 LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
3773 tmp_pathspec));
3774 if (lstat (tmp_pathspec, &s) == 0)
3775 {
3776 if (S_ISLNK (s.st_mode) != 0)
3777 {
3778 has_symlinks = 1;
3779 break;
3780 }
3781
3782 /* search backwards for last DIR_SEPARATOR */
3783 p = tmp_pathspec + strlen (tmp_pathspec) - 1;
3784 while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
3785 p--;
3786 if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
3787 {
3788 /* no more DIR_SEPARATORS left */
3789 break;
3790 }
3791 *p = '\0';
3792 }
9433793 else
944 # Don't build PIC code
945 command="$base_compile $qsrcfile"
946 fi
947
948 if test ! -d "${xdir}$objdir"; then
949 $show "$mkdir ${xdir}$objdir"
950 $run $mkdir ${xdir}$objdir
951 exit_status=$?
952 if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
953 exit $exit_status
954 fi
955 fi
956
957 if test -z "$output_obj"; then
958 # Place PIC objects in $objdir
959 command="$command -o $lobj"
960 fi
961
962 $run $rm "$lobj" "$output_obj"
963
964 $show "$command"
965 if $run eval $lt_env "$command"; then :
3794 {
3795 char *errstr = strerror (errno);
3796 lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
3797 }
3798 }
3799 XFREE (tmp_pathspec);
3800
3801 if (!has_symlinks)
3802 {
3803 return xstrdup (pathspec);
3804 }
3805
3806 tmp_pathspec = realpath (pathspec, buf);
3807 if (tmp_pathspec == 0)
3808 {
3809 lt_fatal ("Could not follow symlinks for %s", pathspec);
3810 }
3811 return xstrdup (tmp_pathspec);
3812 #endif
3813 }
3814
3815 char *
3816 strendzap (char *str, const char *pat)
3817 {
3818 size_t len, patlen;
3819
3820 assert (str != NULL);
3821 assert (pat != NULL);
3822
3823 len = strlen (str);
3824 patlen = strlen (pat);
3825
3826 if (patlen <= len)
3827 {
3828 str += len - patlen;
3829 if (strcmp (str, pat) == 0)
3830 *str = '\0';
3831 }
3832 return str;
3833 }
3834
3835 static void
3836 lt_error_core (int exit_status, const char *mode,
3837 const char *message, va_list ap)
3838 {
3839 fprintf (stderr, "%s: %s: ", program_name, mode);
3840 vfprintf (stderr, message, ap);
3841 fprintf (stderr, ".\n");
3842
3843 if (exit_status >= 0)
3844 exit (exit_status);
3845 }
3846
3847 void
3848 lt_fatal (const char *message, ...)
3849 {
3850 va_list ap;
3851 va_start (ap, message);
3852 lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
3853 va_end (ap);
3854 }
3855
3856 void
3857 lt_setenv (const char *name, const char *value)
3858 {
3859 LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
3860 (name ? name : "<NULL>"),
3861 (value ? value : "<NULL>")));
3862 {
3863 #ifdef HAVE_SETENV
3864 /* always make a copy, for consistency with !HAVE_SETENV */
3865 char *str = xstrdup (value);
3866 setenv (name, str, 1);
3867 #else
3868 int len = strlen (name) + 1 + strlen (value) + 1;
3869 char *str = XMALLOC (char, len);
3870 sprintf (str, "%s=%s", name, value);
3871 if (putenv (str) != EXIT_SUCCESS)
3872 {
3873 XFREE (str);
3874 }
3875 #endif
3876 }
3877 }
3878
3879 char *
3880 lt_extend_str (const char *orig_value, const char *add, int to_end)
3881 {
3882 char *new_value;
3883 if (orig_value && *orig_value)
3884 {
3885 int orig_value_len = strlen (orig_value);
3886 int add_len = strlen (add);
3887 new_value = XMALLOC (char, add_len + orig_value_len + 1);
3888 if (to_end)
3889 {
3890 strcpy (new_value, orig_value);
3891 strcpy (new_value + orig_value_len, add);
3892 }
9663893 else
967 test -n "$output_obj" && $run $rm $removelist
968 exit $EXIT_FAILURE
969 fi
970
971 if test "$need_locks" = warn &&
972 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
973 $echo "\
974 *** ERROR, $lockfile contains:
975 `cat $lockfile 2>/dev/null`
976
977 but it should contain:
978 $srcfile
979
980 This indicates that another process is trying to use the same
981 temporary object file, and libtool could not work around it because
982 your compiler does not support \`-c' and \`-o' together. If you
983 repeat this compilation, it may succeed, by chance, but you had better
984 avoid parallel builds (make -j) in this platform, or get a better
985 compiler."
986
987 $run $rm $removelist
988 exit $EXIT_FAILURE
989 fi
990
991 # Just move the object if needed, then go on to compile the next one
992 if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
993 $show "$mv $output_obj $lobj"
994 if $run $mv $output_obj $lobj; then :
995 else
996 error=$?
997 $run $rm $removelist
998 exit $error
999 fi
1000 fi
1001
1002 # Append the name of the PIC object to the libtool object file.
1003 test -z "$run" && cat >> ${libobj}T <<EOF
1004 pic_object='$objdir/$objname'
3894 {
3895 strcpy (new_value, add);
3896 strcpy (new_value + add_len, orig_value);
3897 }
3898 }
3899 else
3900 {
3901 new_value = xstrdup (add);
3902 }
3903 return new_value;
3904 }
3905
3906 int
3907 lt_split_name_value (const char *arg, char** name, char** value)
3908 {
3909 const char *p;
3910 int len;
3911 if (!arg || !*arg)
3912 return 1;
3913
3914 p = strchr (arg, (int)'=');
3915
3916 if (!p)
3917 return 1;
3918
3919 *value = xstrdup (++p);
3920
3921 len = strlen (arg) - strlen (*value);
3922 *name = XMALLOC (char, len);
3923 strncpy (*name, arg, len-1);
3924 (*name)[len - 1] = '\0';
3925
3926 return 0;
3927 }
3928
3929 void
3930 lt_opt_process_env_set (const char *arg)
3931 {
3932 char *name = NULL;
3933 char *value = NULL;
3934
3935 if (lt_split_name_value (arg, &name, &value) != 0)
3936 {
3937 XFREE (name);
3938 XFREE (value);
3939 lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
3940 }
3941
3942 lt_setenv (name, value);
3943 XFREE (name);
3944 XFREE (value);
3945 }
3946
3947 void
3948 lt_opt_process_env_prepend (const char *arg)
3949 {
3950 char *name = NULL;
3951 char *value = NULL;
3952 char *new_value = NULL;
3953
3954 if (lt_split_name_value (arg, &name, &value) != 0)
3955 {
3956 XFREE (name);
3957 XFREE (value);
3958 lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
3959 }
3960
3961 new_value = lt_extend_str (getenv (name), value, 0);
3962 lt_setenv (name, new_value);
3963 XFREE (new_value);
3964 XFREE (name);
3965 XFREE (value);
3966 }
3967
3968 void
3969 lt_opt_process_env_append (const char *arg)
3970 {
3971 char *name = NULL;
3972 char *value = NULL;
3973 char *new_value = NULL;
3974
3975 if (lt_split_name_value (arg, &name, &value) != 0)
3976 {
3977 XFREE (name);
3978 XFREE (value);
3979 lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
3980 }
3981
3982 new_value = lt_extend_str (getenv (name), value, 1);
3983 lt_setenv (name, new_value);
3984 XFREE (new_value);
3985 XFREE (name);
3986 XFREE (value);
3987 }
3988
3989 void
3990 lt_update_exe_path (const char *name, const char *value)
3991 {
3992 LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
3993 (name ? name : "<NULL>"),
3994 (value ? value : "<NULL>")));
3995
3996 if (name && *name && value && *value)
3997 {
3998 char *new_value = lt_extend_str (getenv (name), value, 0);
3999 /* some systems can't cope with a ':'-terminated path #' */
4000 int len = strlen (new_value);
4001 while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
4002 {
4003 new_value[len-1] = '\0';
4004 }
4005 lt_setenv (name, new_value);
4006 XFREE (new_value);
4007 }
4008 }
4009
4010 void
4011 lt_update_lib_path (const char *name, const char *value)
4012 {
4013 LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
4014 (name ? name : "<NULL>"),
4015 (value ? value : "<NULL>")));
4016
4017 if (name && *name && value && *value)
4018 {
4019 char *new_value = lt_extend_str (getenv (name), value, 0);
4020 lt_setenv (name, new_value);
4021 XFREE (new_value);
4022 }
4023 }
4024
10054025
10064026 EOF
1007
1008 # Allow error messages only from the first compilation.
1009 if test "$suppress_opt" = yes; then
1010 suppress_output=' >/dev/null 2>&1'
1011 fi
1012 else
1013 # No PIC object so indicate it doesn't exist in the libtool
1014 # object file.
1015 test -z "$run" && cat >> ${libobj}T <<EOF
1016 pic_object=none
1017
1018 EOF
1019 fi
1020
1021 # Only build a position-dependent object if we build old libraries.
1022 if test "$build_old_libs" = yes; then
1023 if test "$pic_mode" != yes; then
1024 # Don't build PIC code
1025 command="$base_compile $qsrcfile"
1026 else
1027 command="$base_compile $qsrcfile $pic_flag"
1028 fi
1029 if test "$compiler_c_o" = yes; then
1030 command="$command -o $obj"
1031 fi
1032
1033 # Suppress compiler output if we already did a PIC compilation.
1034 command="$command$suppress_output"
1035 $run $rm "$obj" "$output_obj"
1036 $show "$command"
1037 if $run eval $lt_env "$command"; then :
1038 else
1039 $run $rm $removelist
1040 exit $EXIT_FAILURE
1041 fi
1042
1043 if test "$need_locks" = warn &&
1044 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1045 $echo "\
1046 *** ERROR, $lockfile contains:
1047 `cat $lockfile 2>/dev/null`
1048
1049 but it should contain:
1050 $srcfile
1051
1052 This indicates that another process is trying to use the same
1053 temporary object file, and libtool could not work around it because
1054 your compiler does not support \`-c' and \`-o' together. If you
1055 repeat this compilation, it may succeed, by chance, but you had better
1056 avoid parallel builds (make -j) in this platform, or get a better
1057 compiler."
1058
1059 $run $rm $removelist
1060 exit $EXIT_FAILURE
1061 fi
1062
1063 # Just move the object if needed
1064 if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
1065 $show "$mv $output_obj $obj"
1066 if $run $mv $output_obj $obj; then :
1067 else
1068 error=$?
1069 $run $rm $removelist
1070 exit $error
1071 fi
1072 fi
1073
1074 # Append the name of the non-PIC object the libtool object file.
1075 # Only append if the libtool object file exists.
1076 test -z "$run" && cat >> ${libobj}T <<EOF
1077 # Name of the non-PIC object.
1078 non_pic_object='$objname'
1079
1080 EOF
1081 else
1082 # Append the name of the non-PIC object the libtool object file.
1083 # Only append if the libtool object file exists.
1084 test -z "$run" && cat >> ${libobj}T <<EOF
1085 # Name of the non-PIC object.
1086 non_pic_object=none
1087
1088 EOF
1089 fi
1090
1091 $run $mv "${libobj}T" "${libobj}"
1092
1093 # Unlock the critical section if it was locked
1094 if test "$need_locks" != no; then
1095 $run $rm "$lockfile"
1096 fi
1097
1098 exit $EXIT_SUCCESS
1099 ;;
1100
1101 # libtool link mode
1102 link | relink)
1103 modename="$modename: link"
4027 }
4028 # end: func_emit_cwrapperexe_src
4029
4030 # func_mode_link arg...
4031 func_mode_link ()
4032 {
4033 $opt_debug
11044034 case $host in
1105 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
4035 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
11064036 # It is impossible to link a dll without this setting, and
11074037 # we shouldn't force the makefile maintainer to figure out
11084038 # which system we are compiling for in order to pass an extra
11204050 allow_undefined=yes
11214051 ;;
11224052 esac
1123 libtool_args="$nonopt"
4053 libtool_args=$nonopt
11244054 base_compile="$nonopt $@"
1125 compile_command="$nonopt"
1126 finalize_command="$nonopt"
4055 compile_command=$nonopt
4056 finalize_command=$nonopt
11274057
11284058 compile_rpath=
11294059 finalize_rpath=
11384068 dllsearchpath=
11394069 lib_search_path=`pwd`
11404070 inst_prefix_dir=
4071 new_inherited_linker_flags=
11414072
11424073 avoid_version=no
11434074 dlfiles=
11534084 no_install=no
11544085 objs=
11554086 non_pic_objects=
1156 notinst_path= # paths that contain not-installed libtool libraries
11574087 precious_files_regex=
11584088 prefer_static_libs=no
11594089 preload=no
11674097 thread_safe=no
11684098 vinfo=
11694099 vinfo_number=no
4100 weak_libs=
11704101 single_module="${wl}-single_module"
1171
11724102 func_infer_tag $base_compile
11734103
11744104 # We need to know -static, to get the right output filenames.
11754105 for arg
11764106 do
11774107 case $arg in
4108 -shared)
4109 test "$build_libtool_libs" != yes && \
4110 func_fatal_configuration "can not build a shared library"
4111 build_old_libs=no
4112 break
4113 ;;
11784114 -all-static | -static | -static-libtool-libs)
11794115 case $arg in
11804116 -all-static)
11814117 if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
1182 $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
4118 func_warning "complete static linking is impossible in this configuration"
11834119 fi
11844120 if test -n "$link_static_flag"; then
11854121 dlopen_self=$dlopen_self_static
12134149 while test "$#" -gt 0; do
12144150 arg="$1"
12154151 shift
1216 case $arg in
1217 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1218 qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
1219 ;;
1220 *) qarg=$arg ;;
1221 esac
1222 libtool_args="$libtool_args $qarg"
4152 func_quote_for_eval "$arg"
4153 qarg=$func_quote_for_eval_unquoted_result
4154 func_append libtool_args " $func_quote_for_eval_result"
12234155
12244156 # If the previous option needs an argument, assign it.
12254157 if test -n "$prev"; then
12264158 case $prev in
12274159 output)
1228 compile_command="$compile_command @OUTPUT@"
1229 finalize_command="$finalize_command @OUTPUT@"
4160 func_append compile_command " @OUTPUT@"
4161 func_append finalize_command " @OUTPUT@"
12304162 ;;
12314163 esac
12324164
12344166 dlfiles|dlprefiles)
12354167 if test "$preload" = no; then
12364168 # Add the symbol object into the linking commands.
1237 compile_command="$compile_command @SYMFILE@"
1238 finalize_command="$finalize_command @SYMFILE@"
4169 func_append compile_command " @SYMFILE@"
4170 func_append finalize_command " @SYMFILE@"
12394171 preload=yes
12404172 fi
12414173 case $arg in
12734205 ;;
12744206 expsyms)
12754207 export_symbols="$arg"
1276 if test ! -f "$arg"; then
1277 $echo "$modename: symbol file \`$arg' does not exist"
1278 exit $EXIT_FAILURE
1279 fi
4208 test -f "$arg" \
4209 || func_fatal_error "symbol file \`$arg' does not exist"
12804210 prev=
12814211 continue
12824212 ;;
12854215 prev=
12864216 continue
12874217 ;;
4218 framework)
4219 case $host in
4220 *-*-darwin*)
4221 case "$deplibs " in
4222 *" $qarg.ltframework "*) ;;
4223 *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
4224 ;;
4225 esac
4226 ;;
4227 esac
4228 prev=
4229 continue
4230 ;;
12884231 inst_prefix)
12894232 inst_prefix_dir="$arg"
4233 prev=
4234 continue
4235 ;;
4236 objectlist)
4237 if test -f "$arg"; then
4238 save_arg=$arg
4239 moreargs=
4240 for fil in `cat "$save_arg"`
4241 do
4242 # moreargs="$moreargs $fil"
4243 arg=$fil
4244 # A libtool-controlled object.
4245
4246 # Check to see that this really is a libtool object.
4247 if func_lalib_unsafe_p "$arg"; then
4248 pic_object=
4249 non_pic_object=
4250
4251 # Read the .lo file
4252 func_source "$arg"
4253
4254 if test -z "$pic_object" ||
4255 test -z "$non_pic_object" ||
4256 test "$pic_object" = none &&
4257 test "$non_pic_object" = none; then
4258 func_fatal_error "cannot find name of object for \`$arg'"
4259 fi
4260
4261 # Extract subdirectory from the argument.
4262 func_dirname "$arg" "/" ""
4263 xdir="$func_dirname_result"
4264
4265 if test "$pic_object" != none; then
4266 # Prepend the subdirectory the object is found in.
4267 pic_object="$xdir$pic_object"
4268
4269 if test "$prev" = dlfiles; then
4270 if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
4271 dlfiles="$dlfiles $pic_object"
4272 prev=
4273 continue
4274 else
4275 # If libtool objects are unsupported, then we need to preload.
4276 prev=dlprefiles
4277 fi
4278 fi
4279
4280 # CHECK ME: I think I busted this. -Ossama
4281 if test "$prev" = dlprefiles; then
4282 # Preload the old-style object.
4283 dlprefiles="$dlprefiles $pic_object"
4284 prev=
4285 fi
4286
4287 # A PIC object.
4288 func_append libobjs " $pic_object"
4289 arg="$pic_object"
4290 fi
4291
4292 # Non-PIC object.
4293 if test "$non_pic_object" != none; then
4294 # Prepend the subdirectory the object is found in.
4295 non_pic_object="$xdir$non_pic_object"
4296
4297 # A standard non-PIC object
4298 func_append non_pic_objects " $non_pic_object"
4299 if test -z "$pic_object" || test "$pic_object" = none ; then
4300 arg="$non_pic_object"
4301 fi
4302 else
4303 # If the PIC object exists, use it instead.
4304 # $xdir was prepended to $pic_object above.
4305 non_pic_object="$pic_object"
4306 func_append non_pic_objects " $non_pic_object"
4307 fi
4308 else
4309 # Only an error if not doing a dry-run.
4310 if $opt_dry_run; then
4311 # Extract subdirectory from the argument.
4312 func_dirname "$arg" "/" ""
4313 xdir="$func_dirname_result"
4314
4315 func_lo2o "$arg"
4316 pic_object=$xdir$objdir/$func_lo2o_result
4317 non_pic_object=$xdir$func_lo2o_result
4318 func_append libobjs " $pic_object"
4319 func_append non_pic_objects " $non_pic_object"
4320 else
4321 func_fatal_error "\`$arg' is not a valid libtool object"
4322 fi
4323 fi
4324 done
4325 else
4326 func_fatal_error "link input file \`$arg' does not exist"
4327 fi
4328 arg=$save_arg
12904329 prev=
12914330 continue
12924331 ;;
13004339 prev=
13014340 continue
13024341 ;;
1303 objectlist)
1304 if test -f "$arg"; then
1305 save_arg=$arg
1306 moreargs=
1307 for fil in `cat $save_arg`
1308 do
1309 # moreargs="$moreargs $fil"
1310 arg=$fil
1311 # A libtool-controlled object.
1312
1313 # Check to see that this really is a libtool object.
1314 if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
1315 pic_object=
1316 non_pic_object=
1317
1318 # Read the .lo file
1319 # If there is no directory component, then add one.
1320 case $arg in
1321 */* | *\\*) . $arg ;;
1322 *) . ./$arg ;;
1323 esac
1324
1325 if test -z "$pic_object" || \
1326 test -z "$non_pic_object" ||
1327 test "$pic_object" = none && \
1328 test "$non_pic_object" = none; then
1329 $echo "$modename: cannot find name of object for \`$arg'" 1>&2
1330 exit $EXIT_FAILURE
1331 fi
1332
1333 # Extract subdirectory from the argument.
1334 xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1335 if test "X$xdir" = "X$arg"; then
1336 xdir=
1337 else
1338 xdir="$xdir/"
1339 fi
1340
1341 if test "$pic_object" != none; then
1342 # Prepend the subdirectory the object is found in.
1343 pic_object="$xdir$pic_object"
1344
1345 if test "$prev" = dlfiles; then
1346 if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
1347 dlfiles="$dlfiles $pic_object"
1348 prev=
1349 continue
1350 else
1351 # If libtool objects are unsupported, then we need to preload.
1352 prev=dlprefiles
1353 fi
1354 fi
1355
1356 # CHECK ME: I think I busted this. -Ossama
1357 if test "$prev" = dlprefiles; then
1358 # Preload the old-style object.
1359 dlprefiles="$dlprefiles $pic_object"
1360 prev=
1361 fi
1362
1363 # A PIC object.
1364 libobjs="$libobjs $pic_object"
1365 arg="$pic_object"
1366 fi
1367
1368 # Non-PIC object.
1369 if test "$non_pic_object" != none; then
1370 # Prepend the subdirectory the object is found in.
1371 non_pic_object="$xdir$non_pic_object"
1372
1373 # A standard non-PIC object
1374 non_pic_objects="$non_pic_objects $non_pic_object"
1375 if test -z "$pic_object" || test "$pic_object" = none ; then
1376 arg="$non_pic_object"
1377 fi
1378 else
1379 # If the PIC object exists, use it instead.
1380 # $xdir was prepended to $pic_object above.
1381 non_pic_object="$pic_object"
1382 non_pic_objects="$non_pic_objects $non_pic_object"
1383 fi
1384 else
1385 # Only an error if not doing a dry-run.
1386 if test -z "$run"; then
1387 $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
1388 exit $EXIT_FAILURE
1389 else
1390 # Dry-run case.
1391
1392 # Extract subdirectory from the argument.
1393 xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1394 if test "X$xdir" = "X$arg"; then
1395 xdir=
1396 else
1397 xdir="$xdir/"
1398 fi
1399
1400 pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
1401 non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
1402 libobjs="$libobjs $pic_object"
1403 non_pic_objects="$non_pic_objects $non_pic_object"
1404 fi
1405 fi
1406 done
1407 else
1408 $echo "$modename: link input file \`$save_arg' does not exist"
1409 exit $EXIT_FAILURE
1410 fi
1411 arg=$save_arg
1412 prev=
1413 continue
1414 ;;
14154342 rpath | xrpath)
14164343 # We need an absolute path.
14174344 case $arg in
14184345 [\\/]* | [A-Za-z]:[\\/]*) ;;
14194346 *)
1420 $echo "$modename: only absolute run-paths are allowed" 1>&2
1421 exit $EXIT_FAILURE
4347 func_fatal_error "only absolute run-paths are allowed"
14224348 ;;
14234349 esac
14244350 if test "$prev" = rpath; then
14354361 prev=
14364362 continue
14374363 ;;
4364 shrext)
4365 shrext_cmds="$arg"
4366 prev=
4367 continue
4368 ;;
4369 weak)
4370 weak_libs="$weak_libs $arg"
4371 prev=
4372 continue
4373 ;;
4374 xcclinker)
4375 linker_flags="$linker_flags $qarg"
4376 compiler_flags="$compiler_flags $qarg"
4377 prev=
4378 func_append compile_command " $qarg"
4379 func_append finalize_command " $qarg"
4380 continue
4381 ;;
14384382 xcompiler)
14394383 compiler_flags="$compiler_flags $qarg"
14404384 prev=
1441 compile_command="$compile_command $qarg"
1442 finalize_command="$finalize_command $qarg"
4385 func_append compile_command " $qarg"
4386 func_append finalize_command " $qarg"
14434387 continue
14444388 ;;
14454389 xlinker)
14464390 linker_flags="$linker_flags $qarg"
14474391 compiler_flags="$compiler_flags $wl$qarg"
14484392 prev=
1449 compile_command="$compile_command $wl$qarg"
1450 finalize_command="$finalize_command $wl$qarg"
1451 continue
1452 ;;
1453 xcclinker)
1454 linker_flags="$linker_flags $qarg"
1455 compiler_flags="$compiler_flags $qarg"
1456 prev=
1457 compile_command="$compile_command $qarg"
1458 finalize_command="$finalize_command $qarg"
1459 continue
1460 ;;
1461 shrext)
1462 shrext_cmds="$arg"
1463 prev=
1464 continue
1465 ;;
1466 darwin_framework|darwin_framework_skip)
1467 test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
1468 compile_command="$compile_command $arg"
1469 finalize_command="$finalize_command $arg"
1470 prev=
4393 func_append compile_command " $wl$qarg"
4394 func_append finalize_command " $wl$qarg"
14714395 continue
14724396 ;;
14734397 *)
14834407 case $arg in
14844408 -all-static)
14854409 if test -n "$link_static_flag"; then
1486 compile_command="$compile_command $link_static_flag"
1487 finalize_command="$finalize_command $link_static_flag"
4410 # See comment for -static flag below, for more details.
4411 func_append compile_command " $link_static_flag"
4412 func_append finalize_command " $link_static_flag"
14884413 fi
14894414 continue
14904415 ;;
14914416
14924417 -allow-undefined)
14934418 # FIXME: remove this flag sometime in the future.
1494 $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
1495 continue
4419 func_fatal_error "\`-allow-undefined' must not be used because it is the default"
14964420 ;;
14974421
14984422 -avoid-version)
15174441
15184442 -export-symbols | -export-symbols-regex)
15194443 if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
1520 $echo "$modename: more than one -exported-symbols argument is not allowed"
1521 exit $EXIT_FAILURE
4444 func_fatal_error "more than one -exported-symbols argument is not allowed"
15224445 fi
15234446 if test "X$arg" = "X-export-symbols"; then
15244447 prev=expsyms
15284451 continue
15294452 ;;
15304453
1531 -framework|-arch|-isysroot)
1532 case " $CC " in
1533 *" ${arg} ${1} "* | *" ${arg} ${1} "*)
1534 prev=darwin_framework_skip ;;
1535 *) compiler_flags="$compiler_flags $arg"
1536 prev=darwin_framework ;;
1537 esac
1538 compile_command="$compile_command $arg"
1539 finalize_command="$finalize_command $arg"
4454 -framework)
4455 prev=framework
15404456 continue
15414457 ;;
15424458
15504466 -L[A-Z][A-Z]*:*)
15514467 case $with_gcc/$host in
15524468 no/*-*-irix* | /*-*-irix*)
1553 compile_command="$compile_command $arg"
1554 finalize_command="$finalize_command $arg"
4469 func_append compile_command " $arg"
4470 func_append finalize_command " $arg"
15554471 ;;
15564472 esac
15574473 continue
15584474 ;;
15594475
15604476 -L*)
1561 dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
4477 func_stripname '-L' '' "$arg"
4478 dir=$func_stripname_result
4479 if test -z "$dir"; then
4480 if test "$#" -gt 0; then
4481 func_fatal_error "require no space between \`-L' and \`$1'"
4482 else
4483 func_fatal_error "need path for \`-L' option"
4484 fi
4485 fi
15624486 # We need an absolute path.
15634487 case $dir in
15644488 [\\/]* | [A-Za-z]:[\\/]*) ;;
15654489 *)
15664490 absdir=`cd "$dir" && pwd`
1567 if test -z "$absdir"; then
1568 $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
1569 absdir="$dir"
1570 notinst_path="$notinst_path $dir"
1571 fi
4491 test -z "$absdir" && \
4492 func_fatal_error "cannot determine absolute directory name of \`$dir'"
15724493 dir="$absdir"
15734494 ;;
15744495 esac
15804501 ;;
15814502 esac
15824503 case $host in
1583 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
1584 testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
4504 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
4505 testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
15854506 case :$dllsearchpath: in
15864507 *":$dir:"*) ;;
4508 ::) dllsearchpath=$dir;;
15874509 *) dllsearchpath="$dllsearchpath:$dir";;
15884510 esac
15894511 case :$dllsearchpath: in
15904512 *":$testbindir:"*) ;;
4513 ::) dllsearchpath=$testbindir;;
15914514 *) dllsearchpath="$dllsearchpath:$testbindir";;
15924515 esac
15934516 ;;
15984521 -l*)
15994522 if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
16004523 case $host in
1601 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
4524 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
16024525 # These systems don't actually have a C or math library (as such)
16034526 continue
16044527 ;;
16124535 ;;
16134536 *-*-rhapsody* | *-*-darwin1.[012])
16144537 # Rhapsody C and math libraries are in the System framework
1615 deplibs="$deplibs -framework System"
4538 deplibs="$deplibs System.ltframework"
16164539 continue
16174540 ;;
16184541 *-*-sco3.2v5* | *-*-sco5v6*)
16364559 continue
16374560 ;;
16384561
4562 -module)
4563 module=yes
4564 continue
4565 ;;
4566
16394567 # Tru64 UNIX uses -model [arg] to determine the layout of C++
16404568 # classes, name mangling, and exception handling.
1641 -model)
1642 compile_command="$compile_command $arg"
4569 # Darwin uses the -arch flag to determine output architecture.
4570 -model|-arch|-isysroot)
16434571 compiler_flags="$compiler_flags $arg"
1644 finalize_command="$finalize_command $arg"
4572 func_append compile_command " $arg"
4573 func_append finalize_command " $arg"
16454574 prev=xcompiler
16464575 continue
16474576 ;;
16484577
1649 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
4578 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
16504579 compiler_flags="$compiler_flags $arg"
1651 compile_command="$compile_command $arg"
1652 finalize_command="$finalize_command $arg"
4580 func_append compile_command " $arg"
4581 func_append finalize_command " $arg"
4582 case "$new_inherited_linker_flags " in
4583 *" $arg "*) ;;
4584 * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
4585 esac
16534586 continue
16544587 ;;
16554588
16584591 continue
16594592 ;;
16604593
1661 -module)
1662 module=yes
1663 continue
1664 ;;
1665
1666 # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
1667 # -r[0-9][0-9]* specifies the processor on the SGI compiler
1668 # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
1669 # +DA*, +DD* enable 64-bit mode on the HP compiler
1670 # -q* pass through compiler args for the IBM compiler
1671 # -m* pass through architecture-specific compiler args for GCC
1672 # -m*, -t[45]*, -txscale* pass through architecture-specific
1673 # compiler args for GCC
1674 # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
1675 # -F/path gives path to uninstalled frameworks, gcc on darwin
1676 # @file GCC response files
1677 -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
1678 -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
1679
1680 # Unknown arguments in both finalize_command and compile_command need
1681 # to be aesthetically quoted because they are evaled later.
1682 arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1683 case $arg in
1684 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1685 arg="\"$arg\""
1686 ;;
1687 esac
1688 compile_command="$compile_command $arg"
1689 finalize_command="$finalize_command $arg"
1690 compiler_flags="$compiler_flags $arg"
1691 continue
1692 ;;
1693
1694 -shrext)
1695 prev=shrext
1696 continue
1697 ;;
1698
16994594 -no-fast-install)
17004595 fast_install=no
17014596 continue
17034598
17044599 -no-install)
17054600 case $host in
1706 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
4601 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
17074602 # The PATH hackery in wrapper scripts is required on Windows
17084603 # and Darwin in order for the loader to find any dlls it needs.
1709 $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
1710 $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
4604 func_warning "\`-no-install' is ignored for $host"
4605 func_warning "assuming \`-no-fast-install' instead"
17114606 fast_install=no
17124607 ;;
17134608 *) no_install=yes ;;
17484643 ;;
17494644
17504645 -R*)
1751 dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
4646 func_stripname '-R' '' "$arg"
4647 dir=$func_stripname_result
17524648 # We need an absolute path.
17534649 case $dir in
17544650 [\\/]* | [A-Za-z]:[\\/]*) ;;
17554651 *)
1756 $echo "$modename: only absolute run-paths are allowed" 1>&2
1757 exit $EXIT_FAILURE
4652 func_fatal_error "only absolute run-paths are allowed"
17584653 ;;
17594654 esac
17604655 case "$xrpath " in
17644659 continue
17654660 ;;
17664661
4662 -shared)
4663 # The effects of -shared are defined in a previous loop.
4664 continue
4665 ;;
4666
4667 -shrext)
4668 prev=shrext
4669 continue
4670 ;;
4671
17674672 -static | -static-libtool-libs)
17684673 # The effects of -static are defined in a previous loop.
17694674 # We used to do the same as -all-static on platforms that
17824687 prev=vinfo
17834688 continue
17844689 ;;
4690
17854691 -version-number)
17864692 prev=vinfo
17874693 vinfo_number=yes
17884694 continue
17894695 ;;
17904696
4697 -weak)
4698 prev=weak
4699 continue
4700 ;;
4701
17914702 -Wc,*)
1792 args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
4703 func_stripname '-Wc,' '' "$arg"
4704 args=$func_stripname_result
17934705 arg=
17944706 save_ifs="$IFS"; IFS=','
17954707 for flag in $args; do
17964708 IFS="$save_ifs"
1797 case $flag in
1798 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1799 flag="\"$flag\""
1800 ;;
1801 esac
1802 arg="$arg $wl$flag"
1803 compiler_flags="$compiler_flags $flag"
4709 func_quote_for_eval "$flag"
4710 arg="$arg $wl$func_quote_for_eval_result"
4711 compiler_flags="$compiler_flags $func_quote_for_eval_result"
18044712 done
18054713 IFS="$save_ifs"
1806 arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
4714 func_stripname ' ' '' "$arg"
4715 arg=$func_stripname_result
18074716 ;;
18084717
18094718 -Wl,*)
1810 args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
4719 func_stripname '-Wl,' '' "$arg"
4720 args=$func_stripname_result
18114721 arg=
18124722 save_ifs="$IFS"; IFS=','
18134723 for flag in $args; do
18144724 IFS="$save_ifs"
1815 case $flag in
1816 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1817 flag="\"$flag\""
1818 ;;
1819 esac
1820 arg="$arg $wl$flag"
1821 compiler_flags="$compiler_flags $wl$flag"
1822 linker_flags="$linker_flags $flag"
4725 func_quote_for_eval "$flag"
4726 arg="$arg $wl$func_quote_for_eval_result"
4727 compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
4728 linker_flags="$linker_flags $func_quote_for_eval_result"
18234729 done
18244730 IFS="$save_ifs"
1825 arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
4731 func_stripname ' ' '' "$arg"
4732 arg=$func_stripname_result
18264733 ;;
18274734
18284735 -Xcompiler)
18404747 continue
18414748 ;;
18424749
4750 # -msg_* for osf cc
4751 -msg_*)
4752 func_quote_for_eval "$arg"
4753 arg="$func_quote_for_eval_result"
4754 ;;
4755
4756 # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
4757 # -r[0-9][0-9]* specifies the processor on the SGI compiler
4758 # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
4759 # +DA*, +DD* enable 64-bit mode on the HP compiler
4760 # -q* pass through compiler args for the IBM compiler
4761 # -m*, -t[45]*, -txscale* pass through architecture-specific
4762 # compiler args for GCC
4763 # -F/path gives path to uninstalled frameworks, gcc on darwin
4764 # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
4765 # @file GCC response files
4766 -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
4767 -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
4768 func_quote_for_eval "$arg"
4769 arg="$func_quote_for_eval_result"
4770 func_append compile_command " $arg"
4771 func_append finalize_command " $arg"
4772 compiler_flags="$compiler_flags $arg"
4773 continue
4774 ;;
4775
18434776 # Some other compiler flag.
18444777 -* | +*)
1845 # Unknown arguments in both finalize_command and compile_command need
1846 # to be aesthetically quoted because they are evaled later.
1847 arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1848 case $arg in
1849 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1850 arg="\"$arg\""
1851 ;;
1852 esac
4778 func_quote_for_eval "$arg"
4779 arg="$func_quote_for_eval_result"
18534780 ;;
18544781
18554782 *.$objext)
18614788 # A libtool-controlled object.
18624789
18634790 # Check to see that this really is a libtool object.
1864 if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
4791 if func_lalib_unsafe_p "$arg"; then
18654792 pic_object=
18664793 non_pic_object=
18674794
18684795 # Read the .lo file
1869 # If there is no directory component, then add one.
1870 case $arg in
1871 */* | *\\*) . $arg ;;
1872 *) . ./$arg ;;
1873 esac
1874
1875 if test -z "$pic_object" || \
4796 func_source "$arg"
4797
4798 if test -z "$pic_object" ||
18764799 test -z "$non_pic_object" ||
1877 test "$pic_object" = none && \
4800 test "$pic_object" = none &&
18784801 test "$non_pic_object" = none; then
1879 $echo "$modename: cannot find name of object for \`$arg'" 1>&2
1880 exit $EXIT_FAILURE
4802 func_fatal_error "cannot find name of object for \`$arg'"
18814803 fi
18824804
18834805 # Extract subdirectory from the argument.
1884 xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1885 if test "X$xdir" = "X$arg"; then
1886 xdir=
1887 else
1888 xdir="$xdir/"
1889 fi
4806 func_dirname "$arg" "/" ""
4807 xdir="$func_dirname_result"
18904808
18914809 if test "$pic_object" != none; then
18924810 # Prepend the subdirectory the object is found in.
19114829 fi
19124830
19134831 # A PIC object.
1914 libobjs="$libobjs $pic_object"
4832 func_append libobjs " $pic_object"
19154833 arg="$pic_object"
19164834 fi
19174835
19214839 non_pic_object="$xdir$non_pic_object"
19224840
19234841 # A standard non-PIC object
1924 non_pic_objects="$non_pic_objects $non_pic_object"
4842 func_append non_pic_objects " $non_pic_object"
19254843 if test -z "$pic_object" || test "$pic_object" = none ; then
19264844 arg="$non_pic_object"
19274845 fi
19294847 # If the PIC object exists, use it instead.
19304848 # $xdir was prepended to $pic_object above.
19314849 non_pic_object="$pic_object"
1932 non_pic_objects="$non_pic_objects $non_pic_object"
4850 func_append non_pic_objects " $non_pic_object"
19334851 fi
19344852 else
19354853 # Only an error if not doing a dry-run.
1936 if test -z "$run"; then
1937 $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
1938 exit $EXIT_FAILURE
4854 if $opt_dry_run; then
4855 # Extract subdirectory from the argument.
4856 func_dirname "$arg" "/" ""
4857 xdir="$func_dirname_result"
4858
4859 func_lo2o "$arg"
4860 pic_object=$xdir$objdir/$func_lo2o_result
4861 non_pic_object=$xdir$func_lo2o_result
4862 func_append libobjs " $pic_object"
4863 func_append non_pic_objects " $non_pic_object"
19394864 else
1940 # Dry-run case.
1941
1942 # Extract subdirectory from the argument.
1943 xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
1944 if test "X$xdir" = "X$arg"; then
1945 xdir=
1946 else
1947 xdir="$xdir/"
1948 fi
1949
1950 pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
1951 non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
1952 libobjs="$libobjs $pic_object"
1953 non_pic_objects="$non_pic_objects $non_pic_object"
4865 func_fatal_error "\`$arg' is not a valid libtool object"
19544866 fi
19554867 fi
19564868 ;;
19834895 *)
19844896 # Unknown arguments in both finalize_command and compile_command need
19854897 # to be aesthetically quoted because they are evaled later.
1986 arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
1987 case $arg in
1988 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
1989 arg="\"$arg\""
1990 ;;
1991 esac
4898 func_quote_for_eval "$arg"
4899 arg="$func_quote_for_eval_result"
19924900 ;;
19934901 esac # arg
19944902
19954903 # Now actually substitute the argument into the commands.
19964904 if test -n "$arg"; then
1997 compile_command="$compile_command $arg"
1998 finalize_command="$finalize_command $arg"
4905 func_append compile_command " $arg"
4906 func_append finalize_command " $arg"
19994907 fi
20004908 done # argument parsing loop
20014909
2002 if test -n "$prev"; then
2003 $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
2004 $echo "$help" 1>&2
2005 exit $EXIT_FAILURE
2006 fi
4910 test -n "$prev" && \
4911 func_fatal_help "the \`$prevarg' option requires an argument"
20074912
20084913 if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
20094914 eval arg=\"$export_dynamic_flag_spec\"
2010 compile_command="$compile_command $arg"
2011 finalize_command="$finalize_command $arg"
4915 func_append compile_command " $arg"
4916 func_append finalize_command " $arg"
20124917 fi
20134918
20144919 oldlibs=
20154920 # calculate the name of the file, without its directory
2016 outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
4921 func_basename "$output"
4922 outputname="$func_basename_result"
20174923 libobjs_save="$libobjs"
20184924
20194925 if test -n "$shlibpath_var"; then
20204926 # get the directories listed in $shlibpath_var
2021 eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
4927 eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
20224928 else
20234929 shlib_search_path=
20244930 fi
20254931 eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
20264932 eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
20274933
2028 output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
2029 if test "X$output_objdir" = "X$output"; then
2030 output_objdir="$objdir"
2031 else
2032 output_objdir="$output_objdir/$objdir"
2033 fi
4934 func_dirname "$output" "/" ""
4935 output_objdir="$func_dirname_result$objdir"
20344936 # Create the object directory.
2035 if test ! -d "$output_objdir"; then
2036 $show "$mkdir $output_objdir"
2037 $run $mkdir $output_objdir
2038 exit_status=$?
2039 if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
2040 exit $exit_status
2041 fi
2042 fi
4937 func_mkdir_p "$output_objdir"
20434938
20444939 # Determine the type of output
20454940 case $output in
20464941 "")
2047 $echo "$modename: you must specify an output file" 1>&2
2048 $echo "$help" 1>&2
2049 exit $EXIT_FAILURE
4942 func_fatal_help "you must specify an output file"
20504943 ;;
20514944 *.$libext) linkmode=oldlib ;;
20524945 *.lo | *.$objext) linkmode=obj ;;
20544947 *) linkmode=prog ;; # Anything else should be a program.
20554948 esac
20564949
2057 case $host in
2058 *cygwin* | *mingw* | *pw32*)
2059 # don't eliminate duplications in $postdeps and $predeps
2060 duplicate_compiler_generated_deps=yes
2061 ;;
2062 *)
2063 duplicate_compiler_generated_deps=$duplicate_deps
2064 ;;
2065 esac
20664950 specialdeplibs=
20674951
20684952 libs=
20694953 # Find all interdependent deplibs by searching for libraries
20704954 # that are linked more than once (e.g. -la -lb -la)
20714955 for deplib in $deplibs; do
2072 if test "X$duplicate_deps" = "Xyes" ; then
4956 if $opt_duplicate_deps ; then
20734957 case "$libs " in
20744958 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
20754959 esac
20844968 # $postdeps and mark them as special (i.e., whose duplicates are
20854969 # not to be eliminated).
20864970 pre_post_deps=
2087 if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
4971 if $opt_duplicate_compiler_generated_deps; then
20884972 for pre_post_dep in $predeps $postdeps; do
20894973 case "$pre_post_deps " in
20904974 *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
21004984 newlib_search_path=
21014985 need_relink=no # whether we're linking any uninstalled libtool libraries
21024986 notinst_deplibs= # not-installed libtool libraries
4987 notinst_path= # paths that contain not-installed libtool libraries
4988
21034989 case $linkmode in
21044990 lib)
2105 passes="conv link"
4991 passes="conv dlpreopen link"
21064992 for file in $dlfiles $dlprefiles; do
21074993 case $file in
21084994 *.la) ;;
21094995 *)
2110 $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
2111 exit $EXIT_FAILURE
4996 func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
21124997 ;;
21134998 esac
21144999 done
21245009 *) passes="conv"
21255010 ;;
21265011 esac
5012
21275013 for pass in $passes; do
5014 # The preopen pass in lib mode reverses $deplibs; put it back here
5015 # so that -L comes before libs that need it for instance...
5016 if test "$linkmode,$pass" = "lib,link"; then
5017 ## FIXME: Find the place where the list is rebuilt in the wrong
5018 ## order, and fix it there properly
5019 tmp_deplibs=
5020 for deplib in $deplibs; do
5021 tmp_deplibs="$deplib $tmp_deplibs"
5022 done
5023 deplibs="$tmp_deplibs"
5024 fi
5025
21285026 if test "$linkmode,$pass" = "lib,link" ||
21295027 test "$linkmode,$pass" = "prog,scan"; then
21305028 libs="$deplibs"
21375035 link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
21385036 esac
21395037 fi
5038 if test "$linkmode,$pass" = "lib,dlpreopen"; then
5039 # Collect and forward deplibs of preopened libtool libs
5040 for lib in $dlprefiles; do
5041 # Ignore non-libtool-libs
5042 dependency_libs=
5043 case $lib in
5044 *.la) func_source "$lib" ;;
5045 esac
5046
5047 # Collect preopened libtool deplibs, except any this library
5048 # has declared as weak libs
5049 for deplib in $dependency_libs; do
5050 deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
5051 case " $weak_libs " in
5052 *" $deplib_base "*) ;;
5053 *) deplibs="$deplibs $deplib" ;;
5054 esac
5055 done
5056 done
5057 libs="$dlprefiles"
5058 fi
21405059 if test "$pass" = dlopen; then
21415060 # Collect dlpreopened libraries
21425061 save_deplibs="$deplibs"
21435062 deplibs=
21445063 fi
5064
21455065 for deplib in $libs; do
21465066 lib=
21475067 found=no
21525072 finalize_deplibs="$deplib $finalize_deplibs"
21535073 else
21545074 compiler_flags="$compiler_flags $deplib"
5075 if test "$linkmode" = lib ; then
5076 case "$new_inherited_linker_flags " in
5077 *" $deplib "*) ;;
5078 * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
5079 esac
5080 fi
21555081 fi
21565082 continue
21575083 ;;
21585084 -l*)
21595085 if test "$linkmode" != lib && test "$linkmode" != prog; then
2160 $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
5086 func_warning "\`-l' is ignored for archives/objects"
21615087 continue
21625088 fi
2163 name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
5089 func_stripname '-l' '' "$deplib"
5090 name=$func_stripname_result
21645091 if test "$linkmode" = lib; then
21655092 searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
21665093 else
21965123 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
21975124 case " $predeps $postdeps " in
21985125 *" $deplib "*)
2199 if (${SED} -e '2q' $lib |
2200 grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
5126 if func_lalib_p "$lib"; then
22015127 library_names=
22025128 old_library=
2203 case $lib in
2204 */* | *\\*) . $lib ;;
2205 *) . ./$lib ;;
2206 esac
5129 func_source "$lib"
22075130 for l in $old_library $library_names; do
22085131 ll="$l"
22095132 done
22105133 if test "X$ll" = "X$old_library" ; then # only static version available
22115134 found=no
2212 ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
2213 test "X$ladir" = "X$lib" && ladir="."
5135 func_dirname "$lib" "" "."
5136 ladir="$func_dirname_result"
22145137 lib=$ladir/$old_library
22155138 if test "$linkmode,$pass" = "prog,link"; then
22165139 compile_deplibs="$deplib $compile_deplibs"
22225145 continue
22235146 fi
22245147 fi
2225 ;;
5148 ;;
22265149 *) ;;
22275150 esac
22285151 fi
22295152 fi
22305153 ;; # -l
5154 *.ltframework)
5155 if test "$linkmode,$pass" = "prog,link"; then
5156 compile_deplibs="$deplib $compile_deplibs"
5157 finalize_deplibs="$deplib $finalize_deplibs"
5158 else
5159 deplibs="$deplib $deplibs"
5160 if test "$linkmode" = lib ; then
5161 case "$new_inherited_linker_flags " in
5162 *" $deplib "*) ;;
5163 * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
5164 esac
5165 fi
5166 fi
5167 continue
5168 ;;
22315169 -L*)
22325170 case $linkmode in
22335171 lib)
22345172 deplibs="$deplib $deplibs"
22355173 test "$pass" = conv && continue
22365174 newdependency_libs="$deplib $newdependency_libs"
2237 newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
5175 func_stripname '-L' '' "$deplib"
5176 newlib_search_path="$newlib_search_path $func_stripname_result"
22385177 ;;
22395178 prog)
22405179 if test "$pass" = conv; then
22475186 compile_deplibs="$deplib $compile_deplibs"
22485187 finalize_deplibs="$deplib $finalize_deplibs"
22495188 fi
2250 newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
5189 func_stripname '-L' '' "$deplib"
5190 newlib_search_path="$newlib_search_path $func_stripname_result"
22515191 ;;
22525192 *)
2253 $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
5193 func_warning "\`-L' is ignored for archives/objects"
22545194 ;;
22555195 esac # linkmode
22565196 continue
22575197 ;; # -L
22585198 -R*)
22595199 if test "$pass" = link; then
2260 dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
5200 func_stripname '-R' '' "$deplib"
5201 dir=$func_stripname_result
22615202 # Make sure the xrpath contains only unique directories.
22625203 case "$xrpath " in
22635204 *" $dir "*) ;;
22755216 fi
22765217 case $linkmode in
22775218 lib)
2278 valid_a_lib=no
2279 case $deplibs_check_method in
2280 match_pattern*)
2281 set dummy $deplibs_check_method
2282 match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
2283 if eval $echo \"$deplib\" 2>/dev/null \
2284 | $SED 10q \
5219 # Linking convenience modules into shared libraries is allowed,
5220 # but linking other static libraries is non-portable.
5221 case " $dlpreconveniencelibs " in
5222 *" $deplib "*) ;;
5223 *)
5224 valid_a_lib=no
5225 case $deplibs_check_method in
5226 match_pattern*)
5227 set dummy $deplibs_check_method; shift
5228 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
5229 if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
22855230 | $EGREP "$match_pattern_regex" > /dev/null; then
5231 valid_a_lib=yes
5232 fi
5233 ;;
5234 pass_all)
22865235 valid_a_lib=yes
2287 fi
22885236 ;;
2289 pass_all)
2290 valid_a_lib=yes
2291 ;;
2292 esac
2293 if test "$valid_a_lib" != yes; then
2294 $echo
2295 $echo "*** Warning: Trying to link with static lib archive $deplib."
2296 $echo "*** I have the capability to make that library automatically link in when"
2297 $echo "*** you link to this library. But I can only do this if you have a"
2298 $echo "*** shared version of the library, which you do not appear to have"
2299 $echo "*** because the file extensions .$libext of this argument makes me believe"
2300 $echo "*** that it is just a static archive that I should not used here."
2301 else
2302 $echo
2303 $echo "*** Warning: Linking the shared library $output against the"
2304 $echo "*** static library $deplib is not portable!"
2305 deplibs="$deplib $deplibs"
2306 fi
5237 esac
5238 if test "$valid_a_lib" != yes; then
5239 $ECHO
5240 $ECHO "*** Warning: Trying to link with static lib archive $deplib."
5241 $ECHO "*** I have the capability to make that library automatically link in when"
5242 $ECHO "*** you link to this library. But I can only do this if you have a"
5243 $ECHO "*** shared version of the library, which you do not appear to have"
5244 $ECHO "*** because the file extensions .$libext of this argument makes me believe"
5245 $ECHO "*** that it is just a static archive that I should not use here."
5246 else
5247 $ECHO
5248 $ECHO "*** Warning: Linking the shared library $output against the"
5249 $ECHO "*** static library $deplib is not portable!"
5250 deplibs="$deplib $deplibs"
5251 fi
5252 ;;
5253 esac
23075254 continue
23085255 ;;
23095256 prog)
23385285 continue
23395286 ;;
23405287 esac # case $deplib
5288
23415289 if test "$found" = yes || test -f "$lib"; then :
23425290 else
2343 $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
2344 exit $EXIT_FAILURE
5291 func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
23455292 fi
23465293
23475294 # Check to see that this really is a libtool archive.
2348 if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
2349 else
2350 $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
2351 exit $EXIT_FAILURE
2352 fi
2353
2354 ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
2355 test "X$ladir" = "X$lib" && ladir="."
5295 func_lalib_unsafe_p "$lib" \
5296 || func_fatal_error "\`$lib' is not a valid libtool archive"
5297
5298 func_dirname "$lib" "" "."
5299 ladir="$func_dirname_result"
23565300
23575301 dlname=
23585302 dlopen=
23605304 libdir=
23615305 library_names=
23625306 old_library=
5307 inherited_linker_flags=
23635308 # If the library was installed with an old release of libtool,
23645309 # it will not redefine variables installed, or shouldnotlink
23655310 installed=yes
23685313
23695314
23705315 # Read the .la file
2371 case $lib in
2372 */* | *\\*) . $lib ;;
2373 *) . ./$lib ;;
2374 esac
2375
5316 func_source "$lib"
5317
5318 # Convert "-framework foo" to "foo.ltframework"
5319 if test -n "$inherited_linker_flags"; then
5320 tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
5321 for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
5322 case " $new_inherited_linker_flags " in
5323 *" $tmp_inherited_linker_flag "*) ;;
5324 *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
5325 esac
5326 done
5327 fi
5328 dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
23765329 if test "$linkmode,$pass" = "lib,link" ||
23775330 test "$linkmode,$pass" = "prog,scan" ||
23785331 { test "$linkmode" != prog && test "$linkmode" != lib; }; then
23855338 deplibs="$lib $deplibs"
23865339 if test -z "$libdir"; then
23875340 if test -z "$old_library"; then
2388 $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
2389 exit $EXIT_FAILURE
5341 func_fatal_error "cannot find name of link library for \`$lib'"
23905342 fi
23915343 # It is a libtool convenience library, so add in its objects.
23925344 convenience="$convenience $ladir/$objdir/$old_library"
23935345 old_convenience="$old_convenience $ladir/$objdir/$old_library"
2394 tmp_libs=
2395 for deplib in $dependency_libs; do
2396 deplibs="$deplib $deplibs"
2397 if test "X$duplicate_deps" = "Xyes" ; then
2398 case "$tmp_libs " in
2399 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
2400 esac
2401 fi
2402 tmp_libs="$tmp_libs $deplib"
2403 done
24045346 elif test "$linkmode" != prog && test "$linkmode" != lib; then
2405 $echo "$modename: \`$lib' is not a convenience library" 1>&2
2406 exit $EXIT_FAILURE
5347 func_fatal_error "\`$lib' is not a convenience library"
24075348 fi
5349 tmp_libs=
5350 for deplib in $dependency_libs; do
5351 deplibs="$deplib $deplibs"
5352 if $opt_duplicate_deps ; then
5353 case "$tmp_libs " in
5354 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
5355 esac
5356 fi
5357 tmp_libs="$tmp_libs $deplib"
5358 done
24085359 continue
24095360 fi # $pass = conv
24105361
24155366 linklib="$l"
24165367 done
24175368 if test -z "$linklib"; then
2418 $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
2419 exit $EXIT_FAILURE
5369 func_fatal_error "cannot find name of link library for \`$lib'"
24205370 fi
24215371
24225372 # This library was specified with -dlopen.
24235373 if test "$pass" = dlopen; then
24245374 if test -z "$libdir"; then
2425 $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
2426 exit $EXIT_FAILURE
5375 func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
24275376 fi
24285377 if test -z "$dlname" ||
24295378 test "$dlopen_support" != yes ||
24455394 *)
24465395 abs_ladir=`cd "$ladir" && pwd`
24475396 if test -z "$abs_ladir"; then
2448 $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
2449 $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
5397 func_warning "cannot determine absolute directory name of \`$ladir'"
5398 func_warning "passing it literally to the linker, although it might fail"
24505399 abs_ladir="$ladir"
24515400 fi
24525401 ;;
24535402 esac
2454 laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
5403 func_basename "$lib"
5404 laname="$func_basename_result"
24555405
24565406 # Find the relevant object directory and library name.
24575407 if test "X$installed" = Xyes; then
24585408 if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
2459 $echo "$modename: warning: library \`$lib' was moved." 1>&2
5409 func_warning "library \`$lib' was moved."
24605410 dir="$ladir"
24615411 absdir="$abs_ladir"
24625412 libdir="$abs_ladir"
24785428 notinst_path="$notinst_path $abs_ladir"
24795429 fi
24805430 fi # $installed = yes
2481 name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
5431 func_stripname 'lib' '.la' "$laname"
5432 name=$func_stripname_result
24825433
24835434 # This library was specified with -dlpreopen.
24845435 if test "$pass" = dlpreopen; then
2485 if test -z "$libdir"; then
2486 $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
2487 exit $EXIT_FAILURE
5436 if test -z "$libdir" && test "$linkmode" = prog; then
5437 func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
24885438 fi
24895439 # Prefer using a static library (so that no silly _DYNAMIC symbols
24905440 # are required to link).
24915441 if test -n "$old_library"; then
24925442 newdlprefiles="$newdlprefiles $dir/$old_library"
5443 # Keep a list of preopened convenience libraries to check
5444 # that they are being used correctly in the link pass.
5445 test -z "$libdir" && \
5446 dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
24935447 # Otherwise, use the dlname, so that lt_dlopen finds it.
24945448 elif test -n "$dlname"; then
24955449 newdlprefiles="$newdlprefiles $dir/$dlname"
25255479 tmp_libs=
25265480 for deplib in $dependency_libs; do
25275481 case $deplib in
2528 -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
5482 -L*) func_stripname '-L' '' "$deplib"
5483 newlib_search_path="$newlib_search_path $func_stripname_result"
5484 ;;
25295485 esac
25305486 # Need to link against all dependency_libs?
25315487 if test "$linkalldeplibs" = yes; then
25355491 # or/and link against static libraries
25365492 newdependency_libs="$deplib $newdependency_libs"
25375493 fi
2538 if test "X$duplicate_deps" = "Xyes" ; then
5494 if $opt_duplicate_deps ; then
25395495 case "$tmp_libs " in
25405496 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
25415497 esac
25485504 if test "$linkmode,$pass" = "prog,link"; then
25495505 if test -n "$library_names" &&
25505506 { { test "$prefer_static_libs" = no ||
2551 test "$prefer_static_libs,$installed" = "built,yes"; } ||
5507 test "$prefer_static_libs,$installed" = "built,yes"; } ||
25525508 test -z "$old_library"; }; then
25535509 # We need to hardcode the library path
25545510 if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
25555511 # Make sure the rpath contains only unique directories.
2556 case "$temp_rpath " in
2557 *" $dir "*) ;;
2558 *" $absdir "*) ;;
2559 *) temp_rpath="$temp_rpath $absdir" ;;
5512 case "$temp_rpath:" in
5513 *"$absdir:"*) ;;
5514 *) temp_rpath="$temp_rpath$absdir:" ;;
25605515 esac
25615516 fi
25625517
25945549
25955550 link_static=no # Whether the deplib will be linked statically
25965551 use_static_libs=$prefer_static_libs
2597 if test "$use_static_libs" = built && test "$installed" = yes ; then
5552 if test "$use_static_libs" = built && test "$installed" = yes; then
25985553 use_static_libs=no
25995554 fi
26005555 if test -n "$library_names" &&
26015556 { test "$use_static_libs" = no || test -z "$old_library"; }; then
2602 if test "$installed" = no; then
2603 notinst_deplibs="$notinst_deplibs $lib"
2604 need_relink=yes
2605 fi
5557 case $host in
5558 *cygwin* | *mingw* | *cegcc*)
5559 # No point in relinking DLLs because paths are not encoded
5560 notinst_deplibs="$notinst_deplibs $lib"
5561 need_relink=no
5562 ;;
5563 *)
5564 if test "$installed" = no; then
5565 notinst_deplibs="$notinst_deplibs $lib"
5566 need_relink=yes
5567 fi
5568 ;;
5569 esac
26065570 # This is a shared library
26075571
2608 # Warn about portability, can't link against -module's on
2609 # some systems (darwin)
2610 if test "$shouldnotlink" = yes && test "$pass" = link ; then
2611 $echo
5572 # Warn about portability, can't link against -module's on some
5573 # systems (darwin). Don't bleat about dlopened modules though!
5574 dlopenmodule=""
5575 for dlpremoduletest in $dlprefiles; do
5576 if test "X$dlpremoduletest" = "X$lib"; then
5577 dlopenmodule="$dlpremoduletest"
5578 break
5579 fi
5580 done
5581 if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
5582 $ECHO
26125583 if test "$linkmode" = prog; then
2613 $echo "*** Warning: Linking the executable $output against the loadable module"
5584 $ECHO "*** Warning: Linking the executable $output against the loadable module"
26145585 else
2615 $echo "*** Warning: Linking the shared library $output against the loadable module"
5586 $ECHO "*** Warning: Linking the shared library $output against the loadable module"
26165587 fi
2617 $echo "*** $linklib is not portable!"
5588 $ECHO "*** $linklib is not portable!"
26185589 fi
26195590 if test "$linkmode" = lib &&
26205591 test "$hardcode_into_libs" = yes; then
26445615 if test -n "$old_archive_from_expsyms_cmds"; then
26455616 # figure out the soname
26465617 set dummy $library_names
2647 realname="$2"
2648 shift; shift
2649 libname=`eval \\$echo \"$libname_spec\"`
5618 shift
5619 realname="$1"
5620 shift
5621 libname=`eval "\\$ECHO \"$libname_spec\""`
26505622 # use dlname if we got it. it's perfectly good, no?
26515623 if test -n "$dlname"; then
26525624 soname="$dlname"
26535625 elif test -n "$soname_spec"; then
26545626 # bleh windows
26555627 case $host in
2656 *cygwin* | mingw*)
2657 major=`expr $current - $age`
5628 *cygwin* | mingw* | *cegcc*)
5629 func_arith $current - $age
5630 major=$func_arith_result
26585631 versuffix="-$major"
26595632 ;;
26605633 esac
26655638
26665639 # Make a new name for the extract_expsyms_cmds to use
26675640 soroot="$soname"
2668 soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
2669 newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
5641 func_basename "$soroot"
5642 soname="$func_basename_result"
5643 func_stripname 'lib' '.dll' "$soname"
5644 newlib=libimp-$func_stripname_result.a
26705645
26715646 # If the library has no export list, then create one now
26725647 if test -f "$output_objdir/$soname-def"; then :
26735648 else
2674 $show "extracting exported symbol list from \`$soname'"
2675 save_ifs="$IFS"; IFS='~'
2676 cmds=$extract_expsyms_cmds
2677 for cmd in $cmds; do
2678 IFS="$save_ifs"
2679 eval cmd=\"$cmd\"
2680 $show "$cmd"
2681 $run eval "$cmd" || exit $?
2682 done
2683 IFS="$save_ifs"
5649 func_verbose "extracting exported symbol list from \`$soname'"
5650 func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
26845651 fi
26855652
26865653 # Create $newlib
26875654 if test -f "$output_objdir/$newlib"; then :; else
2688 $show "generating import library for \`$soname'"
2689 save_ifs="$IFS"; IFS='~'
2690 cmds=$old_archive_from_expsyms_cmds
2691 for cmd in $cmds; do
2692 IFS="$save_ifs"
2693 eval cmd=\"$cmd\"
2694 $show "$cmd"
2695 $run eval "$cmd" || exit $?
2696 done
2697 IFS="$save_ifs"
5655 func_verbose "generating import library for \`$soname'"
5656 func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
26985657 fi
26995658 # make sure the library variables are pointing to the new library
27005659 dir=$output_objdir
27165675 *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
27175676 *-*-unixware7*) add_dir="-L$dir" ;;
27185677 *-*-darwin* )
2719 # if the lib is a module then we can not link against
2720 # it, someone is ignoring the new warnings I added
5678 # if the lib is a (non-dlopened) module then we can not
5679 # link against it, someone is ignoring the earlier warnings
27215680 if /usr/bin/file -L $add 2> /dev/null |
2722 $EGREP ": [^:]* bundle" >/dev/null ; then
2723 $echo "** Warning, lib $linklib is a module, not a shared library"
2724 if test -z "$old_library" ; then
2725 $echo
2726 $echo "** And there doesn't seem to be a static archive available"
2727 $echo "** The link will probably fail, sorry"
2728 else
2729 add="$dir/$old_library"
5681 $GREP ": [^:]* bundle" >/dev/null ; then
5682 if test "X$dlopenmodule" != "X$lib"; then
5683 $ECHO "*** Warning: lib $linklib is a module, not a shared library"
5684 if test -z "$old_library" ; then
5685 $ECHO
5686 $ECHO "*** And there doesn't seem to be a static archive available"
5687 $ECHO "*** The link will probably fail, sorry"
5688 else
5689 add="$dir/$old_library"
5690 fi
5691 elif test -n "$old_library"; then
5692 add="$dir/$old_library"
27305693 fi
27315694 fi
27325695 esac
27445707 fi
27455708 ;;
27465709 relink)
2747 if test "$hardcode_direct" = yes; then
5710 if test "$hardcode_direct" = yes &&
5711 test "$hardcode_direct_absolute" = no; then
27485712 add="$dir/$linklib"
27495713 elif test "$hardcode_minus_L" = yes; then
27505714 add_dir="-L$dir"
27685732 esac
27695733
27705734 if test "$lib_linked" != yes; then
2771 $echo "$modename: configuration error: unsupported hardcode properties"
2772 exit $EXIT_FAILURE
5735 func_fatal_configuration "unsupported hardcode properties"
27735736 fi
27745737
27755738 if test -n "$add_shlibpath"; then
27845747 else
27855748 test -n "$add_dir" && deplibs="$add_dir $deplibs"
27865749 test -n "$add" && deplibs="$add $deplibs"
2787 if test "$hardcode_direct" != yes && \
2788 test "$hardcode_minus_L" != yes && \
5750 if test "$hardcode_direct" != yes &&
5751 test "$hardcode_minus_L" != yes &&
27895752 test "$hardcode_shlibpath_var" = yes; then
27905753 case :$finalize_shlibpath: in
27915754 *":$libdir:"*) ;;
28005763 add_dir=
28015764 add=
28025765 # Finalize command for both is simple: just hardcode it.
2803 if test "$hardcode_direct" = yes; then
5766 if test "$hardcode_direct" = yes &&
5767 test "$hardcode_direct_absolute" = no; then
28045768 add="$libdir/$linklib"
28055769 elif test "$hardcode_minus_L" = yes; then
28065770 add_dir="-L$libdir"
28145778 elif test "$hardcode_automatic" = yes; then
28155779 if test -n "$inst_prefix_dir" &&
28165780 test -f "$inst_prefix_dir$libdir/$linklib" ; then
2817 add="$inst_prefix_dir$libdir/$linklib"
5781 add="$inst_prefix_dir$libdir/$linklib"
28185782 else
2819 add="$libdir/$linklib"
5783 add="$libdir/$linklib"
28205784 fi
28215785 else
28225786 # We cannot seem to hardcode it, guess we'll fake it.
28605824
28615825 # Just print a warning and add the library to dependency_libs so
28625826 # that the program can be linked against the static library.
2863 $echo
2864 $echo "*** Warning: This system can not link to static lib archive $lib."
2865 $echo "*** I have the capability to make that library automatically link in when"
2866 $echo "*** you link to this library. But I can only do this if you have a"
2867 $echo "*** shared version of the library, which you do not appear to have."
5827 $ECHO
5828 $ECHO "*** Warning: This system can not link to static lib archive $lib."
5829 $ECHO "*** I have the capability to make that library automatically link in when"
5830 $ECHO "*** you link to this library. But I can only do this if you have a"
5831 $ECHO "*** shared version of the library, which you do not appear to have."
28685832 if test "$module" = yes; then
2869 $echo "*** But as you try to build a module library, libtool will still create "
2870 $echo "*** a static module, that should work as long as the dlopening application"
2871 $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
5833 $ECHO "*** But as you try to build a module library, libtool will still create "
5834 $ECHO "*** a static module, that should work as long as the dlopening application"
5835 $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
28725836 if test -z "$global_symbol_pipe"; then
2873 $echo
2874 $echo "*** However, this would only work if libtool was able to extract symbol"
2875 $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
2876 $echo "*** not find such a program. So, this module is probably useless."
2877 $echo "*** \`nm' from GNU binutils and a full rebuild may help."
5837 $ECHO
5838 $ECHO "*** However, this would only work if libtool was able to extract symbol"
5839 $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
5840 $ECHO "*** not find such a program. So, this module is probably useless."
5841 $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
28785842 fi
28795843 if test "$build_old_libs" = no; then
28805844 build_libtool_libs=module
28985862 temp_deplibs=
28995863 for libdir in $dependency_libs; do
29005864 case $libdir in
2901 -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
5865 -R*) func_stripname '-R' '' "$libdir"
5866 temp_xrpath=$func_stripname_result
29025867 case " $xrpath " in
29035868 *" $temp_xrpath "*) ;;
29045869 *) xrpath="$xrpath $temp_xrpath";;
29165881 tmp_libs=
29175882 for deplib in $dependency_libs; do
29185883 newdependency_libs="$deplib $newdependency_libs"
2919 if test "X$duplicate_deps" = "Xyes" ; then
5884 if $opt_duplicate_deps ; then
29205885 case "$tmp_libs " in
29215886 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
29225887 esac
29305895 case $deplib in
29315896 -L*) path="$deplib" ;;
29325897 *.la)
2933 dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
2934 test "X$dir" = "X$deplib" && dir="."
5898 func_dirname "$deplib" "" "."
5899 dir="$func_dirname_result"
29355900 # We need an absolute path.
29365901 case $dir in
29375902 [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
29385903 *)
29395904 absdir=`cd "$dir" && pwd`
29405905 if test -z "$absdir"; then
2941 $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
5906 func_warning "cannot determine absolute directory name of \`$dir'"
29425907 absdir="$dir"
29435908 fi
29445909 ;;
29455910 esac
2946 if grep "^installed=no" $deplib > /dev/null; then
2947 path="$absdir/$objdir"
2948 else
2949 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
2950 if test -z "$libdir"; then
2951 $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
2952 exit $EXIT_FAILURE
2953 fi
2954 if test "$absdir" != "$libdir"; then
2955 $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
2956 fi
2957 path="$absdir"
2958 fi
2959 depdepl=
5911 if $GREP "^installed=no" $deplib > /dev/null; then
29605912 case $host in
29615913 *-*-darwin*)
2962 # we do not want to link against static libs,
2963 # but need to link against shared
5914 depdepl=
29645915 eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
2965 eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
29665916 if test -n "$deplibrary_names" ; then
29675917 for tmp in $deplibrary_names ; do
29685918 depdepl=$tmp
29695919 done
2970 if test -f "$deplibdir/$depdepl" ; then
2971 depdepl="$deplibdir/$depdepl"
2972 elif test -f "$path/$depdepl" ; then
2973 depdepl="$path/$depdepl"
2974 else
2975 # Can't find it, oh well...
2976 depdepl=
5920 if test -f "$absdir/$objdir/$depdepl" ; then
5921 depdepl="$absdir/$objdir/$depdepl"
5922 darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
5923 if test -z "$darwin_install_name"; then
5924 darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
5925 fi
5926 compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
5927 linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
5928 path=
29775929 fi
2978 # do not add paths which are already there
2979 case " $newlib_search_path " in
2980 *" $path "*) ;;
2981 *) newlib_search_path="$newlib_search_path $path";;
2982 esac
29835930 fi
2984 path=""
29855931 ;;
29865932 *)
2987 path="-L$path"
5933 path="-L$absdir/$objdir"
29885934 ;;
29895935 esac
5936 else
5937 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
5938 test -z "$libdir" && \
5939 func_fatal_error "\`$deplib' is not a valid libtool archive"
5940 test "$absdir" != "$libdir" && \
5941 func_warning "\`$deplib' seems to be moved"
5942
5943 path="-L$absdir"
5944 fi
29905945 ;;
2991 -l*)
2992 case $host in
2993 *-*-darwin*)
2994 # Again, we only want to link against shared libraries
2995 eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
2996 for tmp in $newlib_search_path ; do
2997 if test -f "$tmp/lib$tmp_libs.dylib" ; then
2998 eval depdepl="$tmp/lib$tmp_libs.dylib"
2999 break
3000 fi
3001 done
3002 path=""
3003 ;;
3004 *) continue ;;
3005 esac
3006 ;;
3007 *) continue ;;
30085946 esac
30095947 case " $deplibs " in
30105948 *" $path "*) ;;
30115949 *) deplibs="$path $deplibs" ;;
30125950 esac
3013 case " $deplibs " in
3014 *" $depdepl "*) ;;
3015 *) deplibs="$depdepl $deplibs" ;;
3016 esac
30175951 done
30185952 fi # link_all_deplibs != no
30195953 fi # linkmode = lib
30205954 done # for deplib in $libs
5955 if test "$pass" = link; then
5956 if test "$linkmode" = "prog"; then
5957 compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
5958 finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
5959 else
5960 compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
5961 fi
5962 fi
30215963 dependency_libs="$newdependency_libs"
30225964 if test "$pass" = dlpreopen; then
30235965 # Link the dlpreopened libraries before other libraries
31166058 done # for pass
31176059 if test "$linkmode" = prog; then
31186060 dlfiles="$newdlfiles"
6061 fi
6062 if test "$linkmode" = prog || test "$linkmode" = lib; then
31196063 dlprefiles="$newdlprefiles"
31206064 fi
31216065
31226066 case $linkmode in
31236067 oldlib)
6068 if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
6069 func_warning "\`-dlopen' is ignored for archives"
6070 fi
6071
31246072 case " $deplibs" in
31256073 *\ -l* | *\ -L*)
3126 $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;;
6074 func_warning "\`-l' and \`-L' are ignored for archives" ;;
31276075 esac
31286076
3129 if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
3130 $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
3131 fi
3132
3133 if test -n "$rpath"; then
3134 $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
3135 fi
3136
3137 if test -n "$xrpath"; then
3138 $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
3139 fi
3140
3141 if test -n "$vinfo"; then
3142 $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
3143 fi
3144
3145 if test -n "$release"; then
3146 $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
3147 fi
3148
3149 if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
3150 $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
3151 fi
6077 test -n "$rpath" && \
6078 func_warning "\`-rpath' is ignored for archives"
6079
6080 test -n "$xrpath" && \
6081 func_warning "\`-R' is ignored for archives"
6082
6083 test -n "$vinfo" && \
6084 func_warning "\`-version-info/-version-number' is ignored for archives"
6085
6086 test -n "$release" && \
6087 func_warning "\`-release' is ignored for archives"
6088
6089 test -n "$export_symbols$export_symbols_regex" && \
6090 func_warning "\`-export-symbols' is ignored for archives"
31526091
31536092 # Now set the variables for building old libraries.
31546093 build_libtool_libs=no
31606099 # Make sure we only generate libraries of the form `libNAME.la'.
31616100 case $outputname in
31626101 lib*)
3163 name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
6102 func_stripname 'lib' '.la' "$outputname"
6103 name=$func_stripname_result
31646104 eval shared_ext=\"$shrext_cmds\"
31656105 eval libname=\"$libname_spec\"
31666106 ;;
31676107 *)
3168 if test "$module" = no; then
3169 $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
3170 $echo "$help" 1>&2
3171 exit $EXIT_FAILURE
3172 fi
6108 test "$module" = no && \
6109 func_fatal_help "libtool library \`$output' must begin with \`lib'"
6110
31736111 if test "$need_lib_prefix" != no; then
31746112 # Add the "lib" prefix for modules if required
3175 name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
6113 func_stripname '' '.la' "$outputname"
6114 name=$func_stripname_result
31766115 eval shared_ext=\"$shrext_cmds\"
31776116 eval libname=\"$libname_spec\"
31786117 else
3179 libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
6118 func_stripname '' '.la' "$outputname"
6119 libname=$func_stripname_result
31806120 fi
31816121 ;;
31826122 esac
31836123
31846124 if test -n "$objs"; then
31856125 if test "$deplibs_check_method" != pass_all; then
3186 $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
3187 exit $EXIT_FAILURE
6126 func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
31886127 else
3189 $echo
3190 $echo "*** Warning: Linking the shared library $output against the non-libtool"
3191 $echo "*** objects $objs is not portable!"
6128 $ECHO
6129 $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
6130 $ECHO "*** objects $objs is not portable!"
31926131 libobjs="$libobjs $objs"
31936132 fi
31946133 fi
31956134
3196 if test "$dlself" != no; then
3197 $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
3198 fi
6135 test "$dlself" != no && \
6136 func_warning "\`-dlopen self' is ignored for libtool libraries"
31996137
32006138 set dummy $rpath
3201 if test "$#" -gt 2; then
3202 $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
3203 fi
3204 install_libdir="$2"
6139 shift
6140 test "$#" -gt 1 && \
6141 func_warning "ignoring multiple \`-rpath's for a libtool library"
6142
6143 install_libdir="$1"
32056144
32066145 oldlibs=
32076146 if test -z "$rpath"; then
32156154 build_old_libs=yes
32166155 fi
32176156
3218 if test -n "$vinfo"; then
3219 $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
3220 fi
3221
3222 if test -n "$release"; then
3223 $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
3224 fi
6157 test -n "$vinfo" && \
6158 func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
6159
6160 test -n "$release" && \
6161 func_warning "\`-release' is ignored for convenience libraries"
32256162 else
32266163
32276164 # Parse the version information argument.
32286165 save_ifs="$IFS"; IFS=':'
32296166 set dummy $vinfo 0 0 0
6167 shift
32306168 IFS="$save_ifs"
32316169
3232 if test -n "$8"; then
3233 $echo "$modename: too many parameters to \`-version-info'" 1>&2
3234 $echo "$help" 1>&2
3235 exit $EXIT_FAILURE
3236 fi
6170 test -n "$7" && \
6171 func_fatal_help "too many parameters to \`-version-info'"
32376172
32386173 # convert absolute version numbers to libtool ages
32396174 # this retains compatibility with .la files and attempts
32416176
32426177 case $vinfo_number in
32436178 yes)
3244 number_major="$2"
3245 number_minor="$3"
3246 number_revision="$4"
6179 number_major="$1"
6180 number_minor="$2"
6181 number_revision="$3"
32476182 #
32486183 # There are really only two kinds -- those that
32496184 # use the current revision as the major version
32536188 #
32546189 case $version_type in
32556190 darwin|linux|osf|windows|none)
3256 current=`expr $number_major + $number_minor`
6191 func_arith $number_major + $number_minor
6192 current=$func_arith_result
32576193 age="$number_minor"
32586194 revision="$number_revision"
32596195 ;;
32636199 age="0"
32646200 ;;
32656201 irix|nonstopux)
3266 current=`expr $number_major + $number_minor`
6202 func_arith $number_major + $number_minor
6203 current=$func_arith_result
32676204 age="$number_minor"
32686205 revision="$number_minor"
32696206 lt_irix_increment=no
32716208 esac
32726209 ;;
32736210 no)
3274 current="$2"
3275 revision="$3"
3276 age="$4"
6211 current="$1"
6212 revision="$2"
6213 age="$3"
32776214 ;;
32786215 esac
32796216
32816218 case $current in
32826219 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
32836220 *)
3284 $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
3285 $echo "$modename: \`$vinfo' is not valid version information" 1>&2
3286 exit $EXIT_FAILURE
6221 func_error "CURRENT \`$current' must be a nonnegative integer"
6222 func_fatal_error "\`$vinfo' is not valid version information"
32876223 ;;
32886224 esac
32896225
32906226 case $revision in
32916227 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
32926228 *)
3293 $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
3294 $echo "$modename: \`$vinfo' is not valid version information" 1>&2
3295 exit $EXIT_FAILURE
6229 func_error "REVISION \`$revision' must be a nonnegative integer"
6230 func_fatal_error "\`$vinfo' is not valid version information"
32966231 ;;
32976232 esac
32986233
32996234 case $age in
33006235 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
33016236 *)
3302 $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
3303 $echo "$modename: \`$vinfo' is not valid version information" 1>&2
3304 exit $EXIT_FAILURE
6237 func_error "AGE \`$age' must be a nonnegative integer"
6238 func_fatal_error "\`$vinfo' is not valid version information"
33056239 ;;
33066240 esac
33076241
33086242 if test "$age" -gt "$current"; then
3309 $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
3310 $echo "$modename: \`$vinfo' is not valid version information" 1>&2
3311 exit $EXIT_FAILURE
6243 func_error "AGE \`$age' is greater than the current interface number \`$current'"
6244 func_fatal_error "\`$vinfo' is not valid version information"
33126245 fi
33136246
33146247 # Calculate the version variables.
33216254 darwin)
33226255 # Like Linux, but with the current version available in
33236256 # verstring for coding it into the library header
3324 major=.`expr $current - $age`
6257 func_arith $current - $age
6258 major=.$func_arith_result
33256259 versuffix="$major.$age.$revision"
33266260 # Darwin ld doesn't like 0 for these options...
3327 minor_current=`expr $current + 1`
6261 func_arith $current + 1
6262 minor_current=$func_arith_result
33286263 xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
33296264 verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
33306265 ;;
33366271
33376272 freebsd-elf)
33386273 major=".$current"
3339 versuffix=".$current";
6274 versuffix=".$current"
33406275 ;;
33416276
33426277 irix | nonstopux)
33436278 if test "X$lt_irix_increment" = "Xno"; then
3344 major=`expr $current - $age`
6279 func_arith $current - $age
33456280 else
3346 major=`expr $current - $age + 1`
6281 func_arith $current - $age + 1
33476282 fi
6283 major=$func_arith_result
6284
33486285 case $version_type in
33496286 nonstopux) verstring_prefix=nonstopux ;;
33506287 *) verstring_prefix=sgi ;;
33546291 # Add in all the interfaces that we are compatible with.
33556292 loop=$revision
33566293 while test "$loop" -ne 0; do
3357 iface=`expr $revision - $loop`
3358 loop=`expr $loop - 1`
6294 func_arith $revision - $loop
6295 iface=$func_arith_result
6296 func_arith $loop - 1
6297 loop=$func_arith_result
33596298 verstring="$verstring_prefix$major.$iface:$verstring"
33606299 done
33616300
33656304 ;;
33666305
33676306 linux)
3368 major=.`expr $current - $age`
6307 func_arith $current - $age
6308 major=.$func_arith_result
33696309 versuffix="$major.$age.$revision"
33706310 ;;
33716311
33726312 osf)
3373 major=.`expr $current - $age`
6313 func_arith $current - $age
6314 major=.$func_arith_result
33746315 versuffix=".$current.$age.$revision"
33756316 verstring="$current.$age.$revision"
33766317
33776318 # Add in all the interfaces that we are compatible with.
33786319 loop=$age
33796320 while test "$loop" -ne 0; do
3380 iface=`expr $current - $loop`
3381 loop=`expr $loop - 1`
6321 func_arith $current - $loop
6322 iface=$func_arith_result
6323 func_arith $loop - 1
6324 loop=$func_arith_result
33826325 verstring="$verstring:${iface}.0"
33836326 done
33846327
33856328 # Make executables depend on our current version.
33866329 verstring="$verstring:${current}.0"
6330 ;;
6331
6332 qnx)
6333 major=".$current"
6334 versuffix=".$current"
33876335 ;;
33886336
33896337 sunos)
33946342 windows)
33956343 # Use '-' rather than '.', since we only want one
33966344 # extension on DOS 8.3 filesystems.
3397 major=`expr $current - $age`
6345 func_arith $current - $age
6346 major=$func_arith_result
33986347 versuffix="-$major"
33996348 ;;
34006349
34016350 *)
3402 $echo "$modename: unknown library version type \`$version_type'" 1>&2
3403 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
3404 exit $EXIT_FAILURE
6351 func_fatal_configuration "unknown library version type \`$version_type'"
34056352 ;;
34066353 esac
34076354
34356382 # Check to see if the archive will have undefined symbols.
34366383 if test "$allow_undefined" = yes; then
34376384 if test "$allow_undefined_flag" = unsupported; then
3438 $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
6385 func_warning "undefined symbols not allowed in $host shared libraries"
34396386 build_libtool_libs=no
34406387 build_old_libs=yes
34416388 fi
34436390 # Don't allow undefined symbols.
34446391 allow_undefined_flag="$no_undefined_flag"
34456392 fi
6393
34466394 fi
6395
6396 func_generate_dlsyms "$libname" "$libname" "yes"
6397 libobjs="$libobjs $symfileobj"
6398 test "X$libobjs" = "X " && libobjs=
34476399
34486400 if test "$mode" != relink; then
34496401 # Remove our outputs, but don't remove object files since they
34506402 # may have been created when compiling PIC objects.
34516403 removelist=
3452 tempremovelist=`$echo "$output_objdir/*"`
6404 tempremovelist=`$ECHO "$output_objdir/*"`
34536405 for p in $tempremovelist; do
34546406 case $p in
3455 *.$objext)
6407 *.$objext | *.gcno)
34566408 ;;
34576409 $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
34586410 if test "X$precious_files_regex" != "X"; then
3459 if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
3460 then
6411 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
6412 then
34616413 continue
34626414 fi
34636415 fi
34666418 *) ;;
34676419 esac
34686420 done
3469 if test -n "$removelist"; then
3470 $show "${rm}r $removelist"
3471 $run ${rm}r $removelist
3472 fi
6421 test -n "$removelist" && \
6422 func_show_eval "${RM}r \$removelist"
34736423 fi
34746424
34756425 # Now set the variables for building old libraries.
34776427 oldlibs="$oldlibs $output_objdir/$libname.$libext"
34786428
34796429 # Transform .lo files to .o files.
3480 oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
6430 oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
34816431 fi
34826432
34836433 # Eliminate all temporary directories.
34846434 #for path in $notinst_path; do
3485 # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
3486 # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
3487 # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
6435 # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
6436 # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
6437 # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
34886438 #done
34896439
34906440 if test -n "$xrpath"; then
35256475 if test "$build_libtool_libs" = yes; then
35266476 if test -n "$rpath"; then
35276477 case $host in
3528 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
6478 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
35296479 # these systems don't actually have a c library (as such)!
35306480 ;;
35316481 *-*-rhapsody* | *-*-darwin1.[012])
35326482 # Rhapsody C library is in the System framework
3533 deplibs="$deplibs -framework System"
6483 deplibs="$deplibs System.ltframework"
35346484 ;;
35356485 *-*-netbsd*)
35366486 # Don't link with libc until the a.out ld.so is fixed.
35446494 *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
35456495 # Compiler inserts libc in the correct place for threads to work
35466496 ;;
3547 *)
6497 *)
35486498 # Add libc to deplibs on all other systems if necessary.
35496499 if test "$build_libtool_need_lc" = "yes"; then
35506500 deplibs="$deplibs -lc"
35816531 # limits. Maybe even breaks it. We compile a program, linking it
35826532 # against the deplibs as a proxy for the library. Then we can check
35836533 # whether they linked in statically or dynamically with ldd.
3584 $rm conftest.c
6534 $opt_dry_run || $RM conftest.c
35856535 cat > conftest.c <<EOF
35866536 int main() { return 0; }
35876537 EOF
3588 $rm conftest
6538 $opt_dry_run || $RM conftest
35896539 if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
35906540 ldd_output=`ldd conftest`
35916541 for i in $deplibs; do
3592 name=`expr $i : '-l\(.*\)'`
3593 # If $name is empty we are operating on a -L argument.
3594 if test "$name" != "" && test "$name" != "0"; then
6542 case $i in
6543 -l*)
6544 func_stripname -l '' "$i"
6545 name=$func_stripname_result
35956546 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
35966547 case " $predeps $postdeps " in
35976548 *" $i "*)
35996550 i=""
36006551 ;;
36016552 esac
3602 fi
6553 fi
36036554 if test -n "$i" ; then
3604 libname=`eval \\$echo \"$libname_spec\"`
3605 deplib_matches=`eval \\$echo \"$library_names_spec\"`
3606 set dummy $deplib_matches
3607 deplib_match=$2
6555 libname=`eval "\\$ECHO \"$libname_spec\""`
6556 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
6557 set dummy $deplib_matches; shift
6558 deplib_match=$1
36086559 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
36096560 newdeplibs="$newdeplibs $i"
36106561 else
36116562 droppeddeps=yes
3612 $echo
3613 $echo "*** Warning: dynamic linker does not accept needed library $i."
3614 $echo "*** I have the capability to make that library automatically link in when"
3615 $echo "*** you link to this library. But I can only do this if you have a"
3616 $echo "*** shared version of the library, which I believe you do not have"
3617 $echo "*** because a test_compile did reveal that the linker did not use it for"
3618 $echo "*** its dynamic dependency list that programs get resolved with at runtime."
6563 $ECHO
6564 $ECHO "*** Warning: dynamic linker does not accept needed library $i."
6565 $ECHO "*** I have the capability to make that library automatically link in when"
6566 $ECHO "*** you link to this library. But I can only do this if you have a"
6567 $ECHO "*** shared version of the library, which I believe you do not have"
6568 $ECHO "*** because a test_compile did reveal that the linker did not use it for"
6569 $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
36196570 fi
36206571 fi
3621 else
6572 ;;
6573 *)
36226574 newdeplibs="$newdeplibs $i"
3623 fi
6575 ;;
6576 esac
36246577 done
36256578 else
36266579 # Error occurred in the first compile. Let's try to salvage
36276580 # the situation: Compile a separate program for each library.
36286581 for i in $deplibs; do
3629 name=`expr $i : '-l\(.*\)'`
3630 # If $name is empty we are operating on a -L argument.
3631 if test "$name" != "" && test "$name" != "0"; then
3632 $rm conftest
6582 case $i in
6583 -l*)
6584 func_stripname -l '' "$i"
6585 name=$func_stripname_result
6586 $opt_dry_run || $RM conftest
36336587 if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
36346588 ldd_output=`ldd conftest`
36356589 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
36416595 esac
36426596 fi
36436597 if test -n "$i" ; then
3644 libname=`eval \\$echo \"$libname_spec\"`
3645 deplib_matches=`eval \\$echo \"$library_names_spec\"`
3646 set dummy $deplib_matches
3647 deplib_match=$2
6598 libname=`eval "\\$ECHO \"$libname_spec\""`
6599 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
6600 set dummy $deplib_matches; shift
6601 deplib_match=$1
36486602 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
36496603 newdeplibs="$newdeplibs $i"
36506604 else
36516605 droppeddeps=yes
3652 $echo
3653 $echo "*** Warning: dynamic linker does not accept needed library $i."
3654 $echo "*** I have the capability to make that library automatically link in when"
3655 $echo "*** you link to this library. But I can only do this if you have a"
3656 $echo "*** shared version of the library, which you do not appear to have"
3657 $echo "*** because a test_compile did reveal that the linker did not use this one"
3658 $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
6606 $ECHO
6607 $ECHO "*** Warning: dynamic linker does not accept needed library $i."
6608 $ECHO "*** I have the capability to make that library automatically link in when"
6609 $ECHO "*** you link to this library. But I can only do this if you have a"
6610 $ECHO "*** shared version of the library, which you do not appear to have"
6611 $ECHO "*** because a test_compile did reveal that the linker did not use this one"
6612 $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
36596613 fi
36606614 fi
36616615 else
36626616 droppeddeps=yes
3663 $echo
3664 $echo "*** Warning! Library $i is needed by this library but I was not able to"
3665 $echo "*** make it link in! You will probably need to install it or some"
3666 $echo "*** library that it depends on before this library will be fully"
3667 $echo "*** functional. Installing it before continuing would be even better."
6617 $ECHO
6618 $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
6619 $ECHO "*** make it link in! You will probably need to install it or some"
6620 $ECHO "*** library that it depends on before this library will be fully"
6621 $ECHO "*** functional. Installing it before continuing would be even better."
36686622 fi
3669 else
6623 ;;
6624 *)
36706625 newdeplibs="$newdeplibs $i"
3671 fi
6626 ;;
6627 esac
36726628 done
36736629 fi
36746630 ;;
36756631 file_magic*)
3676 set dummy $deplibs_check_method
3677 file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
6632 set dummy $deplibs_check_method; shift
6633 file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
36786634 for a_deplib in $deplibs; do
3679 name=`expr $a_deplib : '-l\(.*\)'`
3680 # If $name is empty we are operating on a -L argument.
3681 if test "$name" != "" && test "$name" != "0"; then
6635 case $a_deplib in
6636 -l*)
6637 func_stripname -l '' "$a_deplib"
6638 name=$func_stripname_result
36826639 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
36836640 case " $predeps $postdeps " in
36846641 *" $a_deplib "*)
36886645 esac
36896646 fi
36906647 if test -n "$a_deplib" ; then
3691 libname=`eval \\$echo \"$libname_spec\"`
6648 libname=`eval "\\$ECHO \"$libname_spec\""`
36926649 for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
36936650 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
36946651 for potent_lib in $potential_libs; do
36956652 # Follow soft links.
3696 if ls -lLd "$potent_lib" 2>/dev/null \
3697 | grep " -> " >/dev/null; then
6653 if ls -lLd "$potent_lib" 2>/dev/null |
6654 $GREP " -> " >/dev/null; then
36986655 continue
36996656 fi
37006657 # The statement above tries to avoid entering an
37076664 potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
37086665 case $potliblink in
37096666 [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
3710 *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
6667 *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
37116668 esac
37126669 done
3713 if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
3714 | ${SED} 10q \
3715 | $EGREP "$file_magic_regex" > /dev/null; then
6670 if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
6671 $SED -e 10q |
6672 $EGREP "$file_magic_regex" > /dev/null; then
37166673 newdeplibs="$newdeplibs $a_deplib"
37176674 a_deplib=""
37186675 break 2
37226679 fi
37236680 if test -n "$a_deplib" ; then
37246681 droppeddeps=yes
3725 $echo
3726 $echo "*** Warning: linker path does not have real file for library $a_deplib."
3727 $echo "*** I have the capability to make that library automatically link in when"
3728 $echo "*** you link to this library. But I can only do this if you have a"
3729 $echo "*** shared version of the library, which you do not appear to have"
3730 $echo "*** because I did check the linker path looking for a file starting"
6682 $ECHO
6683 $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
6684 $ECHO "*** I have the capability to make that library automatically link in when"
6685 $ECHO "*** you link to this library. But I can only do this if you have a"
6686 $ECHO "*** shared version of the library, which you do not appear to have"
6687 $ECHO "*** because I did check the linker path looking for a file starting"
37316688 if test -z "$potlib" ; then
3732 $echo "*** with $libname but no candidates were found. (...for file magic test)"
6689 $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
37336690 else
3734 $echo "*** with $libname and none of the candidates passed a file format test"
3735 $echo "*** using a file magic. Last file checked: $potlib"
6691 $ECHO "*** with $libname and none of the candidates passed a file format test"
6692 $ECHO "*** using a file magic. Last file checked: $potlib"
37366693 fi
37376694 fi
3738 else
6695 ;;
6696 *)
37396697 # Add a -L argument.
37406698 newdeplibs="$newdeplibs $a_deplib"
3741 fi
6699 ;;
6700 esac
37426701 done # Gone through all deplibs.
37436702 ;;
37446703 match_pattern*)
3745 set dummy $deplibs_check_method
3746 match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
6704 set dummy $deplibs_check_method; shift
6705 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
37476706 for a_deplib in $deplibs; do
3748 name=`expr $a_deplib : '-l\(.*\)'`
3749 # If $name is empty we are operating on a -L argument.
3750 if test -n "$name" && test "$name" != "0"; then
6707 case $a_deplib in
6708 -l*)
6709 func_stripname -l '' "$a_deplib"
6710 name=$func_stripname_result
37516711 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
37526712 case " $predeps $postdeps " in
37536713 *" $a_deplib "*)
37576717 esac
37586718 fi
37596719 if test -n "$a_deplib" ; then
3760 libname=`eval \\$echo \"$libname_spec\"`
6720 libname=`eval "\\$ECHO \"$libname_spec\""`
37616721 for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
37626722 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
37636723 for potent_lib in $potential_libs; do
37646724 potlib="$potent_lib" # see symlink-check above in file_magic test
3765 if eval $echo \"$potent_lib\" 2>/dev/null \
3766 | ${SED} 10q \
3767 | $EGREP "$match_pattern_regex" > /dev/null; then
6725 if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
6726 $EGREP "$match_pattern_regex" > /dev/null; then
37686727 newdeplibs="$newdeplibs $a_deplib"
37696728 a_deplib=""
37706729 break 2
37746733 fi
37756734 if test -n "$a_deplib" ; then
37766735 droppeddeps=yes
3777 $echo
3778 $echo "*** Warning: linker path does not have real file for library $a_deplib."
3779 $echo "*** I have the capability to make that library automatically link in when"
3780 $echo "*** you link to this library. But I can only do this if you have a"
3781 $echo "*** shared version of the library, which you do not appear to have"
3782 $echo "*** because I did check the linker path looking for a file starting"
6736 $ECHO
6737 $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
6738 $ECHO "*** I have the capability to make that library automatically link in when"
6739 $ECHO "*** you link to this library. But I can only do this if you have a"
6740 $ECHO "*** shared version of the library, which you do not appear to have"
6741 $ECHO "*** because I did check the linker path looking for a file starting"
37836742 if test -z "$potlib" ; then
3784 $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
6743 $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
37856744 else
3786 $echo "*** with $libname and none of the candidates passed a file format test"
3787 $echo "*** using a regex pattern. Last file checked: $potlib"
6745 $ECHO "*** with $libname and none of the candidates passed a file format test"
6746 $ECHO "*** using a regex pattern. Last file checked: $potlib"
37886747 fi
37896748 fi
3790 else
6749 ;;
6750 *)
37916751 # Add a -L argument.
37926752 newdeplibs="$newdeplibs $a_deplib"
3793 fi
6753 ;;
6754 esac
37946755 done # Gone through all deplibs.
37956756 ;;
37966757 none | unknown | *)
37976758 newdeplibs=""
3798 tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
3799 -e 's/ -[LR][^ ]*//g'`
6759 tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
6760 -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
38006761 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
38016762 for i in $predeps $postdeps ; do
38026763 # can't use Xsed below, because $i might contain '/'
3803 tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
6764 tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
38046765 done
38056766 fi
3806 if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \
3807 | grep . >/dev/null; then
3808 $echo
6767 if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' |
6768 $GREP . >/dev/null; then
6769 $ECHO
38096770 if test "X$deplibs_check_method" = "Xnone"; then
3810 $echo "*** Warning: inter-library dependencies are not supported in this platform."
6771 $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
38116772 else
3812 $echo "*** Warning: inter-library dependencies are not known to be supported."
6773 $ECHO "*** Warning: inter-library dependencies are not known to be supported."
38136774 fi
3814 $echo "*** All declared inter-library dependencies are being dropped."
6775 $ECHO "*** All declared inter-library dependencies are being dropped."
38156776 droppeddeps=yes
38166777 fi
38176778 ;;
38246785
38256786 case $host in
38266787 *-*-rhapsody* | *-*-darwin1.[012])
3827 # On Rhapsody replace the C library is the System framework
3828 newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
6788 # On Rhapsody replace the C library with the System framework
6789 newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
38296790 ;;
38306791 esac
38316792
38326793 if test "$droppeddeps" = yes; then
38336794 if test "$module" = yes; then
3834 $echo
3835 $echo "*** Warning: libtool could not satisfy all declared inter-library"
3836 $echo "*** dependencies of module $libname. Therefore, libtool will create"
3837 $echo "*** a static module, that should work as long as the dlopening"
3838 $echo "*** application is linked with the -dlopen flag."
6795 $ECHO
6796 $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
6797 $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
6798 $ECHO "*** a static module, that should work as long as the dlopening"
6799 $ECHO "*** application is linked with the -dlopen flag."
38396800 if test -z "$global_symbol_pipe"; then
3840 $echo
3841 $echo "*** However, this would only work if libtool was able to extract symbol"
3842 $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
3843 $echo "*** not find such a program. So, this module is probably useless."
3844 $echo "*** \`nm' from GNU binutils and a full rebuild may help."
6801 $ECHO
6802 $ECHO "*** However, this would only work if libtool was able to extract symbol"
6803 $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
6804 $ECHO "*** not find such a program. So, this module is probably useless."
6805 $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
38456806 fi
38466807 if test "$build_old_libs" = no; then
38476808 oldlibs="$output_objdir/$libname.$libext"
38516812 build_libtool_libs=no
38526813 fi
38536814 else
3854 $echo "*** The inter-library dependencies that have been dropped here will be"
3855 $echo "*** automatically added whenever a program is linked with this library"
3856 $echo "*** or is declared to -dlopen it."
6815 $ECHO "*** The inter-library dependencies that have been dropped here will be"
6816 $ECHO "*** automatically added whenever a program is linked with this library"
6817 $ECHO "*** or is declared to -dlopen it."
38576818
38586819 if test "$allow_undefined" = no; then
3859 $echo
3860 $echo "*** Since this library must not contain undefined symbols,"
3861 $echo "*** because either the platform does not support them or"
3862 $echo "*** it was explicitly requested with -no-undefined,"
3863 $echo "*** libtool will only create a static version of it."
6820 $ECHO
6821 $ECHO "*** Since this library must not contain undefined symbols,"
6822 $ECHO "*** because either the platform does not support them or"
6823 $ECHO "*** it was explicitly requested with -no-undefined,"
6824 $ECHO "*** libtool will only create a static version of it."
38646825 if test "$build_old_libs" = no; then
38656826 oldlibs="$output_objdir/$libname.$libext"
38666827 build_libtool_libs=module
38746835 # Done checking deplibs!
38756836 deplibs=$newdeplibs
38766837 fi
3877
6838 # Time to change all our "foo.ltframework" stuff back to "-framework foo"
6839 case $host in
6840 *-*-darwin*)
6841 newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
6842 new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
6843 deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
6844 ;;
6845 esac
38786846
38796847 # move library search paths that coincide with paths to not yet
38806848 # installed libraries to the beginning of the library search list
39026870 esac
39036871 done
39046872 deplibs="$new_libs"
3905
39066873
39076874 # All the library-specific variables (install_libdir is set above).
39086875 library_names=
39486915 test -n "$hardcode_libdirs"; then
39496916 libdir="$hardcode_libdirs"
39506917 if test -n "$hardcode_libdir_flag_spec_ld"; then
3951 case $archive_cmds in
3952 *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
3953 *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
3954 esac
6918 eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
39556919 else
39566920 eval dep_rpath=\"$hardcode_libdir_flag_spec\"
39576921 fi
39776941 eval shared_ext=\"$shrext_cmds\"
39786942 eval library_names=\"$library_names_spec\"
39796943 set dummy $library_names
3980 realname="$2"
3981 shift; shift
6944 shift
6945 realname="$1"
6946 shift
39826947
39836948 if test -n "$soname_spec"; then
39846949 eval soname=\"$soname_spec\"
39976962 done
39986963
39996964 # Use standard objects if they are pic
4000 test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
6965 test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
6966 test "X$libobjs" = "X " && libobjs=
6967
6968 delfiles=
6969 if test -n "$export_symbols" && test -n "$include_expsyms"; then
6970 $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
6971 export_symbols="$output_objdir/$libname.uexp"
6972 delfiles="$delfiles $export_symbols"
6973 fi
6974
6975 orig_export_symbols=
6976 case $host_os in
6977 cygwin* | mingw* | cegcc*)
6978 if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
6979 # exporting using user supplied symfile
6980 if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
6981 # and it's NOT already a .def file. Must figure out
6982 # which of the given symbols are data symbols and tag
6983 # them as such. So, trigger use of export_symbols_cmds.
6984 # export_symbols gets reassigned inside the "prepare
6985 # the list of exported symbols" if statement, so the
6986 # include_expsyms logic still works.
6987 orig_export_symbols="$export_symbols"
6988 export_symbols=
6989 always_export_symbols=yes
6990 fi
6991 fi
6992 ;;
6993 esac
40016994
40026995 # Prepare the list of exported symbols
40036996 if test -z "$export_symbols"; then
40046997 if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
4005 $show "generating symbol list for \`$libname.la'"
6998 func_verbose "generating symbol list for \`$libname.la'"
40066999 export_symbols="$output_objdir/$libname.exp"
4007 $run $rm $export_symbols
7000 $opt_dry_run || $RM $export_symbols
40087001 cmds=$export_symbols_cmds
40097002 save_ifs="$IFS"; IFS='~'
40107003 for cmd in $cmds; do
40117004 IFS="$save_ifs"
40127005 eval cmd=\"$cmd\"
4013 if len=`expr "X$cmd" : ".*"` &&
4014 test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
4015 $show "$cmd"
4016 $run eval "$cmd" || exit $?
4017 skipped_export=false
7006 func_len " $cmd"
7007 len=$func_len_result
7008 if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
7009 func_show_eval "$cmd" 'exit $?'
7010 skipped_export=false
40187011 else
4019 # The command line is too long to execute in one step.
4020 $show "using reloadable object file for export list..."
4021 skipped_export=:
7012 # The command line is too long to execute in one step.
7013 func_verbose "using reloadable object file for export list..."
7014 skipped_export=:
40227015 # Break out early, otherwise skipped_export may be
40237016 # set to false by a later but shorter cmd.
40247017 break
40257018 fi
40267019 done
40277020 IFS="$save_ifs"
4028 if test -n "$export_symbols_regex"; then
4029 $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
4030 $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
4031 $show "$mv \"${export_symbols}T\" \"$export_symbols\""
4032 $run eval '$mv "${export_symbols}T" "$export_symbols"'
7021 if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
7022 func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
7023 func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
40337024 fi
40347025 fi
40357026 fi
40367027
40377028 if test -n "$export_symbols" && test -n "$include_expsyms"; then
4038 $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
7029 tmp_export_symbols="$export_symbols"
7030 test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
7031 $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
7032 fi
7033
7034 if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
7035 # The given exports_symbols file has to be filtered, so filter it.
7036 func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
7037 # FIXME: $output_objdir/$libname.filter potentially contains lots of
7038 # 's' commands which not all seds can handle. GNU sed should be fine
7039 # though. Also, the filter scales superlinearly with the number of
7040 # global variables. join(1) would be nice here, but unfortunately
7041 # isn't a blessed tool.
7042 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
7043 delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
7044 export_symbols=$output_objdir/$libname.def
7045 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
40397046 fi
40407047
40417048 tmp_deplibs=
40427049 for test_deplib in $deplibs; do
4043 case " $convenience " in
4044 *" $test_deplib "*) ;;
4045 *)
4046 tmp_deplibs="$tmp_deplibs $test_deplib"
4047 ;;
4048 esac
7050 case " $convenience " in
7051 *" $test_deplib "*) ;;
7052 *)
7053 tmp_deplibs="$tmp_deplibs $test_deplib"
7054 ;;
7055 esac
40497056 done
40507057 deplibs="$tmp_deplibs"
40517058
40527059 if test -n "$convenience"; then
7060 if test -n "$whole_archive_flag_spec" &&
7061 test "$compiler_needs_object" = yes &&
7062 test -z "$libobjs"; then
7063 # extract the archives, so we have objects to list.
7064 # TODO: could optimize this to just extract one archive.
7065 whole_archive_flag_spec=
7066 fi
40537067 if test -n "$whole_archive_flag_spec"; then
40547068 save_libobjs=$libobjs
40557069 eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
7070 test "X$libobjs" = "X " && libobjs=
40567071 else
40577072 gentop="$output_objdir/${outputname}x"
40587073 generated="$generated $gentop"
40597074
40607075 func_extract_archives $gentop $convenience
40617076 libobjs="$libobjs $func_extract_archives_result"
7077 test "X$libobjs" = "X " && libobjs=
40627078 fi
40637079 fi
4064
7080
40657081 if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
40667082 eval flag=\"$thread_safe_flag_spec\"
40677083 linker_flags="$linker_flags $flag"
40697085
40707086 # Make a backup of the uninstalled library when relinking
40717087 if test "$mode" = relink; then
4072 $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
7088 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
40737089 fi
40747090
40757091 # Do each of the archive commands.
40827098 cmds=$module_cmds
40837099 fi
40847100 else
4085 if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
4086 eval test_cmds=\"$archive_expsym_cmds\"
4087 cmds=$archive_expsym_cmds
4088 else
4089 eval test_cmds=\"$archive_cmds\"
4090 cmds=$archive_cmds
7101 if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
7102 eval test_cmds=\"$archive_expsym_cmds\"
7103 cmds=$archive_expsym_cmds
7104 else
7105 eval test_cmds=\"$archive_cmds\"
7106 cmds=$archive_cmds
40917107 fi
40927108 fi
40937109
40947110 if test "X$skipped_export" != "X:" &&
4095 len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
4096 test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
7111 func_len " $test_cmds" &&
7112 len=$func_len_result &&
7113 test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
40977114 :
40987115 else
4099 # The command line is too long to link in one step, link piecewise.
4100 $echo "creating reloadable object files..."
7116 # The command line is too long to link in one step, link piecewise
7117 # or, if using GNU ld and skipped_export is not :, use a linker
7118 # script.
41017119
41027120 # Save the value of $output and $libobjs because we want to
41037121 # use them later. If we have whole_archive_flag_spec, we
41117129 save_libobjs=$libobjs
41127130 fi
41137131 save_output=$output
4114 output_la=`$echo "X$output" | $Xsed -e "$basename"`
7132 output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
41157133
41167134 # Clear the reloadable object creation command queue and
41177135 # initialize k to one.
41187136 test_cmds=
41197137 concat_cmds=
41207138 objlist=
4121 delfiles=
41227139 last_robj=
41237140 k=1
4124 output=$output_objdir/$output_la-${k}.$objext
4125 # Loop over the list of objects to be linked.
4126 for obj in $save_libobjs
4127 do
4128 eval test_cmds=\"$reload_cmds $objlist $last_robj\"
4129 if test "X$objlist" = X ||
4130 { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
4131 test "$len" -le "$max_cmd_len"; }; then
4132 objlist="$objlist $obj"
7141
7142 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
7143 output=${output_objdir}/${output_la}.lnkscript
7144 func_verbose "creating GNU ld script: $output"
7145 $ECHO 'INPUT (' > $output
7146 for obj in $save_libobjs
7147 do
7148 $ECHO "$obj" >> $output
7149 done
7150 $ECHO ')' >> $output
7151 delfiles="$delfiles $output"
7152 elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
7153 output=${output_objdir}/${output_la}.lnk
7154 func_verbose "creating linker input file list: $output"
7155 : > $output
7156 set x $save_libobjs
7157 shift
7158 firstobj=
7159 if test "$compiler_needs_object" = yes; then
7160 firstobj="$1 "
7161 shift
7162 fi
7163 for obj
7164 do
7165 $ECHO "$obj" >> $output
7166 done
7167 delfiles="$delfiles $output"
7168 output=$firstobj\"$file_list_spec$output\"
7169 else
7170 if test -n "$save_libobjs"; then
7171 func_verbose "creating reloadable object files..."
7172 output=$output_objdir/$output_la-${k}.$objext
7173 eval test_cmds=\"$reload_cmds\"
7174 func_len " $test_cmds"
7175 len0=$func_len_result
7176 len=$len0
7177
7178 # Loop over the list of objects to be linked.
7179 for obj in $save_libobjs
7180 do
7181 func_len " $obj"
7182 func_arith $len + $func_len_result
7183 len=$func_arith_result
7184 if test "X$objlist" = X ||
7185 test "$len" -lt "$max_cmd_len"; then
7186 func_append objlist " $obj"
7187 else
7188 # The command $test_cmds is almost too long, add a
7189 # command to the queue.
7190 if test "$k" -eq 1 ; then
7191 # The first file doesn't have a previous command to add.
7192 eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
7193 else
7194 # All subsequent reloadable object files will link in
7195 # the last one created.
7196 eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
7197 fi
7198 last_robj=$output_objdir/$output_la-${k}.$objext
7199 func_arith $k + 1
7200 k=$func_arith_result
7201 output=$output_objdir/$output_la-${k}.$objext
7202 objlist=$obj
7203 func_len " $last_robj"
7204 func_arith $len0 + $func_len_result
7205 len=$func_arith_result
7206 fi
7207 done
7208 # Handle the remaining objects by creating one last
7209 # reloadable object file. All subsequent reloadable object
7210 # files will link in the last one created.
7211 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
7212 eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
7213 if test -n "$last_robj"; then
7214 eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
7215 fi
7216 delfiles="$delfiles $output"
7217
41337218 else
4134 # The command $test_cmds is almost too long, add a
4135 # command to the queue.
4136 if test "$k" -eq 1 ; then
4137 # The first file doesn't have a previous command to add.
4138 eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
4139 else
4140 # All subsequent reloadable object files will link in
4141 # the last one created.
4142 eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
7219 output=
7220 fi
7221
7222 if ${skipped_export-false}; then
7223 func_verbose "generating symbol list for \`$libname.la'"
7224 export_symbols="$output_objdir/$libname.exp"
7225 $opt_dry_run || $RM $export_symbols
7226 libobjs=$output
7227 # Append the command to create the export file.
7228 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
7229 eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
7230 if test -n "$last_robj"; then
7231 eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
41437232 fi
4144 last_robj=$output_objdir/$output_la-${k}.$objext
4145 k=`expr $k + 1`
4146 output=$output_objdir/$output_la-${k}.$objext
4147 objlist=$obj
4148 len=1
41497233 fi
4150 done
4151 # Handle the remaining objects by creating one last
4152 # reloadable object file. All subsequent reloadable object
4153 # files will link in the last one created.
4154 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
4155 eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
4156
4157 if ${skipped_export-false}; then
4158 $show "generating symbol list for \`$libname.la'"
4159 export_symbols="$output_objdir/$libname.exp"
4160 $run $rm $export_symbols
4161 libobjs=$output
4162 # Append the command to create the export file.
4163 eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
4164 fi
4165
4166 # Set up a command to remove the reloadable object files
4167 # after they are used.
4168 i=0
4169 while test "$i" -lt "$k"
4170 do
4171 i=`expr $i + 1`
4172 delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
4173 done
4174
4175 $echo "creating a temporary reloadable object file: $output"
4176
4177 # Loop through the commands generated above and execute them.
4178 save_ifs="$IFS"; IFS='~'
4179 for cmd in $concat_cmds; do
7234
7235 test -n "$save_libobjs" &&
7236 func_verbose "creating a temporary reloadable object file: $output"
7237
7238 # Loop through the commands generated above and execute them.
7239 save_ifs="$IFS"; IFS='~'
7240 for cmd in $concat_cmds; do
7241 IFS="$save_ifs"
7242 $opt_silent || {
7243 func_quote_for_expand "$cmd"
7244 eval "func_echo $func_quote_for_expand_result"
7245 }
7246 $opt_dry_run || eval "$cmd" || {
7247 lt_exit=$?
7248
7249 # Restore the uninstalled library and exit
7250 if test "$mode" = relink; then
7251 ( cd "$output_objdir" && \
7252 $RM "${realname}T" && \
7253 $MV "${realname}U" "$realname" )
7254 fi
7255
7256 exit $lt_exit
7257 }
7258 done
41807259 IFS="$save_ifs"
4181 $show "$cmd"
4182 $run eval "$cmd" || exit $?
4183 done
4184 IFS="$save_ifs"
7260
7261 if test -n "$export_symbols_regex" && ${skipped_export-false}; then
7262 func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
7263 func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
7264 fi
7265 fi
7266
7267 if ${skipped_export-false}; then
7268 if test -n "$export_symbols" && test -n "$include_expsyms"; then
7269 tmp_export_symbols="$export_symbols"
7270 test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
7271 $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
7272 fi
7273
7274 if test -n "$orig_export_symbols"; then
7275 # The given exports_symbols file has to be filtered, so filter it.
7276 func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
7277 # FIXME: $output_objdir/$libname.filter potentially contains lots of
7278 # 's' commands which not all seds can handle. GNU sed should be fine
7279 # though. Also, the filter scales superlinearly with the number of
7280 # global variables. join(1) would be nice here, but unfortunately
7281 # isn't a blessed tool.
7282 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
7283 delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
7284 export_symbols=$output_objdir/$libname.def
7285 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
7286 fi
7287 fi
41857288
41867289 libobjs=$output
41877290 # Restore the value of output.
41897292
41907293 if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
41917294 eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
7295 test "X$libobjs" = "X " && libobjs=
41927296 fi
41937297 # Expand the library linking commands again to reset the
41947298 # value of $libobjs for piecewise linking.
42017305 cmds=$module_cmds
42027306 fi
42037307 else
4204 if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
4205 cmds=$archive_expsym_cmds
4206 else
4207 cmds=$archive_cmds
7308 if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
7309 cmds=$archive_expsym_cmds
7310 else
7311 cmds=$archive_cmds
42087312 fi
42097313 fi
4210
4211 # Append the command to remove the reloadable object files
4212 # to the just-reset $cmds.
4213 eval cmds=\"\$cmds~\$rm $delfiles\"
42147314 fi
7315
7316 if test -n "$delfiles"; then
7317 # Append the command to remove temporary files to $cmds.
7318 eval cmds=\"\$cmds~\$RM $delfiles\"
7319 fi
7320
7321 # Add any objects from preloaded convenience libraries
7322 if test -n "$dlprefiles"; then
7323 gentop="$output_objdir/${outputname}x"
7324 generated="$generated $gentop"
7325
7326 func_extract_archives $gentop $dlprefiles
7327 libobjs="$libobjs $func_extract_archives_result"
7328 test "X$libobjs" = "X " && libobjs=
7329 fi
7330
42157331 save_ifs="$IFS"; IFS='~'
42167332 for cmd in $cmds; do
42177333 IFS="$save_ifs"
42187334 eval cmd=\"$cmd\"
4219 $show "$cmd"
4220 $run eval "$cmd" || {
7335 $opt_silent || {
7336 func_quote_for_expand "$cmd"
7337 eval "func_echo $func_quote_for_expand_result"
7338 }
7339 $opt_dry_run || eval "$cmd" || {
42217340 lt_exit=$?
42227341
42237342 # Restore the uninstalled library and exit
42247343 if test "$mode" = relink; then
4225 $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
7344 ( cd "$output_objdir" && \
7345 $RM "${realname}T" && \
7346 $MV "${realname}U" "$realname" )
42267347 fi
42277348
42287349 exit $lt_exit
42327353
42337354 # Restore the uninstalled library and exit
42347355 if test "$mode" = relink; then
4235 $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
7356 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
42367357
42377358 if test -n "$convenience"; then
42387359 if test -z "$whole_archive_flag_spec"; then
4239 $show "${rm}r $gentop"
4240 $run ${rm}r "$gentop"
7360 func_show_eval '${RM}r "$gentop"'
42417361 fi
42427362 fi
42437363
42477367 # Create links to the real library.
42487368 for linkname in $linknames; do
42497369 if test "$realname" != "$linkname"; then
4250 $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
4251 $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
7370 func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
42527371 fi
42537372 done
42547373
42617380 ;;
42627381
42637382 obj)
7383 if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
7384 func_warning "\`-dlopen' is ignored for objects"
7385 fi
7386
42647387 case " $deplibs" in
42657388 *\ -l* | *\ -L*)
4266 $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;;
7389 func_warning "\`-l' and \`-L' are ignored for objects" ;;
42677390 esac
42687391
4269 if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
4270 $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
4271 fi
4272
4273 if test -n "$rpath"; then
4274 $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
4275 fi
4276
4277 if test -n "$xrpath"; then
4278 $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
4279 fi
4280
4281 if test -n "$vinfo"; then
4282 $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
4283 fi
4284
4285 if test -n "$release"; then
4286 $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
4287 fi
7392 test -n "$rpath" && \
7393 func_warning "\`-rpath' is ignored for objects"
7394
7395 test -n "$xrpath" && \
7396 func_warning "\`-R' is ignored for objects"
7397
7398 test -n "$vinfo" && \
7399 func_warning "\`-version-info' is ignored for objects"
7400
7401 test -n "$release" && \
7402 func_warning "\`-release' is ignored for objects"
42887403
42897404 case $output in
42907405 *.lo)
4291 if test -n "$objs$old_deplibs"; then
4292 $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
4293 exit $EXIT_FAILURE
4294 fi
4295 libobj="$output"
4296 obj=`$echo "X$output" | $Xsed -e "$lo2o"`
7406 test -n "$objs$old_deplibs" && \
7407 func_fatal_error "cannot build library object \`$output' from non-libtool objects"
7408
7409 libobj=$output
7410 func_lo2o "$libobj"
7411 obj=$func_lo2o_result
42977412 ;;
42987413 *)
42997414 libobj=
43027417 esac
43037418
43047419 # Delete the old objects.
4305 $run $rm $obj $libobj
7420 $opt_dry_run || $RM $obj $libobj
43067421
43077422 # Objects from convenience libraries. This assumes
43087423 # single-version convenience libraries. Whenever we create
43187433 if test -n "$convenience"; then
43197434 if test -n "$whole_archive_flag_spec"; then
43207435 eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
4321 reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
7436 reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
43227437 else
43237438 gentop="$output_objdir/${obj}x"
43247439 generated="$generated $gentop"
43297444 fi
43307445
43317446 # Create the old-style object.
4332 reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
7447 reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
43337448
43347449 output="$obj"
4335 cmds=$reload_cmds
4336 save_ifs="$IFS"; IFS='~'
4337 for cmd in $cmds; do
4338 IFS="$save_ifs"
4339 eval cmd=\"$cmd\"
4340 $show "$cmd"
4341 $run eval "$cmd" || exit $?
4342 done
4343 IFS="$save_ifs"
7450 func_execute_cmds "$reload_cmds" 'exit $?'
43447451
43457452 # Exit if we aren't doing a library object file.
43467453 if test -z "$libobj"; then
43477454 if test -n "$gentop"; then
4348 $show "${rm}r $gentop"
4349 $run ${rm}r $gentop
7455 func_show_eval '${RM}r "$gentop"'
43507456 fi
43517457
43527458 exit $EXIT_SUCCESS
43547460
43557461 if test "$build_libtool_libs" != yes; then
43567462 if test -n "$gentop"; then
4357 $show "${rm}r $gentop"
4358 $run ${rm}r $gentop
7463 func_show_eval '${RM}r "$gentop"'
43597464 fi
43607465
43617466 # Create an invalid libtool object if no PIC, so that we don't
43627467 # accidentally link it into a program.
43637468 # $show "echo timestamp > $libobj"
4364 # $run eval "echo timestamp > $libobj" || exit $?
7469 # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
43657470 exit $EXIT_SUCCESS
43667471 fi
43677472
43697474 # Only do commands if we really have different PIC objects.
43707475 reload_objs="$libobjs $reload_conv_objs"
43717476 output="$libobj"
4372 cmds=$reload_cmds
4373 save_ifs="$IFS"; IFS='~'
4374 for cmd in $cmds; do
4375 IFS="$save_ifs"
4376 eval cmd=\"$cmd\"
4377 $show "$cmd"
4378 $run eval "$cmd" || exit $?
4379 done
4380 IFS="$save_ifs"
7477 func_execute_cmds "$reload_cmds" 'exit $?'
43817478 fi
43827479
43837480 if test -n "$gentop"; then
4384 $show "${rm}r $gentop"
4385 $run ${rm}r $gentop
7481 func_show_eval '${RM}r "$gentop"'
43867482 fi
43877483
43887484 exit $EXIT_SUCCESS
43907486
43917487 prog)
43927488 case $host in
4393 *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
7489 *cygwin*) func_stripname '' '.exe' "$output"
7490 output=$func_stripname_result.exe;;
43947491 esac
4395 if test -n "$vinfo"; then
4396 $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
4397 fi
4398
4399 if test -n "$release"; then
4400 $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
4401 fi
4402
4403 if test "$preload" = yes; then
4404 if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
4405 test "$dlopen_self_static" = unknown; then
4406 $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
4407 fi
4408 fi
7492 test -n "$vinfo" && \
7493 func_warning "\`-version-info' is ignored for programs"
7494
7495 test -n "$release" && \
7496 func_warning "\`-release' is ignored for programs"
7497
7498 test "$preload" = yes \
7499 && test "$dlopen_support" = unknown \
7500 && test "$dlopen_self" = unknown \
7501 && test "$dlopen_self_static" = unknown && \
7502 func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
44097503
44107504 case $host in
44117505 *-*-rhapsody* | *-*-darwin1.[012])
44127506 # On Rhapsody replace the C library is the System framework
4413 compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
4414 finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
7507 compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
7508 finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
44157509 ;;
44167510 esac
44177511
44187512 case $host in
4419 *darwin*)
4420 # Don't allow lazy linking, it breaks C++ global constructors
4421 if test "$tagname" = CXX ; then
4422 compile_command="$compile_command ${wl}-bind_at_load"
4423 finalize_command="$finalize_command ${wl}-bind_at_load"
4424 fi
4425 ;;
7513 *-*-darwin*)
7514 # Don't allow lazy linking, it breaks C++ global constructors
7515 # But is supposedly fixed on 10.4 or later (yay!).
7516 if test "$tagname" = CXX ; then
7517 case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
7518 10.[0123])
7519 compile_command="$compile_command ${wl}-bind_at_load"
7520 finalize_command="$finalize_command ${wl}-bind_at_load"
7521 ;;
7522 esac
7523 fi
7524 # Time to change all our "foo.ltframework" stuff back to "-framework foo"
7525 compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
7526 finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
7527 ;;
44267528 esac
44277529
44287530
44977599 esac
44987600 fi
44997601 case $host in
4500 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
4501 testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
7602 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
7603 testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
45027604 case :$dllsearchpath: in
45037605 *":$libdir:"*) ;;
7606 ::) dllsearchpath=$libdir;;
45047607 *) dllsearchpath="$dllsearchpath:$libdir";;
45057608 esac
45067609 case :$dllsearchpath: in
45077610 *":$testbindir:"*) ;;
7611 ::) dllsearchpath=$testbindir;;
45087612 *) dllsearchpath="$dllsearchpath:$testbindir";;
45097613 esac
45107614 ;;
45567660
45577661 if test -n "$libobjs" && test "$build_old_libs" = yes; then
45587662 # Transform all the library objects into standard objects.
4559 compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
4560 finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
7663 compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
7664 finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
45617665 fi
45627666
4563 dlsyms=
4564 if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
4565 if test -n "$NM" && test -n "$global_symbol_pipe"; then
4566 dlsyms="${outputname}S.c"
4567 else
4568 $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
7667 func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
7668
7669 # template prelinking step
7670 if test -n "$prelink_cmds"; then
7671 func_execute_cmds "$prelink_cmds" 'exit $?'
7672 fi
7673
7674 wrappers_required=yes
7675 case $host in
7676 *cygwin* | *mingw* )
7677 if test "$build_libtool_libs" != yes; then
7678 wrappers_required=no
7679 fi
7680 ;;
7681 *cegcc)
7682 # Disable wrappers for cegcc, we are cross compiling anyway.
7683 wrappers_required=no
7684 ;;
7685 *)
7686 if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
7687 wrappers_required=no
7688 fi
7689 ;;
7690 esac
7691 if test "$wrappers_required" = no; then
7692 # Replace the output file specification.
7693 compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
7694 link_command="$compile_command$compile_rpath"
7695
7696 # We have no uninstalled library dependencies, so finalize right now.
7697 exit_status=0
7698 func_show_eval "$link_command" 'exit_status=$?'
7699
7700 # Delete the generated files.
7701 if test -f "$output_objdir/${outputname}S.${objext}"; then
7702 func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
45697703 fi
4570 fi
4571
4572 if test -n "$dlsyms"; then
4573 case $dlsyms in
4574 "") ;;
4575 *.c)
4576 # Discover the nlist of each of the dlfiles.
4577 nlist="$output_objdir/${outputname}.nm"
4578
4579 $show "$rm $nlist ${nlist}S ${nlist}T"
4580 $run $rm "$nlist" "${nlist}S" "${nlist}T"
4581
4582 # Parse the name list into a source file.
4583 $show "creating $output_objdir/$dlsyms"
4584
4585 test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
4586 /* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
4587 /* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
4588
4589 #ifdef __cplusplus
4590 extern \"C\" {
4591 #endif
4592
4593 /* Prevent the only kind of declaration conflicts we can make. */
4594 #define lt_preloaded_symbols some_other_symbol
4595
4596 /* External symbol declarations for the compiler. */\
4597 "
4598
4599 if test "$dlself" = yes; then
4600 $show "generating symbol list for \`$output'"
4601
4602 test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
4603
4604 # Add our own program objects to the symbol list.
4605 progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
4606 for arg in $progfiles; do
4607 $show "extracting global C symbols from \`$arg'"
4608 $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
4609 done
4610
4611 if test -n "$exclude_expsyms"; then
4612 $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
4613 $run eval '$mv "$nlist"T "$nlist"'
4614 fi
4615
4616 if test -n "$export_symbols_regex"; then
4617 $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
4618 $run eval '$mv "$nlist"T "$nlist"'
4619 fi
4620
4621 # Prepare the list of exported symbols
4622 if test -z "$export_symbols"; then
4623 export_symbols="$output_objdir/$outputname.exp"
4624 $run $rm $export_symbols
4625 $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
4626 case $host in
4627 *cygwin* | *mingw* )
4628 $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
4629 $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
4630 ;;
4631 esac
4632 else
4633 $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
4634 $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
4635 $run eval 'mv "$nlist"T "$nlist"'
4636 case $host in
4637 *cygwin* | *mingw* )
4638 $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
4639 $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
4640 ;;
4641 esac
4642 fi
4643 fi
4644
4645 for arg in $dlprefiles; do
4646 $show "extracting global C symbols from \`$arg'"
4647 name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
4648 $run eval '$echo ": $name " >> "$nlist"'
4649 $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
4650 done
4651
4652 if test -z "$run"; then
4653 # Make sure we have at least an empty file.
4654 test -f "$nlist" || : > "$nlist"
4655
4656 if test -n "$exclude_expsyms"; then
4657 $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
4658 $mv "$nlist"T "$nlist"
4659 fi
4660
4661 # Try sorting and uniquifying the output.
4662 if grep -v "^: " < "$nlist" |
4663 if sort -k 3 </dev/null >/dev/null 2>&1; then
4664 sort -k 3
4665 else
4666 sort +2
4667 fi |
4668 uniq > "$nlist"S; then
4669 :
4670 else
4671 grep -v "^: " < "$nlist" > "$nlist"S
4672 fi
4673
4674 if test -f "$nlist"S; then
4675 eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
4676 else
4677 $echo '/* NONE */' >> "$output_objdir/$dlsyms"
4678 fi
4679
4680 $echo >> "$output_objdir/$dlsyms" "\
4681
4682 #undef lt_preloaded_symbols
4683
4684 #if defined (__STDC__) && __STDC__
4685 # define lt_ptr void *
4686 #else
4687 # define lt_ptr char *
4688 # define const
4689 #endif
4690
4691 /* The mapping between symbol names and symbols. */
4692 "
4693
4694 case $host in
4695 *cygwin* | *mingw* )
4696 $echo >> "$output_objdir/$dlsyms" "\
4697 /* DATA imports from DLLs on WIN32 can't be const, because
4698 runtime relocations are performed -- see ld's documentation
4699 on pseudo-relocs */
4700 struct {
4701 "
4702 ;;
4703 * )
4704 $echo >> "$output_objdir/$dlsyms" "\
4705 const struct {
4706 "
4707 ;;
4708 esac
4709
4710
4711 $echo >> "$output_objdir/$dlsyms" "\
4712 const char *name;
4713 lt_ptr address;
4714 }
4715 lt_preloaded_symbols[] =
4716 {\
4717 "
4718
4719 eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
4720
4721 $echo >> "$output_objdir/$dlsyms" "\
4722 {0, (lt_ptr) 0}
4723 };
4724
4725 /* This works around a problem in FreeBSD linker */
4726 #ifdef FREEBSD_WORKAROUND
4727 static const void *lt_preloaded_setup() {
4728 return lt_preloaded_symbols;
4729 }
4730 #endif
4731
4732 #ifdef __cplusplus
4733 }
4734 #endif\
4735 "
4736 fi
4737
4738 pic_flag_for_symtable=
4739 case $host in
4740 # compiling the symbol table file with pic_flag works around
4741 # a FreeBSD bug that causes programs to crash when -lm is
4742 # linked before any other PIC object. But we must not use
4743 # pic_flag when linking with -static. The problem exists in
4744 # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
4745 *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
4746 case "$compile_command " in
4747 *" -static "*) ;;
4748 *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
4749 esac;;
4750 *-*-hpux*)
4751 case "$compile_command " in
4752 *" -static "*) ;;
4753 *) pic_flag_for_symtable=" $pic_flag";;
4754 esac
4755 esac
4756
4757 # Now compile the dynamic symbol file.
4758 $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
4759 $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
4760
4761 # Clean up the generated files.
4762 $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
4763 $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
4764
4765 # Transform the symbol file into the correct name.
4766 case $host in
4767 *cygwin* | *mingw* )
4768 if test -f "$output_objdir/${outputname}.def" ; then
4769 compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
4770 finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
4771 else
4772 compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
4773 finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
4774 fi
4775 ;;
4776 * )
4777 compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
4778 finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
4779 ;;
4780 esac
4781 ;;
4782 *)
4783 $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
4784 exit $EXIT_FAILURE
4785 ;;
4786 esac
4787 else
4788 # We keep going just in case the user didn't refer to
4789 # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
4790 # really was required.
4791
4792 # Nullify the symbol file.
4793 compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
4794 finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
4795 fi
4796
4797 if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
4798 # Replace the output file specification.
4799 compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
4800 link_command="$compile_command$compile_rpath"
4801
4802 # We have no uninstalled library dependencies, so finalize right now.
4803 $show "$link_command"
4804 $run eval "$link_command"
4805 exit_status=$?
4806
4807 # Delete the generated files.
4808 if test -n "$dlsyms"; then
4809 $show "$rm $output_objdir/${outputname}S.${objext}"
4810 $run $rm "$output_objdir/${outputname}S.${objext}"
4811 fi
48127704
48137705 exit $exit_status
4814 fi
4815
4816 if test -n "$shlibpath_var"; then
4817 # We should set the shlibpath_var
4818 rpath=
4819 for dir in $temp_rpath; do
4820 case $dir in
4821 [\\/]* | [A-Za-z]:[\\/]*)
4822 # Absolute path.
4823 rpath="$rpath$dir:"
4824 ;;
4825 *)
4826 # Relative path: add a thisdir entry.
4827 rpath="$rpath\$thisdir/$dir:"
4828 ;;
4829 esac
4830 done
4831 temp_rpath="$rpath"
48327706 fi
48337707
48347708 if test -n "$compile_shlibpath$finalize_shlibpath"; then
48637737 # We don't need to create a wrapper script.
48647738 link_command="$compile_var$compile_command$compile_rpath"
48657739 # Replace the output file specification.
4866 link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
7740 link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
48677741 # Delete the old output file.
4868 $run $rm $output
7742 $opt_dry_run || $RM $output
48697743 # Link the executable and exit
4870 $show "$link_command"
4871 $run eval "$link_command" || exit $?
7744 func_show_eval "$link_command" 'exit $?'
48727745 exit $EXIT_SUCCESS
48737746 fi
48747747
48777750 link_command="$compile_var$compile_command$compile_rpath"
48787751 relink_command="$finalize_var$finalize_command$finalize_rpath"
48797752
4880 $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
4881 $echo "$modename: \`$output' will be relinked during installation" 1>&2
7753 func_warning "this platform does not like uninstalled shared libraries"
7754 func_warning "\`$output' will be relinked during installation"
48827755 else
48837756 if test "$fast_install" != no; then
48847757 link_command="$finalize_var$compile_command$finalize_rpath"
48857758 if test "$fast_install" = yes; then
4886 relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
7759 relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
48877760 else
48887761 # fast_install is set to needless
48897762 relink_command=
48957768 fi
48967769
48977770 # Replace the output file specification.
4898 link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
7771 link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
48997772
49007773 # Delete the old output files.
4901 $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
4902
4903 $show "$link_command"
4904 $run eval "$link_command" || exit $?
7774 $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
7775
7776 func_show_eval "$link_command" 'exit $?'
49057777
49067778 # Now create the wrapper script.
4907 $show "creating $output"
7779 func_verbose "creating $output"
49087780
49097781 # Quote the relink command for shipping.
49107782 if test -n "$relink_command"; then
49117783 # Preserve any variables that may affect compiler behavior
49127784 for var in $variables_saved_for_relink; do
49137785 if eval test -z \"\${$var+set}\"; then
4914 relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
7786 relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
49157787 elif eval var_value=\$$var; test -z "$var_value"; then
49167788 relink_command="$var=; export $var; $relink_command"
49177789 else
4918 var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
4919 relink_command="$var=\"$var_value\"; export $var; $relink_command"
7790 func_quote_for_eval "$var_value"
7791 relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
49207792 fi
49217793 done
49227794 relink_command="(cd `pwd`; $relink_command)"
4923 relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
7795 relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
49247796 fi
49257797
4926 # Quote $echo for shipping.
4927 if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
7798 # Quote $ECHO for shipping.
7799 if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
49287800 case $progpath in
49297801 [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
49307802 *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
49317803 esac
4932 qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
7804 qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
49337805 else
4934 qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
7806 qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
49357807 fi
49367808
4937 # Only actually do things if our run command is non-null.
4938 if test -z "$run"; then
7809 # Only actually do things if not in dry run mode.
7810 $opt_dry_run || {
49397811 # win32 will think the script is a binary if it has
49407812 # a .exe suffix, so we strip it off here.
49417813 case $output in
4942 *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
7814 *.exe) func_stripname '' '.exe' "$output"
7815 output=$func_stripname_result ;;
49437816 esac
49447817 # test for cygwin because mv fails w/o .exe extensions
49457818 case $host in
49467819 *cygwin*)
49477820 exeext=.exe
4948 outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
7821 func_stripname '' '.exe' "$outputname"
7822 outputname=$func_stripname_result ;;
49497823 *) exeext= ;;
49507824 esac
49517825 case $host in
49527826 *cygwin* | *mingw* )
4953 output_name=`basename $output`
4954 output_path=`dirname $output`
4955 cwrappersource="$output_path/$objdir/lt-$output_name.c"
4956 cwrapper="$output_path/$output_name.exe"
4957 $rm $cwrappersource $cwrapper
4958 trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
4959
4960 cat > $cwrappersource <<EOF
4961
4962 /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
4963 Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
4964
4965 The $output program cannot be directly executed until all the libtool
4966 libraries that it depends on are installed.
4967
4968 This wrapper executable should never be moved out of the build directory.
4969 If it is, it will not operate correctly.
4970
4971 Currently, it simply execs the wrapper *script* "/bin/sh $output",
4972 but could eventually absorb all of the scripts functionality and
4973 exec $objdir/$outputname directly.
4974 */
4975 EOF
4976 cat >> $cwrappersource<<"EOF"
4977 #include <stdio.h>
4978 #include <stdlib.h>
4979 #include <unistd.h>
4980 #include <malloc.h>
4981 #include <stdarg.h>
4982 #include <assert.h>
4983 #include <string.h>
4984 #include <ctype.h>
4985 #include <sys/stat.h>
4986
4987 #if defined(PATH_MAX)
4988 # define LT_PATHMAX PATH_MAX
4989 #elif defined(MAXPATHLEN)
4990 # define LT_PATHMAX MAXPATHLEN
4991 #else
4992 # define LT_PATHMAX 1024
4993 #endif
4994
4995 #ifndef DIR_SEPARATOR
4996 # define DIR_SEPARATOR '/'
4997 # define PATH_SEPARATOR ':'
4998 #endif
4999
5000 #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
5001 defined (__OS2__)
5002 # define HAVE_DOS_BASED_FILE_SYSTEM
5003 # ifndef DIR_SEPARATOR_2
5004 # define DIR_SEPARATOR_2 '\\'
5005 # endif
5006 # ifndef PATH_SEPARATOR_2
5007 # define PATH_SEPARATOR_2 ';'
5008 # endif
5009 #endif
5010
5011 #ifndef DIR_SEPARATOR_2
5012 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
5013 #else /* DIR_SEPARATOR_2 */
5014 # define IS_DIR_SEPARATOR(ch) \
5015 (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
5016 #endif /* DIR_SEPARATOR_2 */
5017
5018 #ifndef PATH_SEPARATOR_2
5019 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
5020 #else /* PATH_SEPARATOR_2 */
5021 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
5022 #endif /* PATH_SEPARATOR_2 */
5023
5024 #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
5025 #define XFREE(stale) do { \
5026 if (stale) { free ((void *) stale); stale = 0; } \
5027 } while (0)
5028
5029 /* -DDEBUG is fairly common in CFLAGS. */
5030 #undef DEBUG
5031 #if defined DEBUGWRAPPER
5032 # define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
5033 #else
5034 # define DEBUG(format, ...)
5035 #endif
5036
5037 const char *program_name = NULL;
5038
5039 void * xmalloc (size_t num);
5040 char * xstrdup (const char *string);
5041 const char * base_name (const char *name);
5042 char * find_executable(const char *wrapper);
5043 int check_executable(const char *path);
5044 char * strendzap(char *str, const char *pat);
5045 void lt_fatal (const char *message, ...);
5046
5047 int
5048 main (int argc, char *argv[])
5049 {
5050 char **newargz;
5051 int i;
5052
5053 program_name = (char *) xstrdup (base_name (argv[0]));
5054 DEBUG("(main) argv[0] : %s\n",argv[0]);
5055 DEBUG("(main) program_name : %s\n",program_name);
5056 newargz = XMALLOC(char *, argc+2);
5057 EOF
5058
5059 cat >> $cwrappersource <<EOF
5060 newargz[0] = (char *) xstrdup("$SHELL");
5061 EOF
5062
5063 cat >> $cwrappersource <<"EOF"
5064 newargz[1] = find_executable(argv[0]);
5065 if (newargz[1] == NULL)
5066 lt_fatal("Couldn't find %s", argv[0]);
5067 DEBUG("(main) found exe at : %s\n",newargz[1]);
5068 /* we know the script has the same name, without the .exe */
5069 /* so make sure newargz[1] doesn't end in .exe */
5070 strendzap(newargz[1],".exe");
5071 for (i = 1; i < argc; i++)
5072 newargz[i+1] = xstrdup(argv[i]);
5073 newargz[argc+1] = NULL;
5074
5075 for (i=0; i<argc+1; i++)
5076 {
5077 DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]);
5078 ;
5079 }
5080
5081 EOF
5082
5083 case $host_os in
5084 mingw*)
5085 cat >> $cwrappersource <<EOF
5086 execv("$SHELL",(char const **)newargz);
5087 EOF
5088 ;;
5089 *)
5090 cat >> $cwrappersource <<EOF
5091 execv("$SHELL",newargz);
5092 EOF
5093 ;;
5094 esac
5095
5096 cat >> $cwrappersource <<"EOF"
5097 return 127;
5098 }
5099
5100 void *
5101 xmalloc (size_t num)
5102 {
5103 void * p = (void *) malloc (num);
5104 if (!p)
5105 lt_fatal ("Memory exhausted");
5106
5107 return p;
5108 }
5109
5110 char *
5111 xstrdup (const char *string)
5112 {
5113 return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
5114 ;
5115 }
5116
5117 const char *
5118 base_name (const char *name)
5119 {
5120 const char *base;
5121
5122 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
5123 /* Skip over the disk name in MSDOS pathnames. */
5124 if (isalpha ((unsigned char)name[0]) && name[1] == ':')
5125 name += 2;
5126 #endif
5127
5128 for (base = name; *name; name++)
5129 if (IS_DIR_SEPARATOR (*name))
5130 base = name + 1;
5131 return base;
5132 }
5133
5134 int
5135 check_executable(const char * path)
5136 {
5137 struct stat st;
5138
5139 DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
5140 if ((!path) || (!*path))
5141 return 0;
5142
5143 if ((stat (path, &st) >= 0) &&
5144 (
5145 /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
5146 #if defined (S_IXOTH)
5147 ((st.st_mode & S_IXOTH) == S_IXOTH) ||
5148 #endif
5149 #if defined (S_IXGRP)
5150 ((st.st_mode & S_IXGRP) == S_IXGRP) ||
5151 #endif
5152 ((st.st_mode & S_IXUSR) == S_IXUSR))
5153 )
5154 return 1;
5155 else
5156 return 0;
5157 }
5158
5159 /* Searches for the full path of the wrapper. Returns
5160 newly allocated full path name if found, NULL otherwise */
5161 char *
5162 find_executable (const char* wrapper)
5163 {
5164 int has_slash = 0;
5165 const char* p;
5166 const char* p_next;
5167 /* static buffer for getcwd */
5168 char tmp[LT_PATHMAX + 1];
5169 int tmp_len;
5170 char* concat_name;
5171
5172 DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
5173
5174 if ((wrapper == NULL) || (*wrapper == '\0'))
5175 return NULL;
5176
5177 /* Absolute path? */
5178 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
5179 if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
5180 {
5181 concat_name = xstrdup (wrapper);
5182 if (check_executable(concat_name))
5183 return concat_name;
5184 XFREE(concat_name);
5185 }
5186 else
5187 {
5188 #endif
5189 if (IS_DIR_SEPARATOR (wrapper[0]))
5190 {
5191 concat_name = xstrdup (wrapper);
5192 if (check_executable(concat_name))
5193 return concat_name;
5194 XFREE(concat_name);
5195 }
5196 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
5197 }
5198 #endif
5199
5200 for (p = wrapper; *p; p++)
5201 if (*p == '/')
5202 {
5203 has_slash = 1;
5204 break;
5205 }
5206 if (!has_slash)
5207 {
5208 /* no slashes; search PATH */
5209 const char* path = getenv ("PATH");
5210 if (path != NULL)
5211 {
5212 for (p = path; *p; p = p_next)
5213 {
5214 const char* q;
5215 size_t p_len;
5216 for (q = p; *q; q++)
5217 if (IS_PATH_SEPARATOR(*q))
5218 break;
5219 p_len = q - p;
5220 p_next = (*q == '\0' ? q : q + 1);
5221 if (p_len == 0)
5222 {
5223 /* empty path: current directory */
5224 if (getcwd (tmp, LT_PATHMAX) == NULL)
5225 lt_fatal ("getcwd failed");
5226 tmp_len = strlen(tmp);
5227 concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
5228 memcpy (concat_name, tmp, tmp_len);
5229 concat_name[tmp_len] = '/';
5230 strcpy (concat_name + tmp_len + 1, wrapper);
5231 }
5232 else
5233 {
5234 concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
5235 memcpy (concat_name, p, p_len);
5236 concat_name[p_len] = '/';
5237 strcpy (concat_name + p_len + 1, wrapper);
5238 }
5239 if (check_executable(concat_name))
5240 return concat_name;
5241 XFREE(concat_name);
5242 }
5243 }
5244 /* not found in PATH; assume curdir */
5245 }
5246 /* Relative path | not found in path: prepend cwd */
5247 if (getcwd (tmp, LT_PATHMAX) == NULL)
5248 lt_fatal ("getcwd failed");
5249 tmp_len = strlen(tmp);
5250 concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
5251 memcpy (concat_name, tmp, tmp_len);
5252 concat_name[tmp_len] = '/';
5253 strcpy (concat_name + tmp_len + 1, wrapper);
5254
5255 if (check_executable(concat_name))
5256 return concat_name;
5257 XFREE(concat_name);
5258 return NULL;
5259 }
5260
5261 char *
5262 strendzap(char *str, const char *pat)
5263 {
5264 size_t len, patlen;
5265
5266 assert(str != NULL);
5267 assert(pat != NULL);
5268
5269 len = strlen(str);
5270 patlen = strlen(pat);
5271
5272 if (patlen <= len)
5273 {
5274 str += len - patlen;
5275 if (strcmp(str, pat) == 0)
5276 *str = '\0';
5277 }
5278 return str;
5279 }
5280
5281 static void
5282 lt_error_core (int exit_status, const char * mode,
5283 const char * message, va_list ap)
5284 {
5285 fprintf (stderr, "%s: %s: ", program_name, mode);
5286 vfprintf (stderr, message, ap);
5287 fprintf (stderr, ".\n");
5288
5289 if (exit_status >= 0)
5290 exit (exit_status);
5291 }
5292
5293 void
5294 lt_fatal (const char *message, ...)
5295 {
5296 va_list ap;
5297 va_start (ap, message);
5298 lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
5299 va_end (ap);
5300 }
5301 EOF
5302 # we should really use a build-platform specific compiler
5303 # here, but OTOH, the wrappers (shell script and this C one)
5304 # are only useful if you want to execute the "real" binary.
5305 # Since the "real" binary is built for $host, then this
5306 # wrapper might as well be built for $host, too.
5307 $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
5308 ;;
5309 esac
5310 $rm $output
5311 trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
5312
5313 $echo > $output "\
5314 #! $SHELL
5315
5316 # $output - temporary wrapper script for $objdir/$outputname
5317 # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
5318 #
5319 # The $output program cannot be directly executed until all the libtool
5320 # libraries that it depends on are installed.
5321 #
5322 # This wrapper script should never be moved out of the build directory.
5323 # If it is, it will not operate correctly.
5324
5325 # Sed substitution that helps us do robust quoting. It backslashifies
5326 # metacharacters that are still active within double-quoted strings.
5327 Xsed='${SED} -e 1s/^X//'
5328 sed_quote_subst='$sed_quote_subst'
5329
5330 # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
5331 if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
5332 emulate sh
5333 NULLCMD=:
5334 # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
5335 # is contrary to our usage. Disable this feature.
5336 alias -g '\${1+\"\$@\"}'='\"\$@\"'
5337 setopt NO_GLOB_SUBST
5338 else
5339 case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
5340 fi
5341 BIN_SH=xpg4; export BIN_SH # for Tru64
5342 DUALCASE=1; export DUALCASE # for MKS sh
5343
5344 # The HP-UX ksh and POSIX shell print the target directory to stdout
5345 # if CDPATH is set.
5346 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
5347
5348 relink_command=\"$relink_command\"
5349
5350 # This environment variable determines our operation mode.
5351 if test \"\$libtool_install_magic\" = \"$magic\"; then
5352 # install mode needs the following variable:
5353 notinst_deplibs='$notinst_deplibs'
5354 else
5355 # When we are sourced in execute mode, \$file and \$echo are already set.
5356 if test \"\$libtool_execute_magic\" != \"$magic\"; then
5357 echo=\"$qecho\"
5358 file=\"\$0\"
5359 # Make sure echo works.
5360 if test \"X\$1\" = X--no-reexec; then
5361 # Discard the --no-reexec flag, and continue.
5362 shift
5363 elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
5364 # Yippee, \$echo works!
5365 :
5366 else
5367 # Restart under the correct shell, and then maybe \$echo will work.
5368 exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
5369 fi
5370 fi\
5371 "
5372 $echo >> $output "\
5373
5374 # Find the directory that this script lives in.
5375 thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
5376 test \"x\$thisdir\" = \"x\$file\" && thisdir=.
5377
5378 # Follow symbolic links until we get to the real thisdir.
5379 file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
5380 while test -n \"\$file\"; do
5381 destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
5382
5383 # If there was a directory component, then change thisdir.
5384 if test \"x\$destdir\" != \"x\$file\"; then
5385 case \"\$destdir\" in
5386 [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
5387 *) thisdir=\"\$thisdir/\$destdir\" ;;
5388 esac
5389 fi
5390
5391 file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
5392 file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
5393 done
5394
5395 # Try to get the absolute directory name.
5396 absdir=\`cd \"\$thisdir\" && pwd\`
5397 test -n \"\$absdir\" && thisdir=\"\$absdir\"
5398 "
5399
5400 if test "$fast_install" = yes; then
5401 $echo >> $output "\
5402 program=lt-'$outputname'$exeext
5403 progdir=\"\$thisdir/$objdir\"
5404
5405 if test ! -f \"\$progdir/\$program\" || \\
5406 { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
5407 test \"X\$file\" != \"X\$progdir/\$program\"; }; then
5408
5409 file=\"\$\$-\$program\"
5410
5411 if test ! -d \"\$progdir\"; then
5412 $mkdir \"\$progdir\"
5413 else
5414 $rm \"\$progdir/\$file\"
5415 fi"
5416
5417 $echo >> $output "\
5418
5419 # relink executable if necessary
5420 if test -n \"\$relink_command\"; then
5421 if relink_command_output=\`eval \$relink_command 2>&1\`; then :
5422 else
5423 $echo \"\$relink_command_output\" >&2
5424 $rm \"\$progdir/\$file\"
5425 exit $EXIT_FAILURE
5426 fi
5427 fi
5428
5429 $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
5430 { $rm \"\$progdir/\$program\";
5431 $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
5432 $rm \"\$progdir/\$file\"
5433 fi"
5434 else
5435 $echo >> $output "\
5436 program='$outputname'
5437 progdir=\"\$thisdir/$objdir\"
5438 "
5439 fi
5440
5441 $echo >> $output "\
5442
5443 if test -f \"\$progdir/\$program\"; then"
5444
5445 # Export our shlibpath_var if we have one.
5446 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
5447 $echo >> $output "\
5448 # Add our own library path to $shlibpath_var
5449 $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
5450
5451 # Some systems cannot cope with colon-terminated $shlibpath_var
5452 # The second colon is a workaround for a bug in BeOS R4 sed
5453 $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
5454
5455 export $shlibpath_var
5456 "
5457 fi
5458
5459 # fixup the dll searchpath if we need to.
5460 if test -n "$dllsearchpath"; then
5461 $echo >> $output "\
5462 # Add the dll search path components to the executable PATH
5463 PATH=$dllsearchpath:\$PATH
5464 "
5465 fi
5466
5467 $echo >> $output "\
5468 if test \"\$libtool_execute_magic\" != \"$magic\"; then
5469 # Run the actual program with our arguments.
5470 "
5471 case $host in
5472 # Backslashes separate directories on plain windows
5473 *-*-mingw | *-*-os2*)
5474 $echo >> $output "\
5475 exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
5476 "
7827 func_dirname_and_basename "$output" "" "."
7828 output_name=$func_basename_result
7829 output_path=$func_dirname_result
7830 cwrappersource="$output_path/$objdir/lt-$output_name.c"
7831 cwrapper="$output_path/$output_name.exe"
7832 $RM $cwrappersource $cwrapper
7833 trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
7834
7835 func_emit_cwrapperexe_src > $cwrappersource
7836
7837 # The wrapper executable is built using the $host compiler,
7838 # because it contains $host paths and files. If cross-
7839 # compiling, it, like the target executable, must be
7840 # executed on the $host or under an emulation environment.
7841 $opt_dry_run || {
7842 $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
7843 $STRIP $cwrapper
7844 }
7845
7846 # Now, create the wrapper script for func_source use:
7847 func_ltwrapper_scriptname $cwrapper
7848 $RM $func_ltwrapper_scriptname_result
7849 trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
7850 $opt_dry_run || {
7851 # note: this script will not be executed, so do not chmod.
7852 if test "x$build" = "x$host" ; then
7853 $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
7854 else
7855 func_emit_wrapper no > $func_ltwrapper_scriptname_result
7856 fi
7857 }
54777858 ;;
5478
5479 *)
5480 $echo >> $output "\
5481 exec \"\$progdir/\$program\" \${1+\"\$@\"}
5482 "
7859 * )
7860 $RM $output
7861 trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
7862
7863 func_emit_wrapper no > $output
7864 chmod +x $output
54837865 ;;
54847866 esac
5485 $echo >> $output "\
5486 \$echo \"\$0: cannot exec \$program \$*\"
5487 exit $EXIT_FAILURE
5488 fi
5489 else
5490 # The program doesn't exist.
5491 \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
5492 \$echo \"This script is just a wrapper for \$program.\" 1>&2
5493 $echo \"See the $PACKAGE documentation for more information.\" 1>&2
5494 exit $EXIT_FAILURE
5495 fi
5496 fi\
5497 "
5498 chmod +x $output
5499 fi
7867 }
55007868 exit $EXIT_SUCCESS
55017869 ;;
55027870 esac
55057873 for oldlib in $oldlibs; do
55067874
55077875 if test "$build_libtool_libs" = convenience; then
5508 oldobjs="$libobjs_save"
7876 oldobjs="$libobjs_save $symfileobj"
55097877 addlibs="$convenience"
55107878 build_libtool_libs=no
55117879 else
55147882 build_libtool_libs=no
55157883 else
55167884 oldobjs="$old_deplibs $non_pic_objects"
7885 if test "$preload" = yes && test -f "$symfileobj"; then
7886 oldobjs="$oldobjs $symfileobj"
7887 fi
55177888 fi
55187889 addlibs="$old_convenience"
55197890 fi
55287899
55297900 # Do each command in the archive commands.
55307901 if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
5531 cmds=$old_archive_from_new_cmds
7902 cmds=$old_archive_from_new_cmds
55327903 else
7904
7905 # Add any objects from preloaded convenience libraries
7906 if test -n "$dlprefiles"; then
7907 gentop="$output_objdir/${outputname}x"
7908 generated="$generated $gentop"
7909
7910 func_extract_archives $gentop $dlprefiles
7911 oldobjs="$oldobjs $func_extract_archives_result"
7912 fi
7913
55337914 # POSIX demands no paths to be encoded in archives. We have
55347915 # to avoid creating archives with duplicate basenames if we
55357916 # might have to extract them afterwards, e.g., when creating a
55387919 # not supported by libtool).
55397920 if (for obj in $oldobjs
55407921 do
5541 $echo "X$obj" | $Xsed -e 's%^.*/%%'
7922 func_basename "$obj"
7923 $ECHO "$func_basename_result"
55427924 done | sort | sort -uc >/dev/null 2>&1); then
55437925 :
55447926 else
5545 $echo "copying selected object files to avoid basename conflicts..."
5546
5547 if test -z "$gentop"; then
5548 gentop="$output_objdir/${outputname}x"
5549 generated="$generated $gentop"
5550
5551 $show "${rm}r $gentop"
5552 $run ${rm}r "$gentop"
5553 $show "$mkdir $gentop"
5554 $run $mkdir "$gentop"
5555 exit_status=$?
5556 if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
5557 exit $exit_status
5558 fi
5559 fi
5560
7927 $ECHO "copying selected object files to avoid basename conflicts..."
7928 gentop="$output_objdir/${outputname}x"
7929 generated="$generated $gentop"
7930 func_mkdir_p "$gentop"
55617931 save_oldobjs=$oldobjs
55627932 oldobjs=
55637933 counter=1
55647934 for obj in $save_oldobjs
55657935 do
5566 objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
7936 func_basename "$obj"
7937 objbase="$func_basename_result"
55677938 case " $oldobjs " in
55687939 " ") oldobjs=$obj ;;
55697940 *[\ /]"$objbase "*)
55717942 # Make sure we don't pick an alternate name that also
55727943 # overlaps.
55737944 newobj=lt$counter-$objbase
5574 counter=`expr $counter + 1`
7945 func_arith $counter + 1
7946 counter=$func_arith_result
55757947 case " $oldobjs " in
55767948 *[\ /]"$newobj "*) ;;
55777949 *) if test ! -f "$gentop/$newobj"; then break; fi ;;
55787950 esac
55797951 done
5580 $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
5581 $run ln "$obj" "$gentop/$newobj" ||
5582 $run cp "$obj" "$gentop/$newobj"
7952 func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
55837953 oldobjs="$oldobjs $gentop/$newobj"
55847954 ;;
55857955 *) oldobjs="$oldobjs $obj" ;;
55867956 esac
55877957 done
55887958 fi
5589
55907959 eval cmds=\"$old_archive_cmds\"
55917960
5592 if len=`expr "X$cmds" : ".*"` &&
5593 test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
7961 func_len " $cmds"
7962 len=$func_len_result
7963 if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
55947964 cmds=$old_archive_cmds
55957965 else
55967966 # the command line is too long to link in one step, link in parts
5597 $echo "using piecewise archive linking..."
7967 func_verbose "using piecewise archive linking..."
55987968 save_RANLIB=$RANLIB
55997969 RANLIB=:
56007970 objlist=
56017971 concat_cmds=
56027972 save_oldobjs=$oldobjs
5603
7973 oldobjs=
56047974 # Is there a better way of finding the last object in the list?
56057975 for obj in $save_oldobjs
56067976 do
56077977 last_oldobj=$obj
56087978 done
7979 eval test_cmds=\"$old_archive_cmds\"
7980 func_len " $test_cmds"
7981 len0=$func_len_result
7982 len=$len0
56097983 for obj in $save_oldobjs
56107984 do
5611 oldobjs="$objlist $obj"
5612 objlist="$objlist $obj"
5613 eval test_cmds=\"$old_archive_cmds\"
5614 if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
5615 test "$len" -le "$max_cmd_len"; then
7985 func_len " $obj"
7986 func_arith $len + $func_len_result
7987 len=$func_arith_result
7988 func_append objlist " $obj"
7989 if test "$len" -lt "$max_cmd_len"; then
56167990 :
56177991 else
56187992 # the above command should be used before it gets too long
56197993 oldobjs=$objlist
56207994 if test "$obj" = "$last_oldobj" ; then
5621 RANLIB=$save_RANLIB
7995 RANLIB=$save_RANLIB
56227996 fi
56237997 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
56247998 eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
56257999 objlist=
8000 len=$len0
56268001 fi
56278002 done
56288003 RANLIB=$save_RANLIB
56348009 fi
56358010 fi
56368011 fi
5637 save_ifs="$IFS"; IFS='~'
5638 for cmd in $cmds; do
5639 eval cmd=\"$cmd\"
5640 IFS="$save_ifs"
5641 $show "$cmd"
5642 $run eval "$cmd" || exit $?
5643 done
5644 IFS="$save_ifs"
8012 func_execute_cmds "$cmds" 'exit $?'
56458013 done
56468014
5647 if test -n "$generated"; then
5648 $show "${rm}r$generated"
5649 $run ${rm}r$generated
5650 fi
8015 test -n "$generated" && \
8016 func_show_eval "${RM}r$generated"
56518017
56528018 # Now create the libtool archive.
56538019 case $output in
56548020 *.la)
56558021 old_library=
56568022 test "$build_old_libs" = yes && old_library="$libname.$libext"
5657 $show "creating $output"
8023 func_verbose "creating $output"
56588024
56598025 # Preserve any variables that may affect compiler behavior
56608026 for var in $variables_saved_for_relink; do
56618027 if eval test -z \"\${$var+set}\"; then
5662 relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
8028 relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
56638029 elif eval var_value=\$$var; test -z "$var_value"; then
56648030 relink_command="$var=; export $var; $relink_command"
56658031 else
5666 var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
5667 relink_command="$var=\"$var_value\"; export $var; $relink_command"
8032 func_quote_for_eval "$var_value"
8033 relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
56688034 fi
56698035 done
56708036 # Quote the link command for shipping.
56718037 relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
5672 relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
8038 relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
56738039 if test "$hardcode_automatic" = yes ; then
56748040 relink_command=
56758041 fi
56768042
5677
56788043 # Only create the output if not a dry run.
5679 if test -z "$run"; then
8044 $opt_dry_run || {
56808045 for installed in no yes; do
56818046 if test "$installed" = yes; then
56828047 if test -z "$install_libdir"; then
56888053 for deplib in $dependency_libs; do
56898054 case $deplib in
56908055 *.la)
5691 name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
8056 func_basename "$deplib"
8057 name="$func_basename_result"
56928058 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
5693 if test -z "$libdir"; then
5694 $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
5695 exit $EXIT_FAILURE
5696 fi
8059 test -z "$libdir" && \
8060 func_fatal_error "\`$deplib' is not a valid libtool archive"
56978061 newdependency_libs="$newdependency_libs $libdir/$name"
56988062 ;;
56998063 *) newdependency_libs="$newdependency_libs $deplib" ;;
57018065 done
57028066 dependency_libs="$newdependency_libs"
57038067 newdlfiles=
8068
57048069 for lib in $dlfiles; do
5705 name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
5706 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
5707 if test -z "$libdir"; then
5708 $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
5709 exit $EXIT_FAILURE
5710 fi
5711 newdlfiles="$newdlfiles $libdir/$name"
8070 case $lib in
8071 *.la)
8072 func_basename "$lib"
8073 name="$func_basename_result"
8074 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
8075 test -z "$libdir" && \
8076 func_fatal_error "\`$lib' is not a valid libtool archive"
8077 newdlfiles="$newdlfiles $libdir/$name"
8078 ;;
8079 *) newdlfiles="$newdlfiles $lib" ;;
8080 esac
57128081 done
57138082 dlfiles="$newdlfiles"
57148083 newdlprefiles=
57158084 for lib in $dlprefiles; do
5716 name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
5717 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
5718 if test -z "$libdir"; then
5719 $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
5720 exit $EXIT_FAILURE
5721 fi
5722 newdlprefiles="$newdlprefiles $libdir/$name"
8085 case $lib in
8086 *.la)
8087 # Only pass preopened files to the pseudo-archive (for
8088 # eventual linking with the app. that links it) if we
8089 # didn't already link the preopened objects directly into
8090 # the library:
8091 func_basename "$lib"
8092 name="$func_basename_result"
8093 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
8094 test -z "$libdir" && \
8095 func_fatal_error "\`$lib' is not a valid libtool archive"
8096 newdlprefiles="$newdlprefiles $libdir/$name"
8097 ;;
8098 esac
57238099 done
57248100 dlprefiles="$newdlprefiles"
57258101 else
57428118 done
57438119 dlprefiles="$newdlprefiles"
57448120 fi
5745 $rm $output
8121 $RM $output
57468122 # place dlname in correct position for cygwin
57478123 tdlname=$dlname
57488124 case $host,$output,$installed,$module,$dlname in
5749 *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
8125 *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
57508126 esac
5751 $echo > $output "\
8127 $ECHO > $output "\
57528128 # $outputname - a libtool library file
5753 # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
8129 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
57548130 #
57558131 # Please DO NOT delete this file!
57568132 # It is necessary for linking the library.
57648140 # The name of the static archive.
57658141 old_library='$old_library'
57668142
8143 # Linker flags that can not go in dependency_libs.
8144 inherited_linker_flags='$new_inherited_linker_flags'
8145
57678146 # Libraries that this one depends upon.
57688147 dependency_libs='$dependency_libs'
8148
8149 # Names of additional weak libraries provided by this library
8150 weak_library_names='$weak_libs'
57698151
57708152 # Version information for $libname.
57718153 current=$current
57858167 # Directory that this library needs to be installed in:
57868168 libdir='$install_libdir'"
57878169 if test "$installed" = no && test "$need_relink" = yes; then
5788 $echo >> $output "\
8170 $ECHO >> $output "\
57898171 relink_command=\"$relink_command\""
57908172 fi
57918173 done
5792 fi
8174 }
57938175
57948176 # Do a symbolic link so that the libtool archive can be found in
57958177 # LD_LIBRARY_PATH before the program is installed.
5796 $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
5797 $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
8178 func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
57988179 ;;
57998180 esac
58008181 exit $EXIT_SUCCESS
5801 ;;
5802
5803 # libtool install mode
5804 install)
5805 modename="$modename: install"
5806
5807 # There may be an optional sh(1) argument at the beginning of
5808 # install_prog (especially on Windows NT).
5809 if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
5810 # Allow the use of GNU shtool's install command.
5811 $echo "X$nonopt" | grep shtool > /dev/null; then
5812 # Aesthetically quote it.
5813 arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
5814 case $arg in
5815 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
5816 arg="\"$arg\""
5817 ;;
5818 esac
5819 install_prog="$arg "
5820 arg="$1"
5821 shift
5822 else
5823 install_prog=
5824 arg=$nonopt
5825 fi
5826
5827 # The real first argument should be the name of the installation program.
5828 # Aesthetically quote it.
5829 arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
5830 case $arg in
5831 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
5832 arg="\"$arg\""
5833 ;;
5834 esac
5835 install_prog="$install_prog$arg"
5836
5837 # We need to accept at least all the BSD install flags.
5838 dest=
8182 }
8183
8184 { test "$mode" = link || test "$mode" = relink; } &&
8185 func_mode_link ${1+"$@"}
8186
8187
8188 # func_mode_uninstall arg...
8189 func_mode_uninstall ()
8190 {
8191 $opt_debug
8192 RM="$nonopt"
58398193 files=
5840 opts=
5841 prev=
5842 install_type=
5843 isdir=no
5844 stripme=
5845 for arg
5846 do
5847 if test -n "$dest"; then
5848 files="$files $dest"
5849 dest=$arg
5850 continue
5851 fi
5852
5853 case $arg in
5854 -d) isdir=yes ;;
5855 -f)
5856 case " $install_prog " in
5857 *[\\\ /]cp\ *) ;;
5858 *) prev=$arg ;;
5859 esac
5860 ;;
5861 -g | -m | -o) prev=$arg ;;
5862 -s)
5863 stripme=" -s"
5864 continue
5865 ;;
5866 -*)
5867 ;;
5868 *)
5869 # If the previous option needed an argument, then skip it.
5870 if test -n "$prev"; then
5871 prev=
5872 else
5873 dest=$arg
5874 continue
5875 fi
5876 ;;
5877 esac
5878
5879 # Aesthetically quote the argument.
5880 arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
5881 case $arg in
5882 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
5883 arg="\"$arg\""
5884 ;;
5885 esac
5886 install_prog="$install_prog $arg"
5887 done
5888
5889 if test -z "$install_prog"; then
5890 $echo "$modename: you must specify an install program" 1>&2
5891 $echo "$help" 1>&2
5892 exit $EXIT_FAILURE
5893 fi
5894
5895 if test -n "$prev"; then
5896 $echo "$modename: the \`$prev' option requires an argument" 1>&2
5897 $echo "$help" 1>&2
5898 exit $EXIT_FAILURE
5899 fi
5900
5901 if test -z "$files"; then
5902 if test -z "$dest"; then
5903 $echo "$modename: no file or destination specified" 1>&2
5904 else
5905 $echo "$modename: you must specify a destination" 1>&2
5906 fi
5907 $echo "$help" 1>&2
5908 exit $EXIT_FAILURE
5909 fi
5910
5911 # Strip any trailing slash from the destination.
5912 dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
5913
5914 # Check to see that the destination is a directory.
5915 test -d "$dest" && isdir=yes
5916 if test "$isdir" = yes; then
5917 destdir="$dest"
5918 destname=
5919 else
5920 destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
5921 test "X$destdir" = "X$dest" && destdir=.
5922 destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
5923
5924 # Not a directory, so check to see that there is only one file specified.
5925 set dummy $files
5926 if test "$#" -gt 2; then
5927 $echo "$modename: \`$dest' is not a directory" 1>&2
5928 $echo "$help" 1>&2
5929 exit $EXIT_FAILURE
5930 fi
5931 fi
5932 case $destdir in
5933 [\\/]* | [A-Za-z]:[\\/]*) ;;
5934 *)
5935 for file in $files; do
5936 case $file in
5937 *.lo) ;;
5938 *)
5939 $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
5940 $echo "$help" 1>&2
5941 exit $EXIT_FAILURE
5942 ;;
5943 esac
5944 done
5945 ;;
5946 esac
8194 rmforce=
8195 exit_status=0
59478196
59488197 # This variable tells wrapper scripts just to set variables rather
59498198 # than running their programs.
59508199 libtool_install_magic="$magic"
59518200
5952 staticlibs=
5953 future_libdirs=
5954 current_libdirs=
5955 for file in $files; do
5956
5957 # Do each installation.
5958 case $file in
5959 *.$libext)
5960 # Do the static libraries later.
5961 staticlibs="$staticlibs $file"
5962 ;;
5963
5964 *.la)
5965 # Check to see that this really is a libtool archive.
5966 if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
5967 else
5968 $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
5969 $echo "$help" 1>&2
5970 exit $EXIT_FAILURE
5971 fi
5972
5973 library_names=
5974 old_library=
5975 relink_command=
5976 # If there is no directory component, then add one.
5977 case $file in
5978 */* | *\\*) . $file ;;
5979 *) . ./$file ;;
5980 esac
5981
5982 # Add the libdir to current_libdirs if it is the destination.
5983 if test "X$destdir" = "X$libdir"; then
5984 case "$current_libdirs " in
5985 *" $libdir "*) ;;
5986 *) current_libdirs="$current_libdirs $libdir" ;;
5987 esac
5988 else
5989 # Note the libdir as a future libdir.
5990 case "$future_libdirs " in
5991 *" $libdir "*) ;;
5992 *) future_libdirs="$future_libdirs $libdir" ;;
5993 esac
5994 fi
5995
5996 dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
5997 test "X$dir" = "X$file/" && dir=
5998 dir="$dir$objdir"
5999
6000 if test -n "$relink_command"; then
6001 # Determine the prefix the user has applied to our future dir.
6002 inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
6003
6004 # Don't allow the user to place us outside of our expected
6005 # location b/c this prevents finding dependent libraries that
6006 # are installed to the same prefix.
6007 # At present, this check doesn't affect windows .dll's that
6008 # are installed into $libdir/../bin (currently, that works fine)
6009 # but it's something to keep an eye on.
6010 if test "$inst_prefix_dir" = "$destdir"; then
6011 $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
6012 exit $EXIT_FAILURE
6013 fi
6014
6015 if test -n "$inst_prefix_dir"; then
6016 # Stick the inst_prefix_dir data into the link command.
6017 relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
6018 else
6019 relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
6020 fi
6021
6022 $echo "$modename: warning: relinking \`$file'" 1>&2
6023 $show "$relink_command"
6024 if $run eval "$relink_command"; then :
6025 else
6026 $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
6027 exit $EXIT_FAILURE
6028 fi
6029 fi
6030
6031 # See the names of the shared library.
6032 set dummy $library_names
6033 if test -n "$2"; then
6034 realname="$2"
6035 shift
6036 shift
6037
6038 srcname="$realname"
6039 test -n "$relink_command" && srcname="$realname"T
6040
6041 # Install the shared library and build the symlinks.
6042 $show "$install_prog $dir/$srcname $destdir/$realname"
6043 $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
6044 if test -n "$stripme" && test -n "$striplib"; then
6045 $show "$striplib $destdir/$realname"
6046 $run eval "$striplib $destdir/$realname" || exit $?
6047 fi
6048
6049 if test "$#" -gt 0; then
6050 # Delete the old symlinks, and create new ones.
6051 # Try `ln -sf' first, because the `ln' binary might depend on
6052 # the symlink we replace! Solaris /bin/ln does not understand -f,
6053 # so we also need to try rm && ln -s.
6054 for linkname
6055 do
6056 if test "$linkname" != "$realname"; then
6057 $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
6058 $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
6059 fi
6060 done
6061 fi
6062
6063 # Do each command in the postinstall commands.
6064 lib="$destdir/$realname"
6065 cmds=$postinstall_cmds
6066 save_ifs="$IFS"; IFS='~'
6067 for cmd in $cmds; do
6068 IFS="$save_ifs"
6069 eval cmd=\"$cmd\"
6070 $show "$cmd"
6071 $run eval "$cmd" || {
6072 lt_exit=$?
6073
6074 # Restore the uninstalled library and exit
6075 if test "$mode" = relink; then
6076 $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
6077 fi
6078
6079 exit $lt_exit
6080 }
6081 done
6082 IFS="$save_ifs"
6083 fi
6084
6085 # Install the pseudo-library for information purposes.
6086 name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
6087 instname="$dir/$name"i
6088 $show "$install_prog $instname $destdir/$name"
6089 $run eval "$install_prog $instname $destdir/$name" || exit $?
6090
6091 # Maybe install the static library, too.
6092 test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
6093 ;;
6094
6095 *.lo)
6096 # Install (i.e. copy) a libtool object.
6097
6098 # Figure out destination file name, if it wasn't already specified.
6099 if test -n "$destname"; then
6100 destfile="$destdir/$destname"
6101 else
6102 destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
6103 destfile="$destdir/$destfile"
6104 fi
6105
6106 # Deduce the name of the destination old-style object file.
6107 case $destfile in
6108 *.lo)
6109 staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
6110 ;;
6111 *.$objext)
6112 staticdest="$destfile"
6113 destfile=
6114 ;;
6115 *)
6116 $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
6117 $echo "$help" 1>&2
6118 exit $EXIT_FAILURE
6119 ;;
6120 esac
6121
6122 # Install the libtool object if requested.
6123 if test -n "$destfile"; then
6124 $show "$install_prog $file $destfile"
6125 $run eval "$install_prog $file $destfile" || exit $?
6126 fi
6127
6128 # Install the old object if enabled.
6129 if test "$build_old_libs" = yes; then
6130 # Deduce the name of the old-style object file.
6131 staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
6132
6133 $show "$install_prog $staticobj $staticdest"
6134 $run eval "$install_prog \$staticobj \$staticdest" || exit $?
6135 fi
6136 exit $EXIT_SUCCESS
6137 ;;
6138
6139 *)
6140 # Figure out destination file name, if it wasn't already specified.
6141 if test -n "$destname"; then
6142 destfile="$destdir/$destname"
6143 else
6144 destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
6145 destfile="$destdir/$destfile"
6146 fi
6147
6148 # If the file is missing, and there is a .exe on the end, strip it
6149 # because it is most likely a libtool script we actually want to
6150 # install
6151 stripped_ext=""
6152 case $file in
6153 *.exe)
6154 if test ! -f "$file"; then
6155 file=`$echo $file|${SED} 's,.exe$,,'`
6156 stripped_ext=".exe"
6157 fi
6158 ;;
6159 esac
6160
6161 # Do a test to see if this is really a libtool program.
6162 case $host in
6163 *cygwin*|*mingw*)
6164 wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
6165 ;;
6166 *)
6167 wrapper=$file
6168 ;;
6169 esac
6170 if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
6171 notinst_deplibs=
6172 relink_command=
6173
6174 # Note that it is not necessary on cygwin/mingw to append a dot to
6175 # foo even if both foo and FILE.exe exist: automatic-append-.exe
6176 # behavior happens only for exec(3), not for open(2)! Also, sourcing
6177 # `FILE.' does not work on cygwin managed mounts.
6178 #
6179 # If there is no directory component, then add one.
6180 case $wrapper in
6181 */* | *\\*) . ${wrapper} ;;
6182 *) . ./${wrapper} ;;
6183 esac
6184
6185 # Check the variables that should have been set.
6186 if test -z "$notinst_deplibs"; then
6187 $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
6188 exit $EXIT_FAILURE
6189 fi
6190
6191 finalize=yes
6192 for lib in $notinst_deplibs; do
6193 # Check to see that each library is installed.
6194 libdir=
6195 if test -f "$lib"; then
6196 # If there is no directory component, then add one.
6197 case $lib in
6198 */* | *\\*) . $lib ;;
6199 *) . ./$lib ;;
6200 esac
6201 fi
6202 libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
6203 if test -n "$libdir" && test ! -f "$libfile"; then
6204 $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
6205 finalize=no
6206 fi
6207 done
6208
6209 relink_command=
6210 # Note that it is not necessary on cygwin/mingw to append a dot to
6211 # foo even if both foo and FILE.exe exist: automatic-append-.exe
6212 # behavior happens only for exec(3), not for open(2)! Also, sourcing
6213 # `FILE.' does not work on cygwin managed mounts.
6214 #
6215 # If there is no directory component, then add one.
6216 case $wrapper in
6217 */* | *\\*) . ${wrapper} ;;
6218 *) . ./${wrapper} ;;
6219 esac
6220
6221 outputname=
6222 if test "$fast_install" = no && test -n "$relink_command"; then
6223 if test "$finalize" = yes && test -z "$run"; then
6224 tmpdir=`func_mktempdir`
6225 file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
6226 outputname="$tmpdir/$file"
6227 # Replace the output file specification.
6228 relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
6229
6230 $show "$relink_command"
6231 if $run eval "$relink_command"; then :
6232 else
6233 $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
6234 ${rm}r "$tmpdir"
6235 continue
6236 fi
6237 file="$outputname"
6238 else
6239 $echo "$modename: warning: cannot relink \`$file'" 1>&2
6240 fi
6241 else
6242 # Install the binary that we compiled earlier.
6243 file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
6244 fi
6245 fi
6246
6247 # remove .exe since cygwin /usr/bin/install will append another
6248 # one anyway
6249 case $install_prog,$host in
6250 */usr/bin/install*,*cygwin*)
6251 case $file:$destfile in
6252 *.exe:*.exe)
6253 # this is ok
6254 ;;
6255 *.exe:*)
6256 destfile=$destfile.exe
6257 ;;
6258 *:*.exe)
6259 destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
6260 ;;
6261 esac
6262 ;;
6263 esac
6264 $show "$install_prog$stripme $file $destfile"
6265 $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
6266 test -n "$outputname" && ${rm}r "$tmpdir"
6267 ;;
6268 esac
6269 done
6270
6271 for file in $staticlibs; do
6272 name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
6273
6274 # Set up the ranlib parameters.
6275 oldlib="$destdir/$name"
6276
6277 $show "$install_prog $file $oldlib"
6278 $run eval "$install_prog \$file \$oldlib" || exit $?
6279
6280 if test -n "$stripme" && test -n "$old_striplib"; then
6281 $show "$old_striplib $oldlib"
6282 $run eval "$old_striplib $oldlib" || exit $?
6283 fi
6284
6285 # Do each command in the postinstall commands.
6286 cmds=$old_postinstall_cmds
6287 save_ifs="$IFS"; IFS='~'
6288 for cmd in $cmds; do
6289 IFS="$save_ifs"
6290 eval cmd=\"$cmd\"
6291 $show "$cmd"
6292 $run eval "$cmd" || exit $?
6293 done
6294 IFS="$save_ifs"
6295 done
6296
6297 if test -n "$future_libdirs"; then
6298 $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
6299 fi
6300
6301 if test -n "$current_libdirs"; then
6302 # Maybe just do a dry run.
6303 test -n "$run" && current_libdirs=" -n$current_libdirs"
6304 exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
6305 else
6306 exit $EXIT_SUCCESS
6307 fi
6308 ;;
6309
6310 # libtool finish mode
6311 finish)
6312 modename="$modename: finish"
6313 libdirs="$nonopt"
6314 admincmds=
6315
6316 if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
6317 for dir
6318 do
6319 libdirs="$libdirs $dir"
6320 done
6321
6322 for libdir in $libdirs; do
6323 if test -n "$finish_cmds"; then
6324 # Do each command in the finish commands.
6325 cmds=$finish_cmds
6326 save_ifs="$IFS"; IFS='~'
6327 for cmd in $cmds; do
6328 IFS="$save_ifs"
6329 eval cmd=\"$cmd\"
6330 $show "$cmd"
6331 $run eval "$cmd" || admincmds="$admincmds
6332 $cmd"
6333 done
6334 IFS="$save_ifs"
6335 fi
6336 if test -n "$finish_eval"; then
6337 # Do the single finish_eval.
6338 eval cmds=\"$finish_eval\"
6339 $run eval "$cmds" || admincmds="$admincmds
6340 $cmds"
6341 fi
6342 done
6343 fi
6344
6345 # Exit here if they wanted silent mode.
6346 test "$show" = : && exit $EXIT_SUCCESS
6347
6348 $echo "X----------------------------------------------------------------------" | $Xsed
6349 $echo "Libraries have been installed in:"
6350 for libdir in $libdirs; do
6351 $echo " $libdir"
6352 done
6353 $echo
6354 $echo "If you ever happen to want to link against installed libraries"
6355 $echo "in a given directory, LIBDIR, you must either use libtool, and"
6356 $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
6357 $echo "flag during linking and do at least one of the following:"
6358 if test -n "$shlibpath_var"; then
6359 $echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
6360 $echo " during execution"
6361 fi
6362 if test -n "$runpath_var"; then
6363 $echo " - add LIBDIR to the \`$runpath_var' environment variable"
6364 $echo " during linking"
6365 fi
6366 if test -n "$hardcode_libdir_flag_spec"; then
6367 libdir=LIBDIR
6368 eval flag=\"$hardcode_libdir_flag_spec\"
6369
6370 $echo " - use the \`$flag' linker flag"
6371 fi
6372 if test -n "$admincmds"; then
6373 $echo " - have your system administrator run these commands:$admincmds"
6374 fi
6375 if test -f /etc/ld.so.conf; then
6376 $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
6377 fi
6378 $echo
6379 $echo "See any operating system documentation about shared libraries for"
6380 $echo "more information, such as the ld(1) and ld.so(8) manual pages."
6381 $echo "X----------------------------------------------------------------------" | $Xsed
6382 exit $EXIT_SUCCESS
6383 ;;
6384
6385 # libtool execute mode
6386 execute)
6387 modename="$modename: execute"
6388
6389 # The first argument is the command name.
6390 cmd="$nonopt"
6391 if test -z "$cmd"; then
6392 $echo "$modename: you must specify a COMMAND" 1>&2
6393 $echo "$help"
6394 exit $EXIT_FAILURE
6395 fi
6396
6397 # Handle -dlopen flags immediately.
6398 for file in $execute_dlfiles; do
6399 if test ! -f "$file"; then
6400 $echo "$modename: \`$file' is not a file" 1>&2
6401 $echo "$help" 1>&2
6402 exit $EXIT_FAILURE
6403 fi
6404
6405 dir=
6406 case $file in
6407 *.la)
6408 # Check to see that this really is a libtool archive.
6409 if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
6410 else
6411 $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
6412 $echo "$help" 1>&2
6413 exit $EXIT_FAILURE
6414 fi
6415
6416 # Read the libtool library.
6417 dlname=
6418 library_names=
6419
6420 # If there is no directory component, then add one.
6421 case $file in
6422 */* | *\\*) . $file ;;
6423 *) . ./$file ;;
6424 esac
6425
6426 # Skip this library if it cannot be dlopened.
6427 if test -z "$dlname"; then
6428 # Warn if it was a shared library.
6429 test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
6430 continue
6431 fi
6432
6433 dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
6434 test "X$dir" = "X$file" && dir=.
6435
6436 if test -f "$dir/$objdir/$dlname"; then
6437 dir="$dir/$objdir"
6438 else
6439 if test ! -f "$dir/$dlname"; then
6440 $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
6441 exit $EXIT_FAILURE
6442 fi
6443 fi
6444 ;;
6445
6446 *.lo)
6447 # Just add the directory containing the .lo file.
6448 dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
6449 test "X$dir" = "X$file" && dir=.
6450 ;;
6451
6452 *)
6453 $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
6454 continue
6455 ;;
6456 esac
6457
6458 # Get the absolute pathname.
6459 absdir=`cd "$dir" && pwd`
6460 test -n "$absdir" && dir="$absdir"
6461
6462 # Now add the directory to shlibpath_var.
6463 if eval "test -z \"\$$shlibpath_var\""; then
6464 eval "$shlibpath_var=\"\$dir\""
6465 else
6466 eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
6467 fi
6468 done
6469
6470 # This variable tells wrapper scripts just to set shlibpath_var
6471 # rather than running their programs.
6472 libtool_execute_magic="$magic"
6473
6474 # Check if any of the arguments is a wrapper script.
6475 args=
6476 for file
6477 do
6478 case $file in
6479 -*) ;;
6480 *)
6481 # Do a test to see if this is really a libtool program.
6482 if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
6483 # If there is no directory component, then add one.
6484 case $file in
6485 */* | *\\*) . $file ;;
6486 *) . ./$file ;;
6487 esac
6488
6489 # Transform arg to wrapped name.
6490 file="$progdir/$program"
6491 fi
6492 ;;
6493 esac
6494 # Quote arguments (to preserve shell metacharacters).
6495 file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
6496 args="$args \"$file\""
6497 done
6498
6499 if test -z "$run"; then
6500 if test -n "$shlibpath_var"; then
6501 # Export the shlibpath_var.
6502 eval "export $shlibpath_var"
6503 fi
6504
6505 # Restore saved environment variables
6506 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
6507 do
6508 eval "if test \"\${save_$lt_var+set}\" = set; then
6509 $lt_var=\$save_$lt_var; export $lt_var
6510 fi"
6511 done
6512
6513 # Now prepare to actually exec the command.
6514 exec_cmd="\$cmd$args"
6515 else
6516 # Display what would be done.
6517 if test -n "$shlibpath_var"; then
6518 eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
6519 $echo "export $shlibpath_var"
6520 fi
6521 $echo "$cmd$args"
6522 exit $EXIT_SUCCESS
6523 fi
6524 ;;
6525
6526 # libtool clean and uninstall mode
6527 clean | uninstall)
6528 modename="$modename: $mode"
6529 rm="$nonopt"
6530 files=
6531 rmforce=
6532 exit_status=0
6533
6534 # This variable tells wrapper scripts just to set variables rather
6535 # than running their programs.
6536 libtool_install_magic="$magic"
6537
65388201 for arg
65398202 do
65408203 case $arg in
6541 -f) rm="$rm $arg"; rmforce=yes ;;
6542 -*) rm="$rm $arg" ;;
8204 -f) RM="$RM $arg"; rmforce=yes ;;
8205 -*) RM="$RM $arg" ;;
65438206 *) files="$files $arg" ;;
65448207 esac
65458208 done
65468209
6547 if test -z "$rm"; then
6548 $echo "$modename: you must specify an RM program" 1>&2
6549 $echo "$help" 1>&2
6550 exit $EXIT_FAILURE
6551 fi
8210 test -z "$RM" && \
8211 func_fatal_help "you must specify an RM program"
65528212
65538213 rmdirs=
65548214
65558215 origobjdir="$objdir"
65568216 for file in $files; do
6557 dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
6558 if test "X$dir" = "X$file"; then
6559 dir=.
8217 func_dirname "$file" "" "."
8218 dir="$func_dirname_result"
8219 if test "X$dir" = X.; then
65608220 objdir="$origobjdir"
65618221 else
65628222 objdir="$dir/$origobjdir"
65638223 fi
6564 name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
8224 func_basename "$file"
8225 name="$func_basename_result"
65658226 test "$mode" = uninstall && objdir="$dir"
65668227
65678228 # Remember objdir for removal later, being careful to avoid duplicates
65738234 fi
65748235
65758236 # Don't error if the file doesn't exist and rm -f was used.
6576 if (test -L "$file") >/dev/null 2>&1 \
6577 || (test -h "$file") >/dev/null 2>&1 \
6578 || test -f "$file"; then
8237 if { test -L "$file"; } >/dev/null 2>&1 ||
8238 { test -h "$file"; } >/dev/null 2>&1 ||
8239 test -f "$file"; then
65798240 :
65808241 elif test -d "$file"; then
65818242 exit_status=1
65898250 case $name in
65908251 *.la)
65918252 # Possibly a libtool archive, so verify it.
6592 if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
6593 . $dir/$name
8253 if func_lalib_p "$file"; then
8254 func_source $dir/$name
65948255
65958256 # Delete the libtool libraries and symlinks.
65968257 for n in $library_names; do
66058266 *" $dlname "*) ;;
66068267 *) rmfiles="$rmfiles $objdir/$dlname" ;;
66078268 esac
6608 test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
8269 test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
66098270 ;;
66108271 uninstall)
66118272 if test -n "$library_names"; then
66128273 # Do each command in the postuninstall commands.
6613 cmds=$postuninstall_cmds
6614 save_ifs="$IFS"; IFS='~'
6615 for cmd in $cmds; do
6616 IFS="$save_ifs"
6617 eval cmd=\"$cmd\"
6618 $show "$cmd"
6619 $run eval "$cmd"
6620 if test "$?" -ne 0 && test "$rmforce" != yes; then
6621 exit_status=1
6622 fi
6623 done
6624 IFS="$save_ifs"
8274 func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
66258275 fi
66268276
66278277 if test -n "$old_library"; then
66288278 # Do each command in the old_postuninstall commands.
6629 cmds=$old_postuninstall_cmds
6630 save_ifs="$IFS"; IFS='~'
6631 for cmd in $cmds; do
6632 IFS="$save_ifs"
6633 eval cmd=\"$cmd\"
6634 $show "$cmd"
6635 $run eval "$cmd"
6636 if test "$?" -ne 0 && test "$rmforce" != yes; then
6637 exit_status=1
6638 fi
6639 done
6640 IFS="$save_ifs"
8279 func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
66418280 fi
66428281 # FIXME: should reinstall the best remaining shared library.
66438282 ;;
66478286
66488287 *.lo)
66498288 # Possibly a libtool object, so verify it.
6650 if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
8289 if func_lalib_p "$file"; then
66518290
66528291 # Read the .lo file
6653 . $dir/$name
8292 func_source $dir/$name
66548293
66558294 # Add PIC object to the list of files to remove.
6656 if test -n "$pic_object" \
6657 && test "$pic_object" != none; then
8295 if test -n "$pic_object" &&
8296 test "$pic_object" != none; then
66588297 rmfiles="$rmfiles $dir/$pic_object"
66598298 fi
66608299
66618300 # Add non-PIC object to the list of files to remove.
6662 if test -n "$non_pic_object" \
6663 && test "$non_pic_object" != none; then
8301 if test -n "$non_pic_object" &&
8302 test "$non_pic_object" != none; then
66648303 rmfiles="$rmfiles $dir/$non_pic_object"
66658304 fi
66668305 fi
66718310 noexename=$name
66728311 case $file in
66738312 *.exe)
6674 file=`$echo $file|${SED} 's,.exe$,,'`
6675 noexename=`$echo $name|${SED} 's,.exe$,,'`
8313 func_stripname '' '.exe' "$file"
8314 file=$func_stripname_result
8315 func_stripname '' '.exe' "$name"
8316 noexename=$func_stripname_result
66768317 # $file with .exe has already been added to rmfiles,
66778318 # add $file without .exe
66788319 rmfiles="$rmfiles $file"
66798320 ;;
66808321 esac
66818322 # Do a test to see if this is a libtool program.
6682 if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
6683 relink_command=
6684 . $dir/$noexename
8323 if func_ltwrapper_p "$file"; then
8324 if func_ltwrapper_executable_p "$file"; then
8325 func_ltwrapper_scriptname "$file"
8326 relink_command=
8327 func_source $func_ltwrapper_scriptname_result
8328 rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
8329 else
8330 relink_command=
8331 func_source $dir/$noexename
8332 fi
66858333
66868334 # note $name still contains .exe if it was in $file originally
66878335 # as does the version of $file that was added into $rmfiles
66968344 fi
66978345 ;;
66988346 esac
6699 $show "$rm $rmfiles"
6700 $run $rm $rmfiles || exit_status=1
8347 func_show_eval "$RM $rmfiles" 'exit_status=1'
67018348 done
67028349 objdir="$origobjdir"
67038350
67048351 # Try to remove the ${objdir}s in the directories where we deleted files
67058352 for dir in $rmdirs; do
67068353 if test -d "$dir"; then
6707 $show "rmdir $dir"
6708 $run rmdir $dir >/dev/null 2>&1
8354 func_show_eval "rmdir $dir >/dev/null 2>&1"
67098355 fi
67108356 done
67118357
67128358 exit $exit_status
6713 ;;
6714
6715 "")
6716 $echo "$modename: you must specify a MODE" 1>&2
6717 $echo "$generic_help" 1>&2
6718 exit $EXIT_FAILURE
6719 ;;
6720 esac
6721
6722 if test -z "$exec_cmd"; then
6723 $echo "$modename: invalid operation mode \`$mode'" 1>&2
6724 $echo "$generic_help" 1>&2
6725 exit $EXIT_FAILURE
6726 fi
6727 fi # test -z "$show_help"
8359 }
8360
8361 { test "$mode" = uninstall || test "$mode" = clean; } &&
8362 func_mode_uninstall ${1+"$@"}
8363
8364 test -z "$mode" && {
8365 help="$generic_help"
8366 func_fatal_help "you must specify a MODE"
8367 }
8368
8369 test -z "$exec_cmd" && \
8370 func_fatal_help "invalid operation mode \`$mode'"
67288371
67298372 if test -n "$exec_cmd"; then
6730 eval exec $exec_cmd
8373 eval exec "$exec_cmd"
67318374 exit $EXIT_FAILURE
67328375 fi
67338376
6734 # We need to display help for each of the modes.
6735 case $mode in
6736 "") $echo \
6737 "Usage: $modename [OPTION]... [MODE-ARG]...
6738
6739 Provide generalized library-building support services.
6740
6741 --config show all configuration variables
6742 --debug enable verbose shell tracing
6743 -n, --dry-run display commands without modifying any files
6744 --features display basic configuration information and exit
6745 --finish same as \`--mode=finish'
6746 --help display this help message and exit
6747 --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
6748 --quiet same as \`--silent'
6749 --silent don't print informational messages
6750 --tag=TAG use configuration variables from tag TAG
6751 --version print version information
6752
6753 MODE must be one of the following:
6754
6755 clean remove files from the build directory
6756 compile compile a source file into a libtool object
6757 execute automatically set library path, then run a program
6758 finish complete the installation of libtool libraries
6759 install install libraries or executables
6760 link create a library or an executable
6761 uninstall remove libraries from an installed directory
6762
6763 MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for
6764 a more detailed description of MODE.
6765
6766 Report bugs to <bug-libtool@gnu.org>."
6767 exit $EXIT_SUCCESS
6768 ;;
6769
6770 clean)
6771 $echo \
6772 "Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
6773
6774 Remove files from the build directory.
6775
6776 RM is the name of the program to use to delete files associated with each FILE
6777 (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
6778 to RM.
6779
6780 If FILE is a libtool library, object or program, all the files associated
6781 with it are deleted. Otherwise, only FILE itself is deleted using RM."
6782 ;;
6783
6784 compile)
6785 $echo \
6786 "Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
6787
6788 Compile a source file into a libtool library object.
6789
6790 This mode accepts the following additional options:
6791
6792 -o OUTPUT-FILE set the output file name to OUTPUT-FILE
6793 -prefer-pic try to building PIC objects only
6794 -prefer-non-pic try to building non-PIC objects only
6795 -static always build a \`.o' file suitable for static linking
6796
6797 COMPILE-COMMAND is a command to be used in creating a \`standard' object file
6798 from the given SOURCEFILE.
6799
6800 The output file name is determined by removing the directory component from
6801 SOURCEFILE, then substituting the C source code suffix \`.c' with the
6802 library object suffix, \`.lo'."
6803 ;;
6804
6805 execute)
6806 $echo \
6807 "Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
6808
6809 Automatically set library path, then run a program.
6810
6811 This mode accepts the following additional options:
6812
6813 -dlopen FILE add the directory containing FILE to the library path
6814
6815 This mode sets the library path environment variable according to \`-dlopen'
6816 flags.
6817
6818 If any of the ARGS are libtool executable wrappers, then they are translated
6819 into their corresponding uninstalled binary, and any of their required library
6820 directories are added to the library path.
6821
6822 Then, COMMAND is executed, with ARGS as arguments."
6823 ;;
6824
6825 finish)
6826 $echo \
6827 "Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
6828
6829 Complete the installation of libtool libraries.
6830
6831 Each LIBDIR is a directory that contains libtool libraries.
6832
6833 The commands that this mode executes may require superuser privileges. Use
6834 the \`--dry-run' option if you just want to see what would be executed."
6835 ;;
6836
6837 install)
6838 $echo \
6839 "Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
6840
6841 Install executables or libraries.
6842
6843 INSTALL-COMMAND is the installation command. The first component should be
6844 either the \`install' or \`cp' program.
6845
6846 The rest of the components are interpreted as arguments to that command (only
6847 BSD-compatible install options are recognized)."
6848 ;;
6849
6850 link)
6851 $echo \
6852 "Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
6853
6854 Link object files or libraries together to form another library, or to
6855 create an executable program.
6856
6857 LINK-COMMAND is a command using the C compiler that you would use to create
6858 a program from several object files.
6859
6860 The following components of LINK-COMMAND are treated specially:
6861
6862 -all-static do not do any dynamic linking at all
6863 -avoid-version do not add a version suffix if possible
6864 -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
6865 -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
6866 -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
6867 -export-symbols SYMFILE
6868 try to export only the symbols listed in SYMFILE
6869 -export-symbols-regex REGEX
6870 try to export only the symbols matching REGEX
6871 -LLIBDIR search LIBDIR for required installed libraries
6872 -lNAME OUTPUT-FILE requires the installed library libNAME
6873 -module build a library that can dlopened
6874 -no-fast-install disable the fast-install mode
6875 -no-install link a not-installable executable
6876 -no-undefined declare that a library does not refer to external symbols
6877 -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
6878 -objectlist FILE Use a list of object files found in FILE to specify objects
6879 -precious-files-regex REGEX
6880 don't remove output files matching REGEX
6881 -release RELEASE specify package release information
6882 -rpath LIBDIR the created library will eventually be installed in LIBDIR
6883 -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
6884 -static do not do any dynamic linking of uninstalled libtool libraries
6885 -static-libtool-libs
6886 do not do any dynamic linking of libtool libraries
6887 -version-info CURRENT[:REVISION[:AGE]]
6888 specify library version info [each variable defaults to 0]
6889
6890 All other options (arguments beginning with \`-') are ignored.
6891
6892 Every other argument is treated as a filename. Files ending in \`.la' are
6893 treated as uninstalled libtool libraries, other files are standard or library
6894 object files.
6895
6896 If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
6897 only library objects (\`.lo' files) may be specified, and \`-rpath' is
6898 required, except when creating a convenience library.
6899
6900 If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
6901 using \`ar' and \`ranlib', or on Windows using \`lib'.
6902
6903 If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
6904 is created, otherwise an executable program is created."
6905 ;;
6906
6907 uninstall)
6908 $echo \
6909 "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
6910
6911 Remove libraries from an installation directory.
6912
6913 RM is the name of the program to use to delete files associated with each FILE
6914 (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
6915 to RM.
6916
6917 If FILE is a libtool library, all the files associated with it are deleted.
6918 Otherwise, only FILE itself is deleted using RM."
6919 ;;
6920
6921 *)
6922 $echo "$modename: invalid operation mode \`$mode'" 1>&2
6923 $echo "$help" 1>&2
6924 exit $EXIT_FAILURE
6925 ;;
6926 esac
6927
6928 $echo
6929 $echo "Try \`$modename --help' for more information about other modes."
6930
6931 exit $?
8377 exit $exit_status
8378
69328379
69338380 # The TAGs below are defined such that we never get into a situation
69348381 # in which we disable both kinds of libraries. Given conflicting
69428389 # configuration. But we'll never go from static-only to shared-only.
69438390
69448391 # ### BEGIN LIBTOOL TAG CONFIG: disable-shared
6945 disable_libs=shared
8392 build_libtool_libs=no
8393 build_old_libs=yes
69468394 # ### END LIBTOOL TAG CONFIG: disable-shared
69478395
69488396 # ### BEGIN LIBTOOL TAG CONFIG: disable-static
6949 disable_libs=static
8397 build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
69508398 # ### END LIBTOOL TAG CONFIG: disable-static
69518399
69528400 # Local Variables:
69538401 # mode:shell-script
69548402 # sh-indentation:2
69558403 # End:
8404 # vi:sw=2
8405
00 #! /bin/sh
11 # Common stub for a few missing GNU programs while installing.
22
3 scriptversion=2006-05-10.23
4
5 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
6 # Free Software Foundation, Inc.
3 scriptversion=2009-04-28.21; # UTC
4
5 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
6 # 2008, 2009 Free Software Foundation, Inc.
77 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
88
99 # This program is free software; you can redistribute it and/or modify
1717 # GNU General Public License for more details.
1818
1919 # You should have received a copy of the GNU General Public License
20 # along with this program; if not, write to the Free Software
21 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22 # 02110-1301, USA.
20 # along with this program. If not, see <http://www.gnu.org/licenses/>.
2321
2422 # As a special exception to the GNU General Public License, if you
2523 # distribute this file as part of a program that contains a
8886 tar try tar, gnutar, gtar, then tar without non-portable flags
8987 yacc create \`y.tab.[ch]', if possible, from existing .[ch]
9088
89 Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
90 \`g' are ignored when checking the name.
91
9192 Send bug reports to <bug-automake@gnu.org>."
9293 exit $?
9394 ;;
105106
106107 esac
107108
109 # normalize program name to check for.
110 program=`echo "$1" | sed '
111 s/^gnu-//; t
112 s/^gnu//; t
113 s/^g//; t'`
114
108115 # Now exit if we have it, but it failed. Also exit now if we
109116 # don't have it and --version was passed (most likely to detect
110 # the program).
117 # the program). This is about non-GNU programs, so use $1 not
118 # $program.
111119 case $1 in
112 lex|yacc)
120 lex*|yacc*)
113121 # Not GNU programs, they don't have --version.
114122 ;;
115123
116 tar)
124 tar*)
117125 if test -n "$run"; then
118126 echo 1>&2 "ERROR: \`tar' requires --run"
119127 exit 1
137145
138146 # If it does not exist, or fails to run (possibly an outdated version),
139147 # try to emulate it.
140 case $1 in
148 case $program in
141149 aclocal*)
142150 echo 1>&2 "\
143151 WARNING: \`$1' is $msg. You should only need it if
147155 touch aclocal.m4
148156 ;;
149157
150 autoconf)
158 autoconf*)
151159 echo 1>&2 "\
152160 WARNING: \`$1' is $msg. You should only need it if
153161 you modified \`${configure_ac}'. You might want to install the
156164 touch configure
157165 ;;
158166
159 autoheader)
167 autoheader*)
160168 echo 1>&2 "\
161169 WARNING: \`$1' is $msg. You should only need it if
162170 you modified \`acconfig.h' or \`${configure_ac}'. You might want
186194 while read f; do touch "$f"; done
187195 ;;
188196
189 autom4te)
197 autom4te*)
190198 echo 1>&2 "\
191199 WARNING: \`$1' is needed, but is $msg.
192200 You might have modified some files without having the
209217 fi
210218 ;;
211219
212 bison|yacc)
220 bison*|yacc*)
213221 echo 1>&2 "\
214222 WARNING: \`$1' $msg. You should only need it if
215223 you modified a \`.y' file. You may need the \`Bison' package
239247 fi
240248 ;;
241249
242 lex|flex)
250 lex*|flex*)
243251 echo 1>&2 "\
244252 WARNING: \`$1' is $msg. You should only need it if
245253 you modified a \`.l' file. You may need the \`Flex' package
262270 fi
263271 ;;
264272
265 help2man)
273 help2man*)
266274 echo 1>&2 "\
267275 WARNING: \`$1' is $msg. You should only need it if
268276 you modified a dependency of a manual page. You may need the
276284 else
277285 test -z "$file" || exec >$file
278286 echo ".ab help2man is required to generate this page"
279 exit 1
280 fi
281 ;;
282
283 makeinfo)
287 exit $?
288 fi
289 ;;
290
291 makeinfo*)
284292 echo 1>&2 "\
285293 WARNING: \`$1' is $msg. You should only need it if
286294 you modified a \`.texi' or \`.texinfo' file, or any other file
309317 touch $file
310318 ;;
311319
312 tar)
320 tar*)
313321 shift
314322
315323 # We have already tried tar in the generic part.
362370 # eval: (add-hook 'write-file-hooks 'time-stamp)
363371 # time-stamp-start: "scriptversion="
364372 # time-stamp-format: "%:y-%02m-%02d.%02H"
365 # time-stamp-end: "$"
373 # time-stamp-time-zone: "UTC"
374 # time-stamp-end: "; # UTC"
366375 # End:
00 #! /bin/sh
11 # mkinstalldirs --- make directory hierarchy
22
3 scriptversion=2006-05-11.19
3 scriptversion=2009-04-28.21; # UTC
44
55 # Original author: Noah Friedman <friedman@prep.ai.mit.edu>
66 # Created: 1993-05-16
156156 # eval: (add-hook 'write-file-hooks 'time-stamp)
157157 # time-stamp-start: "scriptversion="
158158 # time-stamp-format: "%:y-%02m-%02d.%02H"
159 # time-stamp-end: "$"
159 # time-stamp-time-zone: "UTC"
160 # time-stamp-end: "; # UTC"
160161 # End:
0 2009-01-02 Simos Xenitellis <simos@gnome.org>
1
2 * el.po: Updated Greek translation by Evgenia Petoumenou.
3
4 2008-12-29 Gabor Kelemen <kelemeng@gnome.hu>
5
6 * hu.po: Translation updated.
7
8 2008-11-10 Luca Ferretti <elle.uca@libero.it>
9
10 * it.po: Updated Italian translation by Gianvito Cavasoli.
11
12 2008-10-29 Kjartan Maraas <kmaraas@gnome.org>
13
14 * nb.po: Updated Norwegian bokmål translation.
15
16 2008-10-26 Petr Kovar <pknbe@volny.cz>
17
18 * cs.po: Fixed Czech translation by Adrian Gunis
19 (bug #538982 again).
20
21 2008-10-12 Luca Ferretti <elle.uca@libero.it>
22
23 * it.po: Added Italian translation by Gianvito Cavasoli.
24
25 2008-10-08 Kjartan Maraas <kmaraas@gnome.org>
26
27 * nb.po: Added Norwegian bokmål translation.
28 * LINGUAS: Add it here too.
29
30 2008-10-07 Daniel Nylander <po@danielnylander.se>
31
32 * sv.po: Updated Swedish translation
33
34 2008-09-21 Claude Paroz <claude@2xlibre.net>
35
36 * fr.po: Updated French translation by Robert-André Mauchin and Claude
37 Paroz.
38
39 2008-09-21 Ilkka Tuohela <hile@iki.fi>
40
41 * fi.po: Updated Finnish translation.
42
43 2008-09-18 Marcel Telka <marcel@telka.sk>
44
45 * sk.po: Updated Slovak translation by Pavol Šimo.
46
47 2008-09-15 Gil Forcada <gforcada@gnome.org>
48
49 * ca.po: Updated Catalan translation by David Planella.
50
51 2008-08-26 Jorge Gonzalez <jorgegonz@svn.gnome.org>
52
53 * es.po: Updated Spanish translation by Juan Jesús Ojeda
54
55 2008-08-23 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
56
57 * LINGUAS: Added zh_HK zh_TW.
58 * zh_HK.po: Added Traditional Chinese translation(Hong Kong).
59 * zh_TW.po: Added Traditional Chinese translation(Taiwan).
60
61 2008-08-23 Petr Kovar <pknbe@volny.cz>
62
63 * cs.po: Updated Czech translation by Adrian Gunis
64 (bug #538982 again).
65
066 2008-08-14 Tomasz Dominikowski <tdominikowski@aviary.pl>
167
268 * pl.po: Updated Polish translation.
00 # please keep this list sorted alphabetically
11 #
22 ar
3 be
34 ca
45 cs
56 da
1112 fr
1213 he
1314 hu
15 it
1416 ja
17 lt
18 nb
19 pa
1520 pl
1621 pt
1722 pt_BR
1924 sk
2025 sv
2126 zh_CN
22
27 zh_HK
28 zh_TW
2020 PACKAGE = @PACKAGE@
2121 VERSION = @VERSION@
2222
23 SHELL = /bin/sh
23 SHELL = @SHELL@
2424
2525 srcdir = @srcdir@
2626 top_srcdir = @top_srcdir@
5353
5454 ALL_LINGUAS = @ALL_LINGUAS@
5555
56 PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
57
58 USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep ^$$lang$$`"; then printf "$$lang "; fi; done; fi)
56 PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi)
57
58 USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep '^$$lang$$' $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep '^$$lang$$'`"; then printf "$$lang "; fi; done; fi)
5959
6060 USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
6161
62 POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
63
64 DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(POFILES)
65 EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
62 POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
63
64 DISTFILES = Makefile.in.in POTFILES.in $(POFILES)
65 EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS
6666
6767 POTFILES = \
6868 # This comment gets stripped out
00 # List of source files containing translatable strings.
11 # Please keep this file sorted alphabetically.
22 [encoding: UTF-8]
3 data/polkit-gnome-authorization.desktop.in
4 data/polkit-gnome.schemas.in
5 examples/polkit-gnome-example.c
6 examples/org.gnome.policykit.examples.policy.in
7 polkit-gnome/polkit-gnome-action.c
8 polkit-gnome/polkit-gnome-auth.c
9 polkit-gnome/polkit-gnome-context.c
10 polkit-gnome/polkit-gnome-toggle-action.c
3 polkitgtk/polkitlockbutton.c
114 src/main.c
12 src/polkit-gnome-auth-dialog.c
13 src/polkit-gnome-manager.c
14 tools/polkit-gnome-authorization.c
5 src/polkitgnomeauthenticationdialog.c
6 src/polkitgnomeauthenticator.c
7 src/polkit-gnome-authentication-agent-1.desktop.in.in
0 polkitgtk/example.c
0 # Belarusian translation of policykit-gnome.
1 # Copyright (C) 2009 policykit-gnome's COPYRIGHT HOLDER
2 # This file is distributed under the same license as the policykit-gnome package.
3 # Alexander Nyakhaychyk <nyakhaychyk@gmail.com>, 2009.
4 msgid ""
5 msgstr ""
6 "Project-Id-Version: policykit-gnome master\n"
7 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
8 "product=policykit-gnome&component=general\n"
9 "POT-Creation-Date: 2009-07-21 00:29+0000\n"
10 "PO-Revision-Date: 2009-07-25 02:22+0300\n"
11 "Last-Translator: Alexander Nyakhaychyk <nyakhaychyk@gmail.com>\n"
12 "Language-Team: Belarusian <i18n@mova.org>\n"
13 "MIME-Version: 1.0\n"
14 "Content-Type: text/plain; charset=utf-8\n"
15 "Content-Transfer-Encoding: 8bit\n"
16
17 #: ../src/main.c:128
18 msgid "Click the icon to drop all elevated privileges"
19 msgstr "Пстрыкніце значку, каб скасаваць усе ўзьнятыя прывілеі"
20
21 #: ../src/polkitgnomeauthenticationdialog.c:159
22 msgid "Select user..."
23 msgstr "Вылучыце карыстальніка…"
24
25 #: ../src/polkitgnomeauthenticationdialog.c:194
26 #, c-format
27 msgid "%s (%s)"
28 msgstr "%s (%s)"
29
30 #: ../src/polkitgnomeauthenticationdialog.c:529
31 msgid "_Authenticate"
32 msgstr "_Аўтэнтыфікацыя"
33
34 #: ../src/polkitgnomeauthenticationdialog.c:566
35 msgid ""
36 "An application is attempting to perform an action that requires privileges. "
37 "Authentication as one of the users below is required to perform this action."
38 msgstr ""
39 "Дастасаваньне спрабуе выканаць дзеяньне, якое патрабуе дадатковых прывілей. "
40 "Аўтэнтыфікацыя ў якасьці аднаго з пералічаных карыстальнікаў патрабуецца каб "
41 "выканаць гэтае дзеяньне."
42
43 #: ../src/polkitgnomeauthenticationdialog.c:574
44 msgid ""
45 "An application is attempting to perform an action that requires privileges. "
46 "Authentication is required to perform this action."
47 msgstr ""
48 "Дастасаваньне спрабуе выканаць дзеяньне, якое патрабуе дадатковых прывілей. "
49 "Аўтэнтыфікацыя патрабуецца каб выканаць гэтае дзеяньне."
50
51 #: ../src/polkitgnomeauthenticationdialog.c:580
52 msgid ""
53 "An application is attempting to perform an action that requires privileges. "
54 "Authentication as the super user is required to perform this action."
55 msgstr ""
56 "Дастасаваньне спрабуе выканаць дзеяньне, якое патрабуе дадатковых прывілей. "
57 "Аўтэнтыфікацыя ў якасьці адміністратара (root) патрабуецца каб выканаць "
58 "гэтае дзеяньне."
59
60 #: ../src/polkitgnomeauthenticationdialog.c:615
61 #: ../src/polkitgnomeauthenticator.c:289
62 msgid "_Password:"
63 msgstr "_Пароль:"
64
65 #. Details
66 #: ../src/polkitgnomeauthenticationdialog.c:633
67 msgid "<small><b>_Details</b></small>"
68 msgstr "<small><b>Д_эталі</b></small>"
69
70 #: ../src/polkitgnomeauthenticationdialog.c:686
71 msgid "<small><b>Action:</b></small>"
72 msgstr "<small><b>Дзеяньне:</b></small>"
73
74 #: ../src/polkitgnomeauthenticationdialog.c:689
75 #, c-format
76 msgid "Click to edit %s"
77 msgstr "Пстрыкніце, каб рэдагаваць %s"
78
79 #: ../src/polkitgnomeauthenticationdialog.c:703
80 msgid "<small><b>Vendor:</b></small>"
81 msgstr "<small><b>Вытворца:</b></small>"
82
83 #: ../src/polkitgnomeauthenticationdialog.c:705
84 #, c-format
85 msgid "Click to open %s"
86 msgstr "Пстрыкніце, каб адкрыць %s"
87
88 #: ../src/polkitgnomeauthenticationdialog.c:868
89 msgid "Authenticate"
90 msgstr "Аўтэнтфікацыя"
91
92 #: ../src/polkitgnomeauthenticator.c:285
93 #, c-format
94 msgid "_Password for %s:"
95 msgstr "_Пароль для %s:"
96
97 #: ../src/polkitgnomeauthenticator.c:445
98 msgid "Authentication Failure"
99 msgstr "Збой аўтэнтыфікацыі"
100
101 #: ../src/polkit-gnome-authentication-agent-1.desktop.in.in.h:1
102 msgid "PolicyKit Authentication Agent"
103 msgstr "PolicyKit - аґент аўтэнтыфікацыі"
+465
-727
po/ca.po less more
00 # Catalan translation of PolicyKit-gnome.
11 # Copyright (C) 2007 David Zeuthen
22 # This file is distributed under the same license as the PolicyKit-gnome package.
3 # David Planella Molas <david.planella@gmail.com>, 2008.
3 # David Planella Molas <david.planella@gmail.com>, 2008, 2009.
44 #
55 msgid ""
66 msgstr ""
77 "Project-Id-Version: PolicyKit-gnome\n"
88 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2008-05-13 21:45+0200\n"
10 "PO-Revision-Date: 2008-05-13 21:45+0200\n"
11 "Last-Translator: David Planella Molas <david.planella@gmail.com>\n"
9 "POT-Creation-Date: 2009-07-06 21:24+0200\n"
10 "PO-Revision-Date: 2009-06-25 22:25+0200\n"
11 "Last-Translator: David Planella <david.planella@gmail.com>\n"
1212 "Language-Team: Catalan <tradgnome@softcatala.net>\n"
1313 "MIME-Version: 1.0\n"
1414 "Content-Type: text/plain; charset=UTF-8\n"
1515 "Content-Transfer-Encoding: 8bit\n"
1616
17 #: ../data/polkit-gnome-authorization.desktop.in.h:1
18 #: ../tools/polkit-gnome-authorization.c:2443
19 msgid "Authorizations"
20 msgstr "Autoritzacions"
21
22 #: ../data/polkit-gnome-authorization.desktop.in.h:2
23 msgid "Configure authorizations"
24 msgstr "Configura les autoritzacions"
25
26 #: ../data/polkit-gnome.schemas.in.h:1
27 msgid ""
28 "If set to true, the authentication dialog from PolicyKit-gnome will grab the "
29 "keyboard, so that you will not be able to type in other programs while the "
30 "dialog is active. Use this if your window manager does not focus the "
31 "authentication dialog automatically, and you want to avoid accidentally "
32 "typing passwords in other programs."
33 msgstr ""
34
35 #: ../data/polkit-gnome.schemas.in.h:2
36 msgid "Whether the authentication dialog should grab the keyboard"
37 msgstr ""
38
39 #: ../examples/polkit-gnome-example.c:137
40 msgid "Copyright © 2007 David Zeuthen"
41 msgstr "Copyright © 2007 David Zeuthen"
42
43 #: ../examples/polkit-gnome-example.c:138
44 msgid "PolicyKit-gnome Website"
45 msgstr "Lloc web del PolicyKit-gnome"
46
47 #: ../examples/polkit-gnome-example.c:140
48 #: ../examples/polkit-gnome-example.c:446
49 msgid "PolicyKit-gnome demo"
50 msgstr "Demostració del PolicyKit-gnome"
51
52 #: ../examples/polkit-gnome-example.c:141
53 msgid "PolicyKit for the GNOME desktop"
54 msgstr "PolicyKit per a l'escriptori GNOME"
55
56 #: ../examples/polkit-gnome-example.c:151
57 msgid "_File"
58 msgstr "_Fitxer"
59
60 #. name, stock id, label
61 #: ../examples/polkit-gnome-example.c:152
62 msgid "_Actions"
63 msgstr "_Accions"
64
65 #. name, stock id, label
66 #: ../examples/polkit-gnome-example.c:153
67 msgid "_Help"
68 msgstr "A_juda"
69
70 #. name, stock id, label
71 #. name, stock id
72 #: ../examples/polkit-gnome-example.c:156
73 msgid "_Quit"
74 msgstr "_Surt"
75
76 #. label, accelerator
77 #: ../examples/polkit-gnome-example.c:157
78 msgid "Quit"
79 msgstr "Surt"
80
81 #. name, stock id
82 #: ../examples/polkit-gnome-example.c:161
83 msgid "_About"
84 msgstr "_Quant a"
85
86 #. label, accelerator
87 #: ../examples/polkit-gnome-example.c:162
88 msgid "About"
89 msgstr "Quant a"
90
91 #: ../examples/polkit-gnome-example.c:243
92 msgid ""
93 "Making the helper <b>Frobnicate</b> requires the user to authenticate. The "
94 "authorization is kept for the life time of the process"
95 msgstr ""
96
97 #: ../examples/polkit-gnome-example.c:252
98 msgid "Frobnicate!"
99 msgstr ""
100
101 #: ../examples/polkit-gnome-example.c:267
102 msgid ""
103 "Making the helper <b>Jump</b> requires the user to authenticate. This is a "
104 "one-shot authorization."
105 msgstr ""
106
107 #: ../examples/polkit-gnome-example.c:275
108 msgid "Jump!"
109 msgstr "Salta!"
110
111 #: ../examples/polkit-gnome-example.c:290
112 msgid ""
113 "Making the helper <b>Tweak</b> requires a system administrator to "
114 "authenticate. This instance overrides the defaults set in "
115 "polkit_gnome_action_new()."
116 msgstr ""
117
118 #: ../examples/polkit-gnome-example.c:299
119 #: ../examples/polkit-gnome-example.c:320
120 msgid "Tweak!"
121 msgstr ""
122
123 #: ../examples/polkit-gnome-example.c:306
124 #: ../examples/org.gnome.policykit.examples.policy.in.h:17
125 msgid "Tweak"
126 msgstr ""
127
128 #: ../examples/polkit-gnome-example.c:307
129 msgid "Tweak (long)"
130 msgstr ""
131
132 #: ../examples/polkit-gnome-example.c:308
133 msgid "If your admin wasn't annoying, you could do this"
134 msgstr ""
135
136 #: ../examples/polkit-gnome-example.c:313
137 msgid "Tweak..."
138 msgstr ""
139
140 #: ../examples/polkit-gnome-example.c:314
141 msgid "Tweak... (long)"
142 msgstr ""
143
144 #: ../examples/polkit-gnome-example.c:315
145 msgid "Only card carrying tweakers can do this!"
146 msgstr ""
147
148 #: ../examples/polkit-gnome-example.c:321
149 msgid "Tweak! (long)"
150 msgstr ""
151
152 #: ../examples/polkit-gnome-example.c:322
153 msgid "Go ahead, tweak tweak tweak!"
154 msgstr ""
155
156 #: ../examples/polkit-gnome-example.c:339
157 msgid ""
158 "Making the helper <b>Twiddle</b> requires a system administrator to "
159 "authenticate. Once authenticated, this privilege can be retained "
160 "indefinitely."
161 msgstr ""
162
163 #: ../examples/polkit-gnome-example.c:348
164 msgid "Twiddle!"
165 msgstr ""
166
167 #: ../examples/polkit-gnome-example.c:363
168 msgid ""
169 "Making the helper <b>Punch</b> requires the user to authenticate. Once "
170 "authenticated, this privilege can be retained for the remainder of the "
171 "desktop session."
172 msgstr ""
173
174 #: ../examples/polkit-gnome-example.c:372
175 msgid "Punch!"
176 msgstr ""
177
178 #: ../examples/polkit-gnome-example.c:387
179 msgid ""
180 "The <b>Toggle</b> action demonstrates the use of PolicyKit to drive a "
181 "GtkToggleButton; it's an intuitive way to ask users to give up "
182 "authorizations when they are done with them. E.g. the button is 'pressed in' "
183 "exactlywhen the authorization is held. Toggling the button means obtaining "
184 "resp. revoking the authorization in question."
185 msgstr ""
186
187 #: ../examples/polkit-gnome-example.c:401
188 msgid "Click to make changes..."
189 msgstr "Feu clic per a fer canvis..."
190
191 #: ../examples/polkit-gnome-example.c:402
192 msgid "Click to prevent changes"
193 msgstr "Feu clic per a evitar els canvis"
194
195 #: ../examples/polkit-gnome-example.c:422
196 msgid ""
197 "<i>Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets "
198 "update in real-time.</i>."
199 msgstr ""
200 "<i>Consell: proveu d'editar el fitxer /etc/PolicyKit/Policz.conf i veureu "
201 "com els ginys intermediaris s'actualitzen en temps real.</i>"
202
203 #: ../examples/org.gnome.policykit.examples.policy.in.h:1
204 msgid "Frobnicate"
205 msgstr ""
206
207 #: ../examples/org.gnome.policykit.examples.policy.in.h:2
208 msgid "Jump"
209 msgstr ""
210
211 #: ../examples/org.gnome.policykit.examples.policy.in.h:3
212 msgid "Kick bar"
213 msgstr ""
214
215 #: ../examples/org.gnome.policykit.examples.policy.in.h:4
216 msgid "Kick baz"
217 msgstr ""
218
219 #: ../examples/org.gnome.policykit.examples.policy.in.h:5
220 msgid "Kick foo"
221 msgstr ""
222
223 #: ../examples/org.gnome.policykit.examples.policy.in.h:6
224 msgid "Punch"
225 msgstr ""
226
227 #: ../examples/org.gnome.policykit.examples.policy.in.h:7
228 msgid ""
229 "System policy prevents the PolicyKit-gnome example helper from Frobnicating"
230 msgstr ""
231
232 #: ../examples/org.gnome.policykit.examples.policy.in.h:8
233 msgid "System policy prevents the PolicyKit-gnome example helper from Jumping"
234 msgstr ""
235
236 #: ../examples/org.gnome.policykit.examples.policy.in.h:9
237 msgid ""
238 "System policy prevents the PolicyKit-gnome example helper from Kicking bar"
239 msgstr ""
240
241 #: ../examples/org.gnome.policykit.examples.policy.in.h:10
242 msgid ""
243 "System policy prevents the PolicyKit-gnome example helper from Kicking baz"
244 msgstr ""
245
246 #: ../examples/org.gnome.policykit.examples.policy.in.h:11
247 msgid ""
248 "System policy prevents the PolicyKit-gnome example helper from Kicking foo"
249 msgstr ""
250
251 #: ../examples/org.gnome.policykit.examples.policy.in.h:12
252 msgid "System policy prevents the PolicyKit-gnome example helper from Punching"
253 msgstr ""
254
255 #: ../examples/org.gnome.policykit.examples.policy.in.h:13
256 msgid "System policy prevents the PolicyKit-gnome example helper from Toggling"
257 msgstr ""
258
259 #: ../examples/org.gnome.policykit.examples.policy.in.h:14
260 msgid "System policy prevents the PolicyKit-gnome example helper from Tweaking"
261 msgstr ""
262
263 #: ../examples/org.gnome.policykit.examples.policy.in.h:15
264 msgid ""
265 "System policy prevents the PolicyKit-gnome example helper from Twiddling"
266 msgstr ""
267
268 #: ../examples/org.gnome.policykit.examples.policy.in.h:16
269 msgid "Toggle"
270 msgstr "Commuta"
271
272 #: ../examples/org.gnome.policykit.examples.policy.in.h:18
273 msgid "Twiddle"
274 msgstr ""
275
276 #: ../polkit-gnome/polkit-gnome-toggle-action.c:400
277 #: ../polkit-gnome/polkit-gnome-toggle-action.c:401
278 msgid "Authenticating..."
279 msgstr "S'està autenticant..."
280
281 #: ../src/main.c:139
282 msgid "Don't exit after 30 seconds of inactivity"
283 msgstr "No surtis després de 30 segons d'inactivitat"
284
285 #: ../src/main.c:148
286 msgid "PolicyKit GNOME session daemon"
287 msgstr "Dimoni de sessió del PolicyKit GNOME"
288
289 #: ../src/main.c:174
290 #, c-format
291 msgid "Starting PolicyKit GNOME session daemon version %s"
292 msgstr "S'està iniciant el dimoni de sessió del PolicyKit GNOME, versió %s"
293
294 #: ../src/polkit-gnome-auth-dialog.c:190
295 #: ../tools/polkit-gnome-authorization.c:649
17 #: ../src/polkitgnomeauthenticationdialog.c:159
29618 msgid "Select user..."
29719 msgstr "Seleccioneu l'usuari..."
29820
299 #: ../src/polkit-gnome-auth-dialog.c:211
300 #: ../tools/polkit-gnome-authorization.c:665
21 #: ../src/polkitgnomeauthenticationdialog.c:194
30122 #, c-format
30223 msgid "%s (%s)"
30324 msgstr "%s (%s)"
30425
305 #: ../src/polkit-gnome-auth-dialog.c:292
306 msgid "_Remember authorization for this session"
307 msgstr "_Recorda l'autorització durant aquesta sessió"
308
309 #: ../src/polkit-gnome-auth-dialog.c:298
310 msgid "_Remember authorization"
311 msgstr "_Recorda l'autorització"
312
313 #: ../src/polkit-gnome-auth-dialog.c:313
26 #: ../src/polkitgnomeauthenticationdialog.c:529
27 msgid "_Authenticate"
28 msgstr "_Autentica"
29
30 #: ../src/polkitgnomeauthenticationdialog.c:566
31431 msgid ""
31532 "An application is attempting to perform an action that requires privileges. "
31633 "Authentication as one of the users below is required to perform this action."
31936 "Cal autenticar-se com a un dels usuaris d'aquí sota per a dur a terme "
32037 "l'acció."
32138
322 #: ../src/polkit-gnome-auth-dialog.c:320
39 #: ../src/polkitgnomeauthenticationdialog.c:574
40 msgid ""
41 "An application is attempting to perform an action that requires privileges. "
42 "Authentication is required to perform this action."
43 msgstr ""
44 "Una aplicació està intentant realitzar una acció que requereix privilegis. "
45 "Cal autenticar-se per a dur a terme l'acció."
46
47 #: ../src/polkitgnomeauthenticationdialog.c:580
32348 msgid ""
32449 "An application is attempting to perform an action that requires privileges. "
32550 "Authentication as the super user is required to perform this action."
32752 "Una aplicació està intentant realitzar una acció que requereix privilegis. "
32853 "Cal autenticar-se com a usuari primari per a dur a terme l'acció."
32954
330 #: ../src/polkit-gnome-auth-dialog.c:324
331 msgid ""
332 "An application is attempting to perform an action that requires privileges. "
333 "Authentication is required to perform this action."
334 msgstr ""
335 "Una aplicació està intentant realitzar una acció que requereix privilegis. "
336 "Cal autenticar-se per a dur a terme l'acció."
337
338 #: ../src/polkit-gnome-auth-dialog.c:348
55 #: ../src/polkitgnomeauthenticationdialog.c:615
56 #: ../src/polkitgnomeauthenticator.c:289
57 msgid "_Password:"
58 msgstr "_Contrasenya:"
59
60 #. Details
61 #: ../src/polkitgnomeauthenticationdialog.c:633
62 msgid "<small><b>_Details</b></small>"
63 msgstr "<small><b>_Detalls</b></small>"
64
65 #: ../src/polkitgnomeauthenticationdialog.c:686
66 msgid "<small><b>Action:</b></small>"
67 msgstr "<small><b>Acció:</b></small>"
68
69 #: ../src/polkitgnomeauthenticationdialog.c:689
33970 #, c-format
34071 msgid "Click to edit %s"
34172 msgstr "Feu clic per a editar %s"
34273
343 #: ../src/polkit-gnome-auth-dialog.c:371
344 #: ../tools/polkit-gnome-authorization.c:1391
74 #: ../src/polkitgnomeauthenticationdialog.c:703
75 msgid "<small><b>Vendor:</b></small>"
76 msgstr "<small><b>Proveïdor:</b></small>"
77
78 #: ../src/polkitgnomeauthenticationdialog.c:705
34579 #, c-format
34680 msgid "Click to open %s"
34781 msgstr "Feu clic per a obrir %s"
34882
349 #: ../src/polkit-gnome-auth-dialog.c:600
350 msgid "_Authenticate"
351 msgstr "_Autentica"
352
353 #: ../src/polkit-gnome-auth-dialog.c:659 ../src/polkit-gnome-manager.c:686
354 #: ../src/polkit-gnome-manager.c:735
355 msgid "_Password:"
356 msgstr "_Contrasenya:"
357
358 #: ../src/polkit-gnome-auth-dialog.c:681
359 msgid "For this _session only"
360 msgstr "Només durant aquesta _sessió"
361
362 #: ../src/polkit-gnome-auth-dialog.c:689
363 msgid "<small><b>_Details</b></small>"
364 msgstr "<small><b>_Detalls</b></small>"
365
366 #: ../src/polkit-gnome-auth-dialog.c:710
367 msgid "<small><b>Application:</b></small>"
368 msgstr "<small><b>Aplicació:</b></small>"
369
370 #: ../src/polkit-gnome-auth-dialog.c:714
371 msgid "<small><b>Action:</b></small>"
372 msgstr "<small><b>Acció:</b></small>"
373
374 #: ../src/polkit-gnome-auth-dialog.c:719
375 msgid "<small><b>Vendor:</b></small>"
376 msgstr "<small><b>Proveïdor:</b></small>"
377
378 #: ../src/polkit-gnome-auth-dialog.c:848
83 #: ../src/polkitgnomeauthenticationdialog.c:868
37984 msgid "Authenticate"
38085 msgstr "Autentica"
38186
382 #: ../src/polkit-gnome-manager.c:367
383 msgid "(unknown"
384 msgstr ""
385
386 #: ../src/polkit-gnome-manager.c:730
87 #: ../src/polkitgnomeauthenticator.c:285
38788 #, c-format
38889 msgid "_Password for %s:"
38990 msgstr "_Contrasenya per a %s:"
39091
391 #: ../src/polkit-gnome-manager.c:732
392 msgid "_Password for root:"
393 msgstr "_Contrasenya per a l'usuari primari:"
394
395 #: ../src/polkit-gnome-manager.c:740
396 #, c-format
397 msgid "_Password or swipe finger for %s:"
398 msgstr "_Contrasenya o empremta digital per a %s:"
399
400 #: ../src/polkit-gnome-manager.c:743
401 msgid "_Password or swipe finger for root:"
402 msgstr "_Contrasenya o empremta digital per a l'usuari primari:"
403
404 #: ../src/polkit-gnome-manager.c:746
405 msgid "_Password or swipe finger:"
406 msgstr "_Contrasenya o empremta digital:"
407
408 #: ../tools/polkit-gnome-authorization.c:117
409 msgid "No"
410 msgstr "No"
411
412 #: ../tools/polkit-gnome-authorization.c:119
413 msgid "Admin Authentication (one shot)"
414 msgstr "Autenticació d'administrador (només aquesta vegada)"
415
416 #: ../tools/polkit-gnome-authorization.c:120
417 msgid "Admin Authentication"
418 msgstr "Autenticació d'administrador"
419
420 #: ../tools/polkit-gnome-authorization.c:121
421 msgid "Admin Authentication (keep session)"
422 msgstr "Autenticació d'administrador (manté durant la sessió)"
423
424 #: ../tools/polkit-gnome-authorization.c:122
425 msgid "Admin Authentication (keep indefinitely)"
426 msgstr "Autenticació d'administrador (manté indefinidament)"
427
428 #: ../tools/polkit-gnome-authorization.c:124
429 msgid "Authentication (one shot)"
430 msgstr "Autenticació (només aquesta vegada)"
431
432 #: ../tools/polkit-gnome-authorization.c:125
433 msgid "Authentication"
434 msgstr "Autenticació"
435
436 #: ../tools/polkit-gnome-authorization.c:126
437 msgid "Authentication (keep session)"
438 msgstr "Autenticació (manté durant la sessió)"
439
440 #: ../tools/polkit-gnome-authorization.c:127
441 msgid "Authentication (keep indefinitely)"
442 msgstr "Autenticació (manté indefinidament)"
443
444 #: ../tools/polkit-gnome-authorization.c:129
445 msgid "Yes"
446 msgstr "Sí"
447
448 #: ../tools/polkit-gnome-authorization.c:272
449 msgid ", "
450 msgstr ", "
451
452 #: ../tools/polkit-gnome-authorization.c:276
453 msgid "Must be on console"
454 msgstr "Ha d'estar a la consola"
455
456 #: ../tools/polkit-gnome-authorization.c:279
457 msgid "Must be in active session"
458 msgstr "Ha d'estar a la sessió activa"
459
460 #: ../tools/polkit-gnome-authorization.c:282
461 #, c-format
462 msgid "Must be program %s"
463 msgstr "Ha de ser el programa %s"
464
465 #: ../tools/polkit-gnome-authorization.c:286
466 #, c-format
467 msgid "Must be SELinux Context %s"
468 msgstr "Ha de ser el context del SELinux %s"
469
470 #: ../tools/polkit-gnome-authorization.c:344
471 msgid "A moment ago"
472 msgstr "Fa un moment"
473
474 #: ../tools/polkit-gnome-authorization.c:348
475 msgid "1 minute ago"
476 msgstr "Fa 1 minut"
477
478 #: ../tools/polkit-gnome-authorization.c:350
479 #, c-format
480 msgid "%d minutes ago"
481 msgstr "Fa %d minuts"
482
483 #: ../tools/polkit-gnome-authorization.c:354
484 msgid "1 hour ago"
485 msgstr "Fa 1 hora"
486
487 #: ../tools/polkit-gnome-authorization.c:356
488 #, c-format
489 msgid "%d hours ago"
490 msgstr "Fa %d hores"
491
492 #: ../tools/polkit-gnome-authorization.c:360
493 msgid "1 day ago"
494 msgstr "Fa 1 dia"
495
496 #: ../tools/polkit-gnome-authorization.c:362
497 #, c-format
498 msgid "%d days ago"
499 msgstr "Fa %d dies"
500
501 #: ../tools/polkit-gnome-authorization.c:379
502 #, c-format
503 msgid "Auth as %s (uid %d)"
504 msgstr "Autenticat com a %s (UID %d)"
505
506 #: ../tools/polkit-gnome-authorization.c:381
507 #, c-format
508 msgid "Auth as uid %d"
509 msgstr "Autenticat com a UID %d"
510
511 #: ../tools/polkit-gnome-authorization.c:387
512 #, c-format
513 msgid "Blocked by %s (uid %d)"
514 msgstr "Blocat per %s (UID %d)"
515
516 #: ../tools/polkit-gnome-authorization.c:389
517 #, c-format
518 msgid "Blocked by uid %d"
519 msgstr "Blocat per l'UID %d"
520
521 #: ../tools/polkit-gnome-authorization.c:392
522 #, c-format
523 msgid "Granted by %s (uid %d)"
524 msgstr "Atorgat per %s (UID %d)"
525
526 #: ../tools/polkit-gnome-authorization.c:394
527 #, c-format
528 msgid "Granted by uid %d"
529 msgstr "Atorgat per l'UID %d"
530
531 #: ../tools/polkit-gnome-authorization.c:409
532 #, c-format
533 msgid "Single shot pid %d (%s)"
534 msgstr "PID %d (%s) una sola vegada"
535
536 #: ../tools/polkit-gnome-authorization.c:415
537 #, c-format
538 msgid "pid %d (%s)"
539 msgstr "PID %d (%s)"
540
541 #: ../tools/polkit-gnome-authorization.c:418
542 msgid "This session"
543 msgstr "Durant aquesta sessió"
544
545 #: ../tools/polkit-gnome-authorization.c:421
546 msgid "Always"
547 msgstr "Sempre"
548
549 #: ../tools/polkit-gnome-authorization.c:431
550 msgid "None"
551 msgstr "Cap"
552
553 #: ../tools/polkit-gnome-authorization.c:827
554 msgid "Grant Negative Authorization"
555 msgstr "Atorga una autorització negativa"
556
557 #: ../tools/polkit-gnome-authorization.c:827
558 msgid "Grant Authorization"
559 msgstr "Atorga l'autorització"
560
561 #: ../tools/polkit-gnome-authorization.c:850
562 #, c-format
563 msgid ""
564 "<b><big>Granting a negative authorization for the <i>%s</i> action requires "
565 "more information</big></b>"
566 msgstr ""
567 "<b><big>Cal més informació per a poder atorgar l'autorització negativa per a "
568 "l'acció <i>%s</i></big></b>"
569
570 #: ../tools/polkit-gnome-authorization.c:851
571 #, c-format
572 msgid ""
573 "<b><big>Granting an authorization for the <i>%s</i> action requires more "
574 "information</big></b>"
575 msgstr ""
576 "<b><big>Cal més informació per a poder atorgar l'autorització per a l'acció "
577 "<i>%s</i></big></b>"
578
579 #: ../tools/polkit-gnome-authorization.c:862
580 msgid ""
581 "Select the user to block for the action and, optionally, any constraints on "
582 "the negative authorization that you are about to grant."
583 msgstr ""
584 "Seleccioneu l'usuari per al qual es blocarà l'acció i, de manera opcional, "
585 "com s'haurà de limitar l'autorització negativa que esteu a punt d'atorgar."
586
587 #: ../tools/polkit-gnome-authorization.c:864
588 msgid ""
589 "Select the beneficiary and, optionally, how to constrain the authorization "
590 "that you are about to grant."
591 msgstr ""
592 "Seleccioneu el beneficiari i, de manera opcional, com s'haurà de limitar "
593 "l'autorització que esteu a punt d'atorgar."
594
595 #: ../tools/polkit-gnome-authorization.c:875
596 msgid "<b>Beneficiary</b>"
597 msgstr "<b>Beneficiari</b>"
598
599 #: ../tools/polkit-gnome-authorization.c:887
600 msgid "Select the user that will receive the negative authorization."
601 msgstr "Seleccioneu l'usuari que rebrà l'autorització negativa."
602
603 #: ../tools/polkit-gnome-authorization.c:889
604 msgid "Select the user that will receive the authorization."
605 msgstr "Seleccioneu l'usuari que rebrà l'autorització."
606
607 #: ../tools/polkit-gnome-authorization.c:898
608 msgid "_Show system users"
609 msgstr "_Mostra els usuaris de sistema"
610
611 #: ../tools/polkit-gnome-authorization.c:913
612 msgid "<b>Constraints</b>"
613 msgstr "<b>Restriccions</b>"
614
615 #: ../tools/polkit-gnome-authorization.c:924
616 msgid ""
617 "Constraints limits the authorization such that it only applies under certain "
618 "circumstances."
619 msgstr ""
620 "Les restriccions limiten l'autorització de manera que només s'atorgarà sota "
621 "determinades circumstàncies."
622
623 #: ../tools/polkit-gnome-authorization.c:930
624 msgid "_None"
625 msgstr "_Cap"
626
627 #: ../tools/polkit-gnome-authorization.c:932
628 msgid "Must be _in active session"
629 msgstr "Ha d'estar a la sessió act_iva"
630
631 #: ../tools/polkit-gnome-authorization.c:934
632 msgid "Must be on _local console"
633 msgstr "Ha d'estar a la consola _local"
634
635 #: ../tools/polkit-gnome-authorization.c:936
636 msgid "Must be in _active session on local console"
637 msgstr "Ha d'estar a la sessió _activa de la consola local"
638
639 #: ../tools/polkit-gnome-authorization.c:957
640 #: ../tools/polkit-gnome-authorization.c:2133
641 msgid "_Block..."
642 msgstr "_Bloca..."
643
644 #: ../tools/polkit-gnome-authorization.c:961
645 #: ../tools/polkit-gnome-authorization.c:2126
646 msgid "_Grant..."
647 msgstr "_Atorga..."
648
649 #: ../tools/polkit-gnome-authorization.c:1155
650 msgid "Edit Implicit Authorizations"
651 msgstr "Edita les autoritzacions implícites"
652
653 #: ../tools/polkit-gnome-authorization.c:1176
654 msgid "<b><big>Choose new implicit authorizations</big></b>"
655 msgstr "<b><big>Escolliu les autoritzacions implícites noves</big></b>"
656
657 #: ../tools/polkit-gnome-authorization.c:1190
658 #, c-format
659 msgid ""
660 "Implicit authorizations are authorizations that are granted automatically to "
661 "users under certain circumstances. Choose what is required for the action <i>"
662 "%s</i>."
663 msgstr ""
664 "Les autoritzacions implícites són aquelles que s'atorguen automàticament als "
665 "usuaris en determinades circumstàncies. Escolliu què cal per a l'acció <i>%"
666 "s</i>."
667
668 #: ../tools/polkit-gnome-authorization.c:1215
669 #: ../tools/polkit-gnome-authorization.c:1974
670 msgid "<i>Anyone:</i>"
671 msgstr "<i>Qualsevol:</i>"
672
673 #: ../tools/polkit-gnome-authorization.c:1222
674 #: ../tools/polkit-gnome-authorization.c:1978
675 msgid "<i>Console:</i>"
676 msgstr "<i>Consola:</i>"
677
678 #: ../tools/polkit-gnome-authorization.c:1229
679 #: ../tools/polkit-gnome-authorization.c:1982
680 msgid "<i>Active Console:</i>"
681 msgstr "<i>Consola activa:</i>"
682
683 #: ../tools/polkit-gnome-authorization.c:1258
684 msgid "_Modify..."
685 msgstr "_Modifica..."
686
687 #: ../tools/polkit-gnome-authorization.c:1890
688 msgid "<b>Action</b>"
689 msgstr "<b>Acció</b>"
690
691 #: ../tools/polkit-gnome-authorization.c:1905
692 msgid "<i>Identifier:</i>"
693 msgstr "<i>Identificador:</i>"
694
695 #: ../tools/polkit-gnome-authorization.c:1915
696 msgid "<i>Description:</i>"
697 msgstr "<i>Descripció:</i>"
698
699 #: ../tools/polkit-gnome-authorization.c:1925
700 msgid "<i>Vendor:</i>"
701 msgstr "<i>Proveïdor</i>"
702
703 #: ../tools/polkit-gnome-authorization.c:1951
704 msgid "<b>Implicit Authorizations</b>"
705 msgstr "<b>Autoritzacions implícites</b>"
706
707 #: ../tools/polkit-gnome-authorization.c:1959
708 msgid ""
709 "Implicit authorizations are authorizations automatically given to users "
710 "based on certain criteria such as if they are on the local console."
711 msgstr ""
712 "Les autoritzacions implícites són aquelles que s'atorguen automàticament als "
713 "usuaris seguint certs criteris, com ara si són a la consola local."
714
715 #: ../tools/polkit-gnome-authorization.c:2002
716 msgid "_Edit..."
717 msgstr "_Edita..."
718
719 #: ../tools/polkit-gnome-authorization.c:2009
720 msgid "Revert To _Defaults..."
721 msgstr "Torna als valors _predeterminats..."
722
723 #: ../tools/polkit-gnome-authorization.c:2032
724 msgid "<b>Explicit Authorizations</b>"
725 msgstr "<b>Autoritzacions explícites</b>"
726
727 #: ../tools/polkit-gnome-authorization.c:2043
728 msgid ""
729 "This list displays authorizations that are either obtained through "
730 "authentication or specifically given to the entity in question. Blocked "
731 "authorizations are marked with a STOP sign."
732 msgstr ""
733 "Aquesta llista mostra autoritzacions que o bé s'han obtingut a través de "
734 "l'autenticació, o bé s'han atorgat específicament a l'entitat en qüestió. "
735 "Les autoritzacions blocades estan marcades amb un signe d'stop."
736
737 #: ../tools/polkit-gnome-authorization.c:2073
738 msgid "Entity"
739 msgstr "Entitat"
740
741 #: ../tools/polkit-gnome-authorization.c:2081
742 msgid "Scope"
743 msgstr "Àmbit"
744
745 #: ../tools/polkit-gnome-authorization.c:2089
746 msgid "Obtained"
747 msgstr "Obtinguda"
748
749 #: ../tools/polkit-gnome-authorization.c:2097
750 msgid "How"
751 msgstr "Com"
752
753 #: ../tools/polkit-gnome-authorization.c:2105
754 msgid "Constraints"
755 msgstr "Restriccions"
756
757 #: ../tools/polkit-gnome-authorization.c:2147
758 #: ../tools/polkit-gnome-authorization.c:2161
759 msgid "_Revoke"
760 msgstr "_Revoca"
761
762 #: ../tools/polkit-gnome-authorization.c:2154
763 msgid "_Revoke..."
764 msgstr "_Revoca..."
765
766 #: ../tools/polkit-gnome-authorization.c:2174
767 msgid "_Show authorizations from all users..."
768 msgstr "_Mostra les autoritzacions de tots els usuaris..."
769
770 #: ../tools/polkit-gnome-authorization.c:2175
771 msgid "_Show authorizations from all users"
772 msgstr "_Mostra les autoritzacions de tots els usuaris"
773
774 #: ../tools/polkit-gnome-authorization.c:2417
775 msgid "Select an action"
776 msgstr "Seleccioneu una acció"
92 #: ../src/polkitgnomeauthenticator.c:445
93 msgid "Authentication Failure"
94 msgstr "Fallada d'autenticació"
95
96 #: ../src/polkit-gnome-authentication-agent-1.desktop.in.h:1
97 msgid "PolicyKit Authentication Agent"
98 msgstr "Agent d'autenticació del PolicyKit"
99
100 #~ msgid "Authorizations"
101 #~ msgstr "Autoritzacions"
102
103 #~ msgid "Configure authorizations"
104 #~ msgstr "Configura les autoritzacions"
105
106 #~ msgid ""
107 #~ "A list of PolicyKit action where the \"retain authorization\" checkbox "
108 #~ "isn't checked by default; this list is maintained by the authentication "
109 #~ "dialog code itself. For example, if a user unchecks the \"retain "
110 #~ "authorization\" check box for an action and successfully obtains an "
111 #~ "authorization for the action, the action will be added to this list."
112 #~ msgstr ""
113 #~ "Una llista d'accions del PolicyKit en les quals la casella de verificació "
114 #~ "«manté l'autorització» no està activada per defecte. Aquesta llista la "
115 #~ "manté el codi del diàleg d'autenticació mateix. Per exemple, si l'usuari "
116 #~ "desactiva la casella de verificació «manté l'autorització» per a una acció "
117 #~ "i obté una autorització per a l'acció, aquesta opció s'afegirà a la "
118 #~ "llista."
119
120 #~ msgid ""
121 #~ "A list of actions where the \"retain authorization\" checkbox isn't "
122 #~ "checked by default"
123 #~ msgstr ""
124 #~ "Una llista d'accions en les quals la casella de verificació «manté "
125 #~ "l'autorització» no està activada per defecte."
126
127 #~ msgid ""
128 #~ "If set to true, the authentication dialog from PolicyKit-gnome will grab "
129 #~ "the keyboard, so that you will not be able to type in other programs "
130 #~ "while the dialog is active. Use this if your window manager does not "
131 #~ "focus the authentication dialog automatically, and you want to avoid "
132 #~ "accidentally typing passwords in other programs."
133 #~ msgstr ""
134 #~ "Si s'estableix com a cert, el diàleg d'autenticació del PolicyKit-gnome "
135 #~ "capturarà el teclat, de manera que no podreu utilitzar-lo en altres "
136 #~ "programes mentre el diàleg sigui actiu. Utilitzeu aquesta opció si el "
137 #~ "gestor de finestres no mou el focus cap al diàleg d'autenticació de "
138 #~ "manera automàtica i voleu evitar introduir contrasenyes en altres "
139 #~ "programes per accident."
140
141 #~ msgid ""
142 #~ "If set to true, then \"retain authorization\" check box (if present) is "
143 #~ "checked by default in the authentication dialog unless the action is "
144 #~ "mentioned in the \"/desktop/gnome/policykit/"
145 #~ "auth_dialog_retain_authorization_blacklist\" key."
146 #~ msgstr ""
147 #~ "Si s'estableix com a cert, la casella de verificació «manté "
148 #~ "l'autorització» està activada per defecte (si és que està present) en el "
149 #~ "diàleg d'autenticació, a no ser que l'acció aparegui a la clau «/desktop/"
150 #~ "gnome/policykit/auth_dialog_retain_authorization_blacklist»."
151
152 #~ msgid "Whether the authentication dialog should grab the keyboard"
153 #~ msgstr "Si el diàleg d'autenticació ha de capturar el teclat"
154
155 #~ msgid "Whether the retain authorization check box is checked by default"
156 #~ msgstr ""
157 #~ "Si la casella de verificació «manté l'autorització» està activada per "
158 #~ "defecte"
159
160 #~ msgid "Copyright © 2007 David Zeuthen"
161 #~ msgstr "Copyright © 2007 David Zeuthen"
162
163 #~ msgid "PolicyKit-gnome Website"
164 #~ msgstr "Lloc web del PolicyKit-gnome"
165
166 #~ msgid "PolicyKit-gnome demo"
167 #~ msgstr "Demostració del PolicyKit-gnome"
168
169 #~ msgid "PolicyKit for the GNOME desktop"
170 #~ msgstr "PolicyKit per a l'escriptori GNOME"
171
172 #~ msgid "_File"
173 #~ msgstr "_Fitxer"
174
175 #~ msgid "_Actions"
176 #~ msgstr "_Accions"
177
178 #~ msgid "_Help"
179 #~ msgstr "A_juda"
180
181 #~ msgid "_Quit"
182 #~ msgstr "_Surt"
183
184 #~ msgid "Quit"
185 #~ msgstr "Surt"
186
187 #~ msgid "_About"
188 #~ msgstr "_Quant a"
189
190 #~ msgid "About"
191 #~ msgstr "Quant a"
192
193 #~ msgid "Jump!"
194 #~ msgstr "Salta!"
195
196 #~ msgid "Click to make changes..."
197 #~ msgstr "Feu clic per a fer canvis..."
198
199 #~ msgid "Click to prevent changes"
200 #~ msgstr "Feu clic per a evitar els canvis"
201
202 #~ msgid ""
203 #~ "<i>Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets "
204 #~ "update in real-time.</i>."
205 #~ msgstr ""
206 #~ "<i>Consell: proveu d'editar el fitxer /etc/PolicyKit/Policz.conf i veureu "
207 #~ "com els ginys intermediaris s'actualitzen en temps real.</i>"
208
209 #~ msgid "Toggle"
210 #~ msgstr "Commuta"
211
212 #~ msgid "Authenticating..."
213 #~ msgstr "S'està autenticant..."
214
215 #~ msgid "Don't exit after 30 seconds of inactivity"
216 #~ msgstr "No surtis després de 30 segons d'inactivitat"
217
218 #~ msgid "PolicyKit GNOME session daemon"
219 #~ msgstr "Dimoni de sessió del PolicyKit GNOME"
220
221 #~ msgid "Starting PolicyKit GNOME session daemon version %s"
222 #~ msgstr "S'està iniciant el dimoni de sessió del PolicyKit GNOME, versió %s"
223
224 #~ msgid "_Remember authorization for this session"
225 #~ msgstr "_Recorda l'autorització durant aquesta sessió"
226
227 #~ msgid "_Remember authorization"
228 #~ msgstr "_Recorda l'autorització"
229
230 #~ msgid "For this _session only"
231 #~ msgstr "Només durant aquesta _sessió"
232
233 #~ msgid "<small><b>Application:</b></small>"
234 #~ msgstr "<small><b>Aplicació:</b></small>"
235
236 #~ msgid "(unknown"
237 #~ msgstr "(desconegut"
238
239 #~ msgid "_Password for root:"
240 #~ msgstr "_Contrasenya per a l'usuari primari:"
241
242 #~ msgid "_Password or swipe finger for %s:"
243 #~ msgstr "_Contrasenya o empremta digital per a %s:"
244
245 #~ msgid "_Password or swipe finger for root:"
246 #~ msgstr "_Contrasenya o empremta digital per a l'usuari primari:"
247
248 #~ msgid "_Password or swipe finger:"
249 #~ msgstr "_Contrasenya o empremta digital:"
250
251 #~ msgid "No"
252 #~ msgstr "No"
253
254 #~ msgid "Admin Authentication (one shot)"
255 #~ msgstr "Autenticació d'administrador (només aquesta vegada)"
256
257 #~ msgid "Admin Authentication (keep session)"
258 #~ msgstr "Autenticació d'administrador (manté durant la sessió)"
259
260 #~ msgid "Admin Authentication (keep indefinitely)"
261 #~ msgstr "Autenticació d'administrador (manté indefinidament)"
262
263 #~ msgid "Authentication (one shot)"
264 #~ msgstr "Autenticació (només aquesta vegada)"
265
266 #~ msgid "Authentication (keep session)"
267 #~ msgstr "Autenticació (manté durant la sessió)"
268
269 #~ msgid "Authentication (keep indefinitely)"
270 #~ msgstr "Autenticació (manté indefinidament)"
271
272 #~ msgid "Yes"
273 #~ msgstr "Sí"
274
275 #~ msgid ", "
276 #~ msgstr ", "
277
278 #~ msgid "Must be on console"
279 #~ msgstr "Ha d'estar a la consola"
280
281 #~ msgid "Must be in active session"
282 #~ msgstr "Ha d'estar a la sessió activa"
283
284 #~ msgid "Must be program %s"
285 #~ msgstr "Ha de ser el programa %s"
286
287 #~ msgid "Must be SELinux Context %s"
288 #~ msgstr "Ha de ser el context del SELinux %s"
289
290 #~ msgid "A moment ago"
291 #~ msgstr "Fa un moment"
292
293 #~ msgid "1 minute ago"
294 #~ msgstr "Fa 1 minut"
295
296 #~ msgid "%d minutes ago"
297 #~ msgstr "Fa %d minuts"
298
299 #~ msgid "1 hour ago"
300 #~ msgstr "Fa 1 hora"
301
302 #~ msgid "%d hours ago"
303 #~ msgstr "Fa %d hores"
304
305 #~ msgid "1 day ago"
306 #~ msgstr "Fa 1 dia"
307
308 #~ msgid "%d days ago"
309 #~ msgstr "Fa %d dies"
310
311 #~ msgid "Auth as %s (uid %d)"
312 #~ msgstr "Autenticat com a %s (UID %d)"
313
314 #~ msgid "Auth as uid %d"
315 #~ msgstr "Autenticat com a UID %d"
316
317 #~ msgid "Blocked by %s (uid %d)"
318 #~ msgstr "Blocat per %s (UID %d)"
319
320 #~ msgid "Blocked by uid %d"
321 #~ msgstr "Blocat per l'UID %d"
322
323 #~ msgid "Granted by %s (uid %d)"
324 #~ msgstr "Atorgat per %s (UID %d)"
325
326 #~ msgid "Granted by uid %d"
327 #~ msgstr "Atorgat per l'UID %d"
328
329 #~ msgid "Single shot pid %d (%s)"
330 #~ msgstr "PID %d (%s) una sola vegada"
331
332 #~ msgid "pid %d (%s)"
333 #~ msgstr "PID %d (%s)"
334
335 #~ msgid "This session"
336 #~ msgstr "Durant aquesta sessió"
337
338 #~ msgid "Always"
339 #~ msgstr "Sempre"
340
341 #~ msgid "None"
342 #~ msgstr "Cap"
343
344 #~ msgid "Grant Negative Authorization"
345 #~ msgstr "Atorga una autorització negativa"
346
347 #~ msgid "Grant Authorization"
348 #~ msgstr "Atorga l'autorització"
349
350 #~ msgid ""
351 #~ "<b><big>Granting a negative authorization for the <i>%s</i> action "
352 #~ "requires more information</big></b>"
353 #~ msgstr ""
354 #~ "<b><big>Cal més informació per a poder atorgar l'autorització negativa "
355 #~ "per a l'acció <i>%s</i></big></b>"
356
357 #~ msgid ""
358 #~ "<b><big>Granting an authorization for the <i>%s</i> action requires more "
359 #~ "information</big></b>"
360 #~ msgstr ""
361 #~ "<b><big>Cal més informació per a poder atorgar l'autorització per a "
362 #~ "l'acció <i>%s</i></big></b>"
363
364 #~ msgid ""
365 #~ "Select the user to block for the action and, optionally, any constraints "
366 #~ "on the negative authorization that you are about to grant."
367 #~ msgstr ""
368 #~ "Seleccioneu l'usuari per al qual es blocarà l'acció i, de manera "
369 #~ "opcional, com s'haurà de limitar l'autorització negativa que esteu a punt "
370 #~ "d'atorgar."
371
372 #~ msgid ""
373 #~ "Select the beneficiary and, optionally, how to constrain the "
374 #~ "authorization that you are about to grant."
375 #~ msgstr ""
376 #~ "Seleccioneu el beneficiari i, de manera opcional, com s'haurà de limitar "
377 #~ "l'autorització que esteu a punt d'atorgar."
378
379 #~ msgid "<b>Beneficiary</b>"
380 #~ msgstr "<b>Beneficiari</b>"
381
382 #~ msgid "Select the user that will receive the negative authorization."
383 #~ msgstr "Seleccioneu l'usuari que rebrà l'autorització negativa."
384
385 #~ msgid "Select the user that will receive the authorization."
386 #~ msgstr "Seleccioneu l'usuari que rebrà l'autorització."
387
388 #~ msgid "_Show system users"
389 #~ msgstr "_Mostra els usuaris de sistema"
390
391 #~ msgid "<b>Constraints</b>"
392 #~ msgstr "<b>Restriccions</b>"
393
394 #~ msgid ""
395 #~ "Constraints limits the authorization such that it only applies under "
396 #~ "certain circumstances."
397 #~ msgstr ""
398 #~ "Les restriccions limiten l'autorització de manera que només s'atorgarà "
399 #~ "sota determinades circumstàncies."
400
401 #~ msgid "_None"
402 #~ msgstr "_Cap"
403
404 #~ msgid "Must be _in active session"
405 #~ msgstr "Ha d'estar a la sessió act_iva"
406
407 #~ msgid "Must be on _local console"
408 #~ msgstr "Ha d'estar a la consola _local"
409
410 #~ msgid "Must be in _active session on local console"
411 #~ msgstr "Ha d'estar a la sessió _activa de la consola local"
412
413 #~ msgid "_Block..."
414 #~ msgstr "_Bloca..."
415
416 #~ msgid "_Grant..."
417 #~ msgstr "_Atorga..."
418
419 #~ msgid "Edit Implicit Authorizations"
420 #~ msgstr "Edita les autoritzacions implícites"
421
422 #~ msgid "<b><big>Choose new implicit authorizations</big></b>"
423 #~ msgstr "<b><big>Escolliu les autoritzacions implícites noves</big></b>"
424
425 #~ msgid ""
426 #~ "Implicit authorizations are authorizations that are granted automatically "
427 #~ "to users under certain circumstances. Choose what is required for the "
428 #~ "action <i>%s</i>."
429 #~ msgstr ""
430 #~ "Les autoritzacions implícites són aquelles que s'atorguen automàticament "
431 #~ "als usuaris en determinades circumstàncies. Escolliu què cal per a "
432 #~ "l'acció <i>%s</i>."
433
434 #~ msgid "<i>Anyone:</i>"
435 #~ msgstr "<i>Qualsevol:</i>"
436
437 #~ msgid "<i>Console:</i>"
438 #~ msgstr "<i>Consola:</i>"
439
440 #~ msgid "<i>Active Console:</i>"
441 #~ msgstr "<i>Consola activa:</i>"
442
443 #~ msgid "_Modify..."
444 #~ msgstr "_Modifica..."
445
446 #~ msgid "<b>Action</b>"
447 #~ msgstr "<b>Acció</b>"
448
449 #~ msgid "<i>Identifier:</i>"
450 #~ msgstr "<i>Identificador:</i>"
451
452 #~ msgid "<i>Description:</i>"
453 #~ msgstr "<i>Descripció:</i>"
454
455 #~ msgid "<i>Vendor:</i>"
456 #~ msgstr "<i>Proveïdor</i>"
457
458 #~ msgid "<b>Implicit Authorizations</b>"
459 #~ msgstr "<b>Autoritzacions implícites</b>"
460
461 #~ msgid ""
462 #~ "Implicit authorizations are authorizations automatically given to users "
463 #~ "based on certain criteria such as if they are on the local console."
464 #~ msgstr ""
465 #~ "Les autoritzacions implícites són aquelles que s'atorguen automàticament "
466 #~ "als usuaris seguint certs criteris, com ara si són a la consola local."
467
468 #~ msgid "_Edit..."
469 #~ msgstr "_Edita..."
470
471 #~ msgid "Revert To _Defaults..."
472 #~ msgstr "Torna als valors _predeterminats..."
473
474 #~ msgid "<b>Explicit Authorizations</b>"
475 #~ msgstr "<b>Autoritzacions explícites</b>"
476
477 #~ msgid ""
478 #~ "This list displays authorizations that are either obtained through "
479 #~ "authentication or specifically given to the entity in question. Blocked "
480 #~ "authorizations are marked with a STOP sign."
481 #~ msgstr ""
482 #~ "Aquesta llista mostra autoritzacions que o bé s'han obtingut a través de "
483 #~ "l'autenticació, o bé s'han atorgat específicament a l'entitat en qüestió. "
484 #~ "Les autoritzacions blocades estan marcades amb un signe d'stop."
485
486 #~ msgid "Entity"
487 #~ msgstr "Entitat"
488
489 #~ msgid "Scope"
490 #~ msgstr "Àmbit"
491
492 #~ msgid "Obtained"
493 #~ msgstr "Obtinguda"
494
495 #~ msgid "How"
496 #~ msgstr "Com"
497
498 #~ msgid "Constraints"
499 #~ msgstr "Restriccions"
500
501 #~ msgid "_Revoke"
502 #~ msgstr "_Revoca"
503
504 #~ msgid "_Revoke..."
505 #~ msgstr "_Revoca..."
506
507 #~ msgid "_Show authorizations from all users..."
508 #~ msgstr "_Mostra les autoritzacions de tots els usuaris..."
509
510 #~ msgid "_Show authorizations from all users"
511 #~ msgstr "_Mostra les autoritzacions de tots els usuaris"
512
513 #~ msgid "Select an action"
514 #~ msgstr "Seleccioneu una acció"
777515
778516 #~ msgid "Must be on active console"
779517 #~ msgstr "Ha d'estar a la consola activa"
+161
-122
po/cs.po less more
77 msgstr ""
88 "Project-Id-Version: policykit-gnome\n"
99 "Report-Msgid-Bugs-To: \n"
10 "POT-Creation-Date: 2008-06-21 13:43+0200\n"
11 "PO-Revision-Date: 2008-06-21 13:21+0100\n"
10 "POT-Creation-Date: 2008-10-26 16:27+0100\n"
11 "PO-Revision-Date: 2008-10-26 16:26+0100\n"
1212 "Last-Translator: Petr Kovar <pknbe@volny.cz>\n"
1313 "Language-Team: Czech <gnome-cs-list@gnome.org>\n"
1414 "MIME-Version: 1.0\n"
1515 "Content-Type: text/plain; charset=UTF-8\n"
1616 "Content-Transfer-Encoding: 8bit\n"
1717 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
18 "X-Poedit-Language: Czech\n"
19 "X-Generator: KBabel 1.11.4\n"
1820
1921 #: ../data/polkit-gnome-authorization.desktop.in.h:1
20 #: ../tools/polkit-gnome-authorization.c:2443
22 #: ../tools/polkit-gnome-authorization.c:2452
2123 msgid "Authorizations"
2224 msgstr "Oprávnění"
2325
2628 msgstr "Nastavit oprávnění"
2729
2830 #: ../data/polkit-gnome.schemas.in.h:1
31 msgid ""
32 "A list of PolicyKit action where the \"retain authorization\" checkbox isn't "
33 "checked by default; this list is maintained by the authentication dialog "
34 "code itself. For example, if a user unchecks the \"retain authorization\" "
35 "check box for an action and successfully obtains an authorization for the "
36 "action, the action will be added to this list."
37 msgstr ""
38 "Seznam akcí PolicyKit, u kterých není zaškrtávací políčko \"zachovat "
39 "oprávnění\" standardně zaškrtnuto; tento seznam se udržuje sám přes "
40 "ověřovací okno. Například, pokud uživatel odškrtne zaškrtávací políčko "
41 "\"zachovat oprávnění\" pro akci a pak k ní toto oprávnění úspěšně získá, "
42 "bude akce přidána do tohoto seznamu."
43
44 #: ../data/polkit-gnome.schemas.in.h:2
45 msgid ""
46 "A list of actions where the \"retain authorization\" checkbox isn't checked "
47 "by default"
48 msgstr ""
49 "Seznam akcí, u kterých není zaškrtávací políčko \"zachovat oprávnění\" "
50 "standardně zaškrtnuto"
51
52 #: ../data/polkit-gnome.schemas.in.h:3
2953 msgid ""
3054 "If set to true, the authentication dialog from PolicyKit-gnome will grab the "
3155 "keyboard, so that you will not be able to type in other programs while the "
3357 "authentication dialog automatically, and you want to avoid accidentally "
3458 "typing passwords in other programs."
3559 msgstr ""
36 "Pokud nastavíte jako pravdivé, ověřovací okno PolicyKit-gnome převezme "
37 "klávesnici, takže nebudete schopni psát v jiných programech, dokud bude okno "
60 "Pokud nastavíte na hodnotu PRAVDA, ověřovací okno PolicyKit-gnome převezme "
61 "klávesnici, takže nebudete moci psát v jiných programech, dokud bude okno "
3862 "aktivní. Toto použijte, pokud váš správce oken automaticky nezaregistruje "
3963 "ověřovací okno a chcete se vyhnout nechtěnému psaní hesla do jiných programů."
4064
41 #: ../data/polkit-gnome.schemas.in.h:2
65 #: ../data/polkit-gnome.schemas.in.h:4
66 msgid ""
67 "If set to true, then \"retain authorization\" check box (if present) is "
68 "checked by default in the authentication dialog unless the action is "
69 "mentioned in the \"/desktop/gnome/policykit/"
70 "auth_dialog_retain_authorization_blacklist\" key."
71 msgstr ""
72 "Pokud nastavíte na hodnotu PRAVDA, pak je zaškrtávací políčko \"zachovat "
73 "oprávnění\" (pokud je přítomno) v ověřovacím okně standardně zaškrtnuto, "
74 "pokud ne, akce je uvedena v klíči \"/desktop/gnome/policykit/"
75 "auth_dialog_retain_authorization_blacklist\"."
76
77 #: ../data/polkit-gnome.schemas.in.h:5
4278 msgid "Whether the authentication dialog should grab the keyboard"
43 msgstr "Jestli by mělo ověřovací okno převzít klávesnici"
79 msgstr "Jestli má ověřovací okno převzít klávesnici"
80
81 #: ../data/polkit-gnome.schemas.in.h:6
82 msgid "Whether the retain authorization check box is checked by default"
83 msgstr ""
84 "Jestli je zaškrtávací políčko \"zachovat oprávnění\" standardně zaškrtnuto"
4485
4586 #: ../examples/polkit-gnome-example.c:137
4687 msgid "Copyright © 2007 David Zeuthen"
77118 #. name, stock id
78119 #: ../examples/polkit-gnome-example.c:156
79120 msgid "_Quit"
80 msgstr "_Ukončit"
121 msgstr "U_končit"
81122
82123 #. label, accelerator
83124 #: ../examples/polkit-gnome-example.c:157
95136 msgstr "O aplikaci"
96137
97138 #: ../examples/polkit-gnome-example.c:243
98 #, fuzzy
99139 msgid ""
100140 "Making the helper <b>Frobnicate</b> requires the user to authenticate. The "
101141 "authorization is kept for the life time of the process"
102142 msgstr ""
103143 "Vytvoření pomocníka <b>Frobnicate</b> vyžaduje ověření uživatele. Oprávnění "
104 "je zachováno po dobu životnosti procesu"
144 "je zachováno po dobu trvání procesu"
105145
106146 #: ../examples/polkit-gnome-example.c:252
107147 msgid "Frobnicate!"
144184
145185 #: ../examples/polkit-gnome-example.c:308
146186 msgid "If your admin wasn't annoying, you could do this"
147 msgstr "Pokud nebyl váš administrátor mrzutý, mohli byste tohle provádět"
187 msgstr "Pokud nebyl váš administrátor proti, mohli byste tohle provádět"
148188
149189 #: ../examples/polkit-gnome-example.c:313
150190 msgid "Tweak..."
156196
157197 #: ../examples/polkit-gnome-example.c:315
158198 msgid "Only card carrying tweakers can do this!"
159 msgstr "Toto mohou provádět pouze osoby provádějící úpravy, které mají kartu!"
199 msgstr ""
160200
161201 #: ../examples/polkit-gnome-example.c:321
162202 msgid "Tweak! (long)"
167207 msgstr "Pokračujte a přizpůsobujte!"
168208
169209 #: ../examples/polkit-gnome-example.c:339
170 #, fuzzy
171210 msgid ""
172211 "Making the helper <b>Twiddle</b> requires a system administrator to "
173212 "authenticate. Once authenticated, this privilege can be retained "
181220 msgstr ""
182221
183222 #: ../examples/polkit-gnome-example.c:363
184 #, fuzzy
185223 msgid ""
186224 "Making the helper <b>Punch</b> requires the user to authenticate. Once "
187225 "authenticated, this privilege can be retained for the remainder of the "
188226 "desktop session."
189227 msgstr ""
190228 "Vytvoření pomocníka <b>Punch</b> vyžaduje ověření uživatele. Jakmile je "
191 "ověřen, toto oprávnění může být zachováno pro zbytek sezení."
229 "ověřen, toto oprávnění může být zachováno po zbytek sezení."
192230
193231 #: ../examples/polkit-gnome-example.c:372
194232 msgid "Punch!"
202240 "exactlywhen the authorization is held. Toggling the button means obtaining "
203241 "resp. revoking the authorization in question."
204242 msgstr ""
205 "Akce <b>Přepnout</b> ukazuje použití PolicyKit při řízení GtkToggleButton, "
206 "je to intuitivní způsob dotázání se uživatelů na přerušení procesu "
207 "oprávnění, když jsou s ním hotovi. Např. když je tlačítko \"stlačeno\" "
208 "přesně ve chvíli, kdy se provádí oprávnění. Přepnutí tlačítka znamená "
209 "získání, popř. zrušení příslušného oprávnění."
243 "Akce <b>Přepnout</b> ukazuje použití PolicyKit při ovládání GtkToggleButton, "
244 "je to intuitivní způsob požádání uživatele o zřeknutí se oprávnění, která už "
245 "nepotřebuje. Např. tlačítko je \"stlačeno\" přesně ve chvíli, kdy už jsou "
246 "oprávnění vlastněna. Přepnutí tlačítka znamená získání, popř. zrušení "
247 "příslušného oprávnění."
210248
211249 #: ../examples/polkit-gnome-example.c:401
212250 msgid "Click to make changes..."
300338 #: ../polkit-gnome/polkit-gnome-toggle-action.c:400
301339 #: ../polkit-gnome/polkit-gnome-toggle-action.c:401
302340 msgid "Authenticating..."
303 msgstr "Ověřuji..."
341 msgstr "Ověřuje se..."
304342
305343 #: ../src/main.c:139
306344 msgid "Don't exit after 30 seconds of inactivity"
307345 msgstr "Neukončujte po 30 sekundách nečinnosti"
308346
309 #: ../src/main.c:148
347 #: ../src/main.c:154
310348 msgid "PolicyKit GNOME session daemon"
311349 msgstr "Démon sezení PolicyKit GNOME"
312350
313 #: ../src/main.c:174
351 #: ../src/main.c:180
314352 #, c-format
315353 msgid "Starting PolicyKit GNOME session daemon version %s"
316 msgstr "Spouštím démona sezení PolicyKit GNOME verze %s"
354 msgstr "Spouští se démon sezení PolicyKit GNOME verze %s"
317355
318356 #: ../src/polkit-gnome-auth-dialog.c:190
319 #: ../tools/polkit-gnome-authorization.c:649
357 #: ../tools/polkit-gnome-authorization.c:653
320358 msgid "Select user..."
321 msgstr "Vybrat uživatele..."
359 msgstr "Vyberte uživatele..."
322360
323361 #: ../src/polkit-gnome-auth-dialog.c:211
324 #: ../tools/polkit-gnome-authorization.c:665
362 #: ../tools/polkit-gnome-authorization.c:672
325363 #, c-format
326364 msgid "%s (%s)"
327365 msgstr "%s (%s)"
328366
329367 #: ../src/polkit-gnome-auth-dialog.c:292
330368 msgid "_Remember authorization for this session"
331 msgstr "_Pamatovat oprávnění pro toto sezení"
369 msgstr "_Pamatovat si oprávnění pro toto sezení"
332370
333371 #: ../src/polkit-gnome-auth-dialog.c:298
334372 msgid "_Remember authorization"
335 msgstr "_Pamatovat oprávnění"
373 msgstr "_Pamatovat si oprávnění"
336374
337375 #: ../src/polkit-gnome-auth-dialog.c:313
338376 msgid ""
358396 "Aplikace se pokouší provést akci, která vyžaduje oprávnění. K provedení této "
359397 "akce je vyžadováno ověření."
360398
361 #: ../src/polkit-gnome-auth-dialog.c:348
399 #: ../src/polkit-gnome-auth-dialog.c:405
362400 #, c-format
363401 msgid "Click to edit %s"
364402 msgstr "Kliknout pro úpravu %s"
365403
366 #: ../src/polkit-gnome-auth-dialog.c:371
367 #: ../tools/polkit-gnome-authorization.c:1391
404 #: ../src/polkit-gnome-auth-dialog.c:430
405 #: ../tools/polkit-gnome-authorization.c:1400
368406 #, c-format
369407 msgid "Click to open %s"
370408 msgstr "Kliknout pro otevření %s"
371409
372 #: ../src/polkit-gnome-auth-dialog.c:600
410 #: ../src/polkit-gnome-auth-dialog.c:667
373411 msgid "_Authenticate"
374412 msgstr "_Ověřit"
375413
376 #: ../src/polkit-gnome-auth-dialog.c:659 ../src/polkit-gnome-manager.c:686
414 #: ../src/polkit-gnome-auth-dialog.c:726 ../src/polkit-gnome-manager.c:686
377415 #: ../src/polkit-gnome-manager.c:735
378416 msgid "_Password:"
379417 msgstr "_Heslo:"
380418
381 #: ../src/polkit-gnome-auth-dialog.c:681
419 #: ../src/polkit-gnome-auth-dialog.c:748
382420 msgid "For this _session only"
383421 msgstr "Jen pro toto _sezení"
384422
385 #: ../src/polkit-gnome-auth-dialog.c:689
423 #: ../src/polkit-gnome-auth-dialog.c:756
386424 msgid "<small><b>_Details</b></small>"
387425 msgstr "<small><b>_Podrobnosti</b></small>"
388426
389 #: ../src/polkit-gnome-auth-dialog.c:710
427 #: ../src/polkit-gnome-auth-dialog.c:777
390428 msgid "<small><b>Application:</b></small>"
391429 msgstr "<small><b>Aplikace:</b></small>"
392430
393 #: ../src/polkit-gnome-auth-dialog.c:714
431 #: ../src/polkit-gnome-auth-dialog.c:781
394432 msgid "<small><b>Action:</b></small>"
395433 msgstr "<small><b>Akce:</b></small>"
396434
397 #: ../src/polkit-gnome-auth-dialog.c:719
435 #: ../src/polkit-gnome-auth-dialog.c:786
398436 msgid "<small><b>Vendor:</b></small>"
399437 msgstr "<small><b>Dodavatel:</b></small>"
400438
401 #: ../src/polkit-gnome-auth-dialog.c:848
439 #: ../src/polkit-gnome-auth-dialog.c:915
402440 msgid "Authenticate"
403441 msgstr "Ověření"
404442
409447 #: ../src/polkit-gnome-manager.c:730
410448 #, c-format
411449 msgid "_Password for %s:"
412 msgstr "_Heslo pro %s:"
450 msgstr "_Heslo %s:"
413451
414452 #: ../src/polkit-gnome-manager.c:732
415453 msgid "_Password for root:"
416 msgstr "_Heslo pro root:"
454 msgstr "_Heslo root:"
417455
418456 #: ../src/polkit-gnome-manager.c:740
419457 #, c-format
434472
435473 #: ../tools/polkit-gnome-authorization.c:119
436474 msgid "Admin Authentication (one shot)"
437 msgstr "Ověření administrátora (jednorázové)"
475 msgstr "Administrátorské ověření (jednorázové)"
438476
439477 #: ../tools/polkit-gnome-authorization.c:120
440478 msgid "Admin Authentication"
441 msgstr "Ověření administrátora"
479 msgstr "Administrátorské ověření"
442480
443481 #: ../tools/polkit-gnome-authorization.c:121
444482 msgid "Admin Authentication (keep session)"
445 msgstr "Ověření administrátora (jen pro toto sezení)"
483 msgstr "Administrátorské ověření (jen pro toto sezení)"
446484
447485 #: ../tools/polkit-gnome-authorization.c:122
448486 msgid "Admin Authentication (keep indefinitely)"
449 msgstr "Ověření administrátora (zachovat natrvalo)"
487 msgstr "Administrátorské ověření (zachovat natrvalo)"
450488
451489 #: ../tools/polkit-gnome-authorization.c:124
452490 msgid "Authentication (one shot)"
483521 #: ../tools/polkit-gnome-authorization.c:282
484522 #, c-format
485523 msgid "Must be program %s"
486 msgstr "Musí běžet program %s"
524 msgstr "Jen pokud jde o program %s"
487525
488526 #: ../tools/polkit-gnome-authorization.c:286
489527 #, c-format
490528 msgid "Must be SELinux Context %s"
491 msgstr "Musí být dostupná kontextová nabídka SELinux %s"
529 msgstr "Jen pokud jde o kontext SELinux %s"
492530
493531 #: ../tools/polkit-gnome-authorization.c:344
494532 msgid "A moment ago"
496534
497535 #: ../tools/polkit-gnome-authorization.c:348
498536 msgid "1 minute ago"
499 msgstr "Před 1 min."
537 msgstr "Před 1 min"
500538
501539 #: ../tools/polkit-gnome-authorization.c:350
502540 #, c-format
503541 msgid "%d minutes ago"
504 msgstr "Před %d min."
542 msgstr "Před %d min"
505543
506544 #: ../tools/polkit-gnome-authorization.c:354
507545 msgid "1 hour ago"
521559 msgid "%d days ago"
522560 msgstr "Před %d dny"
523561
524 #: ../tools/polkit-gnome-authorization.c:379
562 #: ../tools/polkit-gnome-authorization.c:383
525563 #, c-format
526564 msgid "Auth as %s (uid %d)"
527565 msgstr "Ověření jako %s (uid %d)"
528566
529 #: ../tools/polkit-gnome-authorization.c:381
567 #: ../tools/polkit-gnome-authorization.c:385
530568 #, c-format
531569 msgid "Auth as uid %d"
532570 msgstr "Ověření jako uid %d"
533571
534 #: ../tools/polkit-gnome-authorization.c:387
572 #: ../tools/polkit-gnome-authorization.c:391
535573 #, c-format
536574 msgid "Blocked by %s (uid %d)"
537575 msgstr "Blokováno od %s (uid %d)"
538576
539 #: ../tools/polkit-gnome-authorization.c:389
577 #: ../tools/polkit-gnome-authorization.c:393
540578 #, c-format
541579 msgid "Blocked by uid %d"
542580 msgstr "Blokováno od uid %d"
543581
544 #: ../tools/polkit-gnome-authorization.c:392
582 #: ../tools/polkit-gnome-authorization.c:396
545583 #, c-format
546584 msgid "Granted by %s (uid %d)"
547585 msgstr "Uděleno od %s (uid %d)"
548586
549 #: ../tools/polkit-gnome-authorization.c:394
587 #: ../tools/polkit-gnome-authorization.c:398
550588 #, c-format
551589 msgid "Granted by uid %d"
552590 msgstr "Uděleno od uid %d"
553591
554 #: ../tools/polkit-gnome-authorization.c:409
592 #: ../tools/polkit-gnome-authorization.c:413
555593 #, c-format
556594 msgid "Single shot pid %d (%s)"
557595 msgstr "Jednorázové pid %d (%s)"
558596
559 #: ../tools/polkit-gnome-authorization.c:415
597 #: ../tools/polkit-gnome-authorization.c:419
560598 #, c-format
561599 msgid "pid %d (%s)"
562600 msgstr "pid %d (%s)"
563601
564 #: ../tools/polkit-gnome-authorization.c:418
602 #: ../tools/polkit-gnome-authorization.c:422
565603 msgid "This session"
566604 msgstr "Toto sezení"
567605
568 #: ../tools/polkit-gnome-authorization.c:421
606 #: ../tools/polkit-gnome-authorization.c:425
569607 msgid "Always"
570608 msgstr "Vždy"
571609
572 #: ../tools/polkit-gnome-authorization.c:431
610 #: ../tools/polkit-gnome-authorization.c:435
573611 msgid "None"
574612 msgstr "Žádné"
575613
576 #: ../tools/polkit-gnome-authorization.c:827
614 #: ../tools/polkit-gnome-authorization.c:836
577615 msgid "Grant Negative Authorization"
578616 msgstr "Udělit záporné oprávnění"
579617
580 #: ../tools/polkit-gnome-authorization.c:827
618 #: ../tools/polkit-gnome-authorization.c:836
581619 msgid "Grant Authorization"
582620 msgstr "Udělit oprávnění"
583621
584 #: ../tools/polkit-gnome-authorization.c:850
622 #: ../tools/polkit-gnome-authorization.c:859
585623 #, c-format
586624 msgid ""
587625 "<b><big>Granting a negative authorization for the <i>%s</i> action requires "
588626 "more information</big></b>"
589627 msgstr ""
590 "<b><big>Udělení záporného oprávnění pro akci <i>%s</i> vyžaduje více "
628 "<b><big>K udělení záporného oprávnění pro akci <i>%s</i> je potřeba více "
591629 "informací</big></b>"
592630
593 #: ../tools/polkit-gnome-authorization.c:851
631 #: ../tools/polkit-gnome-authorization.c:860
594632 #, c-format
595633 msgid ""
596634 "<b><big>Granting an authorization for the <i>%s</i> action requires more "
597635 "information</big></b>"
598636 msgstr ""
599 "<b><big>Udělení oprávnění pro akci <i>%s</i> vyžaduje více informací</big></"
600 "b>"
601
602 #: ../tools/polkit-gnome-authorization.c:862
637 "<b><big>K udělení oprávnění pro akci <i>%s</i> je potřeba více informací</"
638 "big></b>"
639
640 #: ../tools/polkit-gnome-authorization.c:871
603641 msgid ""
604642 "Select the user to block for the action and, optionally, any constraints on "
605643 "the negative authorization that you are about to grant."
606644 msgstr ""
607645 "Vyberte uživatele, kterého chcete blokovat pro akci a volitelně nějaká "
608 "omezení při záporném oprávnění, která jste právě udělili."
609
610 #: ../tools/polkit-gnome-authorization.c:864
646 "omezení při záporném oprávnění, které se chystáte udělit."
647
648 #: ../tools/polkit-gnome-authorization.c:873
611649 msgid ""
612650 "Select the beneficiary and, optionally, how to constrain the authorization "
613651 "that you are about to grant."
614652 msgstr ""
615 "Vyberte příjemce a volitelně způsob omezení oprávnění, které jste udělili."
616
617 #: ../tools/polkit-gnome-authorization.c:875
653 "Vyberte příjemce a volitelně způsob omezení oprávnění, které se chystáte "
654 "udělit."
655
656 #: ../tools/polkit-gnome-authorization.c:884
618657 msgid "<b>Beneficiary</b>"
619658 msgstr "<b>Příjemce</b>"
620659
621 #: ../tools/polkit-gnome-authorization.c:887
660 #: ../tools/polkit-gnome-authorization.c:896
622661 msgid "Select the user that will receive the negative authorization."
623662 msgstr "Vyberte uživatele, který dostane záporné oprávnění."
624663
625 #: ../tools/polkit-gnome-authorization.c:889
664 #: ../tools/polkit-gnome-authorization.c:898
626665 msgid "Select the user that will receive the authorization."
627666 msgstr "Vyberte uživatele, který dostane oprávnění."
628667
629 #: ../tools/polkit-gnome-authorization.c:898
668 #: ../tools/polkit-gnome-authorization.c:907
630669 msgid "_Show system users"
631670 msgstr "_Zobrazit uživatele systému"
632671
633 #: ../tools/polkit-gnome-authorization.c:913
672 #: ../tools/polkit-gnome-authorization.c:922
634673 msgid "<b>Constraints</b>"
635674 msgstr "<b>Omezení</b>"
636675
637 #: ../tools/polkit-gnome-authorization.c:924
676 #: ../tools/polkit-gnome-authorization.c:933
638677 msgid ""
639678 "Constraints limits the authorization such that it only applies under certain "
640679 "circumstances."
641680 msgstr ""
642681 "Hranice omezení oprávnění taková, že se použije jen za určitých okolností."
643682
644 #: ../tools/polkit-gnome-authorization.c:930
683 #: ../tools/polkit-gnome-authorization.c:939
645684 msgid "_None"
646685 msgstr "Žád_né"
647686
648 #: ../tools/polkit-gnome-authorization.c:932
687 #: ../tools/polkit-gnome-authorization.c:941
649688 msgid "Must be _in active session"
650689 msgstr "Musí být v akt_ivním sezení"
651690
652 #: ../tools/polkit-gnome-authorization.c:934
691 #: ../tools/polkit-gnome-authorization.c:943
653692 msgid "Must be on _local console"
654693 msgstr "Musí být v místní konzo_le"
655694
656 #: ../tools/polkit-gnome-authorization.c:936
695 #: ../tools/polkit-gnome-authorization.c:945
657696 msgid "Must be in _active session on local console"
658697 msgstr "Musí být v _aktivním sezení v místní konzole"
659698
660 #: ../tools/polkit-gnome-authorization.c:957
661 #: ../tools/polkit-gnome-authorization.c:2133
699 #: ../tools/polkit-gnome-authorization.c:966
700 #: ../tools/polkit-gnome-authorization.c:2142
662701 msgid "_Block..."
663702 msgstr "_Blokovat..."
664703
665 #: ../tools/polkit-gnome-authorization.c:961
666 #: ../tools/polkit-gnome-authorization.c:2126
704 #: ../tools/polkit-gnome-authorization.c:970
705 #: ../tools/polkit-gnome-authorization.c:2135
667706 msgid "_Grant..."
668707 msgstr "_Udělit..."
669708
670 #: ../tools/polkit-gnome-authorization.c:1155
709 #: ../tools/polkit-gnome-authorization.c:1164
671710 msgid "Edit Implicit Authorizations"
672711 msgstr "Upravte implicitní oprávnění"
673712
674 #: ../tools/polkit-gnome-authorization.c:1176
713 #: ../tools/polkit-gnome-authorization.c:1185
675714 msgid "<b><big>Choose new implicit authorizations</big></b>"
676715 msgstr "<b><big>Zvolte nová implicitní oprávnění</big></b>"
677716
678 #: ../tools/polkit-gnome-authorization.c:1190
717 #: ../tools/polkit-gnome-authorization.c:1199
679718 #, c-format
680719 msgid ""
681720 "Implicit authorizations are authorizations that are granted automatically to "
685724 "Implicitní oprávnění jsou oprávnění, která jsou uživatelům automaticky "
686725 "udělena za určitých okolností. Zvolte, co je vyžadováno pro akci <i>%s</i>."
687726
688 #: ../tools/polkit-gnome-authorization.c:1215
689 #: ../tools/polkit-gnome-authorization.c:1974
727 #: ../tools/polkit-gnome-authorization.c:1224
728 #: ../tools/polkit-gnome-authorization.c:1983
690729 msgid "<i>Anyone:</i>"
691730 msgstr "<i>Kdokoliv:</i>"
692731
693 #: ../tools/polkit-gnome-authorization.c:1222
694 #: ../tools/polkit-gnome-authorization.c:1978
732 #: ../tools/polkit-gnome-authorization.c:1231
733 #: ../tools/polkit-gnome-authorization.c:1987
695734 msgid "<i>Console:</i>"
696735 msgstr "<i>Konzola:</i>"
697736
698 #: ../tools/polkit-gnome-authorization.c:1229
699 #: ../tools/polkit-gnome-authorization.c:1982
737 #: ../tools/polkit-gnome-authorization.c:1238
738 #: ../tools/polkit-gnome-authorization.c:1991
700739 msgid "<i>Active Console:</i>"
701740 msgstr "<i>Aktivní konzola:</i>"
702741
703 #: ../tools/polkit-gnome-authorization.c:1258
742 #: ../tools/polkit-gnome-authorization.c:1267
704743 msgid "_Modify..."
705744 msgstr "_Změnit..."
706745
707 #: ../tools/polkit-gnome-authorization.c:1890
746 #: ../tools/polkit-gnome-authorization.c:1899
708747 msgid "<b>Action</b>"
709748 msgstr "<b>Akce</b>"
710749
711 #: ../tools/polkit-gnome-authorization.c:1905
750 #: ../tools/polkit-gnome-authorization.c:1914
712751 msgid "<i>Identifier:</i>"
713752 msgstr "<i>Identifikátor:</i>"
714753
715 #: ../tools/polkit-gnome-authorization.c:1915
754 #: ../tools/polkit-gnome-authorization.c:1924
716755 msgid "<i>Description:</i>"
717756 msgstr "<i>Popis:</i>"
718757
719 #: ../tools/polkit-gnome-authorization.c:1925
758 #: ../tools/polkit-gnome-authorization.c:1934
720759 msgid "<i>Vendor:</i>"
721760 msgstr "<i>Dodavatel:</i>"
722761
723 #: ../tools/polkit-gnome-authorization.c:1951
762 #: ../tools/polkit-gnome-authorization.c:1960
724763 msgid "<b>Implicit Authorizations</b>"
725764 msgstr "<b>Implicitní oprávnění</b>"
726765
727 #: ../tools/polkit-gnome-authorization.c:1959
766 #: ../tools/polkit-gnome-authorization.c:1968
728767 msgid ""
729768 "Implicit authorizations are authorizations automatically given to users "
730769 "based on certain criteria such as if they are on the local console."
732771 "Implicitní oprávnění jsou oprávnění, která jsou uživatelům automaticky "
733772 "udělena na základě určitých kritérií, jako např. zda jsou v místní konzole."
734773
735 #: ../tools/polkit-gnome-authorization.c:2002
774 #: ../tools/polkit-gnome-authorization.c:2011
736775 msgid "_Edit..."
737 msgstr "_Upravit..."
738
739 #: ../tools/polkit-gnome-authorization.c:2009
776 msgstr "U_pravit..."
777
778 #: ../tools/polkit-gnome-authorization.c:2018
740779 msgid "Revert To _Defaults..."
741780 msgstr "Obnovit výchozí ho_dnoty..."
742781
743 #: ../tools/polkit-gnome-authorization.c:2032
782 #: ../tools/polkit-gnome-authorization.c:2041
744783 msgid "<b>Explicit Authorizations</b>"
745784 msgstr "<b>Explicitní oprávnění</b>"
746785
747 #: ../tools/polkit-gnome-authorization.c:2043
786 #: ../tools/polkit-gnome-authorization.c:2052
748787 msgid ""
749788 "This list displays authorizations that are either obtained through "
750789 "authentication or specifically given to the entity in question. Blocked "
754793 "specificky udělena příslušnému subjektu. Blokovaná oprávnění jsou označena "
755794 "znakem STOP."
756795
757 #: ../tools/polkit-gnome-authorization.c:2073
796 #: ../tools/polkit-gnome-authorization.c:2082
758797 msgid "Entity"
759798 msgstr "Subjekt"
760799
761 #: ../tools/polkit-gnome-authorization.c:2081
800 #: ../tools/polkit-gnome-authorization.c:2090
762801 msgid "Scope"
763802 msgstr "Rozsah"
764803
765 #: ../tools/polkit-gnome-authorization.c:2089
804 #: ../tools/polkit-gnome-authorization.c:2098
766805 msgid "Obtained"
767806 msgstr "Získáno"
768807
769 #: ../tools/polkit-gnome-authorization.c:2097
808 #: ../tools/polkit-gnome-authorization.c:2106
770809 msgid "How"
771810 msgstr "Jak"
772811
773 #: ../tools/polkit-gnome-authorization.c:2105
812 #: ../tools/polkit-gnome-authorization.c:2114
774813 msgid "Constraints"
775814 msgstr "Omezení"
776815
777 #: ../tools/polkit-gnome-authorization.c:2147
778 #: ../tools/polkit-gnome-authorization.c:2161
816 #: ../tools/polkit-gnome-authorization.c:2156
817 #: ../tools/polkit-gnome-authorization.c:2170
779818 msgid "_Revoke"
780819 msgstr "_Zrušit"
781820
782 #: ../tools/polkit-gnome-authorization.c:2154
821 #: ../tools/polkit-gnome-authorization.c:2163
783822 msgid "_Revoke..."
784823 msgstr "_Zrušit..."
785824
786 #: ../tools/polkit-gnome-authorization.c:2174
825 #: ../tools/polkit-gnome-authorization.c:2183
787826 msgid "_Show authorizations from all users..."
788827 msgstr "_Zobrazit oprávnění všech uživatelů..."
789828
790 #: ../tools/polkit-gnome-authorization.c:2175
829 #: ../tools/polkit-gnome-authorization.c:2184
791830 msgid "_Show authorizations from all users"
792831 msgstr "_Zobrazit oprávnění všech uživatelů"
793832
794 #: ../tools/polkit-gnome-authorization.c:2417
833 #: ../tools/polkit-gnome-authorization.c:2426
795834 msgid "Select an action"
796835 msgstr "Vyberte akci"
+489
-761
po/de.po less more
00 # German translation of PolicyKit-gnome.
11 # Copyright (C) 2008
22 # This file is distributed under the same license as the PolicyKit-gnome package.
3 # Denis Washington <denisw@svn.gnome.org>
3 # #
4 # # authorize -
5 # # authenticate -
6 # #
7 # Denis Washington <denisw@svn.gnome.org>, 2008.
8 # Mario Blättermann <mariobl@gnome.org>, 2009.
9 # Christian Kirbach <Christian.Kirbach@googlemail.com>, 2009.
410 #
511 msgid ""
612 msgstr ""
713 "Project-Id-Version: policykit-gnome\n"
814 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2008-07-19 17:26+0200\n"
10 "PO-Revision-Date: 2008-07-14 18:18+0200\n"
11 "Last-Translator: Denis Washington <denisw@svn.gnome.org>\n"
12 "Language-Team: de <gnome-de@gnome.org>\n"
15 "POT-Creation-Date: 2009-08-08 00:59+0200\n"
16 "PO-Revision-Date: 2009-07-31 21:10+0200\n"
17 "Last-Translator: Christian Kirbach <Christian.Kirbach@googlemail.com>\n"
18 "Language-Team: German <gnome-de@gnome.org>\n"
1319 "MIME-Version: 1.0\n"
1420 "Content-Type: text/plain; charset=UTF-8\n"
1521 "Content-Transfer-Encoding: 8bit\n"
1622
17 #: ../data/polkit-gnome-authorization.desktop.in.h:1
18 #: ../tools/polkit-gnome-authorization.c:2443
19 msgid "Authorizations"
20 msgstr "Zugriffsberechtigungen"
21
22 #: ../data/polkit-gnome-authorization.desktop.in.h:2
23 msgid "Configure authorizations"
24 msgstr "Zugriffsberechtigungen einstellen"
25
26 #: ../data/polkit-gnome.schemas.in.h:1
23 #: ../polkitgtk/polkitlockbutton.c:390
24 msgid "Action Identifier"
25 msgstr "Wirkungsbeschreibung"
26
27 #: ../polkitgtk/polkitlockbutton.c:391
28 msgid "The action identifier to use for the button"
29 msgstr "Die Wirkungsbeschreibung für den Knopf"
30
31 #: ../polkitgtk/polkitlockbutton.c:407
32 msgid "Is Authorized"
33 msgstr "Ist berechtigt"
34
35 #: ../polkitgtk/polkitlockbutton.c:408
36 msgid "Whether the process is authorized"
37 msgstr "Ob der Prozess berechtigt ist"
38
39 #: ../polkitgtk/polkitlockbutton.c:423
40 msgid "Is Visible"
41 msgstr "Ist sichtbar"
42
43 #: ../polkitgtk/polkitlockbutton.c:424
44 msgid "Whether the widget is visible"
45 msgstr "Ob das Widget sichtbar ist"
46
47 # »Darf erlangen« klingt irgendwie unvollständig.
48 #: ../polkitgtk/polkitlockbutton.c:439
49 msgid "Can Obtain"
50 msgstr "Darf Legitimation erlangen"
51
52 #: ../polkitgtk/polkitlockbutton.c:440
53 msgid "Whether authorization can be obtained"
54 msgstr "Ob die Legitimation erlangt werden darf"
55
56 #: ../polkitgtk/polkitlockbutton.c:455 ../polkitgtk/polkitlockbutton.c:489
57 msgid "Unlock Text"
58 msgstr "Entsperrungsanfrage"
59
60 #: ../polkitgtk/polkitlockbutton.c:456
61 msgid "The text to display when prompting the user to unlock."
62 msgstr "Der Text, mit dem der Benutzer beim Entsperren gefragt wird."
63
64 #: ../polkitgtk/polkitlockbutton.c:457
65 msgid "Click to make changes"
66 msgstr "Zum Bearbeiten anklicken"
67
68 #: ../polkitgtk/polkitlockbutton.c:472
69 msgid "Lock Text"
70 msgstr "Sperranfrage"
71
72 #: ../polkitgtk/polkitlockbutton.c:473
73 msgid "The text to display when prompting the user to lock."
74 msgstr "Der Text, mit dem der Benutzer beim Sperren gefragt wird."
75
76 #: ../polkitgtk/polkitlockbutton.c:474
77 msgid "Click to prevent changes"
78 msgstr "Zum Verhindern von Änderungen anklicken"
79
80 #: ../polkitgtk/polkitlockbutton.c:490
2781 msgid ""
28 "A list of PolicyKit action where the \"retain authorization\" checkbox isn't "
29 "checked by default; this list is maintained by the authentication dialog "
30 "code itself. For example, if a user unchecks the \"retain authorization\" "
31 "check box for an action and successfully obtains an authorization for the "
32 "action, the action will be added to this list."
82 "The text to display when the user cannot obtain authorization through "
83 "authentication."
3384 msgstr ""
34
35 #: ../data/polkit-gnome.schemas.in.h:2
36 msgid ""
37 "A list of actions where the \"retain authorization\" checkbox isn't checked "
38 "by default"
39 msgstr ""
40
41 #: ../data/polkit-gnome.schemas.in.h:3
42 msgid ""
43 "If set to true, the authentication dialog from PolicyKit-gnome will grab the "
44 "keyboard, so that you will not be able to type in other programs while the "
45 "dialog is active. Use this if your window manager does not focus the "
46 "authentication dialog automatically, and you want to avoid accidentally "
47 "typing passwords in other programs."
48 msgstr ""
49 "Ist dies auf wahr gesetzt, zieht der Legitimationsdialog Tastatureingaben "
50 "auf sich, sodass es nicht möglich ist, in anderen Programmen zu tippen, "
51 "solange der Dialog aktiv ist. Benutzen Sie dies, wenn ihr Fenstermanager den "
52 "Legitimationsdialog nicht automatisch fokussiert und sie vermeiden wollen, "
53 "versehentlich Passwörter in andere Programme zu schreiben."
54
55 #: ../data/polkit-gnome.schemas.in.h:4
56 msgid ""
57 "If set to true, then \"retain authorization\" check box (if present) is "
58 "checked by default in the authentication dialog unless the action is "
59 "mentioned in the \"/desktop/gnome/policykit/"
60 "auth_dialog_retain_authorization_blacklist\" key."
61 msgstr ""
62
63 #: ../data/polkit-gnome.schemas.in.h:5
64 msgid "Whether the authentication dialog should grab the keyboard"
65 msgstr ""
66 "Legt fest, ob der Legitimationsdialog Tastatureingaben auf sich ziehen soll."
67
68 #: ../data/polkit-gnome.schemas.in.h:6
69 msgid "Whether the retain authorization check box is checked by default"
70 msgstr ""
71
72 #: ../examples/polkit-gnome-example.c:137
73 msgid "Copyright © 2007 David Zeuthen"
74 msgstr "Copyright © 2007 David Zeuthen"
75
76 #: ../examples/polkit-gnome-example.c:138
77 msgid "PolicyKit-gnome Website"
78 msgstr "PolicyKit-gnome Webseite"
79
80 #: ../examples/polkit-gnome-example.c:140
81 #: ../examples/polkit-gnome-example.c:446
82 msgid "PolicyKit-gnome demo"
83 msgstr "PolicyKit-gnome Demo"
84
85 #: ../examples/polkit-gnome-example.c:141
86 msgid "PolicyKit for the GNOME desktop"
87 msgstr "PolicyKit für den GNOME-Desktop"
88
89 #: ../examples/polkit-gnome-example.c:151
90 msgid "_File"
91 msgstr "_Datei"
92
93 #. name, stock id, label
94 #: ../examples/polkit-gnome-example.c:152
95 msgid "_Actions"
96 msgstr "_Aktionen"
97
98 #. name, stock id, label
99 #: ../examples/polkit-gnome-example.c:153
100 msgid "_Help"
101 msgstr "_Hilfe"
102
103 #. name, stock id, label
104 #. name, stock id
105 #: ../examples/polkit-gnome-example.c:156
106 msgid "_Quit"
107 msgstr "_Beenden"
108
109 #. label, accelerator
110 #: ../examples/polkit-gnome-example.c:157
111 msgid "Quit"
112 msgstr "Beenden"
113
114 #. name, stock id
115 #: ../examples/polkit-gnome-example.c:161
116 msgid "_About"
117 msgstr "_Info"
118
119 #. label, accelerator
120 #: ../examples/polkit-gnome-example.c:162
121 msgid "About"
122 msgstr "Info"
123
124 #: ../examples/polkit-gnome-example.c:243
125 msgid ""
126 "Making the helper <b>Frobnicate</b> requires the user to authenticate. The "
127 "authorization is kept for the life time of the process"
128 msgstr ""
129
130 #: ../examples/polkit-gnome-example.c:252
131 msgid "Frobnicate!"
132 msgstr ""
133
134 #: ../examples/polkit-gnome-example.c:267
135 msgid ""
136 "Making the helper <b>Jump</b> requires the user to authenticate. This is a "
137 "one-shot authorization."
138 msgstr ""
139
140 #: ../examples/polkit-gnome-example.c:275
141 msgid "Jump!"
142 msgstr "Spring!"
143
144 #: ../examples/polkit-gnome-example.c:290
145 msgid ""
146 "Making the helper <b>Tweak</b> requires a system administrator to "
147 "authenticate. This instance overrides the defaults set in "
148 "polkit_gnome_action_new()."
149 msgstr ""
150
151 #: ../examples/polkit-gnome-example.c:299
152 #: ../examples/polkit-gnome-example.c:320
153 msgid "Tweak!"
154 msgstr ""
155
156 #: ../examples/polkit-gnome-example.c:306
157 #: ../examples/org.gnome.policykit.examples.policy.in.h:17
158 msgid "Tweak"
159 msgstr ""
160
161 #: ../examples/polkit-gnome-example.c:307
162 msgid "Tweak (long)"
163 msgstr ""
164
165 #: ../examples/polkit-gnome-example.c:308
166 msgid "If your admin wasn't annoying, you could do this"
167 msgstr ""
168
169 #: ../examples/polkit-gnome-example.c:313
170 msgid "Tweak..."
171 msgstr ""
172
173 #: ../examples/polkit-gnome-example.c:314
174 msgid "Tweak... (long)"
175 msgstr ""
176
177 #: ../examples/polkit-gnome-example.c:315
178 msgid "Only card carrying tweakers can do this!"
179 msgstr ""
180
181 #: ../examples/polkit-gnome-example.c:321
182 msgid "Tweak! (long)"
183 msgstr ""
184
185 #: ../examples/polkit-gnome-example.c:322
186 msgid "Go ahead, tweak tweak tweak!"
187 msgstr ""
188
189 #: ../examples/polkit-gnome-example.c:339
190 msgid ""
191 "Making the helper <b>Twiddle</b> requires a system administrator to "
192 "authenticate. Once authenticated, this privilege can be retained "
193 "indefinitely."
194 msgstr ""
195
196 #: ../examples/polkit-gnome-example.c:348
197 msgid "Twiddle!"
198 msgstr ""
199
200 #: ../examples/polkit-gnome-example.c:363
201 msgid ""
202 "Making the helper <b>Punch</b> requires the user to authenticate. Once "
203 "authenticated, this privilege can be retained for the remainder of the "
204 "desktop session."
205 msgstr ""
206
207 #: ../examples/polkit-gnome-example.c:372
208 msgid "Punch!"
209 msgstr ""
210
211 #: ../examples/polkit-gnome-example.c:387
212 msgid ""
213 "The <b>Toggle</b> action demonstrates the use of PolicyKit to drive a "
214 "GtkToggleButton; it's an intuitive way to ask users to give up "
215 "authorizations when they are done with them. E.g. the button is 'pressed in' "
216 "exactlywhen the authorization is held. Toggling the button means obtaining "
217 "resp. revoking the authorization in question."
218 msgstr ""
219
220 #: ../examples/polkit-gnome-example.c:401
221 msgid "Click to make changes..."
222 msgstr ""
223
224 #: ../examples/polkit-gnome-example.c:402
225 msgid "Click to prevent changes"
226 msgstr ""
227
228 #: ../examples/polkit-gnome-example.c:422
229 msgid ""
230 "<i>Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets "
231 "update in real-time.</i>."
232 msgstr ""
233
234 #: ../examples/org.gnome.policykit.examples.policy.in.h:1
235 msgid "Frobnicate"
236 msgstr ""
237
238 #: ../examples/org.gnome.policykit.examples.policy.in.h:2
239 msgid "Jump"
240 msgstr ""
241
242 #: ../examples/org.gnome.policykit.examples.policy.in.h:3
243 msgid "Kick bar"
244 msgstr ""
245
246 #: ../examples/org.gnome.policykit.examples.policy.in.h:4
247 msgid "Kick baz"
248 msgstr ""
249
250 #: ../examples/org.gnome.policykit.examples.policy.in.h:5
251 msgid "Kick foo"
252 msgstr ""
253
254 #: ../examples/org.gnome.policykit.examples.policy.in.h:6
255 msgid "Punch"
256 msgstr ""
257
258 #: ../examples/org.gnome.policykit.examples.policy.in.h:7
259 msgid ""
260 "System policy prevents the PolicyKit-gnome example helper from Frobnicating"
261 msgstr ""
262
263 #: ../examples/org.gnome.policykit.examples.policy.in.h:8
264 msgid "System policy prevents the PolicyKit-gnome example helper from Jumping"
265 msgstr ""
266
267 #: ../examples/org.gnome.policykit.examples.policy.in.h:9
268 msgid ""
269 "System policy prevents the PolicyKit-gnome example helper from Kicking bar"
270 msgstr ""
271
272 #: ../examples/org.gnome.policykit.examples.policy.in.h:10
273 msgid ""
274 "System policy prevents the PolicyKit-gnome example helper from Kicking baz"
275 msgstr ""
276
277 #: ../examples/org.gnome.policykit.examples.policy.in.h:11
278 msgid ""
279 "System policy prevents the PolicyKit-gnome example helper from Kicking foo"
280 msgstr ""
281
282 #: ../examples/org.gnome.policykit.examples.policy.in.h:12
283 msgid "System policy prevents the PolicyKit-gnome example helper from Punching"
284 msgstr ""
285
286 #: ../examples/org.gnome.policykit.examples.policy.in.h:13
287 msgid "System policy prevents the PolicyKit-gnome example helper from Toggling"
288 msgstr ""
289
290 #: ../examples/org.gnome.policykit.examples.policy.in.h:14
291 msgid "System policy prevents the PolicyKit-gnome example helper from Tweaking"
292 msgstr ""
293
294 #: ../examples/org.gnome.policykit.examples.policy.in.h:15
295 msgid ""
296 "System policy prevents the PolicyKit-gnome example helper from Twiddling"
297 msgstr ""
298
299 #: ../examples/org.gnome.policykit.examples.policy.in.h:16
300 msgid "Toggle"
301 msgstr ""
302
303 #: ../examples/org.gnome.policykit.examples.policy.in.h:18
304 msgid "Twiddle"
305 msgstr ""
306
307 #: ../polkit-gnome/polkit-gnome-toggle-action.c:400
308 #: ../polkit-gnome/polkit-gnome-toggle-action.c:401
309 msgid "Authenticating..."
310 msgstr "Legitimiere …"
311
312 #: ../src/main.c:139
313 msgid "Don't exit after 30 seconds of inactivity"
314 msgstr "Nicht nach 30 Sekunden ohne Aktivität beenden"
315
316 #: ../src/main.c:148
317 msgid "PolicyKit GNOME session daemon"
318 msgstr "PolicyKit GNOME-Sitzungsdient"
319
320 #: ../src/main.c:174
321 #, c-format
322 msgid "Starting PolicyKit GNOME session daemon version %s"
323 msgstr "Starte den PolicyKit GNOME-Sitzungsdienst, Version %s"
324
325 #: ../src/polkit-gnome-auth-dialog.c:191
326 #: ../tools/polkit-gnome-authorization.c:649
85 "Der Anzeigetext, wenn ein Benutzer keine Legitimation durch "
86 "Authentifizierung erlangen kann."
87
88 #: ../polkitgtk/polkitlockbutton.c:491
89 msgid "Not authorized to make changes"
90 msgstr "Nicht zu Änderungen berechtigt."
91
92 #: ../src/main.c:128
93 msgid "Click the icon to drop all elevated privileges"
94 msgstr "Zum Verwerfen aller Berechtigungen das Symbol anklicken"
95
96 #: ../src/polkitgnomeauthenticationdialog.c:159
32797 msgid "Select user..."
32898 msgstr "Benutzer wählen …"
32999
330 #: ../src/polkit-gnome-auth-dialog.c:212
331 #: ../tools/polkit-gnome-authorization.c:665
100 #: ../src/polkitgnomeauthenticationdialog.c:194
332101 #, c-format
333102 msgid "%s (%s)"
334103 msgstr "%s (%s)"
335104
336 #: ../src/polkit-gnome-auth-dialog.c:293
337 msgid "_Remember authorization for this session"
338 msgstr "_Legitimation für diese Sitzung merken"
339
340 #: ../src/polkit-gnome-auth-dialog.c:299
341 msgid "_Remember authorization"
342 msgstr "_Legitimation merken"
343
344 #: ../src/polkit-gnome-auth-dialog.c:314
105 #: ../src/polkitgnomeauthenticationdialog.c:529
106 msgid "_Authenticate"
107 msgstr "_Legitimieren"
108
109 #: ../src/polkitgnomeauthenticationdialog.c:566
345110 msgid ""
346111 "An application is attempting to perform an action that requires privileges. "
347112 "Authentication as one of the users below is required to perform this action."
348113 msgstr ""
349114 "Eine Anwendung versucht eine Aktion auszuführen, die Privilegien erfordert. "
350115 "Eine Legitimation als einer der unten aufgelisteten Benutzer ist "
351 "erforderlich, um diese Aktion auszuführen"
352
353 #: ../src/polkit-gnome-auth-dialog.c:321
116 "erforderlich, um diese Aktion auszuführen."
117
118 #: ../src/polkitgnomeauthenticationdialog.c:574
119 msgid ""
120 "An application is attempting to perform an action that requires privileges. "
121 "Authentication is required to perform this action."
122 msgstr ""
123 "Eine Anwendung versucht eine Aktion auszuführen, die Privilegien erfordert. "
124 "Eine Legitimation ist erforderlich, um diese Aktion auszuführen."
125
126 #: ../src/polkitgnomeauthenticationdialog.c:580
354127 msgid ""
355128 "An application is attempting to perform an action that requires privileges. "
356129 "Authentication as the super user is required to perform this action."
359132 "Eine Legitimation als Administrator ist erforderlich, um diese Aktion "
360133 "auszuführen."
361134
362 #: ../src/polkit-gnome-auth-dialog.c:325
363 msgid ""
364 "An application is attempting to perform an action that requires privileges. "
365 "Authentication is required to perform this action."
366 msgstr ""
367 "Eine Anwendung versucht eine Aktion auszuführen, die Privilegien erfordert. "
368 "Eine Legitimation ist erforderlich, um diese Aktion auszuführen."
369
370 #: ../src/polkit-gnome-auth-dialog.c:406
135 #: ../src/polkitgnomeauthenticationdialog.c:615
136 #: ../src/polkitgnomeauthenticator.c:289
137 msgid "_Password:"
138 msgstr "_Passwort:"
139
140 #. Details
141 #: ../src/polkitgnomeauthenticationdialog.c:633
142 msgid "<small><b>_Details</b></small>"
143 msgstr "<small><b>_Details</b></small>"
144
145 #: ../src/polkitgnomeauthenticationdialog.c:686
146 msgid "<small><b>Action:</b></small>"
147 msgstr "<small><b>Aktion:</b></small>"
148
149 #: ../src/polkitgnomeauthenticationdialog.c:689
371150 #, c-format
372151 msgid "Click to edit %s"
373152 msgstr "Klicken, um %s zu bearbeiten"
374153
375 #: ../src/polkit-gnome-auth-dialog.c:431
376 #: ../tools/polkit-gnome-authorization.c:1391
154 #: ../src/polkitgnomeauthenticationdialog.c:703
155 msgid "<small><b>Vendor:</b></small>"
156 msgstr "<small><b>Anbieter:</b></small>"
157
158 #: ../src/polkitgnomeauthenticationdialog.c:705
377159 #, c-format
378160 msgid "Click to open %s"
379161 msgstr "Klicken, um %s zu öffnen"
380162
381 #: ../src/polkit-gnome-auth-dialog.c:668
382 msgid "_Authenticate"
383 msgstr "_Legitimieren"
384
385 #: ../src/polkit-gnome-auth-dialog.c:727 ../src/polkit-gnome-manager.c:686
386 #: ../src/polkit-gnome-manager.c:735
387 msgid "_Password:"
388 msgstr "_Passwort:"
389
390 #: ../src/polkit-gnome-auth-dialog.c:749
391 msgid "For this _session only"
392 msgstr "Nur für diese _Sitzung"
393
394 #: ../src/polkit-gnome-auth-dialog.c:757
395 msgid "<small><b>_Details</b></small>"
396 msgstr "<small><b>_Details</b></small>"
397
398 #: ../src/polkit-gnome-auth-dialog.c:778
399 msgid "<small><b>Application:</b></small>"
400 msgstr "<small><b>Anwendung:</b></small>"
401
402 #: ../src/polkit-gnome-auth-dialog.c:782
403 msgid "<small><b>Action:</b></small>"
404 msgstr "<small><b>Aktion:</b></small>"
405
406 #: ../src/polkit-gnome-auth-dialog.c:787
407 msgid "<small><b>Vendor:</b></small>"
408 msgstr "<small><b>Anbieter:</b></small>"
409
410 #: ../src/polkit-gnome-auth-dialog.c:916
163 #: ../src/polkitgnomeauthenticationdialog.c:868
411164 msgid "Authenticate"
412165 msgstr "Legitimieren"
413166
414 #: ../src/polkit-gnome-manager.c:367
415 msgid "(unknown"
416 msgstr "(unbekannt)"
417
418 #: ../src/polkit-gnome-manager.c:730
167 #: ../src/polkitgnomeauthenticator.c:285
419168 #, c-format
420169 msgid "_Password for %s:"
421170 msgstr "_Passwort für %s:"
422171
423 #: ../src/polkit-gnome-manager.c:732
424 msgid "_Password for root:"
425 msgstr "_Passwort für root:"
426
427 #: ../src/polkit-gnome-manager.c:740
428 #, c-format
429 msgid "_Password or swipe finger for %s:"
430 msgstr "_Passwort oder Fingerabdruck für %s:"
431
432 #: ../src/polkit-gnome-manager.c:743
433 msgid "_Password or swipe finger for root:"
434 msgstr "_Passwort oder Fingerabdruck für root:"
435
436 #: ../src/polkit-gnome-manager.c:746
437 msgid "_Password or swipe finger:"
438 msgstr "_Passwort oder Fingerabdruck:"
439
440 #: ../tools/polkit-gnome-authorization.c:117
441 msgid "No"
442 msgstr "Nein"
443
444 #: ../tools/polkit-gnome-authorization.c:119
445 msgid "Admin Authentication (one shot)"
446 msgstr "Legitimation als Administrator (gezielt)"
447
448 #: ../tools/polkit-gnome-authorization.c:120
449 msgid "Admin Authentication"
450 msgstr "Legitimation als Administrator"
451
452 #: ../tools/polkit-gnome-authorization.c:121
453 msgid "Admin Authentication (keep session)"
454 msgstr "Legitimation als Administrator (für Sitzung beibehalten)"
455
456 #: ../tools/polkit-gnome-authorization.c:122
457 msgid "Admin Authentication (keep indefinitely)"
458 msgstr "Legitimation als Administrator (unendlich lange beibehalten)"
459
460 #: ../tools/polkit-gnome-authorization.c:124
461 msgid "Authentication (one shot)"
462 msgstr "Legitimation (gezielt)"
463
464 #: ../tools/polkit-gnome-authorization.c:125
465 msgid "Authentication"
466 msgstr "Legitimation"
467
468 #: ../tools/polkit-gnome-authorization.c:126
469 msgid "Authentication (keep session)"
470 msgstr "Legitimation (für Sitzung beibehalten)"
471
472 #: ../tools/polkit-gnome-authorization.c:127
473 msgid "Authentication (keep indefinitely)"
474 msgstr "Legitimation (unendlich lange beibehalten)"
475
476 #: ../tools/polkit-gnome-authorization.c:129
477 msgid "Yes"
478 msgstr "Ja"
479
480 #: ../tools/polkit-gnome-authorization.c:272
481 msgid ", "
482 msgstr ", "
483
484 #: ../tools/polkit-gnome-authorization.c:276
485 msgid "Must be on console"
486 msgstr "Muss an der Konsole sein"
487
488 #: ../tools/polkit-gnome-authorization.c:279
489 msgid "Must be in active session"
490 msgstr "Muss in der aktiven Sitzung sein"
491
492 #: ../tools/polkit-gnome-authorization.c:282
493 #, c-format
494 msgid "Must be program %s"
495 msgstr "Muss das Programm %s sein"
496
497 #: ../tools/polkit-gnome-authorization.c:286
498 #, c-format
499 msgid "Must be SELinux Context %s"
500 msgstr "Muss der SELinux-Kontext %s sein"
501
502 #: ../tools/polkit-gnome-authorization.c:344
503 msgid "A moment ago"
504 msgstr "Vor einem Moment"
505
506 #: ../tools/polkit-gnome-authorization.c:348
507 msgid "1 minute ago"
508 msgstr "Vor 1 Minute"
509
510 #: ../tools/polkit-gnome-authorization.c:350
511 #, c-format
512 msgid "%d minutes ago"
513 msgstr "Vor %d Minuten"
514
515 #: ../tools/polkit-gnome-authorization.c:354
516 msgid "1 hour ago"
517 msgstr "Vor 1 Stunde"
518
519 #: ../tools/polkit-gnome-authorization.c:356
520 #, c-format
521 msgid "%d hours ago"
522 msgstr "Vor %d Stunden"
523
524 #: ../tools/polkit-gnome-authorization.c:360
525 msgid "1 day ago"
526 msgstr "Vor 1 Tag"
527
528 #: ../tools/polkit-gnome-authorization.c:362
529 #, c-format
530 msgid "%d days ago"
531 msgstr "Vor %d Tagen"
532
533 #: ../tools/polkit-gnome-authorization.c:379
534 #, c-format
535 msgid "Auth as %s (uid %d)"
536 msgstr "Legitimation als %s (uid %d)"
537
538 #: ../tools/polkit-gnome-authorization.c:381
539 #, c-format
540 msgid "Auth as uid %d"
541 msgstr "Legitimation als uid %d"
542
543 #: ../tools/polkit-gnome-authorization.c:387
544 #, c-format
545 msgid "Blocked by %s (uid %d)"
546 msgstr "Verweigert von %s (uid %d)"
547
548 #: ../tools/polkit-gnome-authorization.c:389
549 #, c-format
550 msgid "Blocked by uid %d"
551 msgstr "Verweigert von uid %d"
552
553 #: ../tools/polkit-gnome-authorization.c:392
554 #, c-format
555 msgid "Granted by %s (uid %d)"
556 msgstr "Gewährt von %s (uid %d)"
557
558 #: ../tools/polkit-gnome-authorization.c:394
559 #, c-format
560 msgid "Granted by uid %d"
561 msgstr "Gewährt von uid %d"
562
563 #: ../tools/polkit-gnome-authorization.c:409
564 #, c-format
565 msgid "Single shot pid %d (%s)"
566 msgstr "Gezielt pid %d (%s)"
567
568 #: ../tools/polkit-gnome-authorization.c:415
569 #, c-format
570 msgid "pid %d (%s)"
571 msgstr "pid %d (%s)"
572
573 #: ../tools/polkit-gnome-authorization.c:418
574 msgid "This session"
575 msgstr "Für diese Sitzung"
576
577 #: ../tools/polkit-gnome-authorization.c:421
578 msgid "Always"
579 msgstr "Immer"
580
581 #: ../tools/polkit-gnome-authorization.c:431
582 msgid "None"
583 msgstr "Keine"
584
585 #: ../tools/polkit-gnome-authorization.c:827
586 msgid "Grant Negative Authorization"
587 msgstr "Zugriff verweigern"
588
589 #: ../tools/polkit-gnome-authorization.c:827
590 msgid "Grant Authorization"
591 msgstr "Zugriff gewähren"
592
593 #: ../tools/polkit-gnome-authorization.c:850
594 #, c-format
595 msgid ""
596 "<b><big>Granting a negative authorization for the <i>%s</i> action requires "
597 "more information</big></b>"
598 msgstr ""
599 "<b><big>Das Verweigern des Zugriffs auf die Aktion <i>%s</i> efordert mehr "
600 "Informationen</big></b>"
601
602 #: ../tools/polkit-gnome-authorization.c:851
603 #, c-format
604 msgid ""
605 "<b><big>Granting an authorization for the <i>%s</i> action requires more "
606 "information</big></b>"
607 msgstr ""
608 "<b><big>Das Gewähren des Zugriffs auf die Aktion <i>%s</i> erfordert mehr "
609 "Informationen</big></b>"
610
611 #: ../tools/polkit-gnome-authorization.c:862
612 msgid ""
613 "Select the user to block for the action and, optionally, any constraints on "
614 "the negative authorization that you are about to grant."
615 msgstr ""
616 "Wählen Sie den Benutzer, für den der Zugriff verweigert werden soll, und, "
617 "optional, jegliche Einschränkungen, die für Ihre Zugriffsverweigerung gelten "
618 "sollen."
619
620 #: ../tools/polkit-gnome-authorization.c:864
621 msgid ""
622 "Select the beneficiary and, optionally, how to constrain the authorization "
623 "that you are about to grant."
624 msgstr ""
625 "Wählen Sie den durch die Zugriffsgewährung Begünstigten und, optional, wie "
626 "die Gewährung eingeschränkt werden soll."
627
628 #: ../tools/polkit-gnome-authorization.c:875
629 msgid "<b>Beneficiary</b>"
630 msgstr "<b>Begünstigter:</b>"
631
632 #: ../tools/polkit-gnome-authorization.c:887
633 msgid "Select the user that will receive the negative authorization."
634 msgstr "Wählen Sie den Benutzer, für denn der Zugriff verweigert werden soll."
635
636 #: ../tools/polkit-gnome-authorization.c:889
637 msgid "Select the user that will receive the authorization."
638 msgstr "Wählen Sie den Benutzer, für den der Zugriff gewährt werden soll."
639
640 #: ../tools/polkit-gnome-authorization.c:898
641 msgid "_Show system users"
642 msgstr "_Systemfehler anzeigen"
643
644 #: ../tools/polkit-gnome-authorization.c:913
645 msgid "<b>Constraints</b>"
646 msgstr "<b>Einschränkungen</b>"
647
648 #: ../tools/polkit-gnome-authorization.c:924
649 msgid ""
650 "Constraints limits the authorization such that it only applies under certain "
651 "circumstances."
652 msgstr ""
653 "Einschränkungen beschränken den Zugriff so, dass er nur unter bestimmten "
654 "Umständen gewährt wird."
655
656 #: ../tools/polkit-gnome-authorization.c:930
657 msgid "_None"
658 msgstr "_Keine"
659
660 #: ../tools/polkit-gnome-authorization.c:932
661 msgid "Must be _in active session"
662 msgstr "Muss _in der aktiven Sitzung sein"
663
664 #: ../tools/polkit-gnome-authorization.c:934
665 msgid "Must be on _local console"
666 msgstr "Muss an der _lokalen Konsole sein"
667
668 #: ../tools/polkit-gnome-authorization.c:936
669 msgid "Must be in _active session on local console"
670 msgstr "Muss in der _an Sitzung an der lokalen Konsole sein"
671
672 #: ../tools/polkit-gnome-authorization.c:957
673 #: ../tools/polkit-gnome-authorization.c:2133
674 msgid "_Block..."
675 msgstr "_Verweigern …"
676
677 #: ../tools/polkit-gnome-authorization.c:961
678 #: ../tools/polkit-gnome-authorization.c:2126
679 msgid "_Grant..."
680 msgstr "Gewähren …"
681
682 #: ../tools/polkit-gnome-authorization.c:1155
683 msgid "Edit Implicit Authorizations"
684 msgstr "Implizite Berechtigungen bearbeiten"
685
686 #: ../tools/polkit-gnome-authorization.c:1176
687 msgid "<b><big>Choose new implicit authorizations</big></b>"
688 msgstr "<b><big>Wählen Sie neue implizite Berechtigungen</big></b>"
689
690 #: ../tools/polkit-gnome-authorization.c:1190
691 #, c-format
692 msgid ""
693 "Implicit authorizations are authorizations that are granted automatically to "
694 "users under certain circumstances. Choose what is required for the action <i>"
695 "%s</i>."
696 msgstr ""
697 "Implizite Berechtigungen sind Berechtigungen, die unter bestimmten Umständen "
698 "an alle Benutzer vergeben werden. Wählen Sie, was dafür für die Aktion <i>%"
699 "s</i> nötig ist."
700
701 #: ../tools/polkit-gnome-authorization.c:1215
702 #: ../tools/polkit-gnome-authorization.c:1974
703 msgid "<i>Anyone:</i>"
704 msgstr "<i>Jeder:</i>"
705
706 #: ../tools/polkit-gnome-authorization.c:1222
707 #: ../tools/polkit-gnome-authorization.c:1978
708 msgid "<i>Console:</i>"
709 msgstr "<i>Konsole:</i>"
710
711 #: ../tools/polkit-gnome-authorization.c:1229
712 #: ../tools/polkit-gnome-authorization.c:1982
713 msgid "<i>Active Console:</i>"
714 msgstr "<i>Aktive Konsole:</i>"
715
716 #: ../tools/polkit-gnome-authorization.c:1258
717 msgid "_Modify..."
718 msgstr "Ä_ndern …"
719
720 #: ../tools/polkit-gnome-authorization.c:1890
721 msgid "<b>Action</b>"
722 msgstr "<b>Aktion</b>"
723
724 #: ../tools/polkit-gnome-authorization.c:1905
725 msgid "<i>Identifier:</i>"
726 msgstr "<i>Kennung:</i>"
727
728 #: ../tools/polkit-gnome-authorization.c:1915
729 msgid "<i>Description:</i>"
730 msgstr "<i>Beschreibung</i>"
731
732 #: ../tools/polkit-gnome-authorization.c:1925
733 msgid "<i>Vendor:</i>"
734 msgstr "<i>Anbieter:</i>"
735
736 #: ../tools/polkit-gnome-authorization.c:1951
737 msgid "<b>Implicit Authorizations</b>"
738 msgstr "<b>Implizite Berechtigungen</b>"
739
740 #: ../tools/polkit-gnome-authorization.c:1959
741 msgid ""
742 "Implicit authorizations are authorizations automatically given to users "
743 "based on certain criteria such as if they are on the local console."
744 msgstr ""
745 "Implizite Berechtigungen sind Berechtigungen, die basierend auf bestimmten "
746 "Kriterien automatisch an Benutzer vergeben werden, beispielsweise ob sie an "
747 "der lokalen Konsole sind."
748
749 #: ../tools/polkit-gnome-authorization.c:2002
750 msgid "_Edit..."
751 msgstr "_Bearbeiten …"
752
753 #: ../tools/polkit-gnome-authorization.c:2009
754 msgid "Revert To _Defaults..."
755 msgstr "_Standardeinstellungen …"
756
757 #: ../tools/polkit-gnome-authorization.c:2032
758 msgid "<b>Explicit Authorizations</b>"
759 msgstr "<b>Explizite Berechtigungen</b>"
760
761 #: ../tools/polkit-gnome-authorization.c:2043
762 msgid ""
763 "This list displays authorizations that are either obtained through "
764 "authentication or specifically given to the entity in question. Blocked "
765 "authorizations are marked with a STOP sign."
766 msgstr ""
767 "Diese Liste zeigt Berechtigungen an, die entweder durch Legitimation "
768 "erworben oder spezifisch vergeben wurden. Verweigerte Berechtigungen sind "
769 "mit einem STOPP-Schild markiert."
770
771 #: ../tools/polkit-gnome-authorization.c:2073
772 msgid "Entity"
773 msgstr "Instanz"
774
775 #: ../tools/polkit-gnome-authorization.c:2081
776 msgid "Scope"
777 msgstr "Geltungsbereich"
778
779 #: ../tools/polkit-gnome-authorization.c:2089
780 msgid "Obtained"
781 msgstr "Erworben"
782
783 #: ../tools/polkit-gnome-authorization.c:2097
784 msgid "How"
785 msgstr "Wie"
786
787 #: ../tools/polkit-gnome-authorization.c:2105
788 msgid "Constraints"
789 msgstr "Einschränkungen"
790
791 #: ../tools/polkit-gnome-authorization.c:2147
792 #: ../tools/polkit-gnome-authorization.c:2161
793 msgid "_Revoke"
794 msgstr "_Aufheben"
795
796 #: ../tools/polkit-gnome-authorization.c:2154
797 msgid "_Revoke..."
798 msgstr "_Aufheben …"
799
800 #: ../tools/polkit-gnome-authorization.c:2174
801 msgid "_Show authorizations from all users..."
802 msgstr "_Berechtigungen von allen Benutzern anzeigen …"
803
804 #: ../tools/polkit-gnome-authorization.c:2175
805 msgid "_Show authorizations from all users"
806 msgstr "Berechtigungen von allen Benutzern anzeigen"
807
808 #: ../tools/polkit-gnome-authorization.c:2417
809 msgid "Select an action"
810 msgstr "Wählen Sie eine Aktion aus"
172 #: ../src/polkitgnomeauthenticator.c:445
173 msgid "Authentication Failure"
174 msgstr "Legitimation gescheitert"
175
176 #: ../src/polkit-gnome-authentication-agent-1.desktop.in.in.h:1
177 msgid "PolicyKit Authentication Agent"
178 msgstr "Legitimationsdienst von PolicyKit"
179
180 #~ msgid "Authorizations"
181 #~ msgstr "Zugriffsberechtigungen"
182
183 #~ msgid "Configure authorizations"
184 #~ msgstr "Zugriffsberechtigungen einstellen"
185
186 #~ msgid ""
187 #~ "If set to true, the authentication dialog from PolicyKit-gnome will grab "
188 #~ "the keyboard, so that you will not be able to type in other programs "
189 #~ "while the dialog is active. Use this if your window manager does not "
190 #~ "focus the authentication dialog automatically, and you want to avoid "
191 #~ "accidentally typing passwords in other programs."
192 #~ msgstr ""
193 #~ "Ist dies auf wahr gesetzt, zieht der Legitimationsdialog Tastatureingaben "
194 #~ "auf sich, sodass es nicht möglich ist, in anderen Programmen zu tippen, "
195 #~ "solange der Dialog aktiv ist. Benutzen Sie dies, wenn ihr Fenstermanager "
196 #~ "den Legitimationsdialog nicht automatisch fokussiert und Sie vermeiden "
197 #~ "wollen, versehentlich Passwörter in andere Programme zu schreiben."
198
199 #~ msgid "Whether the authentication dialog should grab the keyboard"
200 #~ msgstr ""
201 #~ "Legt fest, ob der Legitimationsdialog Tastatureingaben auf sich ziehen "
202 #~ "soll."
203
204 #~ msgid "Copyright © 2007 David Zeuthen"
205 #~ msgstr "Copyright © 2007 David Zeuthen"
206
207 #~ msgid "PolicyKit-gnome Website"
208 #~ msgstr "PolicyKit-gnome Webseite"
209
210 #~ msgid "PolicyKit-gnome demo"
211 #~ msgstr "PolicyKit-gnome Demo"
212
213 #~ msgid "PolicyKit for the GNOME desktop"
214 #~ msgstr "PolicyKit für den GNOME-Desktop"
215
216 #~ msgid "_File"
217 #~ msgstr "_Datei"
218
219 #~ msgid "_Actions"
220 #~ msgstr "_Aktionen"
221
222 #~ msgid "_Help"
223 #~ msgstr "_Hilfe"
224
225 #~ msgid "_Quit"
226 #~ msgstr "_Beenden"
227
228 #~ msgid "Quit"
229 #~ msgstr "Beenden"
230
231 #~ msgid "_About"
232 #~ msgstr "_Info"
233
234 #~ msgid "About"
235 #~ msgstr "Info"
236
237 #~ msgid "Jump!"
238 #~ msgstr "Spring!"
239
240 #~ msgid "Authenticating..."
241 #~ msgstr "Legitimiere …"
242
243 #~ msgid "Don't exit after 30 seconds of inactivity"
244 #~ msgstr "Nicht nach 30 Sekunden ohne Aktivität beenden"
245
246 #~ msgid "PolicyKit GNOME session daemon"
247 #~ msgstr "PolicyKit GNOME-Sitzungsdient"
248
249 #~ msgid "Starting PolicyKit GNOME session daemon version %s"
250 #~ msgstr "Starte den PolicyKit GNOME-Sitzungsdienst, Version %s"
251
252 #~ msgid "_Remember authorization for this session"
253 #~ msgstr "_Legitimation für diese Sitzung merken"
254
255 #~ msgid "_Remember authorization"
256 #~ msgstr "_Legitimation merken"
257
258 #~ msgid "For this _session only"
259 #~ msgstr "Nur für diese _Sitzung"
260
261 #~ msgid "<small><b>Application:</b></small>"
262 #~ msgstr "<small><b>Anwendung:</b></small>"
263
264 #~ msgid "(unknown"
265 #~ msgstr "(unbekannt)"
266
267 #~ msgid "_Password for root:"
268 #~ msgstr "_Passwort für root:"
269
270 #~ msgid "_Password or swipe finger for %s:"
271 #~ msgstr "_Passwort oder Fingerabdruck für %s:"
272
273 #~ msgid "_Password or swipe finger for root:"
274 #~ msgstr "_Passwort oder Fingerabdruck für root:"
275
276 #~ msgid "_Password or swipe finger:"
277 #~ msgstr "_Passwort oder Fingerabdruck:"
278
279 #~ msgid "No"
280 #~ msgstr "Nein"
281
282 #~ msgid "Admin Authentication (one shot)"
283 #~ msgstr "Legitimation als Administrator (gezielt)"
284
285 #~ msgid "Admin Authentication (keep session)"
286 #~ msgstr "Legitimation als Administrator (für Sitzung beibehalten)"
287
288 #~ msgid "Admin Authentication (keep indefinitely)"
289 #~ msgstr "Legitimation als Administrator (unendlich lange beibehalten)"
290
291 #~ msgid "Authentication (one shot)"
292 #~ msgstr "Legitimation (gezielt)"
293
294 #~ msgid "Authentication (keep session)"
295 #~ msgstr "Legitimation (für Sitzung beibehalten)"
296
297 #~ msgid "Authentication (keep indefinitely)"
298 #~ msgstr "Legitimation (unendlich lange beibehalten)"
299
300 #~ msgid "Yes"
301 #~ msgstr "Ja"
302
303 #~ msgid ", "
304 #~ msgstr ", "
305
306 #~ msgid "Must be on console"
307 #~ msgstr "Muss an der Konsole sein"
308
309 #~ msgid "Must be in active session"
310 #~ msgstr "Muss in der aktiven Sitzung sein"
311
312 #~ msgid "Must be program %s"
313 #~ msgstr "Muss das Programm %s sein"
314
315 #~ msgid "Must be SELinux Context %s"
316 #~ msgstr "Muss der SELinux-Kontext %s sein"
317
318 #~ msgid "A moment ago"
319 #~ msgstr "Vor einem Moment"
320
321 #~ msgid "1 minute ago"
322 #~ msgstr "Vor 1 Minute"
323
324 #~ msgid "%d minutes ago"
325 #~ msgstr "Vor %d Minuten"
326
327 #~ msgid "1 hour ago"
328 #~ msgstr "Vor 1 Stunde"
329
330 #~ msgid "%d hours ago"
331 #~ msgstr "Vor %d Stunden"
332
333 #~ msgid "1 day ago"
334 #~ msgstr "Vor 1 Tag"
335
336 #~ msgid "%d days ago"
337 #~ msgstr "Vor %d Tagen"
338
339 #~ msgid "Auth as %s (uid %d)"
340 #~ msgstr "Legitimation als %s (uid %d)"
341
342 #~ msgid "Auth as uid %d"
343 #~ msgstr "Legitimation als uid %d"
344
345 #~ msgid "Blocked by %s (uid %d)"
346 #~ msgstr "Verweigert von %s (uid %d)"
347
348 #~ msgid "Blocked by uid %d"
349 #~ msgstr "Verweigert von uid %d"
350
351 #~ msgid "Granted by %s (uid %d)"
352 #~ msgstr "Gewährt von %s (uid %d)"
353
354 #~ msgid "Granted by uid %d"
355 #~ msgstr "Gewährt von uid %d"
356
357 #~ msgid "Single shot pid %d (%s)"
358 #~ msgstr "Gezielt pid %d (%s)"
359
360 #~ msgid "pid %d (%s)"
361 #~ msgstr "pid %d (%s)"
362
363 #~ msgid "This session"
364 #~ msgstr "Für diese Sitzung"
365
366 #~ msgid "Always"
367 #~ msgstr "Immer"
368
369 #~ msgid "None"
370 #~ msgstr "Keine"
371
372 #~ msgid "Grant Negative Authorization"
373 #~ msgstr "Zugriff verweigern"
374
375 #~ msgid "Grant Authorization"
376 #~ msgstr "Zugriff gewähren"
377
378 #~ msgid ""
379 #~ "<b><big>Granting a negative authorization for the <i>%s</i> action "
380 #~ "requires more information</big></b>"
381 #~ msgstr ""
382 #~ "<b><big>Das Verweigern des Zugriffs auf die Aktion <i>%s</i> efordert "
383 #~ "mehr Informationen</big></b>"
384
385 #~ msgid ""
386 #~ "<b><big>Granting an authorization for the <i>%s</i> action requires more "
387 #~ "information</big></b>"
388 #~ msgstr ""
389 #~ "<b><big>Das Gewähren des Zugriffs auf die Aktion <i>%s</i> erfordert mehr "
390 #~ "Informationen</big></b>"
391
392 #~ msgid ""
393 #~ "Select the user to block for the action and, optionally, any constraints "
394 #~ "on the negative authorization that you are about to grant."
395 #~ msgstr ""
396 #~ "Wählen Sie den Benutzer, für den der Zugriff verweigert werden soll, und, "
397 #~ "optional, jegliche Einschränkungen, die für Ihre Zugriffsverweigerung "
398 #~ "gelten sollen."
399
400 #~ msgid ""
401 #~ "Select the beneficiary and, optionally, how to constrain the "
402 #~ "authorization that you are about to grant."
403 #~ msgstr ""
404 #~ "Wählen Sie den durch die Zugriffsgewährung Begünstigten und, optional, "
405 #~ "wie die Gewährung eingeschränkt werden soll."
406
407 #~ msgid "<b>Beneficiary</b>"
408 #~ msgstr "<b>Begünstigter:</b>"
409
410 #~ msgid "Select the user that will receive the negative authorization."
411 #~ msgstr ""
412 #~ "Wählen Sie den Benutzer, für denn der Zugriff verweigert werden soll."
413
414 #~ msgid "Select the user that will receive the authorization."
415 #~ msgstr "Wählen Sie den Benutzer, für den der Zugriff gewährt werden soll."
416
417 #~ msgid "_Show system users"
418 #~ msgstr "_Systemfehler anzeigen"
419
420 #~ msgid "<b>Constraints</b>"
421 #~ msgstr "<b>Einschränkungen</b>"
422
423 #~ msgid ""
424 #~ "Constraints limits the authorization such that it only applies under "
425 #~ "certain circumstances."
426 #~ msgstr ""
427 #~ "Einschränkungen beschränken den Zugriff so, dass er nur unter bestimmten "
428 #~ "Umständen gewährt wird."
429
430 #~ msgid "_None"
431 #~ msgstr "_Keine"
432
433 #~ msgid "Must be _in active session"
434 #~ msgstr "Muss _in der aktiven Sitzung sein"
435
436 #~ msgid "Must be on _local console"
437 #~ msgstr "Muss an der _lokalen Konsole sein"
438
439 #~ msgid "Must be in _active session on local console"
440 #~ msgstr "Muss in der _an Sitzung an der lokalen Konsole sein"
441
442 #~ msgid "_Block..."
443 #~ msgstr "_Verweigern …"
444
445 #~ msgid "_Grant..."
446 #~ msgstr "Gewähren …"
447
448 #~ msgid "Edit Implicit Authorizations"
449 #~ msgstr "Implizite Berechtigungen bearbeiten"
450
451 #~ msgid "<b><big>Choose new implicit authorizations</big></b>"
452 #~ msgstr "<b><big>Wählen Sie neue implizite Berechtigungen</big></b>"
453
454 #~ msgid ""
455 #~ "Implicit authorizations are authorizations that are granted automatically "
456 #~ "to users under certain circumstances. Choose what is required for the "
457 #~ "action <i>%s</i>."
458 #~ msgstr ""
459 #~ "Implizite Berechtigungen sind Berechtigungen, die unter bestimmten "
460 #~ "Umständen an alle Benutzer vergeben werden. Wählen Sie, was für die "
461 #~ "Aktion <i>%s</i> nötig ist."
462
463 #~ msgid "<i>Anyone:</i>"
464 #~ msgstr "<i>Jeder:</i>"
465
466 #~ msgid "<i>Console:</i>"
467 #~ msgstr "<i>Konsole:</i>"
468
469 #~ msgid "<i>Active Console:</i>"
470 #~ msgstr "<i>Aktive Konsole:</i>"
471
472 #~ msgid "_Modify..."
473 #~ msgstr "Ä_ndern …"
474
475 #~ msgid "<b>Action</b>"
476 #~ msgstr "<b>Aktion</b>"
477
478 #~ msgid "<i>Description:</i>"
479 #~ msgstr "<i>Beschreibung</i>"
480
481 #~ msgid "<i>Vendor:</i>"
482 #~ msgstr "<i>Anbieter:</i>"
483
484 #~ msgid "<b>Implicit Authorizations</b>"
485 #~ msgstr "<b>Implizite Berechtigungen</b>"
486
487 #~ msgid ""
488 #~ "Implicit authorizations are authorizations automatically given to users "
489 #~ "based on certain criteria such as if they are on the local console."
490 #~ msgstr ""
491 #~ "Implizite Berechtigungen sind Berechtigungen, die basierend auf "
492 #~ "bestimmten Kriterien automatisch an Benutzer vergeben werden, "
493 #~ "beispielsweise ob sie an der lokalen Konsole sind."
494
495 #~ msgid "_Edit..."
496 #~ msgstr "_Bearbeiten …"
497
498 #~ msgid "Revert To _Defaults..."
499 #~ msgstr "_Standardeinstellungen …"
500
501 #~ msgid "<b>Explicit Authorizations</b>"
502 #~ msgstr "<b>Explizite Berechtigungen</b>"
503
504 #~ msgid ""
505 #~ "This list displays authorizations that are either obtained through "
506 #~ "authentication or specifically given to the entity in question. Blocked "
507 #~ "authorizations are marked with a STOP sign."
508 #~ msgstr ""
509 #~ "Diese Liste zeigt Berechtigungen an, die entweder durch Legitimation "
510 #~ "erworben oder spezifisch vergeben wurden. Verweigerte Berechtigungen sind "
511 #~ "mit einem STOPP-Schild markiert."
512
513 #~ msgid "Entity"
514 #~ msgstr "Instanz"
515
516 #~ msgid "Scope"
517 #~ msgstr "Geltungsbereich"
518
519 #~ msgid "How"
520 #~ msgstr "Wie"
521
522 #~ msgid "Constraints"
523 #~ msgstr "Einschränkungen"
524
525 #~ msgid "_Revoke"
526 #~ msgstr "_Aufheben"
527
528 #~ msgid "_Revoke..."
529 #~ msgstr "_Aufheben …"
530
531 #~ msgid "_Show authorizations from all users..."
532 #~ msgstr "_Berechtigungen aller Benutzern anzeigen …"
533
534 #~ msgid "_Show authorizations from all users"
535 #~ msgstr "_Berechtigungen aller Benutzern anzeigen"
536
537 #~ msgid "Select an action"
538 #~ msgstr "Wählen Sie eine Aktion aus"
+381
-287
po/el.po less more
0 # translation of policykit-gnome.HEAD.po to
01 # Greek translation for policykit-gnome
12 # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
23 # This file is distributed under the same license as the policykit-gnome package.
4 #
35 # FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
4 #
5 msgid ""
6 msgstr ""
7 "Project-Id-Version: policykit-gnome\n"
6 # Jennie Petoumenou <epetoumenou@gmail.com>, 2008.
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: policykit-gnome.HEAD\n"
810 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2008-04-04 10:14+0100\n"
10 "PO-Revision-Date: 2008-04-03 15:42+0000\n"
11 "Last-Translator: Γιάννης Κατσαμπίρης <giannis1_86@hotmail.com>\n"
12 "Language-Team: Greek <el@li.org>\n"
11 "POT-Creation-Date: 2009-01-02 21:15+0000\n"
12 "PO-Revision-Date: 2008-12-28 15:18+0200\n"
13 "Last-Translator: Jennie Petoumenou <epetoumenou@gmail.com>\n"
14 "Language-Team: Greek <team@gnome.gr>\n"
1315 "MIME-Version: 1.0\n"
1416 "Content-Type: text/plain; charset=UTF-8\n"
1517 "Content-Transfer-Encoding: 8bit\n"
16 "X-Launchpad-Export-Date: 2008-04-04 07:12+0000\n"
17 "X-Generator: Launchpad (build Unknown)\n"
18 "X-Generator: Lokalize 0.2\n"
19 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
1820
1921 #: ../data/polkit-gnome-authorization.desktop.in.h:1
20 #: ../tools/polkit-gnome-authorization.c:2439
22 #: ../tools/polkit-gnome-authorization.c:2452
2123 msgid "Authorizations"
2224 msgstr "Εξουσιοδοτήσεις"
2325
2527 msgid "Configure authorizations"
2628 msgstr "Ρύθμιση εξουσιοδοτήσεων"
2729
30 #: ../data/polkit-gnome.schemas.in.h:1
31 msgid ""
32 "A list of PolicyKit action where the \"retain authorization\" checkbox isn't "
33 "checked by default; this list is maintained by the authentication dialog "
34 "code itself. For example, if a user unchecks the \"retain authorization\" "
35 "check box for an action and successfully obtains an authorization for the "
36 "action, the action will be added to this list."
37 msgstr ""
38 "Λίστα ενεργειών για τις οποίες το κουτί \"διατήρηση εξουσιοδότησης\" δεν "
39 "είναι προεπιλεγμένο. Η λίστα ανανεώνεται αυτόματα από τον κώδικα του "
40 "διαλόγου πιστοποίησης. Για παράδειγμα, αν ο χρήστης απεπιλέξει το κουτί "
41 "\"διατήρηση εξουσιοδότησης\" για μία ενέργεια και μετά αποκτήσει πιστοποίηση "
42 "για την ενέργεια αυτή, η ενέργεια θα προστεθεί στη λίστα."
43
44 #: ../data/polkit-gnome.schemas.in.h:2
45 msgid ""
46 "A list of actions where the \"retain authorization\" checkbox isn't checked "
47 "by default"
48 msgstr ""
49 "Λίστα ενεργειών για τις οποίες το κουτί \"διατήρηση εξουσιοδότησης\" δεν "
50 "είναι προεπιλεγμένο"
51
52 #: ../data/polkit-gnome.schemas.in.h:3
53 msgid ""
54 "If set to true, the authentication dialog from PolicyKit-gnome will grab the "
55 "keyboard, so that you will not be able to type in other programs while the "
56 "dialog is active. Use this if your window manager does not focus the "
57 "authentication dialog automatically, and you want to avoid accidentally "
58 "typing passwords in other programs."
59 msgstr ""
60 "Αν έχει οριστεί αληθές, ο διάλογος πιστοποίησης του PolicyKit-gnome θα "
61 "κλειδώνει το πληκτρολόγιο, έτσι ώστε να μην μπορεί να χρησιμοποιηθεί από "
62 "κανένα άλλο πρόγραμμα όσο θα είναι ενεργός ο διάλογος πιστοποίησης. "
63 "Χρησιμοποιήστε αυτή την επιλογή αν ο διαχειριστής παραθύρων σας δεν εστιάζει "
64 "αυτόματα στο διάλογο πιστοποίησης και φοβάστε μήπως πληκτρολογήσετε κατά "
65 "λάθος συνθηματικά σε άλλα προγράμματα."
66
67 #: ../data/polkit-gnome.schemas.in.h:4
68 msgid ""
69 "If set to true, then \"retain authorization\" check box (if present) is "
70 "checked by default in the authentication dialog unless the action is "
71 "mentioned in the \"/desktop/gnome/policykit/"
72 "auth_dialog_retain_authorization_blacklist\" key."
73 msgstr ""
74 "Αν έχει οριστεί αληθές, τότε το κουτί \"διατήρηση πιστοποίησης\" (αν "
75 "υπάρχει) του διαλόγου πιστοποίησης είναι προεπιλεγμένο. Εξαιρούνται οι "
76 "ενέργειες που αναφέρονται στο \"/desktop/gnome/policykit/"
77 "auth_dialog_retain_authorization_blacklist\"."
78
79 #: ../data/polkit-gnome.schemas.in.h:5
80 msgid "Whether the authentication dialog should grab the keyboard"
81 msgstr ""
82 "Αν ο διάλογος πιστοποίησης θα πρέπει να κλειδώνει το πληκτρολόγιο για "
83 "αποκλειστική του χρήση"
84
85 #: ../data/polkit-gnome.schemas.in.h:6
86 msgid "Whether the retain authorization check box is checked by default"
87 msgstr "Αν είναι προεπιλεγμένο το κουτί διατήρησης της πιστοποίησης"
88
2889 #: ../examples/polkit-gnome-example.c:137
2990 msgid "Copyright © 2007 David Zeuthen"
3091 msgstr "Copyright © 2007 David Zeuthen"
3697 #: ../examples/polkit-gnome-example.c:140
3798 #: ../examples/polkit-gnome-example.c:446
3899 msgid "PolicyKit-gnome demo"
39 msgstr ""
100 msgstr "Επίδειξη του PolicyKit-gnome"
40101
41102 #: ../examples/polkit-gnome-example.c:141
42103 msgid "PolicyKit for the GNOME desktop"
82143 "Making the helper <b>Frobnicate</b> requires the user to authenticate. The "
83144 "authorization is kept for the life time of the process"
84145 msgstr ""
146 "Το <b>Frobnicate</b> απαιτεί πιστοποίηση του χρήστη. Η εξουσιοδότηση "
147 "διατηρείται καθ' όλη τη διάρκεια της διεργασίας"
85148
86149 #: ../examples/polkit-gnome-example.c:252
87150 msgid "Frobnicate!"
88 msgstr ""
151 msgstr "Frobnicate!"
89152
90153 #: ../examples/polkit-gnome-example.c:267
91154 msgid ""
92155 "Making the helper <b>Jump</b> requires the user to authenticate. This is a "
93156 "one-shot authorization."
94157 msgstr ""
158 "Το <b> Άλμα</b> απαιτεί πιστοποίηση του χρήστη. Η εξουσιοδότηση είναι μιας "
159 "χρήσης."
95160
96161 #: ../examples/polkit-gnome-example.c:275
97162 msgid "Jump!"
98 msgstr ""
163 msgstr "Άλμα!"
99164
100165 #: ../examples/polkit-gnome-example.c:290
101166 msgid ""
103168 "authenticate. This instance overrides the defaults set in "
104169 "polkit_gnome_action_new()."
105170 msgstr ""
171 "Το <b>Tweak</b> απαιτεί πιστοποίηση διαχειριστή συστήματος. Παρακάμπτει τις "
172 "προεπιλεγμένες ρυθμίσεις του polkit_gnome_action_new()."
106173
107174 #: ../examples/polkit-gnome-example.c:299
108175 #: ../examples/polkit-gnome-example.c:320
109176 msgid "Tweak!"
110 msgstr ""
177 msgstr "Tweak!"
111178
112179 #: ../examples/polkit-gnome-example.c:306
113 #: ../examples/polkit-gnome-example.policy.in.h:17
180 #: ../examples/org.gnome.policykit.examples.policy.in.h:17
114181 msgid "Tweak"
115 msgstr ""
182 msgstr "Tweak"
116183
117184 #: ../examples/polkit-gnome-example.c:307
118185 msgid "Tweak (long)"
119 msgstr ""
186 msgstr "Tweak (long)"
120187
121188 #: ../examples/polkit-gnome-example.c:308
122189 msgid "If your admin wasn't annoying, you could do this"
123 msgstr ""
124 "Εάν ο διαχειριστής δεν ήταν ενοχλητικός, θα μπορούσατε να το κάνετε αυτό"
190 msgstr "Αν είχατε λιγότερο ενοχλητικό διαχειριστή, θα μπορούσατε να το κάνετε"
125191
126192 #: ../examples/polkit-gnome-example.c:313
127193 msgid "Tweak..."
128 msgstr ""
194 msgstr "Tweak..."
129195
130196 #: ../examples/polkit-gnome-example.c:314
131197 msgid "Tweak... (long)"
132 msgstr ""
198 msgstr "Tweak... (long)"
133199
134200 #: ../examples/polkit-gnome-example.c:315
135201 msgid "Only card carrying tweakers can do this!"
136 msgstr ""
202 msgstr "Μόνο όσοι tweakers έχουν κάρτα μπορούν να το κάνουν αυτό!"
137203
138204 #: ../examples/polkit-gnome-example.c:321
139205 msgid "Tweak! (long)"
140 msgstr ""
206 msgstr "Tweak! (long)"
141207
142208 #: ../examples/polkit-gnome-example.c:322
143209 msgid "Go ahead, tweak tweak tweak!"
144 msgstr ""
210 msgstr "Εμπρός! Tweak tweak tweak!"
145211
146212 #: ../examples/polkit-gnome-example.c:339
147213 msgid ""
149215 "authenticate. Once authenticated, this privilege can be retained "
150216 "indefinitely."
151217 msgstr ""
218 "Το <b>Twiddle</b> απαιτεί πιστοποίηση διαχειριστή συστήματος. Μετά την "
219 "πιστοποίηση, τα σχετικά προνόμια διατηρούνται επ' αόριστον."
152220
153221 #: ../examples/polkit-gnome-example.c:348
154222 msgid "Twiddle!"
155 msgstr ""
223 msgstr "Twiddle!"
156224
157225 #: ../examples/polkit-gnome-example.c:363
158226 msgid ""
160228 "authenticated, this privilege can be retained for the remainder of the "
161229 "desktop session."
162230 msgstr ""
231 "Η <b>Μπουνιά</b> απαιτεί πιστοποίηση του χρήστη. Μετά την πιστοποίηση, τα "
232 "σχετικά προνόμια διατηρούνται μέχρι το τέλος της συνεδρίας της επιφάνειας "
233 "εργασίας."
163234
164235 #: ../examples/polkit-gnome-example.c:372
165236 msgid "Punch!"
166 msgstr ""
237 msgstr "Μπουνιά!"
167238
168239 #: ../examples/polkit-gnome-example.c:387
169240 msgid ""
173244 "exactlywhen the authorization is held. Toggling the button means obtaining "
174245 "resp. revoking the authorization in question."
175246 msgstr ""
247 "Η <b> Εναλλαγή</b> δείχνει πώς μπορεί να χρησιμοποιηθεί το PolicyKit για να "
248 "κατευθύνει τη λειτουργία ενός GtkToggleButton. Προσφέρει έναν εύκολο τρόπο "
249 "για να ζητείται από τους χρήστες να αποσύρουν την εξουσιοδότηση όταν δεν τη "
250 "χρειάζονται πλέον. Π.χ. το κουμπί \"πατιέται\" ακριβώς τη στιγμή που δίνεται "
251 "η εξουσιοδότηση. Η εναλλαγή του κουμπιού σημαίνει ότι αναλαμβάνεται η ευθύνη "
252 "για την απόσυρση της εξουσιοδότησης."
176253
177254 #: ../examples/polkit-gnome-example.c:401
178255 msgid "Click to make changes..."
179 msgstr ""
256 msgstr "Πιέστε για να κάνετε αλλαγές..."
180257
181258 #: ../examples/polkit-gnome-example.c:402
182259 msgid "Click to prevent changes"
183 msgstr "Κάντε κλικ για να εμποδίσετε τις αλλαγές"
260 msgstr "Πιέστε για να εμποδίσετε τις αλλαγές"
184261
185262 #: ../examples/polkit-gnome-example.c:422
186263 msgid ""
187264 "<i>Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets "
188265 "update in real-time.</i>."
189266 msgstr ""
190
191 #: ../examples/polkit-gnome-example.policy.in.h:1
267 "<i>Συμβουλή: Δοκιμάστε να επεξεργαστείτε το /etc/PolicyKit/Policy.conf και "
268 "θα δείτε τα γραφικά συστατικά του διαμεσολαβητή να ανανεώνονται σε "
269 "πραγματικό χρόνο.</i>"
270
271 #: ../examples/org.gnome.policykit.examples.policy.in.h:1
192272 msgid "Frobnicate"
193 msgstr ""
194
195 #: ../examples/polkit-gnome-example.policy.in.h:2
273 msgstr "Frobnicate"
274
275 #: ../examples/org.gnome.policykit.examples.policy.in.h:2
196276 msgid "Jump"
197 msgstr ""
198
199 #: ../examples/polkit-gnome-example.policy.in.h:3
277 msgstr "Άλμα"
278
279 #: ../examples/org.gnome.policykit.examples.policy.in.h:3
200280 msgid "Kick bar"
201 msgstr ""
202
203 #: ../examples/polkit-gnome-example.policy.in.h:4
281 msgstr "Κλωτσιά στο bar"
282
283 #: ../examples/org.gnome.policykit.examples.policy.in.h:4
204284 msgid "Kick baz"
205 msgstr ""
206
207 #: ../examples/polkit-gnome-example.policy.in.h:5
285 msgstr "Κλωτσιά στο baz"
286
287 #: ../examples/org.gnome.policykit.examples.policy.in.h:5
208288 msgid "Kick foo"
209 msgstr ""
210
211 #: ../examples/polkit-gnome-example.policy.in.h:6
289 msgstr "Κλωτσιά στο foo"
290
291 #: ../examples/org.gnome.policykit.examples.policy.in.h:6
212292 msgid "Punch"
213 msgstr ""
214
215 #: ../examples/polkit-gnome-example.policy.in.h:7
293 msgstr "Μπουνιά"
294
295 #: ../examples/org.gnome.policykit.examples.policy.in.h:7
216296 msgid ""
217297 "System policy prevents the PolicyKit-gnome example helper from Frobnicating"
218298 msgstr ""
219
220 #: ../examples/polkit-gnome-example.policy.in.h:8
299 "Η πολιτική του συστήματος εμποδίζει το παράδειγμα βοηθού του PolicyKit-gnome "
300 "να κάνει Frobnicate"
301
302 #: ../examples/org.gnome.policykit.examples.policy.in.h:8
221303 msgid "System policy prevents the PolicyKit-gnome example helper from Jumping"
222304 msgstr ""
223
224 #: ../examples/polkit-gnome-example.policy.in.h:9
305 "Η πολιτική του συστήματος εμποδίζει το παράδειγμα βοηθού του PolicyKit-gnome "
306 "να κάνει Άλμα"
307
308 #: ../examples/org.gnome.policykit.examples.policy.in.h:9
225309 msgid ""
226310 "System policy prevents the PolicyKit-gnome example helper from Kicking bar"
227311 msgstr ""
228
229 #: ../examples/polkit-gnome-example.policy.in.h:10
312 "Η πολιτική του συστήματος εμποδίζει το παράδειγμα βοηθού του PolicyKit-gnome "
313 "να ρίξει Κλωτσιά στο bar"
314
315 #: ../examples/org.gnome.policykit.examples.policy.in.h:10
230316 msgid ""
231317 "System policy prevents the PolicyKit-gnome example helper from Kicking baz"
232318 msgstr ""
233
234 #: ../examples/polkit-gnome-example.policy.in.h:11
319 "Η πολιτική του συστήματος εμποδίζει το παράδειγμα βοηθού του PolicyKit-gnome "
320 "να ρίξει Κλωτσιά στο baz"
321
322 #: ../examples/org.gnome.policykit.examples.policy.in.h:11
235323 msgid ""
236324 "System policy prevents the PolicyKit-gnome example helper from Kicking foo"
237325 msgstr ""
238
239 #: ../examples/polkit-gnome-example.policy.in.h:12
326 "Η πολιτική του συστήματος εμποδίζει το παράδειγμα βοηθού του PolicyKit-gnome "
327 "να ρίξει Κλωτσιά στο foo"
328
329 #: ../examples/org.gnome.policykit.examples.policy.in.h:12
240330 msgid "System policy prevents the PolicyKit-gnome example helper from Punching"
241331 msgstr ""
242
243 #: ../examples/polkit-gnome-example.policy.in.h:13
332 "Η πολιτική του συστήματος εμποδίζει το παράδειγμα βοηθού του PolicyKit-gnome "
333 "να ρίξει Μπουνιά"
334
335 #: ../examples/org.gnome.policykit.examples.policy.in.h:13
244336 msgid "System policy prevents the PolicyKit-gnome example helper from Toggling"
245337 msgstr ""
246
247 #: ../examples/polkit-gnome-example.policy.in.h:14
338 "Η πολιτική του συστήματος εμποδίζει το παράδειγμα βοηθού του PolicyKit-gnome "
339 "να κάνει Εναλλαγή"
340
341 #: ../examples/org.gnome.policykit.examples.policy.in.h:14
248342 msgid "System policy prevents the PolicyKit-gnome example helper from Tweaking"
249343 msgstr ""
250
251 #: ../examples/polkit-gnome-example.policy.in.h:15
344 "Η πολιτική του συστήματος εμποδίζει το παράδειγμα βοηθού του PolicyKit-gnome "
345 "να κάνει Tweak"
346
347 #: ../examples/org.gnome.policykit.examples.policy.in.h:15
252348 msgid ""
253349 "System policy prevents the PolicyKit-gnome example helper from Twiddling"
254350 msgstr ""
255
256 #: ../examples/polkit-gnome-example.policy.in.h:16
351 "Η πολιτική του συστήματος εμποδίζει το παράδειγμα βοηθού του PolicyKit-gnome "
352 "να κάνει Twiddle"
353
354 #: ../examples/org.gnome.policykit.examples.policy.in.h:16
257355 msgid "Toggle"
258356 msgstr "Εναλλαγή"
259357
260 #: ../examples/polkit-gnome-example.policy.in.h:18
358 #: ../examples/org.gnome.policykit.examples.policy.in.h:18
261359 msgid "Twiddle"
262 msgstr ""
360 msgstr "Twiddle"
263361
264362 #: ../polkit-gnome/polkit-gnome-toggle-action.c:400
265363 #: ../polkit-gnome/polkit-gnome-toggle-action.c:401
266364 msgid "Authenticating..."
267 msgstr ""
365 msgstr "Πιστοποίηση..."
268366
269367 #: ../src/main.c:139
270368 msgid "Don't exit after 30 seconds of inactivity"
271 msgstr ""
272
273 #: ../src/main.c:148
369 msgstr "Να μη γίνει έξοδος μετά από 30 δευτερόλεπτα αδράνειας"
370
371 #: ../src/main.c:154
274372 msgid "PolicyKit GNOME session daemon"
275 msgstr ""
276
277 #: ../src/main.c:174
373 msgstr "Δαίμονας συνεδρίας του PolicyKit GNOME"
374
375 #: ../src/main.c:180
278376 #, c-format
279377 msgid "Starting PolicyKit GNOME session daemon version %s"
280 msgstr ""
378 msgstr "Εκκίνηση του δαίμονα συνεδρίας του PolicyKit GNOME, έκδοση %s"
281379
282380 #: ../src/polkit-gnome-auth-dialog.c:190
283 #: ../tools/polkit-gnome-authorization.c:649
381 #: ../tools/polkit-gnome-authorization.c:653
284382 msgid "Select user..."
285 msgstr "Επιλέξτε χρήστη"
383 msgstr "Επιλογή χρήστη..."
286384
287385 #: ../src/polkit-gnome-auth-dialog.c:211
288 #: ../tools/polkit-gnome-authorization.c:665
386 #: ../tools/polkit-gnome-authorization.c:672
289387 #, c-format
290388 msgid "%s (%s)"
291389 msgstr "%s (%s)"
296394
297395 #: ../src/polkit-gnome-auth-dialog.c:298
298396 msgid "_Remember authorization"
299 msgstr "Απο_μνημόνευση εξουσιοδότησης"
397 msgstr "Απ_ομνημόνευση εξουσιοδότησης"
300398
301399 #: ../src/polkit-gnome-auth-dialog.c:313
302 #, fuzzy
303400 msgid ""
304401 "An application is attempting to perform an action that requires privileges. "
305402 "Authentication as one of the users below is required to perform this action."
306403 msgstr ""
307 "Μια εφαρμογή προσπαθεί να εκτελέσει μια ενέργεια η οποία απαιτεί προνόμια. "
308 "Για να εκτελεστεί η ενέργεια πρέπει να πιστοποιήσετε παρακάτω ότι είστε ένας "
309 "από τους χρήστες του συστήματος."
404 "Μια εφαρμογή προσπαθεί να εκτελέσει ενέργεια που απαιτεί προνόμια. "
405 "Απαιτείται πιστοποίηση ενός από τους παρακάτω χρήστες για την εκτέλεση της "
406 "ενέργειας."
310407
311408 #: ../src/polkit-gnome-auth-dialog.c:320
312 #, fuzzy
313409 msgid ""
314410 "An application is attempting to perform an action that requires privileges. "
315411 "Authentication as the super user is required to perform this action."
316412 msgstr ""
317 "Μια εφαρμογή προσπαθεί να εκτελέσει μια ενέργεια η οποία απαιτεί προνόμια. "
318 "Για να εκτελεστεί η ενέργεια πρέπει να πιστοποιήσετε ότι είστε ο υπερχρήστης "
319 "του συστήματος."
413 "Μια εφαρμογή προσπαθεί να εκτελέσει ενέργεια που απαιτεί προνόμια. "
414 "Απαιτείται πιστοποίηση υπερχρήστη για την εκτέλεση της ενέργειας."
320415
321416 #: ../src/polkit-gnome-auth-dialog.c:324
322 #, fuzzy
323417 msgid ""
324418 "An application is attempting to perform an action that requires privileges. "
325419 "Authentication is required to perform this action."
326420 msgstr ""
327 "Μια εφαρμογή προσπαθεί να εκτελέσει μια ενέργεια η οποία απαιτεί προνόμια. "
421 "Μια εφαρμογή προσπαθεί να εκτελέσει ενέργεια που απαιτεί προνόμια. "
328422 "Απαιτείται πιστοποίηση για την εκτέλεση της ενέργειας."
329423
330 #: ../src/polkit-gnome-auth-dialog.c:348
424 #: ../src/polkit-gnome-auth-dialog.c:405
331425 #, c-format
332426 msgid "Click to edit %s"
333427 msgstr "Κάντε κλικ για να επεξεργαστείτε το %s"
334428
335 #: ../src/polkit-gnome-auth-dialog.c:371
336 #: ../tools/polkit-gnome-authorization.c:1391
429 #: ../src/polkit-gnome-auth-dialog.c:430
430 #: ../tools/polkit-gnome-authorization.c:1400
337431 #, c-format
338432 msgid "Click to open %s"
339433 msgstr "Κάντε κλικ για να ανοίξετε το %s"
340434
341 #: ../src/polkit-gnome-auth-dialog.c:600
342 #, fuzzy
435 #: ../src/polkit-gnome-auth-dialog.c:667
343436 msgid "_Authenticate"
344437 msgstr "_Πιστοποίηση"
345438
346 #: ../src/polkit-gnome-auth-dialog.c:659 ../src/polkit-gnome-manager.c:680
347 #: ../src/polkit-gnome-manager.c:729
439 #: ../src/polkit-gnome-auth-dialog.c:726 ../src/polkit-gnome-manager.c:686
440 #: ../src/polkit-gnome-manager.c:735
348441 msgid "_Password:"
349 msgstr "_Κωδικός:"
350
351 #: ../src/polkit-gnome-auth-dialog.c:681
442 msgstr "_Συνθηματικό:"
443
444 #: ../src/polkit-gnome-auth-dialog.c:748
352445 msgid "For this _session only"
353446 msgstr "Μόνο για αυτήν τη _συνεδρία"
354447
355 #: ../src/polkit-gnome-auth-dialog.c:689
448 #: ../src/polkit-gnome-auth-dialog.c:756
356449 msgid "<small><b>_Details</b></small>"
357450 msgstr "<small><b>_Λεπτομέρειες</b></small>"
358451
359 #: ../src/polkit-gnome-auth-dialog.c:710
452 #: ../src/polkit-gnome-auth-dialog.c:777
360453 msgid "<small><b>Application:</b></small>"
361454 msgstr "<small><b>Εφαρμογή:</b></small>"
362455
363 #: ../src/polkit-gnome-auth-dialog.c:714
456 #: ../src/polkit-gnome-auth-dialog.c:781
364457 msgid "<small><b>Action:</b></small>"
365458 msgstr "<small><b>Ενέργεια:</b></small>"
366459
367 #: ../src/polkit-gnome-auth-dialog.c:719
460 #: ../src/polkit-gnome-auth-dialog.c:786
368461 msgid "<small><b>Vendor:</b></small>"
369462 msgstr "<small><b>Διανομέας:</b></small>"
370463
371 #: ../src/polkit-gnome-auth-dialog.c:848
464 #: ../src/polkit-gnome-auth-dialog.c:915
372465 msgid "Authenticate"
373466 msgstr "Πιστοποίηση"
374467
375 #: ../src/polkit-gnome-manager.c:724
468 #: ../src/polkit-gnome-manager.c:367
469 msgid "(unknown"
470 msgstr "(άγνωστο)"
471
472 #: ../src/polkit-gnome-manager.c:730
376473 #, c-format
377474 msgid "_Password for %s:"
378 msgstr "_Κωδικός για το %s:"
379
380 #: ../src/polkit-gnome-manager.c:726
475 msgstr "_Συνθηματικό %s:"
476
477 #: ../src/polkit-gnome-manager.c:732
381478 msgid "_Password for root:"
382 msgstr "_Κωδικός για υπερχρήστη:"
383
384 #: ../src/polkit-gnome-manager.c:734
479 msgstr "_Συνθηματικό root:"
480
481 #: ../src/polkit-gnome-manager.c:740
385482 #, c-format
386483 msgid "_Password or swipe finger for %s:"
387 msgstr ""
388
389 #: ../src/polkit-gnome-manager.c:737
484 msgstr "_Συνθηματικό ή δακτυλικό αποτύπωμα %s:"
485
486 #: ../src/polkit-gnome-manager.c:743
390487 msgid "_Password or swipe finger for root:"
391 msgstr ""
392
393 #: ../src/polkit-gnome-manager.c:740
488 msgstr "_Συνθηματικό ή δακτυλικό αποτύπωμα root:"
489
490 #: ../src/polkit-gnome-manager.c:746
394491 msgid "_Password or swipe finger:"
395 msgstr ""
492 msgstr "_Συνθηματικό ή δακτυλικό αποτύπωμα:"
396493
397494 #: ../tools/polkit-gnome-authorization.c:117
398495 msgid "No"
399496 msgstr "Όχι"
400497
401498 #: ../tools/polkit-gnome-authorization.c:119
402 #, fuzzy
403499 msgid "Admin Authentication (one shot)"
404 msgstr "Πιστοποίηση διαχειριστή (μια φορά)"
500 msgstr "Πιστοποίηση διαχειριστή (μιας χρήσης)"
405501
406502 #: ../tools/polkit-gnome-authorization.c:120
407503 msgid "Admin Authentication"
409505
410506 #: ../tools/polkit-gnome-authorization.c:121
411507 msgid "Admin Authentication (keep session)"
412 msgstr "Πιστοποίηση διαχειριστή (διατήρηση συνεδρίας)"
508 msgstr "Πιστοποίηση διαχειριστή (για τη συνεδρία)"
413509
414510 #: ../tools/polkit-gnome-authorization.c:122
415511 msgid "Admin Authentication (keep indefinitely)"
416 msgstr "Πιστοποίηση διαχειριστή (οριστική διατήρηση)"
512 msgstr "Πιστοποίηση διαχειριστή (επ' αόριστον)"
417513
418514 #: ../tools/polkit-gnome-authorization.c:124
419 #, fuzzy
420515 msgid "Authentication (one shot)"
421 msgstr "Πιστοποίηση (μια φορά)"
516 msgstr "Πιστοποίηση (μιας χρήσης)"
422517
423518 #: ../tools/polkit-gnome-authorization.c:125
424519 msgid "Authentication"
426521
427522 #: ../tools/polkit-gnome-authorization.c:126
428523 msgid "Authentication (keep session)"
429 msgstr "Πιστοποίηση (διατήρηση συνεδρίας)"
524 msgstr "Πιστοποίηση (για τη συνεδρία)"
430525
431526 #: ../tools/polkit-gnome-authorization.c:127
432 #, fuzzy
433527 msgid "Authentication (keep indefinitely)"
434 msgstr "Πιστοποίηση (οριστική διατήρηση)"
528 msgstr "Πιστοποίηση (επ' αόριστον)"
435529
436530 #: ../tools/polkit-gnome-authorization.c:129
437531 msgid "Yes"
443537
444538 #: ../tools/polkit-gnome-authorization.c:276
445539 msgid "Must be on console"
446 msgstr "Πρέπει να βρίσκεται σε κονσόλα"
540 msgstr "Να βρίσκεται σε κονσόλα"
447541
448542 #: ../tools/polkit-gnome-authorization.c:279
449 #, fuzzy
450543 msgid "Must be in active session"
451 msgstr "Πρέπει να βρίσκεται στην ενεργή συνεδρία"
544 msgstr "Να βρίσκεται σε ενεργή συνεδρία"
452545
453546 #: ../tools/polkit-gnome-authorization.c:282
454 #, fuzzy, c-format
547 #, c-format
455548 msgid "Must be program %s"
456 msgstr "Πρέπει να βρίσκεται σε κονσόλα"
549 msgstr "Να είναι το πρόγραμμα %s"
457550
458551 #: ../tools/polkit-gnome-authorization.c:286
459552 #, c-format
460553 msgid "Must be SELinux Context %s"
461 msgstr ""
554 msgstr "Να βρίσκεται σε περιβάλλον SELinux %s"
462555
463556 #: ../tools/polkit-gnome-authorization.c:344
464 #, fuzzy
465557 msgid "A moment ago"
466 msgstr "Μια στιγμή πριν"
558 msgstr "Μόλις τώρα"
467559
468560 #: ../tools/polkit-gnome-authorization.c:348
469561 msgid "1 minute ago"
492584 msgid "%d days ago"
493585 msgstr "%d ημέρες πριν"
494586
495 #: ../tools/polkit-gnome-authorization.c:379
587 #: ../tools/polkit-gnome-authorization.c:383
496588 #, c-format
497589 msgid "Auth as %s (uid %d)"
498 msgstr ""
499
500 #: ../tools/polkit-gnome-authorization.c:381
590 msgstr "Πιστοποίηση ως %s (uid %d)"
591
592 #: ../tools/polkit-gnome-authorization.c:385
501593 #, c-format
502594 msgid "Auth as uid %d"
503 msgstr ""
504
505 #: ../tools/polkit-gnome-authorization.c:387
595 msgstr "Πιστοποίηση ως uid %d"
596
597 #: ../tools/polkit-gnome-authorization.c:391
506598 #, c-format
507599 msgid "Blocked by %s (uid %d)"
508 msgstr ""
509
510 #: ../tools/polkit-gnome-authorization.c:389
600 msgstr "Φραγή από %s (uid %d)"
601
602 #: ../tools/polkit-gnome-authorization.c:393
511603 #, c-format
512604 msgid "Blocked by uid %d"
513 msgstr ""
514
515 #: ../tools/polkit-gnome-authorization.c:392
605 msgstr "Φραγή από uid %d"
606
607 #: ../tools/polkit-gnome-authorization.c:396
516608 #, c-format
517609 msgid "Granted by %s (uid %d)"
518 msgstr ""
519
520 #: ../tools/polkit-gnome-authorization.c:394
610 msgstr "Χορήγηση από %s (uid %d)"
611
612 #: ../tools/polkit-gnome-authorization.c:398
521613 #, c-format
522614 msgid "Granted by uid %d"
523 msgstr ""
524
525 #: ../tools/polkit-gnome-authorization.c:409
615 msgstr "Χορήγηση από uid %d"
616
617 #: ../tools/polkit-gnome-authorization.c:413
526618 #, c-format
527619 msgid "Single shot pid %d (%s)"
528 msgstr ""
529
530 #: ../tools/polkit-gnome-authorization.c:415
620 msgstr "pid μιας χρήσης %d (%s)"
621
622 #: ../tools/polkit-gnome-authorization.c:419
531623 #, c-format
532624 msgid "pid %d (%s)"
533 msgstr ""
534
535 #: ../tools/polkit-gnome-authorization.c:418
625 msgstr "pid %d (%s)"
626
627 #: ../tools/polkit-gnome-authorization.c:422
536628 msgid "This session"
537 msgstr "Σε αυτήν τη συνεδρία"
538
539 #: ../tools/polkit-gnome-authorization.c:421
629 msgstr "Για αυτήν τη συνεδρία"
630
631 #: ../tools/polkit-gnome-authorization.c:425
540632 msgid "Always"
541633 msgstr "Πάντα"
542634
543 #: ../tools/polkit-gnome-authorization.c:431
635 #: ../tools/polkit-gnome-authorization.c:435
544636 msgid "None"
545 msgstr "Κανένα"
546
547 #: ../tools/polkit-gnome-authorization.c:827
637 msgstr "Ποτέ"
638
639 #: ../tools/polkit-gnome-authorization.c:836
548640 msgid "Grant Negative Authorization"
549 msgstr ""
550
551 #: ../tools/polkit-gnome-authorization.c:827
641 msgstr "Χορήγηση αρνητικής εξουσιοδότησης"
642
643 #: ../tools/polkit-gnome-authorization.c:836
552644 msgid "Grant Authorization"
553645 msgstr "Χορήγηση εξουσιοδότησης"
554646
555 #: ../tools/polkit-gnome-authorization.c:850
647 #: ../tools/polkit-gnome-authorization.c:859
556648 #, c-format
557649 msgid ""
558650 "<b><big>Granting a negative authorization for the <i>%s</i> action requires "
559651 "more information</big></b>"
560652 msgstr ""
561 "<b><big>Η χορήγηση αρνητικής εξουσιοδότησης για την ενέργεια <i>%s</i> "
562 "απαιτεί περισσότερες πληροφορίες</big></b>"
563
564 #: ../tools/polkit-gnome-authorization.c:851
653 "<b><big>Η χορήγηση αρνητικής εξουσιοδότησης στην ενέργεια <i>%s</i> απαιτεί "
654 "περισσότερες πληροφορίες</big></b>"
655
656 #: ../tools/polkit-gnome-authorization.c:860
565657 #, c-format
566658 msgid ""
567659 "<b><big>Granting an authorization for the <i>%s</i> action requires more "
568660 "information</big></b>"
569661 msgstr ""
570 "<b><big>Η χορήγηση εξουσιοδότησης για την ενέργεια <i>%s</i> απαιτεί "
662 "<b><big>Η χορήγηση εξουσιοδότησης στην ενέργεια <i>%s</i> απαιτεί "
571663 "περισσότερες πληροφορίες</big></b>"
572664
573 #: ../tools/polkit-gnome-authorization.c:862
574 #, fuzzy
665 #: ../tools/polkit-gnome-authorization.c:871
575666 msgid ""
576667 "Select the user to block for the action and, optionally, any constraints on "
577668 "the negative authorization that you are about to grant."
578669 msgstr ""
579 "Επιλέξτε το χρήστη για τον οποίο επιθυμείτε να γίνει η φραγή για την "
580 "ενέργεια και, προαιρετικά, οποιουσδήποτε περιορισμούς κατά την αρνητική "
581 "εξουσιοδότηση που πρόκειται να χορηγήσετε."
582
583 #: ../tools/polkit-gnome-authorization.c:864
670 "Επιλέξτε το χρήστη για τον οποίο επιθυμείτε να ισχύει φραγή για αυτήν την "
671 "ενέργεια και, προαιρετικά, περιορισμούς για την αρνητική εξουσιοδότηση που "
672 "πρόκειται να χορηγήσετε."
673
674 #: ../tools/polkit-gnome-authorization.c:873
584675 msgid ""
585676 "Select the beneficiary and, optionally, how to constrain the authorization "
586677 "that you are about to grant."
587678 msgstr ""
588
589 #: ../tools/polkit-gnome-authorization.c:875
679 "Επιλέξτε τον δικαιούχο και, προαιρετικά, περιορισμούς για την εξουσιοδότηση "
680 "που πρόκειται να χορηγήσετε."
681
682 #: ../tools/polkit-gnome-authorization.c:884
590683 msgid "<b>Beneficiary</b>"
591 msgstr ""
592
593 #: ../tools/polkit-gnome-authorization.c:887
684 msgstr "<b>Δικαιούχος</b>"
685
686 #: ../tools/polkit-gnome-authorization.c:896
594687 msgid "Select the user that will receive the negative authorization."
595 msgstr "Επιλέξτε το χρήστη που θα παραλάβει την αρνητική εξουσιοδότηση."
596
597 #: ../tools/polkit-gnome-authorization.c:889
688 msgstr "Επιλέξτε το χρήστη για τον οποίο θα ισχύει η αρνητική εξουσιοδότηση."
689
690 #: ../tools/polkit-gnome-authorization.c:898
598691 msgid "Select the user that will receive the authorization."
599 msgstr "Επιλέξτε το χρήστη που θα παραλάβει την εξουσιοδότηση."
600
601 #: ../tools/polkit-gnome-authorization.c:898
692 msgstr "Επιλέξτε το χρήστη για τον οποίο θα ισχύει η εξουσιοδότηση."
693
694 #: ../tools/polkit-gnome-authorization.c:907
602695 msgid "_Show system users"
603 msgstr "_Εμφάνιση των χρηστών του συστήματος"
604
605 #: ../tools/polkit-gnome-authorization.c:913
696 msgstr "Ε_μφάνιση χρηστών συστήματος"
697
698 #: ../tools/polkit-gnome-authorization.c:922
606699 msgid "<b>Constraints</b>"
607700 msgstr "<b>Περιορισμοί</b>"
608701
609 #: ../tools/polkit-gnome-authorization.c:924
702 #: ../tools/polkit-gnome-authorization.c:933
610703 msgid ""
611704 "Constraints limits the authorization such that it only applies under certain "
612705 "circumstances."
613706 msgstr ""
614
615 #: ../tools/polkit-gnome-authorization.c:930
707 "Οι περιορισμοί σημαίνουν ότι η εξουσιοδότηση θα ισχύει μόνο υπό ορισμένες "
708 "συνθήκες."
709
710 #: ../tools/polkit-gnome-authorization.c:939
616711 msgid "_None"
617 msgstr "_Κανένα"
618
619 #: ../tools/polkit-gnome-authorization.c:932
712 msgstr "_Καθόλου"
713
714 #: ../tools/polkit-gnome-authorization.c:941
620715 msgid "Must be _in active session"
621 msgstr "Πρέπει να βρίσκεται _σε ενεργή συνεδρία"
622
623 #: ../tools/polkit-gnome-authorization.c:934
716 msgstr "Να βρίσκεται σε _ενεργή συνεδρία"
717
718 #: ../tools/polkit-gnome-authorization.c:943
624719 msgid "Must be on _local console"
625 msgstr "Πρέπει να βρίσκεται σε _τοπική κονσόλα"
626
627 #: ../tools/polkit-gnome-authorization.c:936
628 #, fuzzy
720 msgstr "Να βρίσκεται σε _τοπική κονσόλα"
721
722 #: ../tools/polkit-gnome-authorization.c:945
629723 msgid "Must be in _active session on local console"
630 msgstr "Πρέπει να βρίσκεται σε _ενεργή συνεδρία και στην τοπική κονσόλα"
631
632 #: ../tools/polkit-gnome-authorization.c:957
633 #: ../tools/polkit-gnome-authorization.c:2133
724 msgstr "Να βρίσκεται _σε ενεργή συνεδρία και σε τοπική κονσόλα"
725
726 #: ../tools/polkit-gnome-authorization.c:966
727 #: ../tools/polkit-gnome-authorization.c:2142
634728 msgid "_Block..."
635729 msgstr "_Φραγή..."
636730
637 #: ../tools/polkit-gnome-authorization.c:961
638 #: ../tools/polkit-gnome-authorization.c:2126
731 #: ../tools/polkit-gnome-authorization.c:970
732 #: ../tools/polkit-gnome-authorization.c:2135
639733 msgid "_Grant..."
640734 msgstr "_Χορήγηση..."
641735
642 #: ../tools/polkit-gnome-authorization.c:1155
736 #: ../tools/polkit-gnome-authorization.c:1164
643737 msgid "Edit Implicit Authorizations"
644 msgstr "Επεξεργασία αυτονόητων εξουσιοδοτήσεων"
645
646 #: ../tools/polkit-gnome-authorization.c:1176
738 msgstr "Επεξεργασία σιωπηρών εξουσιοδοτήσεων"
739
740 #: ../tools/polkit-gnome-authorization.c:1185
647741 msgid "<b><big>Choose new implicit authorizations</big></b>"
648 msgstr "b><big>Επιλέξτε καινούριες αυτονόητες εξουσιοδοτήσεις</big></b>"
649
650 #: ../tools/polkit-gnome-authorization.c:1190
742 msgstr "<b><big>Επιλέξτε καινούριες σιωπηρές εξουσιοδοτήσεις</big></b>"
743
744 #: ../tools/polkit-gnome-authorization.c:1199
651745 #, c-format
652746 msgid ""
653747 "Implicit authorizations are authorizations that are granted automatically to "
654748 "users under certain circumstances. Choose what is required for the action <i>"
655749 "%s</i>."
656750 msgstr ""
657
658 #: ../tools/polkit-gnome-authorization.c:1215
659 #: ../tools/polkit-gnome-authorization.c:1974
751 "Οι σιωπηρές εξουσιοδοτήσεις είναι εξουσιοδοτήσεις που δίνονται αυτόματα "
752 "στους χρήστες υπό ορισμένες συνθήκες. Επιλέξτε τις προϋποθέσεις για την "
753 "ενέργεια <i>%s</i>."
754
755 #: ../tools/polkit-gnome-authorization.c:1224
756 #: ../tools/polkit-gnome-authorization.c:1983
660757 msgid "<i>Anyone:</i>"
661 msgstr ""
662
663 #: ../tools/polkit-gnome-authorization.c:1222
664 #: ../tools/polkit-gnome-authorization.c:1978
758 msgstr "<i>Οποιοσδήποτε</i>"
759
760 #: ../tools/polkit-gnome-authorization.c:1231
761 #: ../tools/polkit-gnome-authorization.c:1987
665762 msgid "<i>Console:</i>"
666763 msgstr "<i>Κονσόλα:</i>"
667764
668 #: ../tools/polkit-gnome-authorization.c:1229
669 #: ../tools/polkit-gnome-authorization.c:1982
765 #: ../tools/polkit-gnome-authorization.c:1238
766 #: ../tools/polkit-gnome-authorization.c:1991
670767 msgid "<i>Active Console:</i>"
671768 msgstr "<i>Ενεργή κονσόλα:</i>"
672769
673 #: ../tools/polkit-gnome-authorization.c:1258
770 #: ../tools/polkit-gnome-authorization.c:1267
674771 msgid "_Modify..."
675772 msgstr "_Τροποποίηση..."
676773
677 #: ../tools/polkit-gnome-authorization.c:1890
774 #: ../tools/polkit-gnome-authorization.c:1899
678775 msgid "<b>Action</b>"
679776 msgstr "<b>Ενέργεια</b>"
680777
681 #: ../tools/polkit-gnome-authorization.c:1905
778 #: ../tools/polkit-gnome-authorization.c:1914
682779 msgid "<i>Identifier:</i>"
683780 msgstr "<i>Αναγνωριστικό:</i>"
684781
685 #: ../tools/polkit-gnome-authorization.c:1915
782 #: ../tools/polkit-gnome-authorization.c:1924
686783 msgid "<i>Description:</i>"
687784 msgstr "<i>Περιγραφή:</i>"
688785
689 #: ../tools/polkit-gnome-authorization.c:1925
786 #: ../tools/polkit-gnome-authorization.c:1934
690787 msgid "<i>Vendor:</i>"
691788 msgstr "<i>Διανομέας:</i>"
692789
693 #: ../tools/polkit-gnome-authorization.c:1951
790 #: ../tools/polkit-gnome-authorization.c:1960
694791 msgid "<b>Implicit Authorizations</b>"
695 msgstr "<b>Αυτονόητες εξουσιοδοτήσεις</b>"
696
697 #: ../tools/polkit-gnome-authorization.c:1959
698 #, fuzzy
792 msgstr "<b>Σιωπηρές εξουσιοδοτήσεις</b>"
793
794 #: ../tools/polkit-gnome-authorization.c:1968
699795 msgid ""
700796 "Implicit authorizations are authorizations automatically given to users "
701797 "based on certain criteria such as if they are on the local console."
702798 msgstr ""
703 "Οι αυτονόητες εξουσιοδοτήσεις είναι εξουσιοδοτήσεις που δίνονται αυτόματα σε "
704 "χρήστες που πληρούν συγκεκριμένα κριτήρια όπως εάν αυτοί είναι σε τοπική "
705 "κονσόλα."
706
707 #: ../tools/polkit-gnome-authorization.c:2002
799 "Οι σιωπηρές εξουσιοδοτήσεις είναι εξουσιοδοτήσεις που δίνονται αυτόματα σε "
800 "χρήστες που πληρούν συγκεκριμένα κριτήρια, π.χ. βρίσκονται σε τοπική κονσόλα."
801
802 #: ../tools/polkit-gnome-authorization.c:2011
708803 msgid "_Edit..."
709 msgstr "_Επεξεργασία…"
710
711 #: ../tools/polkit-gnome-authorization.c:2009
804 msgstr "Ε_πεξεργασία…"
805
806 #: ../tools/polkit-gnome-authorization.c:2018
712807 msgid "Revert To _Defaults..."
713 msgstr "Επαναφορά στις __προεπιλογές..."
714
715 #: ../tools/polkit-gnome-authorization.c:2032
808 msgstr "Επ_αναφορά προεπιλογών..."
809
810 #: ../tools/polkit-gnome-authorization.c:2041
716811 msgid "<b>Explicit Authorizations</b>"
717812 msgstr "<b>Ρητές εξουσιοδοτήσεις</b>"
718813
719 #: ../tools/polkit-gnome-authorization.c:2043
720 #, fuzzy
814 #: ../tools/polkit-gnome-authorization.c:2052
721815 msgid ""
722816 "This list displays authorizations that are either obtained through "
723817 "authentication or specifically given to the entity in question. Blocked "
724818 "authorizations are marked with a STOP sign."
725819 msgstr ""
726 "Η λίστα αυτή εμφανίζει εξουσιοδοτήσεις οι οποίες είτε λήφθηκαν μέσω "
727 "πιστοποίησης είτε δόθηκαν ειδικά στο εν λόγω πρόσωπο. Οι φραγμένες "
728 "εξουσιοδοτήσεις σημειώνονται με το σύμβολο STOP."
729
730 #: ../tools/polkit-gnome-authorization.c:2073
820 "Η λίστα αυτή εμφανίζει εξουσιοδοτήσεις οι οποίες είτε ελήφθησαν μέσω "
821 "πιστοποίησης είτε χορηγήθηκαν συγκεκριμένα στον εν λόγω χρήστη/ομάδα. Οι "
822 "φραγμένες εξουσιοδοτήσεις σημειώνονται με το σύμβολο STOP."
823
824 #: ../tools/polkit-gnome-authorization.c:2082
731825 msgid "Entity"
732 msgstr "Οντότητα"
733
734 #: ../tools/polkit-gnome-authorization.c:2081
826 msgstr "Όνομα"
827
828 #: ../tools/polkit-gnome-authorization.c:2090
735829 msgid "Scope"
736 msgstr ""
737
738 #: ../tools/polkit-gnome-authorization.c:2089
830 msgstr "Εμβέλεια"
831
832 #: ../tools/polkit-gnome-authorization.c:2098
739833 msgid "Obtained"
740 msgstr "Έχει ληφθεί"
741
742 #: ../tools/polkit-gnome-authorization.c:2097
834 msgstr "Χρόνος λήψης"
835
836 #: ../tools/polkit-gnome-authorization.c:2106
743837 msgid "How"
744 msgstr "Πως"
745
746 #: ../tools/polkit-gnome-authorization.c:2105
838 msgstr "Τρόπος λήψης"
839
840 #: ../tools/polkit-gnome-authorization.c:2114
747841 msgid "Constraints"
748 msgstr ""
749
750 #: ../tools/polkit-gnome-authorization.c:2147
751 #: ../tools/polkit-gnome-authorization.c:2161
842 msgstr "Περιορισμοί"
843
844 #: ../tools/polkit-gnome-authorization.c:2156
845 #: ../tools/polkit-gnome-authorization.c:2170
752846 msgid "_Revoke"
753847 msgstr "Α_νάκληση"
754848
755 #: ../tools/polkit-gnome-authorization.c:2154
849 #: ../tools/polkit-gnome-authorization.c:2163
756850 msgid "_Revoke..."
757851 msgstr "Α_νάκληση..."
758852
759 #: ../tools/polkit-gnome-authorization.c:2174
853 #: ../tools/polkit-gnome-authorization.c:2183
760854 msgid "_Show authorizations from all users..."
761 msgstr "_Εμφανιση πιστοποιήσεων από όλους τους χρήστες..."
762
763 #: ../tools/polkit-gnome-authorization.c:2175
855 msgstr "_Εμφανιση πιστοποιήσεων για όλους τους χρήστες..."
856
857 #: ../tools/polkit-gnome-authorization.c:2184
764858 msgid "_Show authorizations from all users"
765 msgstr "_Εμφανιση πιστοποιήσεων από όλους τους χρήστες"
766
767 #: ../tools/polkit-gnome-authorization.c:2413
859 msgstr "_Εμφανιση πιστοποιήσεων για όλους τους χρήστες"
860
861 #: ../tools/polkit-gnome-authorization.c:2426
768862 msgid "Select an action"
769 msgstr "Επιλέξτε μία ενέργεια"
863 msgstr "Επιλέξτε ενέργεια"
00 # translation of policykit-gnome.HEAD.po to Español
1 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
2 # This file is distributed under the same license as the PACKAGE package.
1 # Copyright (C) 2007, 2008
2 # This file is distributed under the same license as the PolicyKit-gnome package.
33 #
44 # Jorge González <jorgegonz@svn.gnome.org>, 2008.
5 # Juanje Ojeda <jojeda@emergya.es>, 2008.
56 msgid ""
67 msgstr ""
78 "Project-Id-Version: policykit-gnome.HEAD\n"
89 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2008-05-12 18:35+0000\n"
10 "POT-Creation-Date: 2008-08-26 02:54+0200\n"
1011 "PO-Revision-Date: 2008-05-25 12:33+0200\n"
11 "Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n"
12 "Last-Translator: Juanje Ojeda <jojeda@emergya.es>\n"
1213 "Language-Team: Español <gnome-es-list@gnome.org>\n"
1314 "MIME-Version: 1.0\n"
1415 "Content-Type: text/plain; charset=UTF-8\n"
2728
2829 #: ../data/polkit-gnome.schemas.in.h:1
2930 msgid ""
31 "A list of PolicyKit action where the \"retain authorization\" checkbox isn't "
32 "checked by default; this list is maintained by the authentication dialog "
33 "code itself. For example, if a user unchecks the \"retain authorization\" "
34 "check box for an action and successfully obtains an authorization for the "
35 "action, the action will be added to this list."
36 msgstr ""
37
38 #: ../data/polkit-gnome.schemas.in.h:2
39 msgid ""
40 "A list of actions where the \"retain authorization\" checkbox isn't checked "
41 "by default"
42 msgstr ""
43 "Lista de acciones en las que la opción «guardar autorización» no está "
44 "seleccionada de forma predeterminada"
45
46 #: ../data/polkit-gnome.schemas.in.h:3
47 msgid ""
3048 "If set to true, the authentication dialog from PolicyKit-gnome will grab the "
3149 "keyboard, so that you will not be able to type in other programs while the "
3250 "dialog is active. Use this if your window manager does not focus the "
3452 "typing passwords in other programs."
3553 msgstr ""
3654
37 #: ../data/polkit-gnome.schemas.in.h:2
55 #: ../data/polkit-gnome.schemas.in.h:4
56 msgid ""
57 "If set to true, then \"retain authorization\" check box (if present) is "
58 "checked by default in the authentication dialog unless the action is "
59 "mentioned in the \"/desktop/gnome/policykit/"
60 "auth_dialog_retain_authorization_blacklist\" key."
61 msgstr ""
62
63 #: ../data/polkit-gnome.schemas.in.h:5
3864 msgid "Whether the authentication dialog should grab the keyboard"
39 msgstr "Indica si el diálogo de autenticación debería obtener el teclado"
65 msgstr "Indica si el diálogo de autenticación debería apoderarse del teclado"
66
67 #: ../data/polkit-gnome.schemas.in.h:6
68 msgid "Whether the retain authorization check box is checked by default"
69 msgstr ""
70 "Indica si la opción de guardar la autorización debería estar seleccionada de "
71 "forma predeterminada"
4072
4173 #: ../examples/polkit-gnome-example.c:137
4274 msgid "Copyright © 2007 David Zeuthen"
95127 "Making the helper <b>Frobnicate</b> requires the user to authenticate. The "
96128 "authorization is kept for the life time of the process"
97129 msgstr ""
130 "Hacer que la acción <b>Modificar</b> necesite que el usuario se autentique. "
131 "La autorización se guardará mientras dure la acción"
98132
99133 #: ../examples/polkit-gnome-example.c:252
100134 msgid "Frobnicate!"
101 msgstr ""
135 msgstr "Frobnicate"
102136
103137 #: ../examples/polkit-gnome-example.c:267
104138 msgid ""
105139 "Making the helper <b>Jump</b> requires the user to authenticate. This is a "
106140 "one-shot authorization."
107141 msgstr ""
142 "Hacer que la acción <b>Salta</b> necesite que el usuario se autentique. Esto "
143 "es una autorización de una sola vez."
108144
109145 #: ../examples/polkit-gnome-example.c:275
110146 msgid "Jump!"
111 msgstr "Saltar"
147 msgstr "Salta"
112148
113149 #: ../examples/polkit-gnome-example.c:290
114150 msgid ""
120156 #: ../examples/polkit-gnome-example.c:299
121157 #: ../examples/polkit-gnome-example.c:320
122158 msgid "Tweak!"
123 msgstr ""
159 msgstr "Ajusta"
124160
125161 #: ../examples/polkit-gnome-example.c:306
126162 #: ../examples/org.gnome.policykit.examples.policy.in.h:17
127163 msgid "Tweak"
128 msgstr ""
164 msgstr "Ajustar"
129165
130166 #: ../examples/polkit-gnome-example.c:307
131167 msgid "Tweak (long)"
132 msgstr ""
168 msgstr "Ajusta (largo)"
133169
134170 #: ../examples/polkit-gnome-example.c:308
135171 msgid "If your admin wasn't annoying, you could do this"
136172 msgstr ""
173 "Si su administrador no le estuviera molestando, podría realizar esta acción"
137174
138175 #: ../examples/polkit-gnome-example.c:313
139176 msgid "Tweak..."
140 msgstr ""
177 msgstr "Ajustar..."
141178
142179 #: ../examples/polkit-gnome-example.c:314
143180 msgid "Tweak... (long)"
144 msgstr ""
181 msgstr "Ajustar... (largo)"
145182
146183 #: ../examples/polkit-gnome-example.c:315
147184 msgid "Only card carrying tweakers can do this!"
149186
150187 #: ../examples/polkit-gnome-example.c:321
151188 msgid "Tweak! (long)"
152 msgstr ""
189 msgstr "Ajusta (largo)"
153190
154191 #: ../examples/polkit-gnome-example.c:322
155192 msgid "Go ahead, tweak tweak tweak!"
156 msgstr ""
193 msgstr "¡Adelante, ajusta, ajusta, ajusta!"
157194
158195 #: ../examples/polkit-gnome-example.c:339
159196 msgid ""
175212
176213 #: ../examples/polkit-gnome-example.c:372
177214 msgid "Punch!"
178 msgstr ""
215 msgstr "Golpea"
179216
180217 #: ../examples/polkit-gnome-example.c:387
181218 msgid ""
199236 "<i>Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets "
200237 "update in real-time.</i>."
201238 msgstr ""
202 "<i>Consejo: intente editar /etc/PolicyKit/Policy.conf y vea las actualizaciones de los "
203 "widgets del proxy en tiempo real.</i>"
239 "<i>Consejo: intente editar /etc/PolicyKit/Policy.conf y vea cómo se "
240 "actualizan los controles en tiempo real.</i>"
204241
205242 #: ../examples/org.gnome.policykit.examples.policy.in.h:1
206243 msgid "Frobnicate"
224261
225262 #: ../examples/org.gnome.policykit.examples.policy.in.h:6
226263 msgid "Punch"
227 msgstr ""
264 msgstr "Golpea"
228265
229266 #: ../examples/org.gnome.policykit.examples.policy.in.h:7
230 msgid "System policy prevents the PolicyKit-gnome example helper from Frobnicating"
267 msgid ""
268 "System policy prevents the PolicyKit-gnome example helper from Frobnicating"
231269 msgstr ""
232270
233271 #: ../examples/org.gnome.policykit.examples.policy.in.h:8
235273 msgstr ""
236274
237275 #: ../examples/org.gnome.policykit.examples.policy.in.h:9
238 msgid "System policy prevents the PolicyKit-gnome example helper from Kicking bar"
276 msgid ""
277 "System policy prevents the PolicyKit-gnome example helper from Kicking bar"
239278 msgstr ""
240279
241280 #: ../examples/org.gnome.policykit.examples.policy.in.h:10
242 msgid "System policy prevents the PolicyKit-gnome example helper from Kicking baz"
281 msgid ""
282 "System policy prevents the PolicyKit-gnome example helper from Kicking baz"
243283 msgstr ""
244284
245285 #: ../examples/org.gnome.policykit.examples.policy.in.h:11
246 msgid "System policy prevents the PolicyKit-gnome example helper from Kicking foo"
286 msgid ""
287 "System policy prevents the PolicyKit-gnome example helper from Kicking foo"
247288 msgstr ""
248289
249290 #: ../examples/org.gnome.policykit.examples.policy.in.h:12
259300 msgstr ""
260301
261302 #: ../examples/org.gnome.policykit.examples.policy.in.h:15
262 msgid "System policy prevents the PolicyKit-gnome example helper from Twiddling"
303 msgid ""
304 "System policy prevents the PolicyKit-gnome example helper from Twiddling"
263305 msgstr ""
264306
265307 #: ../examples/org.gnome.policykit.examples.policy.in.h:16
288330 msgid "Starting PolicyKit GNOME session daemon version %s"
289331 msgstr "Iniciando el demonio de sesión PolicyKit GNOME versión %s"
290332
291 #: ../src/polkit-gnome-auth-dialog.c:190
333 #: ../src/polkit-gnome-auth-dialog.c:191
292334 #: ../tools/polkit-gnome-authorization.c:649
293335 msgid "Select user..."
294336 msgstr "Seleccione usuario…"
295337
296 #: ../src/polkit-gnome-auth-dialog.c:211
338 #: ../src/polkit-gnome-auth-dialog.c:212
297339 #: ../tools/polkit-gnome-authorization.c:665
298340 #, c-format
299341 msgid "%s (%s)"
300342 msgstr "%s (%s)"
301343
302 #: ../src/polkit-gnome-auth-dialog.c:292
344 #: ../src/polkit-gnome-auth-dialog.c:293
303345 msgid "_Remember authorization for this session"
304 msgstr "_Recordar autorización durante esta sesión"
305
306 #: ../src/polkit-gnome-auth-dialog.c:298
346 msgstr "_Recordar la autorización durante esta sesión"
347
348 #: ../src/polkit-gnome-auth-dialog.c:299
307349 msgid "_Remember authorization"
308 msgstr "_Recordar autorización"
309
310 #: ../src/polkit-gnome-auth-dialog.c:313
350 msgstr "_Recordar la autorización"
351
352 #: ../src/polkit-gnome-auth-dialog.c:314
311353 msgid ""
312354 "An application is attempting to perform an action that requires privileges. "
313355 "Authentication as one of the users below is required to perform this action."
314356 msgstr ""
315
316 #: ../src/polkit-gnome-auth-dialog.c:320
357 "Una aplicación está intentando realizar una acción que necesita permisos "
358 "especiales. Es necesario autenticarse como uno de los usuarios siguientes "
359 "para realizar dicha acción."
360
361 #: ../src/polkit-gnome-auth-dialog.c:321
317362 msgid ""
318363 "An application is attempting to perform an action that requires privileges. "
319364 "Authentication as the super user is required to perform this action."
320365 msgstr ""
321
322 #: ../src/polkit-gnome-auth-dialog.c:324
366 "Una aplicación está intentando realizar una acción que necesita permisos "
367 "especiales. Es necesario autenticarse como super usuario para realizar dicha "
368 "acción."
369
370 #: ../src/polkit-gnome-auth-dialog.c:325
323371 msgid ""
324372 "An application is attempting to perform an action that requires privileges. "
325373 "Authentication is required to perform this action."
326374 msgstr ""
327
328 #: ../src/polkit-gnome-auth-dialog.c:348
375 "Una aplicación está intentando realizar una acción que necesita permisos "
376 "especiales. Es necesario autenticarse para realizar dicha acción."
377
378 #: ../src/polkit-gnome-auth-dialog.c:406
329379 #, c-format
330380 msgid "Click to edit %s"
331381 msgstr "Pulse para editar %s"
332382
333 #: ../src/polkit-gnome-auth-dialog.c:371
383 #: ../src/polkit-gnome-auth-dialog.c:431
334384 #: ../tools/polkit-gnome-authorization.c:1391
335385 #, c-format
336386 msgid "Click to open %s"
337387 msgstr "Pulse para abrir %s"
338388
339 #: ../src/polkit-gnome-auth-dialog.c:600
389 #: ../src/polkit-gnome-auth-dialog.c:668
340390 msgid "_Authenticate"
341391 msgstr "_Autenticar"
342392
343 #: ../src/polkit-gnome-auth-dialog.c:659 ../src/polkit-gnome-manager.c:686
393 #: ../src/polkit-gnome-auth-dialog.c:727 ../src/polkit-gnome-manager.c:686
344394 #: ../src/polkit-gnome-manager.c:735
345395 msgid "_Password:"
346396 msgstr "_Contraseña:"
347397
348 #: ../src/polkit-gnome-auth-dialog.c:681
398 #: ../src/polkit-gnome-auth-dialog.c:749
349399 msgid "For this _session only"
350400 msgstr "Sólo para esta _sesión"
351401
352 #: ../src/polkit-gnome-auth-dialog.c:689
402 #: ../src/polkit-gnome-auth-dialog.c:757
353403 msgid "<small><b>_Details</b></small>"
354404 msgstr "<small><b>_Detalles</b></small>"
355405
356 #: ../src/polkit-gnome-auth-dialog.c:710
406 #: ../src/polkit-gnome-auth-dialog.c:778
357407 msgid "<small><b>Application:</b></small>"
358408 msgstr "<small><b>Aplicación:</b></small>"
359409
360 #: ../src/polkit-gnome-auth-dialog.c:714
410 #: ../src/polkit-gnome-auth-dialog.c:782
361411 msgid "<small><b>Action:</b></small>"
362412 msgstr "<small><b>Acción:</b></small>"
363413
364 #: ../src/polkit-gnome-auth-dialog.c:719
414 #: ../src/polkit-gnome-auth-dialog.c:787
365415 msgid "<small><b>Vendor:</b></small>"
366 msgstr "<small><b>Fabricante:</b></small>"
367
368 #: ../src/polkit-gnome-auth-dialog.c:848
416 msgstr "<small><b>Proveedor:</b></small>"
417
418 #: ../src/polkit-gnome-auth-dialog.c:916
369419 msgid "Authenticate"
370420 msgstr "Autenticar"
371421
385435 #: ../src/polkit-gnome-manager.c:740
386436 #, c-format
387437 msgid "_Password or swipe finger for %s:"
388 msgstr ""
438 msgstr "_Contraseña o huella dactilar para %s:"
389439
390440 #: ../src/polkit-gnome-manager.c:743
391441 msgid "_Password or swipe finger for root:"
392 msgstr ""
442 msgstr "_Contraseña o huella dactilar para el administrador:"
393443
394444 #: ../src/polkit-gnome-manager.c:746
395445 msgid "_Password or swipe finger:"
396 msgstr ""
446 msgstr "_Contraseña o huella dactilar:"
397447
398448 #: ../tools/polkit-gnome-authorization.c:117
399449 msgid "No"
401451
402452 #: ../tools/polkit-gnome-authorization.c:119
403453 msgid "Admin Authentication (one shot)"
404 msgstr ""
454 msgstr "Autenticación como administrador (una vez)"
405455
406456 #: ../tools/polkit-gnome-authorization.c:120
407457 msgid "Admin Authentication"
408 msgstr ""
458 msgstr "Autenticación como administrador"
409459
410460 #: ../tools/polkit-gnome-authorization.c:121
411461 msgid "Admin Authentication (keep session)"
412 msgstr ""
462 msgstr "Autenticación como administrador (mantener durante esta sesión)"
413463
414464 #: ../tools/polkit-gnome-authorization.c:122
415465 msgid "Admin Authentication (keep indefinitely)"
416 msgstr ""
466 msgstr "Autenticación como administrador (mantener indefinidamente)"
417467
418468 #: ../tools/polkit-gnome-authorization.c:124
419469 msgid "Authentication (one shot)"
420 msgstr ""
470 msgstr "Autenticación (una vez)"
421471
422472 #: ../tools/polkit-gnome-authorization.c:125
423473 msgid "Authentication"
425475
426476 #: ../tools/polkit-gnome-authorization.c:126
427477 msgid "Authentication (keep session)"
428 msgstr "Autenticación (mantener esta la sesión)"
478 msgstr "Autenticación (mantener durante esta la sesión)"
429479
430480 #: ../tools/polkit-gnome-authorization.c:127
431481 msgid "Authentication (keep indefinitely)"
455505 #: ../tools/polkit-gnome-authorization.c:286
456506 #, c-format
457507 msgid "Must be SELinux Context %s"
458 msgstr "Debe estar en el contexto SELinux %s"
508 msgstr "Debe estar en el contexto %s de SELinux"
459509
460510 #: ../tools/polkit-gnome-authorization.c:344
461511 msgid "A moment ago"
481531
482532 #: ../tools/polkit-gnome-authorization.c:360
483533 msgid "1 day ago"
484 msgstr "Hac e1 día"
534 msgstr "Hace 1 día"
485535
486536 #: ../tools/polkit-gnome-authorization.c:362
487537 #, c-format
491541 #: ../tools/polkit-gnome-authorization.c:379
492542 #, c-format
493543 msgid "Auth as %s (uid %d)"
494 msgstr ""
544 msgstr "Autenticado como %s (uid %d)"
495545
496546 #: ../tools/polkit-gnome-authorization.c:381
497547 #, c-format
498548 msgid "Auth as uid %d"
499 msgstr ""
549 msgstr "Autenticado como %d"
500550
501551 #: ../tools/polkit-gnome-authorization.c:387
502552 #, c-format
521571 #: ../tools/polkit-gnome-authorization.c:409
522572 #, c-format
523573 msgid "Single shot pid %d (%s)"
524 msgstr ""
574 msgstr "Intento único pid %d (%s)"
525575
526576 #: ../tools/polkit-gnome-authorization.c:415
527577 #, c-format
538588
539589 #: ../tools/polkit-gnome-authorization.c:431
540590 msgid "None"
541 msgstr "Ninguno"
591 msgstr "Ninguna"
542592
543593 #: ../tools/polkit-gnome-authorization.c:827
544594 msgid "Grant Negative Authorization"
545 msgstr "Conceder autorización negativa"
595 msgstr "Añadir una prohibición"
546596
547597 #: ../tools/polkit-gnome-authorization.c:827
548598 msgid "Grant Authorization"
554604 "<b><big>Granting a negative authorization for the <i>%s</i> action requires "
555605 "more information</big></b>"
556606 msgstr ""
607 "<b><big>Prohibir la acción <i>%s</i> require más información</big></b>"
557608
558609 #: ../tools/polkit-gnome-authorization.c:851
559610 #, c-format
561612 "<b><big>Granting an authorization for the <i>%s</i> action requires more "
562613 "information</big></b>"
563614 msgstr ""
615 "<b><big>Conceder una autorización para la acción <i>%s</i> requiere más "
616 "información</big></b>"
564617
565618 #: ../tools/polkit-gnome-authorization.c:862
566619 msgid ""
567620 "Select the user to block for the action and, optionally, any constraints on "
568621 "the negative authorization that you are about to grant."
569622 msgstr ""
623 "Seleccione el usuario al que va a bloquear para esa acción y, opcionalmente, "
624 "cualquier restricción sobre la prohibición que va a aplicar."
570625
571626 #: ../tools/polkit-gnome-authorization.c:864
572627 msgid ""
573628 "Select the beneficiary and, optionally, how to constrain the authorization "
574629 "that you are about to grant."
575630 msgstr ""
631 "Seleccione el beneficiario y, opcionalmente, cómo restringir la autorización "
632 "que va a conceder."
576633
577634 #: ../tools/polkit-gnome-authorization.c:875
578635 msgid "<b>Beneficiary</b>"
580637
581638 #: ../tools/polkit-gnome-authorization.c:887
582639 msgid "Select the user that will receive the negative authorization."
583 msgstr "Seleccione el usuario que recibirá la autorización negativa."
640 msgstr "Seleccione el usuario que recibirá la prohibición."
584641
585642 #: ../tools/polkit-gnome-authorization.c:889
586643 msgid "Select the user that will receive the authorization."
592649
593650 #: ../tools/polkit-gnome-authorization.c:913
594651 msgid "<b>Constraints</b>"
595 msgstr ""
652 msgstr "<b>Restricciones</b>"
596653
597654 #: ../tools/polkit-gnome-authorization.c:924
598655 msgid ""
599656 "Constraints limits the authorization such that it only applies under certain "
600657 "circumstances."
601658 msgstr ""
659 "Las restricciones limitan la autorización de manera que sólo se apliquen bajo "
660 "ciertas circunstancias."
602661
603662 #: ../tools/polkit-gnome-authorization.c:930
604663 msgid "_None"
605 msgstr "_Ninguno"
664 msgstr "_Ninguna"
606665
607666 #: ../tools/polkit-gnome-authorization.c:932
608667 msgid "Must be _in active session"
609 msgstr "Debe estar _en una sesión activa"
668 msgstr "Debe estar en una _sesión activa"
610669
611670 #: ../tools/polkit-gnome-authorization.c:934
612671 msgid "Must be on _local console"
614673
615674 #: ../tools/polkit-gnome-authorization.c:936
616675 msgid "Must be in _active session on local console"
617 msgstr "Debe estar _en una sesión activa en una consola local"
676 msgstr "Debe estar en una sesión _activa en una consola local"
618677
619678 #: ../tools/polkit-gnome-authorization.c:957
620679 #: ../tools/polkit-gnome-authorization.c:2133
628687
629688 #: ../tools/polkit-gnome-authorization.c:1155
630689 msgid "Edit Implicit Authorizations"
631 msgstr "Editar las autorizaciones implícitas nuevas"
690 msgstr "Editar las autorizaciones implícitas"
632691
633692 #: ../tools/polkit-gnome-authorization.c:1176
634693 msgid "<b><big>Choose new implicit authorizations</big></b>"
641700 "users under certain circumstances. Choose what is required for the action <i>"
642701 "%s</i>."
643702 msgstr ""
703 "Las autorizaciones implícitas son las que se conceden a los usuarios "
704 "automáticamente bajo ciertas circunstancias. Seleccione los requisitos para "
705 "la acción <i>%s</i>."
644706
645707 #: ../tools/polkit-gnome-authorization.c:1215
646708 #: ../tools/polkit-gnome-authorization.c:1974
675737
676738 #: ../tools/polkit-gnome-authorization.c:1925
677739 msgid "<i>Vendor:</i>"
678 msgstr "<i>Fabricante:</i>"
740 msgstr "<i>Proveedor:</i>"
679741
680742 #: ../tools/polkit-gnome-authorization.c:1951
681743 msgid "<b>Implicit Authorizations</b>"
686748 "Implicit authorizations are authorizations automatically given to users "
687749 "based on certain criteria such as if they are on the local console."
688750 msgstr ""
689 "Las autorizaciones implícitas son autorizaciones automáticamente otorgadas a "
690 "los usuarios basadas en ciertos criterios tales como si están en una consola local."
751 "Las autorizaciones implícitas son aquellas que se conceden automáticamente a "
752 "los usuarios basándose en ciertos criterios como, por ejemplo, si se "
753 "encuentran en una consola local."
691754
692755 #: ../tools/polkit-gnome-authorization.c:2002
693756 msgid "_Edit..."
695758
696759 #: ../tools/polkit-gnome-authorization.c:2009
697760 msgid "Revert To _Defaults..."
698 msgstr "Revertir a los valores pre_determinados..."
761 msgstr "_Reestablecer los valores predeterminados..."
699762
700763 #: ../tools/polkit-gnome-authorization.c:2032
701764 msgid "<b>Explicit Authorizations</b>"
707770 "authentication or specifically given to the entity in question. Blocked "
708771 "authorizations are marked with a STOP sign."
709772 msgstr ""
710 "Esta lista muestra las autorizaciones obtenidas tanto a través "
711 "de autenticación o específicamente otorgadas a la entidad en cuestión. Las "
712 "autorizaciones bloqueadas se marcan con una signo de STOP."
773 "Esta lista muestra las autorizaciones obtenidas tanto a través de "
774 "autenticación, como las específicamente otorgadas a la entidad en cuestión. "
775 "Las autorizaciones bloqueadas se marcan con una signo de STOP."
713776
714777 #: ../tools/polkit-gnome-authorization.c:2073
715778 msgid "Entity"
717780
718781 #: ../tools/polkit-gnome-authorization.c:2081
719782 msgid "Scope"
720 msgstr "Rango"
783 msgstr "Ámbito"
721784
722785 #: ../tools/polkit-gnome-authorization.c:2089
723786 msgid "Obtained"
724 msgstr "Obtenido"
787 msgstr "Obtenida"
725788
726789 #: ../tools/polkit-gnome-authorization.c:2097
727790 msgid "How"
742805
743806 #: ../tools/polkit-gnome-authorization.c:2174
744807 msgid "_Show authorizations from all users..."
745 msgstr "_Mostrar autorizaciones de todos los usuarios…"
808 msgstr "_Mostrar las autorizaciones de todos los usuarios…"
746809
747810 #: ../tools/polkit-gnome-authorization.c:2175
748811 msgid "_Show authorizations from all users"
749 msgstr "_Mostrar autorizaciones de todos los usuarios"
812 msgstr "_Mostrar las autorizaciones de todos los usuarios"
750813
751814 #: ../tools/polkit-gnome-authorization.c:2417
752815 msgid "Select an action"
753816 msgstr "Seleccionar una acción"
754
+175
-114
po/fi.po less more
00 # Finnish translation of PolicyKit-gnome.
1 # Copyright (C) 2007
1 # Copyright (C) 2007-2008 Ville-Pekka Vainio, Timo Jyrinki.
22 # This file is distributed under the same license as the PolicyKit-gnome package.
33 # Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>
44 # Timo Jyrinki <timo.jyrinki@iki.fi>
66 msgid ""
77 msgstr ""
88 "Project-Id-Version: policykit-gnome\n"
9 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=l10n&component=Finnish%20[fi]\n"
10 "POT-Creation-Date: 2008-04-05 12:35+0300\n"
11 "PO-Revision-Date: 2008-04-17 13:23+0300\n"
12 "Last-Translator: Timo Jyrinki <timo.jyrinki@iki.fi>\n"
9 "Report-Msgid-Bugs-To: \n"
10 "POT-Creation-Date: 2008-09-21 14:02+0300\n"
11 "PO-Revision-Date: 2008-09-21 14:00+0300\n"
12 "Last-Translator: Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>\n"
1313 "Language-Team: Finnish <laatu@lokalisointi.org>\n"
1414 "MIME-Version: 1.0\n"
1515 "Content-Type: text/plain; charset=UTF-8\n"
1717 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
1818
1919 #: ../data/polkit-gnome-authorization.desktop.in.h:1
20 #: ../tools/polkit-gnome-authorization.c:2439
20 #: ../tools/polkit-gnome-authorization.c:2452
2121 msgid "Authorizations"
2222 msgstr "Valtuutukset"
2323
2424 #: ../data/polkit-gnome-authorization.desktop.in.h:2
2525 msgid "Configure authorizations"
2626 msgstr "Aseta valtuutukset"
27
28 #: ../data/polkit-gnome.schemas.in.h:1
29 msgid ""
30 "A list of PolicyKit action where the \"retain authorization\" checkbox isn't "
31 "checked by default; this list is maintained by the authentication dialog "
32 "code itself. For example, if a user unchecks the \"retain authorization\" "
33 "check box for an action and successfully obtains an authorization for the "
34 "action, the action will be added to this list."
35 msgstr ""
36 "Luettelo PolicyKitin toiminnoista joiden ”säilytä todennus” -valintaruutu ei "
37 "ole valittu oletuksena. Todennusikkunan koodi päivittää tätä luetteloa "
38 "automaattisesti. Jos käyttäjä esimerkiksi poistaa valinnan jonkin toiminnon "
39 "”säilytä todennus” -valintaruudusta ja todennus onnistuu, toiminto lisätään "
40 "tähän luetteloon."
41
42 #: ../data/polkit-gnome.schemas.in.h:2
43 msgid ""
44 "A list of actions where the \"retain authorization\" checkbox isn't checked "
45 "by default"
46 msgstr ""
47 "Luettelo toiminnoista joiden ”säilytä todennus” -valintaruutu ei ole valittu "
48 "oletuksena."
49
50 #: ../data/polkit-gnome.schemas.in.h:3
51 msgid ""
52 "If set to true, the authentication dialog from PolicyKit-gnome will grab the "
53 "keyboard, so that you will not be able to type in other programs while the "
54 "dialog is active. Use this if your window manager does not focus the "
55 "authentication dialog automatically, and you want to avoid accidentally "
56 "typing passwords in other programs."
57 msgstr ""
58 "Jos otettu käyttöön, Policykit-gnomen todennusikkuna kaappaa "
59 "näppäimistosyötteen, jolloin muihin ohjelmiin ei voi kirjoittaa, kun ikkuna "
60 "on aktiivinen. Käytä tätä, jos ikkunankäsittelijä ei aseta kohdistusta "
61 "todennusikkunaan automaattisesti ja haluat välttää salasanojen "
62 "kirjoittamista vahingossa vääriin ikkunoihin."
63
64 #: ../data/polkit-gnome.schemas.in.h:4
65 msgid ""
66 "If set to true, then \"retain authorization\" check box (if present) is "
67 "checked by default in the authentication dialog unless the action is "
68 "mentioned in the \"/desktop/gnome/policykit/"
69 "auth_dialog_retain_authorization_blacklist\" key."
70 msgstr ""
71 "Jos otettu käyttöön, ”säilytä todennus” -valintaruutu (jos käytettävissä) on "
72 "valittu oletuksena todennusikkunassa, paitsi jos toiminto on luetteloitu ”/"
73 "desktop/gnome/policykit/auth_dialog_retain_authorization_blacklist”-"
74 "avaimessa."
75
76 #: ../data/polkit-gnome.schemas.in.h:5
77 msgid "Whether the authentication dialog should grab the keyboard"
78 msgstr "Kaappaako todennusikkuna näppäimistösyötteen"
79
80 #: ../data/polkit-gnome.schemas.in.h:6
81 msgid "Whether the retain authorization check box is checked by default"
82 msgstr "Onko säilytä todennus -valintaruutu valittu oletuksena"
2783
2884 #: ../examples/polkit-gnome-example.c:137
2985 msgid "Copyright © 2007 David Zeuthen"
117173 msgstr "Viritä!"
118174
119175 #: ../examples/polkit-gnome-example.c:306
120 #: ../examples/polkit-gnome-example.policy.in.h:17
176 #: ../examples/org.gnome.policykit.examples.policy.in.h:17
121177 msgid "Tweak"
122178 msgstr "Viritä"
123179
205261 "<i>Vinkki: kokeile muokata tiedostoa /etc/PolicyKit/Policy.conf ja seuraa "
206262 "elementtien päivittymistä reaaliajassa.</i>"
207263
208 #: ../examples/polkit-gnome-example.policy.in.h:1
264 #: ../examples/org.gnome.policykit.examples.policy.in.h:1
209265 msgid "Frobnicate"
210266 msgstr "Säädä"
211267
212 #: ../examples/polkit-gnome-example.policy.in.h:2
268 #: ../examples/org.gnome.policykit.examples.policy.in.h:2
213269 msgid "Jump"
214270 msgstr "Hyppää"
215271
216 #: ../examples/polkit-gnome-example.policy.in.h:3
272 #: ../examples/org.gnome.policykit.examples.policy.in.h:3
217273 msgid "Kick bar"
218274 msgstr "Potkaise baria"
219275
220 #: ../examples/polkit-gnome-example.policy.in.h:4
276 #: ../examples/org.gnome.policykit.examples.policy.in.h:4
221277 msgid "Kick baz"
222278 msgstr "Potkaise bazia"
223279
224 #: ../examples/polkit-gnome-example.policy.in.h:5
280 #: ../examples/org.gnome.policykit.examples.policy.in.h:5
225281 msgid "Kick foo"
226282 msgstr "Potkaise foota"
227283
228 #: ../examples/polkit-gnome-example.policy.in.h:6
284 #: ../examples/org.gnome.policykit.examples.policy.in.h:6
229285 msgid "Punch"
230286 msgstr "Näpäytä"
231287
232 #: ../examples/polkit-gnome-example.policy.in.h:7
288 #: ../examples/org.gnome.policykit.examples.policy.in.h:7
233289 msgid ""
234290 "System policy prevents the PolicyKit-gnome example helper from Frobnicating"
235291 msgstr ""
236292 "Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta säätämästä"
237293
238 #: ../examples/polkit-gnome-example.policy.in.h:8
294 #: ../examples/org.gnome.policykit.examples.policy.in.h:8
239295 msgid "System policy prevents the PolicyKit-gnome example helper from Jumping"
240296 msgstr ""
241297 "Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta hyppäämästä"
242298
243 #: ../examples/polkit-gnome-example.policy.in.h:9
299 #: ../examples/org.gnome.policykit.examples.policy.in.h:9
244300 msgid ""
245301 "System policy prevents the PolicyKit-gnome example helper from Kicking bar"
246302 msgstr ""
247303 "Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta potkaisemasta "
248304 "baria"
249305
250 #: ../examples/polkit-gnome-example.policy.in.h:10
306 #: ../examples/org.gnome.policykit.examples.policy.in.h:10
251307 msgid ""
252308 "System policy prevents the PolicyKit-gnome example helper from Kicking baz"
253309 msgstr ""
254310 "Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta potkaisemasta "
255311 "bazia"
256312
257 #: ../examples/polkit-gnome-example.policy.in.h:11
313 #: ../examples/org.gnome.policykit.examples.policy.in.h:11
258314 msgid ""
259315 "System policy prevents the PolicyKit-gnome example helper from Kicking foo"
260316 msgstr ""
261317 "Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta potkaisemasta "
262318 "foota"
263319
264 #: ../examples/polkit-gnome-example.policy.in.h:12
320 #: ../examples/org.gnome.policykit.examples.policy.in.h:12
265321 msgid "System policy prevents the PolicyKit-gnome example helper from Punching"
266322 msgstr ""
267323 "Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta näpäyttämästä"
268324
269 #: ../examples/polkit-gnome-example.policy.in.h:13
325 #: ../examples/org.gnome.policykit.examples.policy.in.h:13
270326 msgid "System policy prevents the PolicyKit-gnome example helper from Toggling"
271327 msgstr ""
272328 "Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta kytkemästä"
273329
274 #: ../examples/polkit-gnome-example.policy.in.h:14
330 #: ../examples/org.gnome.policykit.examples.policy.in.h:14
275331 msgid "System policy prevents the PolicyKit-gnome example helper from Tweaking"
276332 msgstr ""
277333 "Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta virittämästä"
278334
279 #: ../examples/polkit-gnome-example.policy.in.h:15
335 #: ../examples/org.gnome.policykit.examples.policy.in.h:15
280336 msgid ""
281337 "System policy prevents the PolicyKit-gnome example helper from Twiddling"
282338 msgstr ""
283339 "Järjestelmäkäytäntö estää PolicyKit-gnomen esimerkkiavustinta pyörittelemästä"
284340
285 #: ../examples/polkit-gnome-example.policy.in.h:16
341 #: ../examples/org.gnome.policykit.examples.policy.in.h:16
286342 msgid "Toggle"
287343 msgstr "Kytke"
288344
289 #: ../examples/polkit-gnome-example.policy.in.h:18
345 #: ../examples/org.gnome.policykit.examples.policy.in.h:18
290346 msgid "Twiddle"
291347 msgstr "Pyörittele"
292348
299355 msgid "Don't exit after 30 seconds of inactivity"
300356 msgstr "Älä poistu 30 sekunnin toimettomuuden jälkeen"
301357
302 #: ../src/main.c:148
358 #: ../src/main.c:154
303359 msgid "PolicyKit GNOME session daemon"
304360 msgstr "PolicyKitin Gnome-istuntopalvelu"
305361
306 #: ../src/main.c:174
362 #: ../src/main.c:180
307363 #, c-format
308364 msgid "Starting PolicyKit GNOME session daemon version %s"
309365 msgstr "Käynnistetään PolicyKitin Gnome-istuntopalvelun versio %s"
310366
311367 #: ../src/polkit-gnome-auth-dialog.c:190
312 #: ../tools/polkit-gnome-authorization.c:649
368 #: ../tools/polkit-gnome-authorization.c:653
313369 msgid "Select user..."
314370 msgstr "Valitse käyttäjä..."
315371
316372 #: ../src/polkit-gnome-auth-dialog.c:211
317 #: ../tools/polkit-gnome-authorization.c:665
373 #: ../tools/polkit-gnome-authorization.c:672
318374 #, c-format
319375 msgid "%s (%s)"
320376 msgstr "%s (%s)"
332388 "An application is attempting to perform an action that requires privileges. "
333389 "Authentication as one of the users below is required to perform this action."
334390 msgstr ""
335 "Sovellus yrittää suorittaa etuoikeuksia vaativan toiminnon. Sen suorittaminen "
336 "vaatii tunnistautumista jonakuna alla olevista käyttäjistä."
391 "Sovellus yrittää suorittaa etuoikeuksia vaativan toiminnon. Sen "
392 "suorittaminen vaatii tunnistautumista jonakuna alla olevista käyttäjistä."
337393
338394 #: ../src/polkit-gnome-auth-dialog.c:320
339395 msgid ""
340396 "An application is attempting to perform an action that requires privileges. "
341397 "Authentication as the super user is required to perform this action."
342398 msgstr ""
343 "Sovellus yrittää suorittaa etuoikeuksia vaativan toiminnon. Sen suorittaminen "
344 "vaatii tunnistautumista pääkäyttäjänä."
399 "Sovellus yrittää suorittaa etuoikeuksia vaativan toiminnon. Sen "
400 "suorittaminen vaatii tunnistautumista pääkäyttäjänä."
345401
346402 #: ../src/polkit-gnome-auth-dialog.c:324
347403 msgid ""
348404 "An application is attempting to perform an action that requires privileges. "
349405 "Authentication is required to perform this action."
350406 msgstr ""
351 "Sovellus yrittää suorittaa etuoikeuksia vaativan toiminnon. Sen suorittaminen "
352 "vaatii tunnistautumista."
353
354 #: ../src/polkit-gnome-auth-dialog.c:348
407 "Sovellus yrittää suorittaa etuoikeuksia vaativan toiminnon. Sen "
408 "suorittaminen vaatii tunnistautumista."
409
410 #: ../src/polkit-gnome-auth-dialog.c:405
355411 #, c-format
356412 msgid "Click to edit %s"
357413 msgstr "Muokkaa kohdetta %s napsauttamalla"
358414
359 #: ../src/polkit-gnome-auth-dialog.c:371
360 #: ../tools/polkit-gnome-authorization.c:1391
415 #: ../src/polkit-gnome-auth-dialog.c:430
416 #: ../tools/polkit-gnome-authorization.c:1400
361417 #, c-format
362418 msgid "Click to open %s"
363419 msgstr "Avaa %s napsauttamalla"
364420
365 #: ../src/polkit-gnome-auth-dialog.c:600
421 #: ../src/polkit-gnome-auth-dialog.c:667
366422 msgid "_Authenticate"
367423 msgstr "_Tunnistaudu"
368424
369 #: ../src/polkit-gnome-auth-dialog.c:659 ../src/polkit-gnome-manager.c:680
370 #: ../src/polkit-gnome-manager.c:729
425 #: ../src/polkit-gnome-auth-dialog.c:726 ../src/polkit-gnome-manager.c:686
426 #: ../src/polkit-gnome-manager.c:735
371427 msgid "_Password:"
372428 msgstr "_Salasana:"
373429
374 #: ../src/polkit-gnome-auth-dialog.c:681
430 #: ../src/polkit-gnome-auth-dialog.c:748
375431 msgid "For this _session only"
376432 msgstr "Vain tässä _istunnossa"
377433
378 #: ../src/polkit-gnome-auth-dialog.c:689
434 #: ../src/polkit-gnome-auth-dialog.c:756
379435 msgid "<small><b>_Details</b></small>"
380436 msgstr "<small><b>_Tiedot</b></small>"
381437
382 #: ../src/polkit-gnome-auth-dialog.c:710
438 #: ../src/polkit-gnome-auth-dialog.c:777
383439 msgid "<small><b>Application:</b></small>"
384440 msgstr "<small><b>Sovellus:</b></small>"
385441
386 #: ../src/polkit-gnome-auth-dialog.c:714
442 #: ../src/polkit-gnome-auth-dialog.c:781
387443 msgid "<small><b>Action:</b></small>"
388444 msgstr "<small><b>Toiminto:</b></small>"
389445
390 #: ../src/polkit-gnome-auth-dialog.c:719
446 #: ../src/polkit-gnome-auth-dialog.c:786
391447 msgid "<small><b>Vendor:</b></small>"
392448 msgstr "<small><b>Valmistaja:</b></small>"
393449
394 #: ../src/polkit-gnome-auth-dialog.c:848
450 #: ../src/polkit-gnome-auth-dialog.c:915
395451 msgid "Authenticate"
396452 msgstr "Tunnistaudu"
397453
398 #: ../src/polkit-gnome-manager.c:724
454 # virheellinen?
455 #: ../src/polkit-gnome-manager.c:367
456 msgid "(unknown"
457 msgstr "(tuntematon"
458
459 #: ../src/polkit-gnome-manager.c:730
399460 #, c-format
400461 msgid "_Password for %s:"
401462 msgstr "Käyttäjän %s _salasana:"
402463
403 #: ../src/polkit-gnome-manager.c:726
464 #: ../src/polkit-gnome-manager.c:732
404465 msgid "_Password for root:"
405466 msgstr "Pääkäyttäjän _salasana:"
406467
407 #: ../src/polkit-gnome-manager.c:734
468 #: ../src/polkit-gnome-manager.c:740
408469 #, c-format
409470 msgid "_Password or swipe finger for %s:"
410471 msgstr "Kirjoita käyttäjän %s _salasana tai käytä sormenjälkilukijaa:"
411472
412 #: ../src/polkit-gnome-manager.c:737
473 #: ../src/polkit-gnome-manager.c:743
413474 msgid "_Password or swipe finger for root:"
414475 msgstr "Kirjoita pääkäyttäjän _salasana tai käytä sormenjälkilukijaa:"
415476
416 #: ../src/polkit-gnome-manager.c:740
477 #: ../src/polkit-gnome-manager.c:746
417478 msgid "_Password or swipe finger:"
418479 msgstr "Kirjoita _salasana tai käytä sormenjälkilukijaa"
419480
510571 msgid "%d days ago"
511572 msgstr "%d päivää sitten"
512573
513 #: ../tools/polkit-gnome-authorization.c:379
574 #: ../tools/polkit-gnome-authorization.c:383
514575 #, c-format
515576 msgid "Auth as %s (uid %d)"
516577 msgstr "Tunnistus käyttäjänä %s (uid %d)"
517578
518 #: ../tools/polkit-gnome-authorization.c:381
579 #: ../tools/polkit-gnome-authorization.c:385
519580 #, c-format
520581 msgid "Auth as uid %d"
521582 msgstr "Tunnistus uid:nä %d"
522583
523 #: ../tools/polkit-gnome-authorization.c:387
584 #: ../tools/polkit-gnome-authorization.c:391
524585 #, c-format
525586 msgid "Blocked by %s (uid %d)"
526587 msgstr "Käyttäjä %s (uid %d) esti toiminnon"
527588
528 #: ../tools/polkit-gnome-authorization.c:389
589 #: ../tools/polkit-gnome-authorization.c:393
529590 #, c-format
530591 msgid "Blocked by uid %d"
531592 msgstr "Käyttäjätunniste (uid) %d esti toiminnon"
532593
533 #: ../tools/polkit-gnome-authorization.c:392
594 #: ../tools/polkit-gnome-authorization.c:396
534595 #, c-format
535596 msgid "Granted by %s (uid %d)"
536597 msgstr "Käyttäjä %s (uid %d) salli toiminnon"
537598
538 #: ../tools/polkit-gnome-authorization.c:394
599 #: ../tools/polkit-gnome-authorization.c:398
539600 #, c-format
540601 msgid "Granted by uid %d"
541602 msgstr "Käyttäjätunniste (uid) %d salli toiminnon"
542603
543 #: ../tools/polkit-gnome-authorization.c:409
604 #: ../tools/polkit-gnome-authorization.c:413
544605 #, c-format
545606 msgid "Single shot pid %d (%s)"
546607 msgstr "Kertatunnistus-pid %d (%s)"
547608
548 #: ../tools/polkit-gnome-authorization.c:415
609 #: ../tools/polkit-gnome-authorization.c:419
549610 #, c-format
550611 msgid "pid %d (%s)"
551612 msgstr "pid %d (%s)"
552613
553 #: ../tools/polkit-gnome-authorization.c:418
614 #: ../tools/polkit-gnome-authorization.c:422
554615 msgid "This session"
555616 msgstr "Nykyisen istunnon ajan"
556617
557 #: ../tools/polkit-gnome-authorization.c:421
618 #: ../tools/polkit-gnome-authorization.c:425
558619 msgid "Always"
559620 msgstr "Aina"
560621
561 #: ../tools/polkit-gnome-authorization.c:431
622 #: ../tools/polkit-gnome-authorization.c:435
562623 msgid "None"
563624 msgstr "Ei yhtään"
564625
565 #: ../tools/polkit-gnome-authorization.c:827
626 #: ../tools/polkit-gnome-authorization.c:836
566627 msgid "Grant Negative Authorization"
567628 msgstr "Myönnä negatiivinen valtuutus"
568629
569 #: ../tools/polkit-gnome-authorization.c:827
630 #: ../tools/polkit-gnome-authorization.c:836
570631 msgid "Grant Authorization"
571632 msgstr "Myönnä valtuutus"
572633
573 #: ../tools/polkit-gnome-authorization.c:850
634 #: ../tools/polkit-gnome-authorization.c:859
574635 #, c-format
575636 msgid ""
576637 "<b><big>Granting a negative authorization for the <i>%s</i> action requires "
579640 "<b><big>Negatiivisen valtuutuksen myöntämiseksi toiminnolle <i>%s</i> "
580641 "tarvitaan lisätietoja</big></b>"
581642
582 #: ../tools/polkit-gnome-authorization.c:851
643 #: ../tools/polkit-gnome-authorization.c:860
583644 #, c-format
584645 msgid ""
585646 "<b><big>Granting an authorization for the <i>%s</i> action requires more "
588649 "<b><big>Valtuutuksen myöntämiseksi toiminnolle <i>%s</i> tarvitaan "
589650 "lisätietoja</big></b>"
590651
591 #: ../tools/polkit-gnome-authorization.c:862
652 #: ../tools/polkit-gnome-authorization.c:871
592653 msgid ""
593654 "Select the user to block for the action and, optionally, any constraints on "
594655 "the negative authorization that you are about to grant."
596657 "Valitse käyttäjä, jolta toiminto estetään, sekä halutessasi myönnettävän "
597658 "negatiivisen valtuutuksen rajoitteet."
598659
599 #: ../tools/polkit-gnome-authorization.c:864
660 #: ../tools/polkit-gnome-authorization.c:873
600661 msgid ""
601662 "Select the beneficiary and, optionally, how to constrain the authorization "
602663 "that you are about to grant."
603664 msgstr ""
604665 "Valitse edunsaaja sekä halutessasi myönnettävän valtuutuksen rajoitteet."
605666
606 #: ../tools/polkit-gnome-authorization.c:875
667 #: ../tools/polkit-gnome-authorization.c:884
607668 msgid "<b>Beneficiary</b>"
608669 msgstr "<b>Edunsaaja</b>"
609670
610 #: ../tools/polkit-gnome-authorization.c:887
671 #: ../tools/polkit-gnome-authorization.c:896
611672 msgid "Select the user that will receive the negative authorization."
612673 msgstr "Valitse käyttäjä, joka saa negatiivisen valtuutuksen."
613674
614 #: ../tools/polkit-gnome-authorization.c:889
675 #: ../tools/polkit-gnome-authorization.c:898
615676 msgid "Select the user that will receive the authorization."
616677 msgstr "Valitse käyttäjä, joka saa valtuutuksen."
617678
618 #: ../tools/polkit-gnome-authorization.c:898
679 #: ../tools/polkit-gnome-authorization.c:907
619680 msgid "_Show system users"
620681 msgstr "_Näytä järjestelmän käyttäjät"
621682
622 #: ../tools/polkit-gnome-authorization.c:913
683 #: ../tools/polkit-gnome-authorization.c:922
623684 msgid "<b>Constraints</b>"
624685 msgstr "<b>Rajoitteet</b>"
625686
626 #: ../tools/polkit-gnome-authorization.c:924
687 #: ../tools/polkit-gnome-authorization.c:933
627688 msgid ""
628689 "Constraints limits the authorization such that it only applies under certain "
629690 "circumstances."
631692 "Rajoitteet rajaavat valtuutusta siten, että se pätee vain tiettyjen "
632693 "olosuhteiden vallitessa."
633694
634 #: ../tools/polkit-gnome-authorization.c:930
695 #: ../tools/polkit-gnome-authorization.c:939
635696 msgid "_None"
636697 msgstr "_Ei mitään"
637698
638 #: ../tools/polkit-gnome-authorization.c:932
699 #: ../tools/polkit-gnome-authorization.c:941
639700 msgid "Must be _in active session"
640701 msgstr "On oltava aktiivisessa _istunnossa"
641702
642 #: ../tools/polkit-gnome-authorization.c:934
703 #: ../tools/polkit-gnome-authorization.c:943
643704 msgid "Must be on _local console"
644705 msgstr "On oltava _paikallisella konsolilla"
645706
646 #: ../tools/polkit-gnome-authorization.c:936
707 #: ../tools/polkit-gnome-authorization.c:945
647708 msgid "Must be in _active session on local console"
648709 msgstr "On oltava _aktiivisessa istunnossa paikallisella konsolilla"
649710
650 #: ../tools/polkit-gnome-authorization.c:957
651 #: ../tools/polkit-gnome-authorization.c:2133
711 #: ../tools/polkit-gnome-authorization.c:966
712 #: ../tools/polkit-gnome-authorization.c:2142
652713 msgid "_Block..."
653714 msgstr "_Estä..."
654715
655 #: ../tools/polkit-gnome-authorization.c:961
656 #: ../tools/polkit-gnome-authorization.c:2126
716 #: ../tools/polkit-gnome-authorization.c:970
717 #: ../tools/polkit-gnome-authorization.c:2135
657718 msgid "_Grant..."
658719 msgstr "_Myönnä..."
659720
660 #: ../tools/polkit-gnome-authorization.c:1155
721 #: ../tools/polkit-gnome-authorization.c:1164
661722 msgid "Edit Implicit Authorizations"
662723 msgstr "Muokkaa epäsuoria valtuutuksia"
663724
664 #: ../tools/polkit-gnome-authorization.c:1176
725 #: ../tools/polkit-gnome-authorization.c:1185
665726 msgid "<b><big>Choose new implicit authorizations</big></b>"
666727 msgstr "<b><big>Valitse uudet epäsuorat valtuutukset</big></b>"
667728
668 #: ../tools/polkit-gnome-authorization.c:1190
729 #: ../tools/polkit-gnome-authorization.c:1199
669730 #, c-format
670731 msgid ""
671732 "Implicit authorizations are authorizations that are granted automatically to "
675736 "Epäsuorat valtuutukset myönnetään käyttäjille automaattisesti tiettyjen "
676737 "olosuhteiden vallitessa. Valitse mitä toiminto <i>%s</i> tarvitsee."
677738
678 #: ../tools/polkit-gnome-authorization.c:1215
679 #: ../tools/polkit-gnome-authorization.c:1974
739 #: ../tools/polkit-gnome-authorization.c:1224
740 #: ../tools/polkit-gnome-authorization.c:1983
680741 msgid "<i>Anyone:</i>"
681742 msgstr "<i>Kuka tahansa:</i>"
682743
683 #: ../tools/polkit-gnome-authorization.c:1222
684 #: ../tools/polkit-gnome-authorization.c:1978
744 #: ../tools/polkit-gnome-authorization.c:1231
745 #: ../tools/polkit-gnome-authorization.c:1987
685746 msgid "<i>Console:</i>"
686747 msgstr "<i>Konsoli:</i>"
687748
688 #: ../tools/polkit-gnome-authorization.c:1229
689 #: ../tools/polkit-gnome-authorization.c:1982
749 #: ../tools/polkit-gnome-authorization.c:1238
750 #: ../tools/polkit-gnome-authorization.c:1991
690751 msgid "<i>Active Console:</i>"
691752 msgstr "<i>Aktiivinen konsoli:</i>"
692753
693 #: ../tools/polkit-gnome-authorization.c:1258
754 #: ../tools/polkit-gnome-authorization.c:1267
694755 msgid "_Modify..."
695756 msgstr "_Muokkaa..."
696757
697 #: ../tools/polkit-gnome-authorization.c:1890
758 #: ../tools/polkit-gnome-authorization.c:1899
698759 msgid "<b>Action</b>"
699760 msgstr "<b>Toiminto</b>"
700761
701 #: ../tools/polkit-gnome-authorization.c:1905
762 #: ../tools/polkit-gnome-authorization.c:1914
702763 msgid "<i>Identifier:</i>"
703764 msgstr "<i>Tunniste:</i>"
704765
705 #: ../tools/polkit-gnome-authorization.c:1915
766 #: ../tools/polkit-gnome-authorization.c:1924
706767 msgid "<i>Description:</i>"
707768 msgstr "<i>Kuvaus:</i>"
708769
709 #: ../tools/polkit-gnome-authorization.c:1925
770 #: ../tools/polkit-gnome-authorization.c:1934
710771 msgid "<i>Vendor:</i>"
711772 msgstr "<i>Toimittaja:</i>"
712773
713 #: ../tools/polkit-gnome-authorization.c:1951
774 #: ../tools/polkit-gnome-authorization.c:1960
714775 msgid "<b>Implicit Authorizations</b>"
715776 msgstr "<b>Epäsuorat valtuutukset</b>"
716777
717 #: ../tools/polkit-gnome-authorization.c:1959
778 #: ../tools/polkit-gnome-authorization.c:1968
718779 msgid ""
719780 "Implicit authorizations are authorizations automatically given to users "
720781 "based on certain criteria such as if they are on the local console."
722783 "Epäsuorat valtuutukset annetaan käyttäjille automaattisesti tiettyjen "
723784 "kriteerien perusteella, kuten sen, ovatko he paikallisella konsolilla."
724785
725 #: ../tools/polkit-gnome-authorization.c:2002
786 #: ../tools/polkit-gnome-authorization.c:2011
726787 msgid "_Edit..."
727788 msgstr "_Muokkaa..."
728789
729 #: ../tools/polkit-gnome-authorization.c:2009
790 #: ../tools/polkit-gnome-authorization.c:2018
730791 msgid "Revert To _Defaults..."
731792 msgstr "Palauta _oletusarvot..."
732793
733 #: ../tools/polkit-gnome-authorization.c:2032
794 #: ../tools/polkit-gnome-authorization.c:2041
734795 msgid "<b>Explicit Authorizations</b>"
735796 msgstr "<b>Suorat valtuutukset</b>"
736797
737 #: ../tools/polkit-gnome-authorization.c:2043
798 #: ../tools/polkit-gnome-authorization.c:2052
738799 msgid ""
739800 "This list displays authorizations that are either obtained through "
740801 "authentication or specifically given to the entity in question. Blocked "
744805 "jotka on erityisesti annettu kyseiselle kohteelle. Estetyt valtuutukset on "
745806 "merkitty SEIS-merkillä."
746807
747 #: ../tools/polkit-gnome-authorization.c:2073
808 #: ../tools/polkit-gnome-authorization.c:2082
748809 msgid "Entity"
749810 msgstr "Kokonaisuus"
750811
751 #: ../tools/polkit-gnome-authorization.c:2081
812 #: ../tools/polkit-gnome-authorization.c:2090
752813 msgid "Scope"
753814 msgstr "Vaikutusalue"
754815
755 #: ../tools/polkit-gnome-authorization.c:2089
816 #: ../tools/polkit-gnome-authorization.c:2098
756817 msgid "Obtained"
757818 msgstr "Saatu"
758819
759 #: ../tools/polkit-gnome-authorization.c:2097
820 #: ../tools/polkit-gnome-authorization.c:2106
760821 msgid "How"
761822 msgstr "Kuinka"
762823
763 #: ../tools/polkit-gnome-authorization.c:2105
824 #: ../tools/polkit-gnome-authorization.c:2114
764825 msgid "Constraints"
765826 msgstr "Rajoitteet"
766827
767 #: ../tools/polkit-gnome-authorization.c:2147
768 #: ../tools/polkit-gnome-authorization.c:2161
828 #: ../tools/polkit-gnome-authorization.c:2156
829 #: ../tools/polkit-gnome-authorization.c:2170
769830 msgid "_Revoke"
770831 msgstr "_Peruuta"
771832
772 #: ../tools/polkit-gnome-authorization.c:2154
833 #: ../tools/polkit-gnome-authorization.c:2163
773834 msgid "_Revoke..."
774835 msgstr "_Peruuta..."
775836
776 #: ../tools/polkit-gnome-authorization.c:2174
837 #: ../tools/polkit-gnome-authorization.c:2183
777838 msgid "_Show authorizations from all users..."
778839 msgstr "_Näytä kaikkien käyttäjien valtuutukset..."
779840
780 #: ../tools/polkit-gnome-authorization.c:2175
841 #: ../tools/polkit-gnome-authorization.c:2184
781842 msgid "_Show authorizations from all users"
782843 msgstr "_Näytä kaikkien käyttäjien valtuutukset"
783844
784 #: ../tools/polkit-gnome-authorization.c:2413
845 #: ../tools/polkit-gnome-authorization.c:2426
785846 msgid "Select an action"
786847 msgstr "Valitse toiminto"
787848
+170
-104
po/fr.po less more
88 msgstr ""
99 "Project-Id-Version: policykit-gnome HEAD\n"
1010 "Report-Msgid-Bugs-To: \n"
11 "POT-Creation-Date: 2008-04-04 09:28+0200\n"
12 "PO-Revision-Date: 2008-04-04 09:32+0000\n"
11 "POT-Creation-Date: 2008-09-21 21:22+0200\n"
12 "PO-Revision-Date: 2008-08-21 22:45+0200\n"
1313 "Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
1414 "Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
1515 "MIME-Version: 1.0\n"
1717 "Content-Transfer-Encoding: 8bit\n"
1818
1919 #: ../data/polkit-gnome-authorization.desktop.in.h:1
20 #: ../tools/polkit-gnome-authorization.c:2439
20 #: ../tools/polkit-gnome-authorization.c:2452
2121 msgid "Authorizations"
2222 msgstr "Autorisations"
2323
2424 #: ../data/polkit-gnome-authorization.desktop.in.h:2
2525 msgid "Configure authorizations"
2626 msgstr "Configurer les autorisations"
27
28 #: ../data/polkit-gnome.schemas.in.h:1
29 msgid ""
30 "A list of PolicyKit action where the \"retain authorization\" checkbox isn't "
31 "checked by default; this list is maintained by the authentication dialog "
32 "code itself. For example, if a user unchecks the \"retain authorization\" "
33 "check box for an action and successfully obtains an authorization for the "
34 "action, the action will be added to this list."
35 msgstr ""
36 "Une liste d'actions PolicyKit où la case à cocher « Mémoriser l'autorisation » "
37 "n'est pas cochée par défaut ; cette liste est maintenue "
38 "par le code même de la fenêtre d'authentification. Par exemple, si un "
39 "utilisateur décoche « Mémoriser l'autorisation » pour une action "
40 "et qu'il obtient une autorisation pour cette action, celle-ci sera "
41 "ajoutée à cette liste."
42
43 #: ../data/polkit-gnome.schemas.in.h:2
44 msgid ""
45 "A list of actions where the \"retain authorization\" checkbox isn't checked "
46 "by default"
47 msgstr ""
48 "Une liste d'actions où la case à cocher « Mémoriser l'autorisation » n'est pas "
49 "cochée par défaut."
50
51 #: ../data/polkit-gnome.schemas.in.h:3
52 msgid ""
53 "If set to true, the authentication dialog from PolicyKit-gnome will grab the "
54 "keyboard, so that you will not be able to type in other programs while the "
55 "dialog is active. Use this if your window manager does not focus the "
56 "authentication dialog automatically, and you want to avoid accidentally "
57 "typing passwords in other programs."
58 msgstr ""
59 "Si vrai, alors la fenêtre d'authentification de PolicyKit-gnome capture "
60 "le focus du clavier afin que vous ne puissiez pas effectuer de saisie dans "
61 "d'autres programmes pendant que la fenêtre est active. Utilisez ceci si "
62 "votre gestionnaire de fenêtres ne donne pas automatiquement le focus à la "
63 "fenêtre d'authentification, et si vous voulez éviter de saisir "
64 "accidentellement vos mots de passe dans d'autres programmes."
65
66 #: ../data/polkit-gnome.schemas.in.h:4
67 msgid ""
68 "If set to true, then \"retain authorization\" check box (if present) is "
69 "checked by default in the authentication dialog unless the action is "
70 "mentioned in the \"/desktop/gnome/policykit/"
71 "auth_dialog_retain_authorization_blacklist\" key."
72 msgstr ""
73 "Si vrai, alors la case à cocher « Mémoriser l'autorisation » (si "
74 "présente) est cochée par défaut dans la fenêtre d'authentification sauf si "
75 "l'action est mentionnée dans la clé « /desktop/gnome/policykit/"
76 "auth_dialog_retain_authorization_blacklist »."
77
78 #: ../data/polkit-gnome.schemas.in.h:5
79 msgid "Whether the authentication dialog should grab the keyboard"
80 msgstr ""
81 "Indique si la fenêtre d'authentification doit capturer le focus du clavier"
82
83 #: ../data/polkit-gnome.schemas.in.h:6
84 msgid "Whether the retain authorization check box is checked by default"
85 msgstr ""
86 "Indique si la case à cocher de mémorisation de l'autorisation est cochée "
87 "par défaut"
2788
2889 #: ../examples/polkit-gnome-example.c:137
2990 msgid "Copyright © 2007 David Zeuthen"
118179 msgstr "Ajuste !"
119180
120181 #: ../examples/polkit-gnome-example.c:306
121 #: ../examples/polkit-gnome-example.policy.in.h:17
182 #: ../examples/org.gnome.policykit.examples.policy.in.h:17
122183 msgid "Tweak"
123184 msgstr "Ajuster"
124185
210271 "<i>Astuce : essayez de modifier /etc/PolicyKit/Policy.conf et observez les "
211272 "composants graphiques relais se mettre à jour en temps réel.</i>"
212273
213 #: ../examples/polkit-gnome-example.policy.in.h:1
274 #: ../examples/org.gnome.policykit.examples.policy.in.h:1
214275 msgid "Frobnicate"
215276 msgstr "Tripatouiller"
216277
217 #: ../examples/polkit-gnome-example.policy.in.h:2
278 #: ../examples/org.gnome.policykit.examples.policy.in.h:2
218279 msgid "Jump"
219280 msgstr "Sauter"
220281
221 #: ../examples/polkit-gnome-example.policy.in.h:3
282 #: ../examples/org.gnome.policykit.examples.policy.in.h:3
222283 msgid "Kick bar"
223284 msgstr "Pousser titi"
224285
225 #: ../examples/polkit-gnome-example.policy.in.h:4
286 #: ../examples/org.gnome.policykit.examples.policy.in.h:4
226287 msgid "Kick baz"
227288 msgstr "Pousser tata"
228289
229 #: ../examples/polkit-gnome-example.policy.in.h:5
290 #: ../examples/org.gnome.policykit.examples.policy.in.h:5
230291 msgid "Kick foo"
231292 msgstr "Pousser toto"
232293
233 #: ../examples/polkit-gnome-example.policy.in.h:6
294 #: ../examples/org.gnome.policykit.examples.policy.in.h:6
234295 msgid "Punch"
235296 msgstr "Frapper"
236297
237 #: ../examples/polkit-gnome-example.policy.in.h:7
298 #: ../examples/org.gnome.policykit.examples.policy.in.h:7
238299 msgid ""
239300 "System policy prevents the PolicyKit-gnome example helper from Frobnicating"
240301 msgstr ""
241302 "La stratégie système empêche l'assistant exemple de PolicyKit-gnome de "
242303 "tripatouiller"
243304
244 #: ../examples/polkit-gnome-example.policy.in.h:8
305 #: ../examples/org.gnome.policykit.examples.policy.in.h:8
245306 msgid "System policy prevents the PolicyKit-gnome example helper from Jumping"
246307 msgstr ""
247308 "La stratégie système empêche l'assistant exemple de PolicyKit-gnome de sauter"
248309
249 #: ../examples/polkit-gnome-example.policy.in.h:9
310 #: ../examples/org.gnome.policykit.examples.policy.in.h:9
250311 msgid ""
251312 "System policy prevents the PolicyKit-gnome example helper from Kicking bar"
252313 msgstr ""
253314 "La stratégie système empêche l'assistant exemple de PolicyKit-gnome de "
254315 "pousser titi"
255316
256 #: ../examples/polkit-gnome-example.policy.in.h:10
317 #: ../examples/org.gnome.policykit.examples.policy.in.h:10
257318 msgid ""
258319 "System policy prevents the PolicyKit-gnome example helper from Kicking baz"
259320 msgstr ""
260321 "La stratégie système empêche l'assistant exemple de PolicyKit-gnome de "
261322 "pousser tata"
262323
263 #: ../examples/polkit-gnome-example.policy.in.h:11
324 #: ../examples/org.gnome.policykit.examples.policy.in.h:11
264325 msgid ""
265326 "System policy prevents the PolicyKit-gnome example helper from Kicking foo"
266327 msgstr ""
267328 "La stratégie système empêche l'assistant exemple de PolicyKit-gnome de "
268329 "pousser toto"
269330
270 #: ../examples/polkit-gnome-example.policy.in.h:12
331 #: ../examples/org.gnome.policykit.examples.policy.in.h:12
271332 msgid "System policy prevents the PolicyKit-gnome example helper from Punching"
272333 msgstr ""
273334 "La stratégie système empêche l'assistant exemple de PolicyKit-gnome de "
274335 "frapper"
275336
276 #: ../examples/polkit-gnome-example.policy.in.h:13
337 #: ../examples/org.gnome.policykit.examples.policy.in.h:13
277338 msgid "System policy prevents the PolicyKit-gnome example helper from Toggling"
278339 msgstr ""
279340 "La stratégie système empêche l'assistant exemple de PolicyKit-gnome de "
280341 "basculer"
281342
282 #: ../examples/polkit-gnome-example.policy.in.h:14
343 #: ../examples/org.gnome.policykit.examples.policy.in.h:14
283344 msgid "System policy prevents the PolicyKit-gnome example helper from Tweaking"
284345 msgstr ""
285346 "La stratégie système empêche l'assistant exemple de PolicyKit-gnome d'ajuster"
286347
287 #: ../examples/polkit-gnome-example.policy.in.h:15
348 #: ../examples/org.gnome.policykit.examples.policy.in.h:15
288349 msgid ""
289350 "System policy prevents the PolicyKit-gnome example helper from Twiddling"
290351 msgstr ""
291352 "La stratégie système empêche l'assistant exemple de PolicyKit-gnome de "
292353 "bidouiller"
293354
294 #: ../examples/polkit-gnome-example.policy.in.h:16
355 #: ../examples/org.gnome.policykit.examples.policy.in.h:16
295356 msgid "Toggle"
296357 msgstr "Basculer"
297358
298 #: ../examples/polkit-gnome-example.policy.in.h:18
359 #: ../examples/org.gnome.policykit.examples.policy.in.h:18
299360 msgid "Twiddle"
300361 msgstr "Bidouiller"
301362
308369 msgid "Don't exit after 30 seconds of inactivity"
309370 msgstr "Ne pas quitter après 30 secondes d'inactivité"
310371
311 #: ../src/main.c:148
372 #: ../src/main.c:154
312373 msgid "PolicyKit GNOME session daemon"
313374 msgstr "Démon de session PolicyKit GNOME"
314375
315 #: ../src/main.c:174
376 #: ../src/main.c:180
316377 #, c-format
317378 msgid "Starting PolicyKit GNOME session daemon version %s"
318379 msgstr "Démarrage du démon de session PolicyKit GNOME version %s"
319380
320381 #: ../src/polkit-gnome-auth-dialog.c:190
321 #: ../tools/polkit-gnome-authorization.c:649
382 #: ../tools/polkit-gnome-authorization.c:653
322383 msgid "Select user..."
323384 msgstr "Sélectionner un utilisateur..."
324385
325386 #: ../src/polkit-gnome-auth-dialog.c:211
326 #: ../tools/polkit-gnome-authorization.c:665
387 #: ../tools/polkit-gnome-authorization.c:672
327388 #, c-format
328389 msgid "%s (%s)"
329390 msgstr "%s (%s)"
361422 "Une application tente d'effectuer une action qui nécessite des privilèges. "
362423 "Pour effectuer cette action, il est nécessaire de s'authentifier."
363424
364 #: ../src/polkit-gnome-auth-dialog.c:348
425 #: ../src/polkit-gnome-auth-dialog.c:405
365426 #, c-format
366427 msgid "Click to edit %s"
367428 msgstr "Cliquez pour modifier %s"
368429
369 #: ../src/polkit-gnome-auth-dialog.c:371
370 #: ../tools/polkit-gnome-authorization.c:1391
430 #: ../src/polkit-gnome-auth-dialog.c:430
431 #: ../tools/polkit-gnome-authorization.c:1400
371432 #, c-format
372433 msgid "Click to open %s"
373434 msgstr "Cliquez pour ouvrir %s"
374435
375 #: ../src/polkit-gnome-auth-dialog.c:600
436 #: ../src/polkit-gnome-auth-dialog.c:667
376437 msgid "_Authenticate"
377438 msgstr "S'_authentifier"
378439
379 #: ../src/polkit-gnome-auth-dialog.c:659 ../src/polkit-gnome-manager.c:680
380 #: ../src/polkit-gnome-manager.c:729
440 #: ../src/polkit-gnome-auth-dialog.c:726 ../src/polkit-gnome-manager.c:686
441 #: ../src/polkit-gnome-manager.c:735
381442 msgid "_Password:"
382443 msgstr "Mot de _passe :"
383444
384 #: ../src/polkit-gnome-auth-dialog.c:681
445 #: ../src/polkit-gnome-auth-dialog.c:748
385446 msgid "For this _session only"
386447 msgstr "Uniquement pour cette _session"
387448
388 #: ../src/polkit-gnome-auth-dialog.c:689
449 #: ../src/polkit-gnome-auth-dialog.c:756
389450 msgid "<small><b>_Details</b></small>"
390451 msgstr "<small><b>_Détails</b></small>"
391452
392 #: ../src/polkit-gnome-auth-dialog.c:710
453 #: ../src/polkit-gnome-auth-dialog.c:777
393454 msgid "<small><b>Application:</b></small>"
394455 msgstr "<small><b>Application :</b></small>"
395456
396 #: ../src/polkit-gnome-auth-dialog.c:714
457 #: ../src/polkit-gnome-auth-dialog.c:781
397458 msgid "<small><b>Action:</b></small>"
398459 msgstr "<small><b>Action :</b></small>"
399460
400 #: ../src/polkit-gnome-auth-dialog.c:719
461 #: ../src/polkit-gnome-auth-dialog.c:786
401462 msgid "<small><b>Vendor:</b></small>"
402463 msgstr "<small><b>Fournisseur :</b></small>"
403464
404 #: ../src/polkit-gnome-auth-dialog.c:848
465 #: ../src/polkit-gnome-auth-dialog.c:915
405466 msgid "Authenticate"
406467 msgstr "S'authentifier"
407468
408 #: ../src/polkit-gnome-manager.c:724
469 # http://bugzilla.gnome.org/show_bug.cgi?id=553175
470 #: ../src/polkit-gnome-manager.c:367
471 msgid "(unknown"
472 msgstr "(inconnu)"
473
474 #: ../src/polkit-gnome-manager.c:730
409475 #, c-format
410476 msgid "_Password for %s:"
411477 msgstr "Mot de _passe pour %s :"
412478
413 #: ../src/polkit-gnome-manager.c:726
479 #: ../src/polkit-gnome-manager.c:732
414480 msgid "_Password for root:"
415481 msgstr "Mot de _passe pour root :"
416482
417 #: ../src/polkit-gnome-manager.c:734
483 #: ../src/polkit-gnome-manager.c:740
418484 #, c-format
419485 msgid "_Password or swipe finger for %s:"
420486 msgstr "Mot de _passe ou empreinte digitale pour %s :"
421487
422 #: ../src/polkit-gnome-manager.c:737
488 #: ../src/polkit-gnome-manager.c:743
423489 msgid "_Password or swipe finger for root:"
424490 msgstr "Mot de _passe ou empreinte digitale pour root :"
425491
426 #: ../src/polkit-gnome-manager.c:740
492 #: ../src/polkit-gnome-manager.c:746
427493 msgid "_Password or swipe finger:"
428494 msgstr "Mot de _passe ou empreinte digitale :"
429495
520586 msgid "%d days ago"
521587 msgstr "Il y a %d jours"
522588
523 #: ../tools/polkit-gnome-authorization.c:379
589 #: ../tools/polkit-gnome-authorization.c:383
524590 #, c-format
525591 msgid "Auth as %s (uid %d)"
526592 msgstr "Authentifié en tant que %s (uid %d)"
527593
528 #: ../tools/polkit-gnome-authorization.c:381
594 #: ../tools/polkit-gnome-authorization.c:385
529595 #, c-format
530596 msgid "Auth as uid %d"
531597 msgstr "Authentifié sous l'uid %d"
532598
533 #: ../tools/polkit-gnome-authorization.c:387
599 #: ../tools/polkit-gnome-authorization.c:391
534600 #, c-format
535601 msgid "Blocked by %s (uid %d)"
536602 msgstr "Bloqué par %s (uid %d)"
537603
538 #: ../tools/polkit-gnome-authorization.c:389
604 #: ../tools/polkit-gnome-authorization.c:393
539605 #, c-format
540606 msgid "Blocked by uid %d"
541607 msgstr "Bloqué par uid %d"
542608
543 #: ../tools/polkit-gnome-authorization.c:392
609 #: ../tools/polkit-gnome-authorization.c:396
544610 #, c-format
545611 msgid "Granted by %s (uid %d)"
546612 msgstr "Autorisé par %s (uid %d)"
547613
548 #: ../tools/polkit-gnome-authorization.c:394
614 #: ../tools/polkit-gnome-authorization.c:398
549615 #, c-format
550616 msgid "Granted by uid %d"
551617 msgstr "Autorisé par uid %d"
552618
553 #: ../tools/polkit-gnome-authorization.c:409
619 #: ../tools/polkit-gnome-authorization.c:413
554620 #, c-format
555621 msgid "Single shot pid %d (%s)"
556622 msgstr "pid %d, à usage unique (%s)"
557623
558 #: ../tools/polkit-gnome-authorization.c:415
624 #: ../tools/polkit-gnome-authorization.c:419
559625 #, c-format
560626 msgid "pid %d (%s)"
561627 msgstr "pid %d (%s)"
562628
563 #: ../tools/polkit-gnome-authorization.c:418
629 #: ../tools/polkit-gnome-authorization.c:422
564630 msgid "This session"
565631 msgstr "Cette session"
566632
567 #: ../tools/polkit-gnome-authorization.c:421
633 #: ../tools/polkit-gnome-authorization.c:425
568634 msgid "Always"
569635 msgstr "Toujours"
570636
571 #: ../tools/polkit-gnome-authorization.c:431
637 #: ../tools/polkit-gnome-authorization.c:435
572638 msgid "None"
573639 msgstr "Aucun"
574640
575 #: ../tools/polkit-gnome-authorization.c:827
641 #: ../tools/polkit-gnome-authorization.c:836
576642 msgid "Grant Negative Authorization"
577643 msgstr "Attribuer une autorisation négative"
578644
579 #: ../tools/polkit-gnome-authorization.c:827
645 #: ../tools/polkit-gnome-authorization.c:836
580646 msgid "Grant Authorization"
581647 msgstr "Attribuer une autorisation"
582648
583 #: ../tools/polkit-gnome-authorization.c:850
649 #: ../tools/polkit-gnome-authorization.c:859
584650 #, c-format
585651 msgid ""
586652 "<b><big>Granting a negative authorization for the <i>%s</i> action requires "
589655 "<b><big>L'attribution d'une autorisation négative pour l'action <i>%s</i> "
590656 "nécessite plus d'informations</big></b>"
591657
592 #: ../tools/polkit-gnome-authorization.c:851
658 #: ../tools/polkit-gnome-authorization.c:860
593659 #, c-format
594660 msgid ""
595661 "<b><big>Granting an authorization for the <i>%s</i> action requires more "
598664 "<b><big>L'attribution d'une autorisation pour l'action <i>%s</i> nécessite "
599665 "plus d'informations</big></b>"
600666
601 #: ../tools/polkit-gnome-authorization.c:862
667 #: ../tools/polkit-gnome-authorization.c:871
602668 msgid ""
603669 "Select the user to block for the action and, optionally, any constraints on "
604670 "the negative authorization that you are about to grant."
607673 "contrainte éventuelle au sujet de l'autorisation négative que vous allez "
608674 "attribuer."
609675
610 #: ../tools/polkit-gnome-authorization.c:864
676 #: ../tools/polkit-gnome-authorization.c:873
611677 msgid ""
612678 "Select the beneficiary and, optionally, how to constrain the authorization "
613679 "that you are about to grant."
615681 "Sélectionnez le bénéficiaire et toute autre contrainte éventuelle au sujet "
616682 "de l'autorisation que vous allez attribuer."
617683
618 #: ../tools/polkit-gnome-authorization.c:875
684 #: ../tools/polkit-gnome-authorization.c:884
619685 msgid "<b>Beneficiary</b>"
620686 msgstr "<b>Bénéficiaire</b>"
621687
622 #: ../tools/polkit-gnome-authorization.c:887
688 #: ../tools/polkit-gnome-authorization.c:896
623689 msgid "Select the user that will receive the negative authorization."
624690 msgstr "Sélectionnez l'utilisateur concerné par l'autorisation négative."
625691
626 #: ../tools/polkit-gnome-authorization.c:889
692 #: ../tools/polkit-gnome-authorization.c:898
627693 msgid "Select the user that will receive the authorization."
628694 msgstr "Sélectionnez l'utilisateur concerné par l'autorisation."
629695
630 #: ../tools/polkit-gnome-authorization.c:898
696 #: ../tools/polkit-gnome-authorization.c:907
631697 msgid "_Show system users"
632698 msgstr "Afficher les utilisateurs _système"
633699
634 #: ../tools/polkit-gnome-authorization.c:913
700 #: ../tools/polkit-gnome-authorization.c:922
635701 msgid "<b>Constraints</b>"
636702 msgstr "<b>Contraintes</b>"
637703
638 #: ../tools/polkit-gnome-authorization.c:924
704 #: ../tools/polkit-gnome-authorization.c:933
639705 msgid ""
640706 "Constraints limits the authorization such that it only applies under certain "
641707 "circumstances."
643709 "Contraintes limitant l'autorisation afin qu'elle ne s'applique que dans des "
644710 "circonstances précises."
645711
646 #: ../tools/polkit-gnome-authorization.c:930
712 #: ../tools/polkit-gnome-authorization.c:939
647713 msgid "_None"
648714 msgstr "_Aucune"
649715
650 #: ../tools/polkit-gnome-authorization.c:932
716 #: ../tools/polkit-gnome-authorization.c:941
651717 msgid "Must be _in active session"
652718 msgstr "Doit être dans la session act_ive"
653719
654 #: ../tools/polkit-gnome-authorization.c:934
720 #: ../tools/polkit-gnome-authorization.c:943
655721 msgid "Must be on _local console"
656722 msgstr "Doit être dans la console _locale"
657723
658 #: ../tools/polkit-gnome-authorization.c:936
724 #: ../tools/polkit-gnome-authorization.c:945
659725 msgid "Must be in _active session on local console"
660726 msgstr "Doit être dans la session _active et dans la console locale"
661727
662 #: ../tools/polkit-gnome-authorization.c:957
663 #: ../tools/polkit-gnome-authorization.c:2133
728 #: ../tools/polkit-gnome-authorization.c:966
729 #: ../tools/polkit-gnome-authorization.c:2142
664730 msgid "_Block..."
665731 msgstr "_Bloquer..."
666732
667 #: ../tools/polkit-gnome-authorization.c:961
668 #: ../tools/polkit-gnome-authorization.c:2126
733 #: ../tools/polkit-gnome-authorization.c:970
734 #: ../tools/polkit-gnome-authorization.c:2135
669735 msgid "_Grant..."
670736 msgstr "Au_toriser..."
671737
672 #: ../tools/polkit-gnome-authorization.c:1155
738 #: ../tools/polkit-gnome-authorization.c:1164
673739 msgid "Edit Implicit Authorizations"
674740 msgstr "Modifier les autorisations implicites"
675741
676 #: ../tools/polkit-gnome-authorization.c:1176
742 #: ../tools/polkit-gnome-authorization.c:1185
677743 msgid "<b><big>Choose new implicit authorizations</big></b>"
678744 msgstr "<b><big>Choisissez les nouvelles autorisations implicites</big></b>"
679745
680 #: ../tools/polkit-gnome-authorization.c:1190
746 #: ../tools/polkit-gnome-authorization.c:1199
681747 #, c-format
682748 msgid ""
683749 "Implicit authorizations are authorizations that are granted automatically to "
688754 "automatiquement aux utilisateurs dans certaines circonstances. Choisissez "
689755 "les conditions pour l'action <i>%s</i>."
690756
691 #: ../tools/polkit-gnome-authorization.c:1215
692 #: ../tools/polkit-gnome-authorization.c:1974
757 #: ../tools/polkit-gnome-authorization.c:1224
758 #: ../tools/polkit-gnome-authorization.c:1983
693759 msgid "<i>Anyone:</i>"
694760 msgstr "<i>Tout le monde :</i>"
695761
696 #: ../tools/polkit-gnome-authorization.c:1222
697 #: ../tools/polkit-gnome-authorization.c:1978
762 #: ../tools/polkit-gnome-authorization.c:1231
763 #: ../tools/polkit-gnome-authorization.c:1987
698764 msgid "<i>Console:</i>"
699765 msgstr "<i>Console :</i>"
700766
701 #: ../tools/polkit-gnome-authorization.c:1229
702 #: ../tools/polkit-gnome-authorization.c:1982
767 #: ../tools/polkit-gnome-authorization.c:1238
768 #: ../tools/polkit-gnome-authorization.c:1991
703769 msgid "<i>Active Console:</i>"
704770 msgstr "<i>Console active :</i>"
705771
706 #: ../tools/polkit-gnome-authorization.c:1258
772 #: ../tools/polkit-gnome-authorization.c:1267
707773 msgid "_Modify..."
708774 msgstr "_Modifier..."
709775
710 #: ../tools/polkit-gnome-authorization.c:1890
776 #: ../tools/polkit-gnome-authorization.c:1899
711777 msgid "<b>Action</b>"
712778 msgstr "<b>Action</b>"
713779
714 #: ../tools/polkit-gnome-authorization.c:1905
780 #: ../tools/polkit-gnome-authorization.c:1914
715781 msgid "<i>Identifier:</i>"
716782 msgstr "<i>Identificateur :</i>"
717783
718 #: ../tools/polkit-gnome-authorization.c:1915
784 #: ../tools/polkit-gnome-authorization.c:1924
719785 msgid "<i>Description:</i>"
720786 msgstr "<i>Description :</i>"
721787
722 #: ../tools/polkit-gnome-authorization.c:1925
788 #: ../tools/polkit-gnome-authorization.c:1934
723789 msgid "<i>Vendor:</i>"
724790 msgstr "<i>Fournisseur :</i>"
725791
726 #: ../tools/polkit-gnome-authorization.c:1951
792 #: ../tools/polkit-gnome-authorization.c:1960
727793 msgid "<b>Implicit Authorizations</b>"
728794 msgstr "<b>Autorisations implicites</b>"
729795
730 #: ../tools/polkit-gnome-authorization.c:1959
796 #: ../tools/polkit-gnome-authorization.c:1968
731797 msgid ""
732798 "Implicit authorizations are authorizations automatically given to users "
733799 "based on certain criteria such as if they are on the local console."
736802 "accordées aux utilisateurs sur la base de certains critères comme leur "
737803 "présence sur la console locale."
738804
739 #: ../tools/polkit-gnome-authorization.c:2002
805 #: ../tools/polkit-gnome-authorization.c:2011
740806 msgid "_Edit..."
741807 msgstr "_Modifier..."
742808
743 #: ../tools/polkit-gnome-authorization.c:2009
809 #: ../tools/polkit-gnome-authorization.c:2018
744810 msgid "Revert To _Defaults..."
745811 msgstr "Réappliquer les valeurs par _défaut"
746812
747 #: ../tools/polkit-gnome-authorization.c:2032
813 #: ../tools/polkit-gnome-authorization.c:2041
748814 msgid "<b>Explicit Authorizations</b>"
749815 msgstr "<b>Autorisations explicites</b>"
750816
751 #: ../tools/polkit-gnome-authorization.c:2043
817 #: ../tools/polkit-gnome-authorization.c:2052
752818 msgid ""
753819 "This list displays authorizations that are either obtained through "
754820 "authentication or specifically given to the entity in question. Blocked "
758824 "attribuées spécifiquement par l'entité en question. Les autorisations "
759825 "bloquées sont signalées par un signe « STOP »."
760826
761 #: ../tools/polkit-gnome-authorization.c:2073
827 #: ../tools/polkit-gnome-authorization.c:2082
762828 msgid "Entity"
763829 msgstr "Entité"
764830
765 #: ../tools/polkit-gnome-authorization.c:2081
831 #: ../tools/polkit-gnome-authorization.c:2090
766832 msgid "Scope"
767833 msgstr "Portée"
768834
769 #: ../tools/polkit-gnome-authorization.c:2089
835 #: ../tools/polkit-gnome-authorization.c:2098
770836 msgid "Obtained"
771837 msgstr "Obtenu"
772838
773 #: ../tools/polkit-gnome-authorization.c:2097
839 #: ../tools/polkit-gnome-authorization.c:2106
774840 msgid "How"
775841 msgstr "Comment"
776842
777 #: ../tools/polkit-gnome-authorization.c:2105
843 #: ../tools/polkit-gnome-authorization.c:2114
778844 msgid "Constraints"
779845 msgstr "Contraintes"
780846
781 #: ../tools/polkit-gnome-authorization.c:2147
782 #: ../tools/polkit-gnome-authorization.c:2161
847 #: ../tools/polkit-gnome-authorization.c:2156
848 #: ../tools/polkit-gnome-authorization.c:2170
783849 msgid "_Revoke"
784850 msgstr "_Révoquer"
785851
786 #: ../tools/polkit-gnome-authorization.c:2154
852 #: ../tools/polkit-gnome-authorization.c:2163
787853 msgid "_Revoke..."
788854 msgstr "_Révoquer..."
789855
790 #: ../tools/polkit-gnome-authorization.c:2174
856 #: ../tools/polkit-gnome-authorization.c:2183
791857 msgid "_Show authorizations from all users..."
792858 msgstr "_Afficher les autorisations de tous les utilisateurs..."
793859
794 #: ../tools/polkit-gnome-authorization.c:2175
860 #: ../tools/polkit-gnome-authorization.c:2184
795861 msgid "_Show authorizations from all users"
796862 msgstr "_Afficher les autorisations de tous les utilisateurs"
797863
798 #: ../tools/polkit-gnome-authorization.c:2413
864 #: ../tools/polkit-gnome-authorization.c:2426
799865 msgid "Select an action"
800866 msgstr "Choisissez une action"
00 # Hungarian translation for policykit-gnome
1 # Gabor Kelemen <kelemeng at gnome dot hu>, 2008, 2009.
12 # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008
23 # This file is distributed under the same license as the policykit-gnome package.
3 # FIRST AUTHOR <EMAIL@ADDRESS>, 2008.
4 #
4 # Máté ŐRY <orymate at gmail dot com>
55 msgid ""
66 msgstr ""
7 "Project-Id-Version: policykit-gnome\n"
8 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9 "POT-Creation-Date: 2008-01-16 01:09+0000\n"
10 "PO-Revision-Date: 2008-03-23 18:27+0000\n"
11 "Last-Translator: ŐRY Máté <orymate@gmail.com>\n"
12 "Language-Team: Hungarian <hu@li.org>\n"
7 "Project-Id-Version: hu\n"
8 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2009-07-02 00:06+0200\n"
10 "PO-Revision-Date: 2009-07-02 00:11+0200\n"
11 "Last-Translator: Gabor Kelemen <kelemeng at gnome dot hu>\n"
12 "Language-Team: Hungarian <gnome at gnome dot hu>\n"
1313 "MIME-Version: 1.0\n"
1414 "Content-Type: text/plain; charset=UTF-8\n"
1515 "Content-Transfer-Encoding: 8bit\n"
1616 "X-Launchpad-Export-Date: 2008-04-09 07:28+0000\n"
17 "X-Generator: Launchpad (build Unknown)\n"
17 "X-Generator: KBabel 1.11.4\n"
18 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
1819
19 #: ../data/polkit-gnome-authorization.desktop.in.h:1
20 #: ../tools/polkit-gnome-authorization.c:2423
21 msgid "Authorizations"
22 msgstr "Jogosultságok"
20 #: ../src/polkitgnomeauthenticationdialog.c:159
21 msgid "Select user..."
22 msgstr "Válasszon felhasználót…"
2323
24 #: ../data/polkit-gnome-authorization.desktop.in.h:2
25 msgid "Configure authorizations"
26 msgstr "Jogosultságok beállítása"
27
28 #: ../examples/polkit-gnome-example.c:137
29 msgid "Copyright © 2007 David Zeuthen"
30 msgstr ""
31
32 #: ../examples/polkit-gnome-example.c:138
33 msgid "PolicyKit-gnome Website"
34 msgstr ""
35
36 #: ../examples/polkit-gnome-example.c:140
37 #: ../examples/polkit-gnome-example.c:446
38 msgid "PolicyKit-gnome demo"
39 msgstr ""
40
41 #: ../examples/polkit-gnome-example.c:141
42 msgid "PolicyKit for the GNOME desktop"
43 msgstr ""
44
45 #: ../examples/polkit-gnome-example.c:151
46 msgid "_File"
47 msgstr ""
48
49 #. name, stock id, label
50 #: ../examples/polkit-gnome-example.c:152
51 msgid "_Actions"
52 msgstr ""
53
54 #. name, stock id, label
55 #: ../examples/polkit-gnome-example.c:153
56 msgid "_Help"
57 msgstr ""
58
59 #. name, stock id, label
60 #. name, stock id
61 #: ../examples/polkit-gnome-example.c:156
62 msgid "_Quit"
63 msgstr ""
64
65 #. label, accelerator
66 #: ../examples/polkit-gnome-example.c:157
67 msgid "Quit"
68 msgstr ""
69
70 #. name, stock id
71 #: ../examples/polkit-gnome-example.c:161
72 msgid "_About"
73 msgstr ""
74
75 #. label, accelerator
76 #: ../examples/polkit-gnome-example.c:162
77 msgid "About"
78 msgstr ""
79
80 #: ../examples/polkit-gnome-example.c:243
81 msgid ""
82 "Making the helper <b>Frobnicate</b> requires the user to authenticate. The "
83 "authorization is kept for the life time of the process"
84 msgstr ""
85
86 #: ../examples/polkit-gnome-example.c:252
87 msgid "Frobnicate!"
88 msgstr ""
89
90 #: ../examples/polkit-gnome-example.c:267
91 msgid ""
92 "Making the helper <b>Jump</b> requires the user to authenticate. This is a "
93 "one-shot authorization."
94 msgstr ""
95
96 #: ../examples/polkit-gnome-example.c:275
97 msgid "Jump!"
98 msgstr ""
99
100 #: ../examples/polkit-gnome-example.c:290
101 msgid ""
102 "Making the helper <b>Tweak</b> requires a system administrator to "
103 "authenticate. This instance overrides the defaults set in "
104 "polkit_gnome_action_new()."
105 msgstr ""
106
107 #: ../examples/polkit-gnome-example.c:299
108 #: ../examples/polkit-gnome-example.c:320
109 msgid "Tweak!"
110 msgstr ""
111
112 #: ../examples/polkit-gnome-example.c:306
113 #: ../examples/polkit-gnome-example.policy.in.h:17
114 msgid "Tweak"
115 msgstr ""
116
117 #: ../examples/polkit-gnome-example.c:307
118 msgid "Tweak (long)"
119 msgstr ""
120
121 #: ../examples/polkit-gnome-example.c:308
122 msgid "If your admin wasn't annoying, you could do this"
123 msgstr ""
124
125 #: ../examples/polkit-gnome-example.c:313
126 msgid "Tweak..."
127 msgstr ""
128
129 #: ../examples/polkit-gnome-example.c:314
130 msgid "Tweak... (long)"
131 msgstr ""
132
133 #: ../examples/polkit-gnome-example.c:315
134 msgid "Only card carrying tweakers can do this!"
135 msgstr ""
136
137 #: ../examples/polkit-gnome-example.c:321
138 msgid "Tweak! (long)"
139 msgstr ""
140
141 #: ../examples/polkit-gnome-example.c:322
142 msgid "Go ahead, tweak tweak tweak!"
143 msgstr ""
144
145 #: ../examples/polkit-gnome-example.c:339
146 msgid ""
147 "Making the helper <b>Twiddle</b> requires a system administrator to "
148 "authenticate. Once authenticated, this privilege can be retained "
149 "indefinitely."
150 msgstr ""
151
152 #: ../examples/polkit-gnome-example.c:348
153 msgid "Twiddle!"
154 msgstr ""
155
156 #: ../examples/polkit-gnome-example.c:363
157 msgid ""
158 "Making the helper <b>Punch</b> requires the user to authenticate. Once "
159 "authenticated, this privilege can be retained for the remainder of the "
160 "desktop session."
161 msgstr ""
162
163 #: ../examples/polkit-gnome-example.c:372
164 msgid "Punch!"
165 msgstr ""
166
167 #: ../examples/polkit-gnome-example.c:387
168 msgid ""
169 "The <b>Toggle</b> action demonstrates the use of PolicyKit to drive a "
170 "GtkToggleButton; it's an intuitive way to ask users to give up "
171 "authorizations when they are done with them. E.g. the button is 'pressed in' "
172 "exactlywhen the authorization is held. Toggling the button means obtaining "
173 "resp. revoking the authorization in question."
174 msgstr ""
175
176 #: ../examples/polkit-gnome-example.c:401
177 msgid "Click to make changes..."
178 msgstr ""
179
180 #: ../examples/polkit-gnome-example.c:402
181 msgid "Click to prevent changes"
182 msgstr ""
183
184 #: ../examples/polkit-gnome-example.c:422
185 msgid ""
186 "<i>Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets "
187 "update in real-time.</i>."
188 msgstr ""
189
190 #: ../examples/polkit-gnome-example.policy.in.h:1
191 msgid "Frobnicate"
192 msgstr ""
193
194 #: ../examples/polkit-gnome-example.policy.in.h:2
195 msgid "Jump"
196 msgstr ""
197
198 #: ../examples/polkit-gnome-example.policy.in.h:3
199 msgid "Kick bar"
200 msgstr ""
201
202 #: ../examples/polkit-gnome-example.policy.in.h:4
203 msgid "Kick baz"
204 msgstr ""
205
206 #: ../examples/polkit-gnome-example.policy.in.h:5
207 msgid "Kick foo"
208 msgstr ""
209
210 #: ../examples/polkit-gnome-example.policy.in.h:6
211 msgid "Punch"
212 msgstr ""
213
214 #: ../examples/polkit-gnome-example.policy.in.h:7
215 msgid ""
216 "System policy prevents the PolicyKit-gnome example helper from Frobnicating"
217 msgstr ""
218
219 #: ../examples/polkit-gnome-example.policy.in.h:8
220 msgid ""
221 "System policy prevents the PolicyKit-gnome example helper from Jumping"
222 msgstr ""
223
224 #: ../examples/polkit-gnome-example.policy.in.h:9
225 msgid ""
226 "System policy prevents the PolicyKit-gnome example helper from Kicking bar"
227 msgstr ""
228
229 #: ../examples/polkit-gnome-example.policy.in.h:10
230 msgid ""
231 "System policy prevents the PolicyKit-gnome example helper from Kicking baz"
232 msgstr ""
233
234 #: ../examples/polkit-gnome-example.policy.in.h:11
235 msgid ""
236 "System policy prevents the PolicyKit-gnome example helper from Kicking foo"
237 msgstr ""
238
239 #: ../examples/polkit-gnome-example.policy.in.h:12
240 msgid ""
241 "System policy prevents the PolicyKit-gnome example helper from Punching"
242 msgstr ""
243
244 #: ../examples/polkit-gnome-example.policy.in.h:13
245 msgid ""
246 "System policy prevents the PolicyKit-gnome example helper from Toggling"
247 msgstr ""
248
249 #: ../examples/polkit-gnome-example.policy.in.h:14
250 msgid ""
251 "System policy prevents the PolicyKit-gnome example helper from Tweaking"
252 msgstr ""
253
254 #: ../examples/polkit-gnome-example.policy.in.h:15
255 msgid ""
256 "System policy prevents the PolicyKit-gnome example helper from Twiddling"
257 msgstr ""
258
259 #: ../examples/polkit-gnome-example.policy.in.h:16
260 msgid "Toggle"
261 msgstr ""
262
263 #: ../examples/polkit-gnome-example.policy.in.h:18
264 msgid "Twiddle"
265 msgstr ""
266
267 #: ../polkit-gnome/polkit-gnome-toggle-action.c:400
268 #: ../polkit-gnome/polkit-gnome-toggle-action.c:401
269 msgid "Authenticating..."
270 msgstr "Jogosultság ellenőrzése…"
271
272 #: ../src/main.c:139
273 msgid "Don't exit after 30 seconds of inactivity"
274 msgstr "30 másodperc tétlenség után ne lépjen ki"
275
276 #: ../src/main.c:148
277 msgid "PolicyKit GNOME session daemon"
278 msgstr "PolicyKit GNOME munkafolyamat-démon"
279
280 #: ../src/main.c:174
281 #, c-format
282 msgid "Starting PolicyKit GNOME session daemon version %s"
283 msgstr "PolicyKit GNOME munkafolyamat-démon %s indítása"
284
285 #: ../src/polkit-gnome-auth-dialog.c:190
286 #: ../tools/polkit-gnome-authorization.c:637
287 msgid "Select user..."
288 msgstr "Felhasználó választása…"
289
290 #: ../src/polkit-gnome-auth-dialog.c:211
291 #: ../tools/polkit-gnome-authorization.c:653
24 #: ../src/polkitgnomeauthenticationdialog.c:194
29225 #, c-format
29326 msgid "%s (%s)"
29427 msgstr "%s (%s)"
29528
296 #: ../src/polkit-gnome-auth-dialog.c:292
297 msgid "_Remember authorization for this session"
298 msgstr "Jogosultságok _megjegyzése a munkamenetre"
29 #: ../src/polkitgnomeauthenticationdialog.c:529
30 msgid "_Authenticate"
31 msgstr "_Hitelesítés"
29932
300 #: ../src/polkit-gnome-auth-dialog.c:298
301 msgid "_Remember authorization"
302 msgstr "Jogosultságok megj_egyzése"
303
304 #: ../src/polkit-gnome-auth-dialog.c:313
33 #: ../src/polkitgnomeauthenticationdialog.c:566
30534 msgid ""
30635 "An application is attempting to perform an action that requires privileges. "
30736 "Authentication as one of the users below is required to perform this action."
31039 "jogosultságot igényel. A következő felhasználók egyikeként való hitelesítés "
31140 "szükséges a művelet végrehajtásához."
31241
313 #: ../src/polkit-gnome-auth-dialog.c:320
42 #: ../src/polkitgnomeauthenticationdialog.c:574
43 msgid ""
44 "An application is attempting to perform an action that requires privileges. "
45 "Authentication is required to perform this action."
46 msgstr ""
47 "Egy alkalmazás olyan műveletet próbál végrehajtani, amely speciális "
48 "jogosultságot igényel. A művelet végrehajtásához hitelesítés szükséges."
49
50 #: ../src/polkitgnomeauthenticationdialog.c:580
31451 msgid ""
31552 "An application is attempting to perform an action that requires privileges. "
31653 "Authentication as the super user is required to perform this action."
31956 "jogosultságot igényel. Adminisztrátorként való hitelesítés szükséges a "
32057 "művelet végrehajtásához."
32158
322 #: ../src/polkit-gnome-auth-dialog.c:324
323 msgid ""
324 "An application is attempting to perform an action that requires privileges. "
325 "Authentication is required to perform this action."
326 msgstr ""
327 "Egy alkalmazás olyan műveletet próbál végrehajtani, amely speciális "
328 "jogosultságot igényel. A művelet végrehajtásához hitelesítés szükséges."
59 #: ../src/polkitgnomeauthenticationdialog.c:615
60 #: ../src/polkitgnomeauthenticator.c:289
61 msgid "_Password:"
62 msgstr "Jel_szó:"
32963
330 #: ../src/polkit-gnome-auth-dialog.c:348
64 #. Details
65 #: ../src/polkitgnomeauthenticationdialog.c:633
66 msgid "<small><b>_Details</b></small>"
67 msgstr "<small><b>_Részletek</b></small>"
68
69 #: ../src/polkitgnomeauthenticationdialog.c:686
70 msgid "<small><b>Action:</b></small>"
71 msgstr "<small><b>Művelet:</b></small>"
72
73 #: ../src/polkitgnomeauthenticationdialog.c:689
33174 #, c-format
33275 msgid "Click to edit %s"
33376 msgstr "Kattintson %s művelet jogosultságbeállításainak módosításához"
33477
335 #: ../src/polkit-gnome-auth-dialog.c:371
336 #: ../tools/polkit-gnome-authorization.c:1379
78 #: ../src/polkitgnomeauthenticationdialog.c:703
79 msgid "<small><b>Vendor:</b></small>"
80 msgstr "<small><b>Gyártó:</b></small>"
81
82 #: ../src/polkitgnomeauthenticationdialog.c:705
33783 #, c-format
33884 msgid "Click to open %s"
33985 msgstr "Kattintson %s megnyitásához"
34086
341 #: ../src/polkit-gnome-auth-dialog.c:600
342 msgid "_Authenticate"
343 msgstr "_Hitelesítés"
344
345 #: ../src/polkit-gnome-auth-dialog.c:659 ../src/polkit-gnome-manager.c:680
346 #: ../src/polkit-gnome-manager.c:728
347 msgid "_Password:"
348 msgstr "Jel_szó:"
349
350 #: ../src/polkit-gnome-auth-dialog.c:681
351 msgid "For this _session only"
352 msgstr "Csak erre a _munkamenetre"
353
354 #: ../src/polkit-gnome-auth-dialog.c:689
355 msgid "<small><b>_Details</b></small>"
356 msgstr "<small><b>_Részletek</b></small>"
357
358 #: ../src/polkit-gnome-auth-dialog.c:710
359 msgid "<small><b>Application:</b></small>"
360 msgstr "<small><b>Alkalmazás:</b></small>"
361
362 #: ../src/polkit-gnome-auth-dialog.c:714
363 msgid "<small><b>Action:</b></small>"
364 msgstr "<small><b>Művelet:</b></small>"
365
366 #: ../src/polkit-gnome-auth-dialog.c:719
367 msgid "<small><b>Vendor:</b></small>"
368 msgstr "<small><b>Gyártó:</b></small>"
369
370 #: ../src/polkit-gnome-auth-dialog.c:848
87 #: ../src/polkitgnomeauthenticationdialog.c:868
37188 msgid "Authenticate"
37289 msgstr "Hitelesítés"
37390
374 #: ../src/polkit-gnome-manager.c:723
91 #: ../src/polkitgnomeauthenticator.c:285
37592 #, c-format
37693 msgid "_Password for %s:"
37794 msgstr "%s jel_szava:"
37895
379 #: ../src/polkit-gnome-manager.c:725
380 msgid "_Password for root:"
381 msgstr "Adminisztrátor jel_szava"
96 #: ../src/polkitgnomeauthenticator.c:445
97 msgid "Authentication Failure"
98 msgstr "Hitelesítési hiba"
38299
383 #: ../src/polkit-gnome-manager.c:733
384 #, c-format
385 msgid "_Password or swipe finger for %s:"
386 msgstr "%s jel_szava vagy ujjlenyomata:"
100 #: ../src/polkit-gnome-authentication-agent-1.desktop.in.h:1
101 msgid "PolicyKit Authentication Agent"
102 msgstr "PolicyKit hitelesítési ügynök"
387103
388 #: ../src/polkit-gnome-manager.c:736
389 msgid "_Password or swipe finger for root:"
390 msgstr "Adminisztrátor jel_szava vagy ujjlenyomata:"
391
392 #: ../src/polkit-gnome-manager.c:739
393 msgid "_Password or swipe finger:"
394 msgstr "Jel_szó vagy ujjlenyomat:"
395
396 #: ../tools/polkit-gnome-authorization.c:117
397 msgid "No"
398 msgstr "Nem"
399
400 #: ../tools/polkit-gnome-authorization.c:119
401 msgid "Admin Authentication (one shot)"
402 msgstr "Adminisztrátor hitelesítése (egy lehetőség)"
403
404 #: ../tools/polkit-gnome-authorization.c:120
405 msgid "Admin Authentication"
406 msgstr "Adminisztrátor hitelesítése"
407
408 #: ../tools/polkit-gnome-authorization.c:121
409 msgid "Admin Authentication (keep session)"
410 msgstr "Adminisztrátor hitelesítése (munkamenetre)"
411
412 #: ../tools/polkit-gnome-authorization.c:122
413 msgid "Admin Authentication (keep indefinitely)"
414 msgstr "Adminisztrátor hitelesítése (határozatlan időre)"
415
416 #: ../tools/polkit-gnome-authorization.c:124
417 msgid "Authentication (one shot)"
418 msgstr "Hitelesítés (egy lehetőség)"
419
420 #: ../tools/polkit-gnome-authorization.c:125
421 msgid "Authentication"
422 msgstr "Hitelesítés"
423
424 #: ../tools/polkit-gnome-authorization.c:126
425 msgid "Authentication (keep session)"
426 msgstr "Hitelesítés (munkamenetre)"
427
428 #: ../tools/polkit-gnome-authorization.c:127
429 msgid "Authentication (keep indefinitely)"
430 msgstr "Hitelesítés (határozatlan időre)"
431
432 #: ../tools/polkit-gnome-authorization.c:129
433 msgid "Yes"
434 msgstr "Igen"
435
436 #: ../tools/polkit-gnome-authorization.c:272
437 msgid ", "
438 msgstr ", "
439
440 #: ../tools/polkit-gnome-authorization.c:276
441 msgid "Must be on console"
442 msgstr "Csak helyi gépről"
443
444 #: ../tools/polkit-gnome-authorization.c:279
445 msgid "Must be in active session"
446 msgstr "Csak aktív munkamenetben"
447
448 #: ../tools/polkit-gnome-authorization.c:336
449 msgid "A moment ago"
450 msgstr "Nincs 1 perce"
451
452 #: ../tools/polkit-gnome-authorization.c:340
453 msgid "1 minute ago"
454 msgstr "1 perce"
455
456 #: ../tools/polkit-gnome-authorization.c:342
457 #, c-format
458 msgid "%d minutes ago"
459 msgstr "%d perce"
460
461 #: ../tools/polkit-gnome-authorization.c:346
462 msgid "1 hour ago"
463 msgstr "1 órája"
464
465 #: ../tools/polkit-gnome-authorization.c:348
466 #, c-format
467 msgid "%d hours ago"
468 msgstr "%d órája"
469
470 #: ../tools/polkit-gnome-authorization.c:352
471 msgid "1 day ago"
472 msgstr "1 napja"
473
474 #: ../tools/polkit-gnome-authorization.c:354
475 #, c-format
476 msgid "%d days ago"
477 msgstr "%d napja"
478
479 #: ../tools/polkit-gnome-authorization.c:371
480 #, c-format
481 msgid "Auth as %s (uid %d)"
482 msgstr "%s (%d) hitelesítése"
483
484 #: ../tools/polkit-gnome-authorization.c:373
485 #, c-format
486 msgid "Auth as uid %d"
487 msgstr "Uid: %d hitelesítése"
488
489 #: ../tools/polkit-gnome-authorization.c:379
490 #, c-format
491 msgid "Blocked by %s (uid %d)"
492 msgstr "%s (%d) által tiltva"
493
494 #: ../tools/polkit-gnome-authorization.c:381
495 #, c-format
496 msgid "Blocked by uid %d"
497 msgstr "Uid: %d által tiltva"
498
499 #: ../tools/polkit-gnome-authorization.c:384
500 #, c-format
501 msgid "Granted by %s (uid %d)"
502 msgstr "%s (%d) által engedélyezve"
503
504 #: ../tools/polkit-gnome-authorization.c:386
505 #, c-format
506 msgid "Granted by uid %d"
507 msgstr "Uid: %d által engedélyezve"
508
509 #: ../tools/polkit-gnome-authorization.c:401
510 #, c-format
511 msgid "Single shot pid %d (%s)"
512 msgstr "Egyedi pid: %d (%s)"
513
514 #: ../tools/polkit-gnome-authorization.c:407
515 #, c-format
516 msgid "pid %d (%s)"
517 msgstr "Pid: %d (%s)"
518
519 #: ../tools/polkit-gnome-authorization.c:410
520 msgid "This session"
521 msgstr "Ezen munkamenetre"
522
523 #: ../tools/polkit-gnome-authorization.c:413
524 msgid "Always"
525 msgstr "Mindig"
526
527 #: ../tools/polkit-gnome-authorization.c:423
528 msgid "None"
529 msgstr "Nincs"
530
531 #: ../tools/polkit-gnome-authorization.c:815
532 msgid "Grant Negative Authorization"
533 msgstr "Jogosultság megtagadása"
534
535 #: ../tools/polkit-gnome-authorization.c:815
536 msgid "Grant Authorization"
537 msgstr "Jogosultság megadása"
538
539 #: ../tools/polkit-gnome-authorization.c:838
540 #, c-format
541 msgid ""
542 "<b><big>Granting a negative authorization for the <i>%s</i> action requires "
543 "more information</big></b>"
544 msgstr ""
545 "<b><big>A jogosultság megtagadása <i>%s</i> művelethez további információt "
546 "igényel</big></b>"
547
548 #: ../tools/polkit-gnome-authorization.c:839
549 #, c-format
550 msgid ""
551 "<b><big>Granting an authorization for the <i>%s</i> action requires more "
552 "information</big></b>"
553 msgstr ""
554 "<b><big>A jogosultság megadása <i>%s</i> művelethez további információt "
555 "igényel</big></b>"
556
557 #: ../tools/polkit-gnome-authorization.c:850
558 msgid ""
559 "Select the user to block for the action and, optionally, any constraints on "
560 "the negative authorization that you are about to grant."
561 msgstr ""
562 "Válassza ki, hogy melyik felhasználó jogosultsága kerüljön megtagadásra, és "
563 "szükség esetén állítson be megkötéseket."
564
565 #: ../tools/polkit-gnome-authorization.c:852
566 msgid ""
567 "Select the beneficiary and, optionally, how to constrain the authorization "
568 "that you are about to grant."
569 msgstr ""
570 "Válassza ki a kedvezményezettet, és szükség esetén a megadandó jogosultság "
571 "megkötéseit"
572
573 #: ../tools/polkit-gnome-authorization.c:863
574 msgid "<b>Beneficiary</b>"
575 msgstr "<b>Kedvezményezett</b>"
576
577 #: ../tools/polkit-gnome-authorization.c:875
578 msgid "Select the user that will receive the negative authorization."
579 msgstr ""
580 "Válassza ki azt a felhasználót, akinek a jogosultsága megtagadásra kerül."
581
582 #: ../tools/polkit-gnome-authorization.c:877
583 msgid "Select the user that will receive the authorization."
584 msgstr ""
585 "Válassza ki azt a felhasználót, akinek a jogosultsága megadásra kerül."
586
587 #: ../tools/polkit-gnome-authorization.c:886
588 msgid "_Show system users"
589 msgstr "_Rendszerfelhasználók megjelenítése"
590
591 #: ../tools/polkit-gnome-authorization.c:901
592 msgid "<b>Constraints</b>"
593 msgstr "<b>Megkötések</b>"
594
595 #: ../tools/polkit-gnome-authorization.c:912
596 msgid ""
597 "Constraints limits the authorization such that it only applies under certain "
598 "circumstances."
599 msgstr ""
600 "A megkötések úgy korlátozzák a jogosultságot, hogy az csak bizonyos "
601 "körülmények közt lesz érvényes."
602
603 #: ../tools/polkit-gnome-authorization.c:918
604 msgid "_None"
605 msgstr "_Nincs"
606
607 #: ../tools/polkit-gnome-authorization.c:920
608 msgid "Must be _in active session"
609 msgstr "Csak aktív _munkamenetben"
610
611 #: ../tools/polkit-gnome-authorization.c:922
612 msgid "Must be on _local console"
613 msgstr "Csak _helyi számítógépnél"
614
615 #: ../tools/polkit-gnome-authorization.c:924
616 msgid "Must be in _active session on local console"
617 msgstr "Csak helyi számítógépnél _aktív munkamenetben"
618
619 #: ../tools/polkit-gnome-authorization.c:945
620 #: ../tools/polkit-gnome-authorization.c:2117
621 msgid "_Block..."
622 msgstr "_Tiltás…"
623
624 #: ../tools/polkit-gnome-authorization.c:949
625 #: ../tools/polkit-gnome-authorization.c:2110
626 msgid "_Grant..."
627 msgstr "_Engedélyezés…"
628
629 #: ../tools/polkit-gnome-authorization.c:1143
630 msgid "Edit Implicit Authorizations"
631 msgstr "Implicit jogosultságok szerkesztése"
632
633 #: ../tools/polkit-gnome-authorization.c:1164
634 msgid "<b><big>Choose new implicit authorizations</big></b>"
635 msgstr "<b><big>Új implicit jogosultságok választása</big></b>"
636
637 #: ../tools/polkit-gnome-authorization.c:1178
638 #, c-format
639 msgid ""
640 "Implicit authorizations are authorizations that are granted automatically to "
641 "users under certain circumstances. Choose what is required for the action "
642 "<i>%s</i>."
643 msgstr ""
644 "Az implicit jogosultságok olyan jogosultságok, melyeket automatikusan "
645 "megkapnak a felhasználók bizonyos körülmények közt. Válassza ki a(z) "
646 "<i>%s</i> művelet engedélyezéséhez szükséges körülményeket."
647
648 #: ../tools/polkit-gnome-authorization.c:1203
649 #: ../tools/polkit-gnome-authorization.c:1958
650 msgid "<i>Anyone:</i>"
651 msgstr "<i>Mindenki:</i>"
652
653 #: ../tools/polkit-gnome-authorization.c:1210
654 #: ../tools/polkit-gnome-authorization.c:1962
655 msgid "<i>Console:</i>"
656 msgstr "<i>Helyi számítógépnél:</i>"
657
658 #: ../tools/polkit-gnome-authorization.c:1217
659 #: ../tools/polkit-gnome-authorization.c:1966
660 msgid "<i>Active Console:</i>"
661 msgstr "<i>Aktív helyi számítógépnél:</i>"
662
663 #: ../tools/polkit-gnome-authorization.c:1246
664 msgid "_Modify..."
665 msgstr "_Módosítás…"
666
667 #: ../tools/polkit-gnome-authorization.c:1874
668 msgid "<b>Action</b>"
669 msgstr "<b>Művelet</b>"
670
671 #: ../tools/polkit-gnome-authorization.c:1889
672 msgid "<i>Identifier:</i>"
673 msgstr "<i>Azonosító:</i>"
674
675 #: ../tools/polkit-gnome-authorization.c:1899
676 msgid "<i>Description:</i>"
677 msgstr "<i>Leírás:</i>"
678
679 #: ../tools/polkit-gnome-authorization.c:1909
680 msgid "<i>Vendor:</i>"
681 msgstr "<i>Gyártó:</i>"
682
683 #: ../tools/polkit-gnome-authorization.c:1935
684 msgid "<b>Implicit Authorizations</b>"
685 msgstr "<b>Implicit jogosultságok</b>"
686
687 #: ../tools/polkit-gnome-authorization.c:1943
688 msgid ""
689 "Implicit authorizations are authorizations automatically given to users "
690 "based on certain criteria such as if they are on the local console."
691 msgstr ""
692 "Az implicit jogosultságokat automatikusan megkapják a felhasználók bizonyos "
693 "körülmények között, például ha helyi számítógépet használnak."
694
695 #: ../tools/polkit-gnome-authorization.c:1986
696 msgid "_Edit..."
697 msgstr "_Szerkesztés…"
698
699 #: ../tools/polkit-gnome-authorization.c:1993
700 msgid "Revert To _Defaults..."
701 msgstr "_Visszaállítás az alapértelmezésre"
702
703 #: ../tools/polkit-gnome-authorization.c:2016
704 msgid "<b>Explicit Authorizations</b>"
705 msgstr "<b>Explicit jogosultságok</b>"
706
707 #: ../tools/polkit-gnome-authorization.c:2027
708 msgid ""
709 "This list displays authorizations that are either obtained through "
710 "authentication or specifically given to the entity in question. Blocked "
711 "authorizations are marked with a STOP sign."
712 msgstr ""
713 "Ez a felsorolás olyan jogosultságokat tartalmaz, amelyeket hitelesítés "
714 "útján, vagy konkrét engedélyezés során kapott a kérdéses felhasználó. A "
715 "letiltott jogosultságok STOP jelzéssel vannak jelölve."
716
717 #: ../tools/polkit-gnome-authorization.c:2057
718 msgid "Entity"
719 msgstr "Felhasználó"
720
721 #: ../tools/polkit-gnome-authorization.c:2065
722 msgid "Scope"
723 msgstr "Hatókör"
724
725 #: ../tools/polkit-gnome-authorization.c:2073
726 msgid "Obtained"
727 msgstr "Idő"
728
729 #: ../tools/polkit-gnome-authorization.c:2081
730 msgid "How"
731 msgstr "Mód"
732
733 #: ../tools/polkit-gnome-authorization.c:2089
734 msgid "Constraints"
735 msgstr "Megszorítások"
736
737 #: ../tools/polkit-gnome-authorization.c:2131
738 #: ../tools/polkit-gnome-authorization.c:2145
739 msgid "_Revoke"
740 msgstr "_Eltörlés"
741
742 #: ../tools/polkit-gnome-authorization.c:2138
743 msgid "_Revoke..."
744 msgstr "_Eltörlés…"
745
746 #: ../tools/polkit-gnome-authorization.c:2158
747 msgid "_Show authorizations from all users..."
748 msgstr "Minde_n felhasználó jogosultságainak megjelenítése…"
749
750 #: ../tools/polkit-gnome-authorization.c:2159
751 msgid "_Show authorizations from all users"
752 msgstr "Minde_n felhasználó jogosultságainak megjelenítése"
753
754 #: ../tools/polkit-gnome-authorization.c:2397
755 msgid "Select an action"
756 msgstr "Válasszon műveletet"
0 # Italian translation of policykit-gnome.
1 # Copyright (C) 2008 Free Software Foundation, Inc.
2 # This file is distributed under the same license as the policykit-gnome package.
3 # Gianvito Cavasoli <janvitus@ubuntu-it.org>, 2008.
4 #
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: policykit-gnome 0.9\n"
9 "Report-Msgid-Bugs-To: \n"
10 "POT-Creation-Date: 2008-11-07 15:32+0100\n"
11 "PO-Revision-Date: 2008-11-09 12:56+0100\n"
12 "Last-Translator: Gianvito Cavasoli <janvitus@ubuntu-it.org>\n"
13 "Language-Team: Italian <tp@lists.linux.it>\n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit"
17
18 #: ../data/polkit-gnome-authorization.desktop.in.h:1
19 #: ../tools/polkit-gnome-authorization.c:2452
20 msgid "Authorizations"
21 msgstr "Autorizzazioni"
22
23 #: ../data/polkit-gnome-authorization.desktop.in.h:2
24 msgid "Configure authorizations"
25 msgstr "Configura autorizzazioni"
26
27 #: ../data/polkit-gnome.schemas.in.h:1
28 msgid ""
29 "A list of PolicyKit action where the \"retain authorization\" checkbox isn't "
30 "checked by default; this list is maintained by the authentication dialog "
31 "code itself. For example, if a user unchecks the \"retain authorization\" "
32 "check box for an action and successfully obtains an authorization for the "
33 "action, the action will be added to this list."
34 msgstr ""
35 "Un elenco di azioni di PolicyKit dove la casella di spunta \"ricordare "
36 "l'autorizzazione\" non è selezionata come predefinita; questo elenco è "
37 "mantenuto dal codice di dialogo di autenticazione. Per esempio, se un utente "
38 "deseleziona la casella \"ricordare l'autorizzazione\" per un'azione e ottiene "
39 "con successo l'autorizzazione, l'azione verrà aggiunta a questo elenco."
40
41 #: ../data/polkit-gnome.schemas.in.h:2
42 msgid ""
43 "A list of actions where the \"retain authorization\" checkbox isn't checked "
44 "by default"
45 msgstr ""
46 "Un elenco di azioni dove la casella di spunta \"ricordare l'autorizzazione\" "
47 "non è selezionata come predefinita."
48
49 #: ../data/polkit-gnome.schemas.in.h:3
50 msgid ""
51 "If set to true, the authentication dialog from PolicyKit-gnome will grab the "
52 "keyboard, so that you will not be able to type in other programs while the "
53 "dialog is active. Use this if your window manager does not focus the "
54 "authentication dialog automatically, and you want to avoid accidentally "
55 "typing passwords in other programs."
56 msgstr ""
57 "Se impostato su vero, il dialogo di autenticazione di PolicyKit-gnome "
58 "prenderà possesso della tastiera, in modo tale che altri programmi non "
59 "potranno utilizzarla fin quando il dialogo è attivo. Abilitare se il gestore "
60 "delle finestre non mette in primo piano automaticamente il dialogo di "
61 "autenticazione, e si vuole evitare accidentalmente di digitare le password "
62 "in altri programmi."
63
64 #: ../data/polkit-gnome.schemas.in.h:4
65 msgid ""
66 "If set to true, then \"retain authorization\" check box (if present) is "
67 "checked by default in the authentication dialog unless the action is "
68 "mentioned in the \"/desktop/gnome/policykit/"
69 "auth_dialog_retain_authorization_blacklist\" key."
70 msgstr ""
71 "Se impostato su vero, la casella di spunta (se presente) \"ricordare "
72 "l'autorizzazione\" sarà selezionata come predefinita nel dialogo di "
73 "autenticazione se l'azione non è menzionata nella chiave \"/desktop/gnome/"
74 "policykit/auth_dialog_retain_authorization_blacklist\"."
75
76 #: ../data/polkit-gnome.schemas.in.h:5
77 msgid "Whether the authentication dialog should grab the keyboard"
78 msgstr "Indica se il dialogo di autenticazione deve prendere possesso della tastiera"
79
80 #: ../data/polkit-gnome.schemas.in.h:6
81 msgid "Whether the retain authorization check box is checked by default"
82 msgstr ""
83 "Indica se la casella di spunta \"ricordare l'autorizzazione\" è selezionata come "
84 "predefinita"
85
86 #: ../examples/polkit-gnome-example.c:137
87 msgid "Copyright © 2007 David Zeuthen"
88 msgstr "Copyright © 2007 David Zeuthen"
89
90 #: ../examples/polkit-gnome-example.c:138
91 msgid "PolicyKit-gnome Website"
92 msgstr "Sito web di PolicyKit-gnome"
93
94 #: ../examples/polkit-gnome-example.c:140
95 #: ../examples/polkit-gnome-example.c:446
96 msgid "PolicyKit-gnome demo"
97 msgstr "Dimostrazione di PolicyKit-gnome"
98
99 #: ../examples/polkit-gnome-example.c:141
100 msgid "PolicyKit for the GNOME desktop"
101 msgstr "PolicyKit per il desktop GNOME"
102
103 #: ../examples/polkit-gnome-example.c:151
104 msgid "_File"
105 msgstr "_File"
106
107 #. name, stock id, label
108 #: ../examples/polkit-gnome-example.c:152
109 msgid "_Actions"
110 msgstr "_Azioni"
111
112 #. name, stock id, label
113 #: ../examples/polkit-gnome-example.c:153
114 msgid "_Help"
115 msgstr "A_iuto"
116
117 #. name, stock id, label
118 #. name, stock id
119 #: ../examples/polkit-gnome-example.c:156
120 msgid "_Quit"
121 msgstr "_Esci"
122
123 #. label, accelerator
124 #: ../examples/polkit-gnome-example.c:157
125 msgid "Quit"
126 msgstr "Esci"
127
128 #. name, stock id
129 #: ../examples/polkit-gnome-example.c:161
130 msgid "_About"
131 msgstr "I_nformazioni"
132
133 #. label, accelerator
134 #: ../examples/polkit-gnome-example.c:162
135 msgid "About"
136 msgstr "Informazioni"
137
138 #: ../examples/polkit-gnome-example.c:243
139 msgid ""
140 "Making the helper <b>Frobnicate</b> requires the user to authenticate. The "
141 "authorization is kept for the life time of the process"
142 msgstr ""
143 "Creare il supporto <b>smanetta a caso</b> necessita l'autenticazione "
144 "dell'utente. L'autorizzazione è mantenuta per tutta la durata del processo."
145
146 #: ../examples/polkit-gnome-example.c:252
147 msgid "Frobnicate!"
148 msgstr "Smanetta a caso!"
149
150 #: ../examples/polkit-gnome-example.c:267
151 msgid ""
152 "Making the helper <b>Jump</b> requires the user to authenticate. This is a "
153 "one-shot authorization."
154 msgstr ""
155 "Creare il supporto <b>salta</b> necessita l'autenticazione dell'utente. "
156 "Questa è una singola autorizzazione."
157
158 #: ../examples/polkit-gnome-example.c:275
159 msgid "Jump!"
160 msgstr "Salta!"
161
162 #: ../examples/polkit-gnome-example.c:290
163 msgid ""
164 "Making the helper <b>Tweak</b> requires a system administrator to "
165 "authenticate. This instance overrides the defaults set in "
166 "polkit_gnome_action_new()."
167 msgstr ""
168 "Creare il supporto <b>smanetta con attenzione</b> necessita l'autenticazione "
169 "di un amministratore di sistema. Questa istanza ignora le impostazioni "
170 "predefinite in polkit_gnome_action_new()."
171
172 #: ../examples/polkit-gnome-example.c:299
173 #: ../examples/polkit-gnome-example.c:320
174 msgid "Tweak!"
175 msgstr "Smanetta con attenzione!"
176
177 #: ../examples/polkit-gnome-example.c:306
178 #: ../examples/org.gnome.policykit.examples.policy.in.h:17
179 msgid "Tweak"
180 msgstr "Smanetta con attenzione"
181
182 #: ../examples/polkit-gnome-example.c:307
183 msgid "Tweak (long)"
184 msgstr "Smanetta con attenzione (lungo)"
185
186 #: ../examples/polkit-gnome-example.c:308
187 msgid "If your admin wasn't annoying, you could do this"
188 msgstr "Se l'amministratore non fosse un rompiscatole, lo potresti fare"
189
190 #: ../examples/polkit-gnome-example.c:313
191 msgid "Tweak..."
192 msgstr "Smanetta con attenzione..."
193
194 #: ../examples/polkit-gnome-example.c:314
195 msgid "Tweak... (long)"
196 msgstr "Smanetta con attenzione... (lungo)"
197
198 #: ../examples/polkit-gnome-example.c:315
199 msgid "Only card carrying tweakers can do this!"
200 msgstr "Solo gli smanettoni portatori di carta possono fare questo!"
201
202 #: ../examples/polkit-gnome-example.c:321
203 msgid "Tweak! (long)"
204 msgstr "Smanetta con attenzione! (lungo)"
205
206 #: ../examples/polkit-gnome-example.c:322
207 msgid "Go ahead, tweak tweak tweak!"
208 msgstr "Vai avanti, smanetta, smanetta smanetta!"
209
210 #: ../examples/polkit-gnome-example.c:339
211 msgid ""
212 "Making the helper <b>Twiddle</b> requires a system administrator to "
213 "authenticate. Once authenticated, this privilege can be retained "
214 "indefinitely."
215 msgstr ""
216 "Creare il supporto <b>smanetta al limite</b> necessita l'autorizzazione di "
217 "un amministratore di sistema. Quando autenticato, questo privilegio può "
218 "essere mantenuto indefinitamente."
219
220 #: ../examples/polkit-gnome-example.c:348
221 msgid "Twiddle!"
222 msgstr "Smanetta al limite!"
223
224 #: ../examples/polkit-gnome-example.c:363
225 msgid ""
226 "Making the helper <b>Punch</b> requires the user to authenticate. Once "
227 "authenticated, this privilege can be retained for the remainder of the "
228 "desktop session."
229 msgstr ""
230 "Creare il supporto <b>dai un cazzotto</b> necessita l'autenticazione "
231 "dell'utente. Quando autenticato, questo privilegio può essere mantenuto per "
232 "il resto della sessione del desktop."
233
234 #: ../examples/polkit-gnome-example.c:372
235 msgid "Punch!"
236 msgstr "Dai un cazzotto!"
237
238 #: ../examples/polkit-gnome-example.c:387
239 msgid ""
240 "The <b>Toggle</b> action demonstrates the use of PolicyKit to drive a "
241 "GtkToggleButton; it's an intuitive way to ask users to give up "
242 "authorizations when they are done with them. E.g. the button is 'pressed in' "
243 "exactlywhen the authorization is held. Toggling the button means obtaining "
244 "resp. revoking the authorization in question."
245 msgstr ""
246 "L'azione <b>commuta</b> dimostra l'uso di PolicyKit nel pilotare un "
247 "GtkToggleButton; è un modo intuitivo di chiedere agli utenti di rinunciare "
248 "alle autorizzazioni quando hanno terminato con loro. Ad esempio il pulsante "
249 "è «premuto» esattamente quando l'autorizzazione è detenuta. Commutare il "
250 "pulsante significa ottenere o revocare l'autorizzazione in questione."
251
252 #: ../examples/polkit-gnome-example.c:401
253 msgid "Click to make changes..."
254 msgstr "Fare clic per attuare i cambiamenti..."
255
256 #: ../examples/polkit-gnome-example.c:402
257 msgid "Click to prevent changes"
258 msgstr "Fare clic per evitare i cambiamenti"
259
260 #: ../examples/polkit-gnome-example.c:422
261 msgid ""
262 "<i>Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets "
263 "update in real-time.</i>."
264 msgstr ""
265 "<i>Suggerimento: prova a modificare /etc/PolicyKit/Policy.conf e osserverai "
266 "gli oggetti del proxy aggiornarsi in tempo reale.</i>"
267
268 #: ../examples/org.gnome.policykit.examples.policy.in.h:1
269 msgid "Frobnicate"
270 msgstr "Smanetta a caso"
271
272 #: ../examples/org.gnome.policykit.examples.policy.in.h:2
273 msgid "Jump"
274 msgstr "Salta"
275
276 #: ../examples/org.gnome.policykit.examples.policy.in.h:3
277 msgid "Kick bar"
278 msgstr "Calcia bar"
279
280 #: ../examples/org.gnome.policykit.examples.policy.in.h:4
281 msgid "Kick baz"
282 msgstr "Calcia baz"
283
284 #: ../examples/org.gnome.policykit.examples.policy.in.h:5
285 msgid "Kick foo"
286 msgstr "Calcia foo"
287
288 #: ../examples/org.gnome.policykit.examples.policy.in.h:6
289 msgid "Punch"
290 msgstr "Dai un cazzotto"
291
292 #: ../examples/org.gnome.policykit.examples.policy.in.h:7
293 msgid ""
294 "System policy prevents the PolicyKit-gnome example helper from Frobnicating"
295 msgstr ""
296 "Le politiche di sistema impediscono all'esempio di supporto di PolicyKit-"
297 "gnome di smanettare a caso"
298
299 #: ../examples/org.gnome.policykit.examples.policy.in.h:8
300 msgid "System policy prevents the PolicyKit-gnome example helper from Jumping"
301 msgstr ""
302 "Le politiche di sistema impediscono all'esempio di supporto di PolicyKit-"
303 "gnome di saltare"
304
305 #: ../examples/org.gnome.policykit.examples.policy.in.h:9
306 msgid ""
307 "System policy prevents the PolicyKit-gnome example helper from Kicking bar"
308 msgstr ""
309 "Le politiche di sistema impediscono all'esempio di supporto di PolicyKit-"
310 "gnome di calciare bar"
311
312 #: ../examples/org.gnome.policykit.examples.policy.in.h:10
313 msgid ""
314 "System policy prevents the PolicyKit-gnome example helper from Kicking baz"
315 msgstr ""
316 "Le politiche di sistema impediscono all'esempio di supporto di PolicyKit-"
317 "gnome di calciare baz"
318
319 #: ../examples/org.gnome.policykit.examples.policy.in.h:11
320 msgid ""
321 "System policy prevents the PolicyKit-gnome example helper from Kicking foo"
322 msgstr ""
323 "Le politiche di sistema impediscono all'esempio di supporto di PolicyKit-"
324 "gnome di calciare foo"
325
326 #: ../examples/org.gnome.policykit.examples.policy.in.h:12
327 msgid "System policy prevents the PolicyKit-gnome example helper from Punching"
328 msgstr ""
329 "Le politiche di sistema impediscono all'esempio di supporto di PolicyKit-"
330 "gnome di dare un cazzotto."
331
332 #: ../examples/org.gnome.policykit.examples.policy.in.h:13
333 msgid "System policy prevents the PolicyKit-gnome example helper from Toggling"
334 msgstr ""
335 "Le politiche di sistema impediscono all'esempio di supporto di PolicyKit-"
336 "gnome di commutare"
337
338 #: ../examples/org.gnome.policykit.examples.policy.in.h:14
339 msgid "System policy prevents the PolicyKit-gnome example helper from Tweaking"
340 msgstr ""
341 "Le politiche di sistema impediscono all'esempio di supporto di PolicyKit-"
342 "gnome di smanettare."
343
344 #: ../examples/org.gnome.policykit.examples.policy.in.h:15
345 msgid ""
346 "System policy prevents the PolicyKit-gnome example helper from Twiddling"
347 msgstr ""
348 "Le politiche di sistema impediscono all'esempio di supporto di PolicyKit-"
349 "gnome di smanettare al limite"
350
351 #: ../examples/org.gnome.policykit.examples.policy.in.h:16
352 msgid "Toggle"
353 msgstr "Commuta"
354
355 #: ../examples/org.gnome.policykit.examples.policy.in.h:18
356 msgid "Twiddle"
357 msgstr "Smanetta al limite"
358
359 #: ../polkit-gnome/polkit-gnome-toggle-action.c:400
360 #: ../polkit-gnome/polkit-gnome-toggle-action.c:401
361 msgid "Authenticating..."
362 msgstr "Autenticazione..."
363
364 #: ../src/main.c:139
365 msgid "Don't exit after 30 seconds of inactivity"
366 msgstr "Non uscire dopo 30 secondi di inattività"
367
368 #: ../src/main.c:154
369 msgid "PolicyKit GNOME session daemon"
370 msgstr "Demone di sessione PolicyKit GNOME"
371
372 #: ../src/main.c:180
373 #, c-format
374 msgid "Starting PolicyKit GNOME session daemon version %s"
375 msgstr "Avvio del demone di sessione PolicyKit GNOME versione %s"
376
377 #: ../src/polkit-gnome-auth-dialog.c:190
378 #: ../tools/polkit-gnome-authorization.c:653
379 msgid "Select user..."
380 msgstr "Seleziona utente..."
381
382 #: ../src/polkit-gnome-auth-dialog.c:211
383 #: ../tools/polkit-gnome-authorization.c:672
384 #, c-format
385 msgid "%s (%s)"
386 msgstr "%s (%s)"
387
388 #: ../src/polkit-gnome-auth-dialog.c:292
389 msgid "_Remember authorization for this session"
390 msgstr "_Ricordare autorizzazione per questa sessione"
391
392 #: ../src/polkit-gnome-auth-dialog.c:298
393 msgid "_Remember authorization"
394 msgstr "_Ricordare autorizzazione"
395
396 #: ../src/polkit-gnome-auth-dialog.c:313
397 msgid ""
398 "An application is attempting to perform an action that requires privileges. "
399 "Authentication as one of the users below is required to perform this action."
400 msgstr ""
401 "Un'applicazione sta tentando di compiere un'azione che richiede dei "
402 "privilegi. Per compiere l'azione è richiesta l'autenticazione come uno degli "
403 "utenti elencati qui sotto."
404
405 #: ../src/polkit-gnome-auth-dialog.c:320
406 msgid ""
407 "An application is attempting to perform an action that requires privileges. "
408 "Authentication as the super user is required to perform this action."
409 msgstr ""
410 "Un'applicazione sta tentando di compiere un'azione che richiede dei "
411 "privilegi. Per compiere l'azione è richiesta l'autenticazione come super "
412 "utente."
413
414 #: ../src/polkit-gnome-auth-dialog.c:324
415 msgid ""
416 "An application is attempting to perform an action that requires privileges. "
417 "Authentication is required to perform this action."
418 msgstr ""
419 "Un'applicazione sta tentando di compiere un'azione che richiede dei "
420 "privilegi. Per compiere l'azione è richiesta l'autenticazione."
421
422 #: ../src/polkit-gnome-auth-dialog.c:405
423 #, c-format
424 msgid "Click to edit %s"
425 msgstr "Fare clic per modificare %s"
426
427 #: ../src/polkit-gnome-auth-dialog.c:430
428 #: ../tools/polkit-gnome-authorization.c:1400
429 #, c-format
430 msgid "Click to open %s"
431 msgstr "Fare clic per aprire %s"
432
433 #: ../src/polkit-gnome-auth-dialog.c:667
434 msgid "_Authenticate"
435 msgstr "_Autentica"
436
437 #: ../src/polkit-gnome-auth-dialog.c:726 ../src/polkit-gnome-manager.c:686
438 #: ../src/polkit-gnome-manager.c:735
439 msgid "_Password:"
440 msgstr "_Password:"
441
442 #: ../src/polkit-gnome-auth-dialog.c:748
443 msgid "For this _session only"
444 msgstr "Solo per questa _sessione"
445
446 #: ../src/polkit-gnome-auth-dialog.c:756
447 msgid "<small><b>_Details</b></small>"
448 msgstr "<small><b>_Dettagli</b></small>"
449
450 #: ../src/polkit-gnome-auth-dialog.c:777
451 msgid "<small><b>Application:</b></small>"
452 msgstr "<small><b>Applicazione:</b></small>"
453
454 #: ../src/polkit-gnome-auth-dialog.c:781
455 msgid "<small><b>Action:</b></small>"
456 msgstr "<small><b>Azione:</b></small>"
457
458 #: ../src/polkit-gnome-auth-dialog.c:786
459 msgid "<small><b>Vendor:</b></small>"
460 msgstr "<small><b>Fornitore:</b></small>"
461
462 #: ../src/polkit-gnome-auth-dialog.c:915
463 msgid "Authenticate"
464 msgstr "Autentica"
465
466 #: ../src/polkit-gnome-manager.c:367
467 msgid "(unknown"
468 msgstr "(sconosciuto"
469
470 #: ../src/polkit-gnome-manager.c:730
471 #, c-format
472 msgid "_Password for %s:"
473 msgstr "_Password per %s:"
474
475 #: ../src/polkit-gnome-manager.c:732
476 msgid "_Password for root:"
477 msgstr "_Password per root:"
478
479 #: ../src/polkit-gnome-manager.c:740
480 #, c-format
481 msgid "_Password or swipe finger for %s:"
482 msgstr "_Password o impronta digitale per %s:"
483
484 #: ../src/polkit-gnome-manager.c:743
485 msgid "_Password or swipe finger for root:"
486 msgstr "_Password o impronta digitale per root:"
487
488 #: ../src/polkit-gnome-manager.c:746
489 msgid "_Password or swipe finger:"
490 msgstr "_Password o impronta digitale:"
491
492 #: ../tools/polkit-gnome-authorization.c:117
493 msgid "No"
494 msgstr "No"
495
496 #: ../tools/polkit-gnome-authorization.c:119
497 msgid "Admin Authentication (one shot)"
498 msgstr "Autenticazione da amministratore (singola)"
499
500 #: ../tools/polkit-gnome-authorization.c:120
501 msgid "Admin Authentication"
502 msgstr "Autenticazione da amministratore"
503
504 #: ../tools/polkit-gnome-authorization.c:121
505 msgid "Admin Authentication (keep session)"
506 msgstr "Autenticazione da amministratore (durata della sessione)"
507
508 #: ../tools/polkit-gnome-authorization.c:122
509 msgid "Admin Authentication (keep indefinitely)"
510 msgstr "Autenticazione da amministratore (durata indefinita)"
511
512 #: ../tools/polkit-gnome-authorization.c:124
513 msgid "Authentication (one shot)"
514 msgstr "Autenticazione (singola)"
515
516 #: ../tools/polkit-gnome-authorization.c:125
517 msgid "Authentication"
518 msgstr "Autenticazione"
519
520 #: ../tools/polkit-gnome-authorization.c:126
521 msgid "Authentication (keep session)"
522 msgstr "Autenticazione (durata della sessione)"
523
524 #: ../tools/polkit-gnome-authorization.c:127
525 msgid "Authentication (keep indefinitely)"
526 msgstr "Autenticazione (durata indefinita)"
527
528 #: ../tools/polkit-gnome-authorization.c:129
529 msgid "Yes"
530 msgstr "Sì"
531
532 #: ../tools/polkit-gnome-authorization.c:272
533 msgid ", "
534 msgstr ", "
535
536 #: ../tools/polkit-gnome-authorization.c:276
537 msgid "Must be on console"
538 msgstr "Deve essere sulla console"
539
540 #: ../tools/polkit-gnome-authorization.c:279
541 msgid "Must be in active session"
542 msgstr "Deve essere nella sessione attiva"
543
544 #: ../tools/polkit-gnome-authorization.c:282
545 #, c-format
546 msgid "Must be program %s"
547 msgstr "Deve essere il programma %s"
548
549 #: ../tools/polkit-gnome-authorization.c:286
550 #, c-format
551 msgid "Must be SELinux Context %s"
552 msgstr "Deve essere un contesto SELinux %s"
553
554 #: ../tools/polkit-gnome-authorization.c:344
555 msgid "A moment ago"
556 msgstr "Un momento fa"
557
558 #: ../tools/polkit-gnome-authorization.c:348
559 msgid "1 minute ago"
560 msgstr "1 minuto fa"
561
562 #: ../tools/polkit-gnome-authorization.c:350
563 #, c-format
564 msgid "%d minutes ago"
565 msgstr "%d minuti fa"
566
567 #: ../tools/polkit-gnome-authorization.c:354
568 msgid "1 hour ago"
569 msgstr "1 ora fa"
570
571 #: ../tools/polkit-gnome-authorization.c:356
572 #, c-format
573 msgid "%d hours ago"
574 msgstr "%d ore fa"
575
576 #: ../tools/polkit-gnome-authorization.c:360
577 msgid "1 day ago"
578 msgstr "1 giorno fa"
579
580 #: ../tools/polkit-gnome-authorization.c:362
581 #, c-format
582 msgid "%d days ago"
583 msgstr "%d giorni fa"
584
585 #: ../tools/polkit-gnome-authorization.c:383
586 #, c-format
587 msgid "Auth as %s (uid %d)"
588 msgstr "Autenticato come %s (uid %d)"
589
590 #: ../tools/polkit-gnome-authorization.c:385
591 #, c-format
592 msgid "Auth as uid %d"
593 msgstr "Autenticato come uid %d"
594
595 #: ../tools/polkit-gnome-authorization.c:391
596 #, c-format
597 msgid "Blocked by %s (uid %d)"
598 msgstr "Bloccato da %s (uid %d)"
599
600 #: ../tools/polkit-gnome-authorization.c:393
601 #, c-format
602 msgid "Blocked by uid %d"
603 msgstr "Bloccato dal uid %d"
604
605 #: ../tools/polkit-gnome-authorization.c:396
606 #, c-format
607 msgid "Granted by %s (uid %d)"
608 msgstr "Assegnata da %s (uid %d)"
609
610 #: ../tools/polkit-gnome-authorization.c:398
611 #, c-format
612 msgid "Granted by uid %d"
613 msgstr "Assegnata dal uid %d"
614
615 #: ../tools/polkit-gnome-authorization.c:413
616 #, c-format
617 msgid "Single shot pid %d (%s)"
618 msgstr "Singolo pid %d (%s)"
619
620 #: ../tools/polkit-gnome-authorization.c:419
621 #, c-format
622 msgid "pid %d (%s)"
623 msgstr "pid %d (%s)"
624
625 #: ../tools/polkit-gnome-authorization.c:422
626 msgid "This session"
627 msgstr "Questa sessione"
628
629 #: ../tools/polkit-gnome-authorization.c:425
630 msgid "Always"
631 msgstr "Sempre"
632
633 #: ../tools/polkit-gnome-authorization.c:435
634 msgid "None"
635 msgstr "Nessuno"
636
637 #: ../tools/polkit-gnome-authorization.c:836
638 msgid "Grant Negative Authorization"
639 msgstr "Assegna autorizzazione negativa"
640
641 #: ../tools/polkit-gnome-authorization.c:836
642 msgid "Grant Authorization"
643 msgstr "Assegna autorizzazione"
644
645 #: ../tools/polkit-gnome-authorization.c:859
646 #, c-format
647 msgid ""
648 "<b><big>Granting a negative authorization for the <i>%s</i> action requires "
649 "more information</big></b>"
650 msgstr ""
651 "<b><big>Assegnare un'autorizzazione negativa per l'azione <i>%s</i> richiede "
652 "maggiori informazioni</big></b>"
653
654 #: ../tools/polkit-gnome-authorization.c:860
655 #, c-format
656 msgid ""
657 "<b><big>Granting an authorization for the <i>%s</i> action requires more "
658 "information</big></b>"
659 msgstr ""
660 "<b><big>Assegnare un'autorizzazione per l'azione <i>%s</i> richiede maggiori "
661 "informazioni</big></b>"
662
663 #: ../tools/polkit-gnome-authorization.c:871
664 msgid ""
665 "Select the user to block for the action and, optionally, any constraints on "
666 "the negative authorization that you are about to grant."
667 msgstr ""
668 "Selezionare l'utente da bloccare per l'azione e, eventualmente, qualsiasi "
669 "altro vincolo sull'autorizzazione negativa che si sta per assegnare."
670
671 #: ../tools/polkit-gnome-authorization.c:873
672 msgid ""
673 "Select the beneficiary and, optionally, how to constrain the authorization "
674 "that you are about to grant."
675 msgstr ""
676 "Selezionare il beneficiario e, eventualmente, come vincolare "
677 "l'autorizzazione che si sta per assegnare."
678
679 #: ../tools/polkit-gnome-authorization.c:884
680 msgid "<b>Beneficiary</b>"
681 msgstr "<b>Beneficiario</b>"
682
683 #: ../tools/polkit-gnome-authorization.c:896
684 msgid "Select the user that will receive the negative authorization."
685 msgstr "Selezionare l'utente che riceverà l'autorizzazione negativa."
686
687 #: ../tools/polkit-gnome-authorization.c:898
688 msgid "Select the user that will receive the authorization."
689 msgstr "Selezionare l'utente che riceverà l'autorizzazione."
690
691 #: ../tools/polkit-gnome-authorization.c:907
692 msgid "_Show system users"
693 msgstr "_Mostrare utenti di sistema"
694
695 #: ../tools/polkit-gnome-authorization.c:922
696 msgid "<b>Constraints</b>"
697 msgstr "<b>Vincoli</b>"
698
699 #: ../tools/polkit-gnome-authorization.c:933
700 msgid ""
701 "Constraints limits the authorization such that it only applies under certain "
702 "circumstances."
703 msgstr ""
704 "I vincoli limitano l'autorizzazione in modo che questa venga applicata solo "
705 "in determinate circostanze."
706
707 #: ../tools/polkit-gnome-authorization.c:939
708 msgid "_None"
709 msgstr "_Nessuno"
710
711 #: ../tools/polkit-gnome-authorization.c:941
712 msgid "Must be _in active session"
713 msgstr "Deve essere _nella sessione attiva"
714
715 #: ../tools/polkit-gnome-authorization.c:943
716 msgid "Must be on _local console"
717 msgstr "Deve essere sulla console _locale"
718
719 #: ../tools/polkit-gnome-authorization.c:945
720 msgid "Must be in _active session on local console"
721 msgstr "Deve essere nella sessione _attiva e sulla console locale"
722
723 #: ../tools/polkit-gnome-authorization.c:966
724 #: ../tools/polkit-gnome-authorization.c:2142
725 msgid "_Block..."
726 msgstr "_Blocca..."
727
728 #: ../tools/polkit-gnome-authorization.c:970
729 #: ../tools/polkit-gnome-authorization.c:2135
730 msgid "_Grant..."
731 msgstr "Ass_egna..."
732
733 #: ../tools/polkit-gnome-authorization.c:1164
734 msgid "Edit Implicit Authorizations"
735 msgstr "Modifica autorizzazioni implicite"
736
737 #: ../tools/polkit-gnome-authorization.c:1185
738 msgid "<b><big>Choose new implicit authorizations</big></b>"
739 msgstr "<b><big>Scegliere le nuove autorizzazioni implicite</big></b>"
740
741 #: ../tools/polkit-gnome-authorization.c:1199
742 #, c-format
743 msgid ""
744 "Implicit authorizations are authorizations that are granted automatically to "
745 "users under certain circumstances. Choose what is required for the action <i>"
746 "%s</i>."
747 msgstr ""
748 "Le autorizzazioni implicite sono autorizzazioni che vengono assegnate "
749 "automaticamente agli utenti in base a determinate circostanze. Scegliere "
750 "cosa è richiesto per l'azione <i>%s</i>."
751
752 #: ../tools/polkit-gnome-authorization.c:1224
753 #: ../tools/polkit-gnome-authorization.c:1983
754 msgid "<i>Anyone:</i>"
755 msgstr "<i>Chiunque:</i>"
756
757 #: ../tools/polkit-gnome-authorization.c:1231
758 #: ../tools/polkit-gnome-authorization.c:1987
759 msgid "<i>Console:</i>"
760 msgstr "<i>Console:</i>"
761
762 #: ../tools/polkit-gnome-authorization.c:1238
763 #: ../tools/polkit-gnome-authorization.c:1991
764 msgid "<i>Active Console:</i>"
765 msgstr "<i>Console attiva:</i>"
766
767 #: ../tools/polkit-gnome-authorization.c:1267
768 msgid "_Modify..."
769 msgstr "M_odifica..."
770
771 #: ../tools/polkit-gnome-authorization.c:1899
772 msgid "<b>Action</b>"
773 msgstr "<b>Azione:</b>"
774
775 #: ../tools/polkit-gnome-authorization.c:1914
776 msgid "<i>Identifier:</i>"
777 msgstr "<i>Identificativo:</i>"
778
779 #: ../tools/polkit-gnome-authorization.c:1924
780 msgid "<i>Description:</i>"
781 msgstr "<i>Descrizione:</i>"
782
783 #: ../tools/polkit-gnome-authorization.c:1934
784 msgid "<i>Vendor:</i>"
785 msgstr "<i>Fornitore:</i>"
786
787 #: ../tools/polkit-gnome-authorization.c:1960
788 msgid "<b>Implicit Authorizations</b>"
789 msgstr "<b>Autorizzazioni implicite</b>"
790
791 #: ../tools/polkit-gnome-authorization.c:1968
792 msgid ""
793 "Implicit authorizations are authorizations automatically given to users "
794 "based on certain criteria such as if they are on the local console."
795 msgstr ""
796 "Le autorizzazioni implicite sono autorizzazioni che vengono date "
797 "automaticamente agli utenti sulla base di determinati criteri come per "
798 "esempio l'essere collegati alla console locale."
799
800 #: ../tools/polkit-gnome-authorization.c:2011
801 msgid "_Edit..."
802 msgstr "_Modifica..."
803
804 #: ../tools/polkit-gnome-authorization.c:2018
805 msgid "Revert To _Defaults..."
806 msgstr "Ripristina _predefinite..."
807
808 #: ../tools/polkit-gnome-authorization.c:2041
809 msgid "<b>Explicit Authorizations</b>"
810 msgstr "<b>Autorizzazioni esplicite</b>"
811
812 #: ../tools/polkit-gnome-authorization.c:2052
813 msgid ""
814 "This list displays authorizations that are either obtained through "
815 "authentication or specifically given to the entity in question. Blocked "
816 "authorizations are marked with a STOP sign."
817 msgstr ""
818 "Questo elenco mostra sia le autorizzazioni ottenute per mezzo "
819 "dell'autenticazione, sia quelle specificatamente date all'entità in "
820 "questione. Le autorizzazioni bloccate sono contrassegnate con un segnale di "
821 "STOP."
822
823 #: ../tools/polkit-gnome-authorization.c:2082
824 msgid "Entity"
825 msgstr "Entità"
826
827 #: ../tools/polkit-gnome-authorization.c:2090
828 msgid "Scope"
829 msgstr "Ambito"
830
831 #: ../tools/polkit-gnome-authorization.c:2098
832 msgid "Obtained"
833 msgstr "Ottenuto"
834
835 #: ../tools/polkit-gnome-authorization.c:2106
836 msgid "How"
837 msgstr "Come"
838
839 #: ../tools/polkit-gnome-authorization.c:2114
840 msgid "Constraints"
841 msgstr "Vincoli"
842
843 #: ../tools/polkit-gnome-authorization.c:2156
844 #: ../tools/polkit-gnome-authorization.c:2170
845 msgid "_Revoke"
846 msgstr "_Revocare"
847
848 #: ../tools/polkit-gnome-authorization.c:2163
849 msgid "_Revoke..."
850 msgstr "_Revocare..."
851
852 #: ../tools/polkit-gnome-authorization.c:2183
853 msgid "_Show authorizations from all users..."
854 msgstr "_Mostrare autorizzazioni da tutti gli utenti..."
855
856 #: ../tools/polkit-gnome-authorization.c:2184
857 msgid "_Show authorizations from all users"
858 msgstr "_Mostrare autorizzazioni da tutti gli utenti"
859
860 #: ../tools/polkit-gnome-authorization.c:2426
861 msgid "Select an action"
862 msgstr "Seleziona un'azione"
863
0 # Lithuanian translation for PolicyKit-gnome package.
1 # Copyright (C) 2009 Free Software Foundation, Inc.
2 # This file is distributed under the same license as the PolicyKit-gnome package.
3 # Žygimantas Beručka <zygis@gnome.org>, 2009.
4 #
5 msgid ""
6 msgstr ""
7 "Project-Id-Version: PolicyKit-gnome master\n"
8 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2009-07-29 12:23+0300\n"
10 "PO-Revision-Date: 2009-07-29 15:01+0300\n"
11 "Last-Translator: Žygimantas Beručka <zygis@gnome.org>\n"
12 "Language-Team: Lithuanian <gnome-lt@lists.gnome.org>\n"
13 "MIME-Version: 1.0\n"
14 "Content-Type: text/plain; charset=UTF-8\n"
15 "Content-Transfer-Encoding: 8bit\n"
16
17 #: ../polkitgtk/polkitlockbutton.c:390
18 msgid "Action Identifier"
19 msgstr "Veiksmo identifikatorius"
20
21 #: ../polkitgtk/polkitlockbutton.c:391
22 msgid "The action identifier to use for the button"
23 msgstr "Veiksmo identifikatorius, naudotinas mygtukui"
24
25 #: ../polkitgtk/polkitlockbutton.c:407
26 msgid "Is Authorized"
27 msgstr "Autorizuotas"
28
29 #: ../polkitgtk/polkitlockbutton.c:408
30 msgid "Whether the process is authorized"
31 msgstr "Ar procesas yra autorizuotas"
32
33 #: ../polkitgtk/polkitlockbutton.c:423
34 msgid "Is Visible"
35 msgstr "Matomas"
36
37 #: ../polkitgtk/polkitlockbutton.c:424
38 msgid "Whether the widget is visible"
39 msgstr "Ar valdymo elementas yra matomas"
40
41 #: ../polkitgtk/polkitlockbutton.c:439
42 msgid "Can Obtain"
43 msgstr "Gali gauti"
44
45 #: ../polkitgtk/polkitlockbutton.c:440
46 msgid "Whether authorization can be obtained"
47 msgstr "Ar galima gauti autorizaciją"
48
49 #: ../polkitgtk/polkitlockbutton.c:455 ../polkitgtk/polkitlockbutton.c:489
50 msgid "Unlock Text"
51 msgstr "Atrakinti tekstą"
52
53 #: ../polkitgtk/polkitlockbutton.c:456
54 msgid "The text to display when prompting the user to unlock."
55 msgstr "Tekstas, rodytinas prašant naudotojo atrakinti."
56
57 #: ../polkitgtk/polkitlockbutton.c:457
58 msgid "Click to make changes"
59 msgstr "Spustelėję galite atlikti pakeitimus"
60
61 #: ../polkitgtk/polkitlockbutton.c:472
62 msgid "Lock Text"
63 msgstr "Užrakinti tekstą"
64
65 #: ../polkitgtk/polkitlockbutton.c:473
66 msgid "The text to display when prompting the user to lock."
67 msgstr "Tekstas, rodytinas prašant naudotojo užrakinti."
68
69 #: ../polkitgtk/polkitlockbutton.c:474
70 msgid "Click to prevent changes"
71 msgstr "Spustelėkite, norėdami neleisti pakeitimų"
72
73 #: ../polkitgtk/polkitlockbutton.c:490
74 msgid ""
75 "The text to display when the user cannot obtain authorization through "
76 "authentication."
77 msgstr ""
78 "Tekstas, rodytinas, kai naudotojas negali gauti privilegijų patvirtindamas"
79 "savo tapatybę."
80
81 #: ../polkitgtk/polkitlockbutton.c:491
82 msgid "Not authorized to make changes"
83 msgstr "Neturi teisių, reikiamų pakeitimų atlikimui"
84
85 #: ../src/main.c:128
86 msgid "Click the icon to drop all elevated privileges"
87 msgstr "Spustelėję piktogramą atsisakysite visų gautų privilegijų"
88
89 #: ../src/polkitgnomeauthenticationdialog.c:159
90 msgid "Select user..."
91 msgstr "Pasirinkite naudotoją..."
92
93 #: ../src/polkitgnomeauthenticationdialog.c:194
94 #, c-format
95 msgid "%s (%s)"
96 msgstr "%s (%s)"
97
98 #: ../src/polkitgnomeauthenticationdialog.c:529
99 msgid "_Authenticate"
100 msgstr "_Patvirtinti tapatybę"
101
102 #: ../src/polkitgnomeauthenticationdialog.c:566
103 msgid ""
104 "An application is attempting to perform an action that requires privileges. "
105 "Authentication as one of the users below is required to perform this action."
106 msgstr ""
107 "Programa siekia atlikti veiksmą, kuriam reikia privilegijų. Norint atlikti "
108 "šį veiksmą reikia patvirtinti vieno iš žemiau pateiktų naudotojų tapatybę."
109
110 #: ../src/polkitgnomeauthenticationdialog.c:574
111 msgid ""
112 "An application is attempting to perform an action that requires privileges. "
113 "Authentication is required to perform this action."
114 msgstr ""
115 "Programa siekia atlikti veiksmą, kuriam reikia privilegijų. Norint atlikti "
116 "šį veiksmą reikia patvirtinti tapatybę."
117
118 #: ../src/polkitgnomeauthenticationdialog.c:580
119 msgid ""
120 "An application is attempting to perform an action that requires privileges. "
121 "Authentication as the super user is required to perform this action."
122 msgstr ""
123 "Programa siekia atlikti veiksmą, kuriam reikia privilegijų. Norint atlikti "
124 "šį veiksmą reikia patvirtinti administratoriaus tapatybę."
125
126 #: ../src/polkitgnomeauthenticationdialog.c:615
127 #: ../src/polkitgnomeauthenticator.c:289
128 msgid "_Password:"
129 msgstr "_Slaptažodis:"
130
131 #. Details
132 #: ../src/polkitgnomeauthenticationdialog.c:633
133 msgid "<small><b>_Details</b></small>"
134 msgstr "<small><b>_Išsamiau</b></small>"
135
136 #: ../src/polkitgnomeauthenticationdialog.c:686
137 msgid "<small><b>Action:</b></small>"
138 msgstr "<small><b>Veiksmas:</b></small>"
139
140 #: ../src/polkitgnomeauthenticationdialog.c:689
141 #, c-format
142 msgid "Click to edit %s"
143 msgstr "Spustelėkite norėdami taisyti %s"
144
145 #: ../src/polkitgnomeauthenticationdialog.c:703
146 msgid "<small><b>Vendor:</b></small>"
147 msgstr "<small><b>Pardavėjas:</b></small>"
148
149 #: ../src/polkitgnomeauthenticationdialog.c:705
150 #, c-format
151 msgid "Click to open %s"
152 msgstr "Spustelėkite norėdami atverti %s"
153
154 #: ../src/polkitgnomeauthenticationdialog.c:868
155 msgid "Authenticate"
156 msgstr "Nustatyti tapatybę"
157
158 #: ../src/polkitgnomeauthenticator.c:285
159 #, c-format
160 msgid "_Password for %s:"
161 msgstr "Naudotojo %s _slaptažodis:"
162
163 #: ../src/polkitgnomeauthenticator.c:445
164 msgid "Authentication Failure"
165 msgstr "Nepavyko nustatyti tapatybės"
166
167 #: ../src/polkit-gnome-authentication-agent-1.desktop.in.in.h:1
168 msgid "PolicyKit Authentication Agent"
169 msgstr "PolicyKit tapatybės nustatymo agentas"
0 # Norwegian bokmål translation of policykit-gnome.
1 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
2 # This file is distributed under the same license as the PACKAGE package.
3 # Kjartan Maraas <kmaraas@gnome.org>, 2008.
4 #
5 msgid ""
6 msgstr ""
7 "Project-Id-Version: PolicyKit-gnome\n"
8 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2008-04-21 20:26+0200\n"
10 "PO-Revision-Date: 2008-10-29 10:05+0100\n"
11 "Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
12 "Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
13 "MIME-Version: 1.0\n"
14 "Content-Type: text/plain; charset=UTF-8\n"
15 "Content-Transfer-Encoding: 8bit\n"
16
17 #: ../data/polkit-gnome-authorization.desktop.in.h:1
18 #: ../tools/polkit-gnome-authorization.c:2439
19 msgid "Authorizations"
20 msgstr "Autorisasjoner"
21
22 #: ../data/polkit-gnome-authorization.desktop.in.h:2
23 msgid "Configure authorizations"
24 msgstr "Konfigurer autorisasjoner"
25
26 #: ../examples/polkit-gnome-example.c:137
27 msgid "Copyright © 2007 David Zeuthen"
28 msgstr "Opphavsrett © 2007 David Zeuthen"
29
30 #: ../examples/polkit-gnome-example.c:138
31 msgid "PolicyKit-gnome Website"
32 msgstr "Nettsted for PolicyKit-gnome"
33
34 #: ../examples/polkit-gnome-example.c:140
35 #: ../examples/polkit-gnome-example.c:446
36 msgid "PolicyKit-gnome demo"
37 msgstr "Demo av PolicyKit-gnome"
38
39 #: ../examples/polkit-gnome-example.c:141
40 msgid "PolicyKit for the GNOME desktop"
41 msgstr "PolicyKit for GNOME"
42
43 #: ../examples/polkit-gnome-example.c:151
44 msgid "_File"
45 msgstr "_Fil"
46
47 #. name, stock id, label
48 #: ../examples/polkit-gnome-example.c:152
49 msgid "_Actions"
50 msgstr "H_andlinger"
51
52 #. name, stock id, label
53 #: ../examples/polkit-gnome-example.c:153
54 msgid "_Help"
55 msgstr "_Hjelp"
56
57 #. name, stock id, label
58 #. name, stock id
59 #: ../examples/polkit-gnome-example.c:156
60 msgid "_Quit"
61 msgstr "A_vslutt"
62
63 #. label, accelerator
64 #: ../examples/polkit-gnome-example.c:157
65 msgid "Quit"
66 msgstr "Avslutt"
67
68 #. name, stock id
69 #: ../examples/polkit-gnome-example.c:161
70 msgid "_About"
71 msgstr "_Om"
72
73 #. label, accelerator
74 #: ../examples/polkit-gnome-example.c:162
75 msgid "About"
76 msgstr "Om"
77
78 #: ../examples/polkit-gnome-example.c:243
79 msgid ""
80 "Making the helper <b>Frobnicate</b> requires the user to authenticate. The "
81 "authorization is kept for the life time of the process"
82 msgstr ""
83
84 #: ../examples/polkit-gnome-example.c:252
85 msgid "Frobnicate!"
86 msgstr ""
87
88 #: ../examples/polkit-gnome-example.c:267
89 msgid ""
90 "Making the helper <b>Jump</b> requires the user to authenticate. This is a "
91 "one-shot authorization."
92 msgstr ""
93
94 #: ../examples/polkit-gnome-example.c:275
95 msgid "Jump!"
96 msgstr ""
97
98 #: ../examples/polkit-gnome-example.c:290
99 msgid ""
100 "Making the helper <b>Tweak</b> requires a system administrator to "
101 "authenticate. This instance overrides the defaults set in "
102 "polkit_gnome_action_new()."
103 msgstr ""
104
105 #: ../examples/polkit-gnome-example.c:299
106 #: ../examples/polkit-gnome-example.c:320
107 msgid "Tweak!"
108 msgstr ""
109
110 #: ../examples/polkit-gnome-example.c:306
111 #: ../examples/polkit-gnome-example.policy.in.h:17
112 msgid "Tweak"
113 msgstr ""
114
115 #: ../examples/polkit-gnome-example.c:307
116 msgid "Tweak (long)"
117 msgstr ""
118
119 #: ../examples/polkit-gnome-example.c:308
120 msgid "If your admin wasn't annoying, you could do this"
121 msgstr ""
122
123 #: ../examples/polkit-gnome-example.c:313
124 msgid "Tweak..."
125 msgstr ""
126
127 #: ../examples/polkit-gnome-example.c:314
128 msgid "Tweak... (long)"
129 msgstr ""
130
131 #: ../examples/polkit-gnome-example.c:315
132 msgid "Only card carrying tweakers can do this!"
133 msgstr ""
134
135 #: ../examples/polkit-gnome-example.c:321
136 msgid "Tweak! (long)"
137 msgstr ""
138
139 #: ../examples/polkit-gnome-example.c:322
140 msgid "Go ahead, tweak tweak tweak!"
141 msgstr ""
142
143 #: ../examples/polkit-gnome-example.c:339
144 msgid ""
145 "Making the helper <b>Twiddle</b> requires a system administrator to "
146 "authenticate. Once authenticated, this privilege can be retained "
147 "indefinitely."
148 msgstr ""
149
150 #: ../examples/polkit-gnome-example.c:348
151 msgid "Twiddle!"
152 msgstr ""
153
154 #: ../examples/polkit-gnome-example.c:363
155 msgid ""
156 "Making the helper <b>Punch</b> requires the user to authenticate. Once "
157 "authenticated, this privilege can be retained for the remainder of the "
158 "desktop session."
159 msgstr ""
160
161 #: ../examples/polkit-gnome-example.c:372
162 msgid "Punch!"
163 msgstr ""
164
165 #: ../examples/polkit-gnome-example.c:387
166 msgid ""
167 "The <b>Toggle</b> action demonstrates the use of PolicyKit to drive a "
168 "GtkToggleButton; it's an intuitive way to ask users to give up "
169 "authorizations when they are done with them. E.g. the button is 'pressed in' "
170 "exactlywhen the authorization is held. Toggling the button means obtaining "
171 "resp. revoking the authorization in question."
172 msgstr ""
173
174 #: ../examples/polkit-gnome-example.c:401
175 msgid "Click to make changes..."
176 msgstr ""
177
178 #: ../examples/polkit-gnome-example.c:402
179 msgid "Click to prevent changes"
180 msgstr ""
181
182 #: ../examples/polkit-gnome-example.c:422
183 msgid ""
184 "<i>Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets "
185 "update in real-time.</i>."
186 msgstr ""
187
188 #: ../examples/polkit-gnome-example.policy.in.h:1
189 msgid "Frobnicate"
190 msgstr ""
191
192 #: ../examples/polkit-gnome-example.policy.in.h:2
193 msgid "Jump"
194 msgstr ""
195
196 #: ../examples/polkit-gnome-example.policy.in.h:3
197 msgid "Kick bar"
198 msgstr ""
199
200 #: ../examples/polkit-gnome-example.policy.in.h:4
201 msgid "Kick baz"
202 msgstr ""
203
204 #: ../examples/polkit-gnome-example.policy.in.h:5
205 msgid "Kick foo"
206 msgstr ""
207
208 #: ../examples/polkit-gnome-example.policy.in.h:6
209 msgid "Punch"
210 msgstr ""
211
212 #: ../examples/polkit-gnome-example.policy.in.h:7
213 msgid ""
214 "System policy prevents the PolicyKit-gnome example helper from Frobnicating"
215 msgstr ""
216
217 #: ../examples/polkit-gnome-example.policy.in.h:8
218 msgid "System policy prevents the PolicyKit-gnome example helper from Jumping"
219 msgstr ""
220
221 #: ../examples/polkit-gnome-example.policy.in.h:9
222 msgid ""
223 "System policy prevents the PolicyKit-gnome example helper from Kicking bar"
224 msgstr ""
225
226 #: ../examples/polkit-gnome-example.policy.in.h:10
227 msgid ""
228 "System policy prevents the PolicyKit-gnome example helper from Kicking baz"
229 msgstr ""
230
231 #: ../examples/polkit-gnome-example.policy.in.h:11
232 msgid ""
233 "System policy prevents the PolicyKit-gnome example helper from Kicking foo"
234 msgstr ""
235
236 #: ../examples/polkit-gnome-example.policy.in.h:12
237 msgid "System policy prevents the PolicyKit-gnome example helper from Punching"
238 msgstr ""
239
240 #: ../examples/polkit-gnome-example.policy.in.h:13
241 msgid "System policy prevents the PolicyKit-gnome example helper from Toggling"
242 msgstr ""
243
244 #: ../examples/polkit-gnome-example.policy.in.h:14
245 msgid "System policy prevents the PolicyKit-gnome example helper from Tweaking"
246 msgstr ""
247
248 #: ../examples/polkit-gnome-example.policy.in.h:15
249 msgid ""
250 "System policy prevents the PolicyKit-gnome example helper from Twiddling"
251 msgstr ""
252
253 #: ../examples/polkit-gnome-example.policy.in.h:16
254 msgid "Toggle"
255 msgstr ""
256
257 #: ../examples/polkit-gnome-example.policy.in.h:18
258 msgid "Twiddle"
259 msgstr ""
260
261 #: ../polkit-gnome/polkit-gnome-toggle-action.c:400
262 #: ../polkit-gnome/polkit-gnome-toggle-action.c:401
263 msgid "Authenticating..."
264 msgstr "Autentiserer"
265
266 #: ../src/main.c:139
267 msgid "Don't exit after 30 seconds of inactivity"
268 msgstr "Ikke avslutt etter 30 sekunders pause"
269
270 #: ../src/main.c:148
271 msgid "PolicyKit GNOME session daemon"
272 msgstr "GNOME sesjonstjeneste for PolicyKit"
273
274 #: ../src/main.c:174
275 #, c-format
276 msgid "Starting PolicyKit GNOME session daemon version %s"
277 msgstr "Starter GNOME sesjonstjeneste for PolicyKit versjon %s"
278
279 #: ../src/polkit-gnome-auth-dialog.c:190
280 #: ../tools/polkit-gnome-authorization.c:649
281 msgid "Select user..."
282 msgstr "Velg bruker..."
283
284 #: ../src/polkit-gnome-auth-dialog.c:211
285 #: ../tools/polkit-gnome-authorization.c:665
286 #, c-format
287 msgid "%s (%s)"
288 msgstr "%s (%s)"
289
290 #: ../src/polkit-gnome-auth-dialog.c:292
291 msgid "_Remember authorization for this session"
292 msgstr "Husk auto_risasjon for denne sesjonen"
293
294 #: ../src/polkit-gnome-auth-dialog.c:298
295 msgid "_Remember authorization"
296 msgstr "Husk auto_risasjon"
297
298 #: ../src/polkit-gnome-auth-dialog.c:313
299 msgid ""
300 "An application is attempting to perform an action that requires privileges. "
301 "Authentication as one of the users below is required to perform this action."
302 msgstr ""
303 "Et program prøver å utføre en handling som krever rettigheter. Du må "
304 "autentisere som en av brukerene under for å utføre denne handlingen."
305
306 #: ../src/polkit-gnome-auth-dialog.c:320
307 msgid ""
308 "An application is attempting to perform an action that requires privileges. "
309 "Authentication as the super user is required to perform this action."
310 msgstr ""
311 "Et program prøver å utføre en handling som krever rettigheter. Du må "
312 "autentisere som superbruker for å utføre denne handlingen."
313
314 #: ../src/polkit-gnome-auth-dialog.c:324
315 msgid ""
316 "An application is attempting to perform an action that requires privileges. "
317 "Authentication is required to perform this action."
318 msgstr ""
319 "Et program prøver å utføre en handling som krever rettigheter. Du må "
320 "autentisere deg for å utføre denne handlingen."
321
322 #: ../src/polkit-gnome-auth-dialog.c:348
323 #, c-format
324 msgid "Click to edit %s"
325 msgstr "Klikk for å redigere %s"
326
327 #: ../src/polkit-gnome-auth-dialog.c:371
328 #: ../tools/polkit-gnome-authorization.c:1391
329 #, c-format
330 msgid "Click to open %s"
331 msgstr "Klikk for å åpne %s"
332
333 #: ../src/polkit-gnome-auth-dialog.c:600
334 msgid "_Authenticate"
335 msgstr "_Autentiser"
336
337 #: ../src/polkit-gnome-auth-dialog.c:659 ../src/polkit-gnome-manager.c:691
338 #: ../src/polkit-gnome-manager.c:740
339 msgid "_Password:"
340 msgstr "_Passord:"
341
342 #: ../src/polkit-gnome-auth-dialog.c:681
343 msgid "For this _session only"
344 msgstr "Kun for denne _sesjonen"
345
346 #: ../src/polkit-gnome-auth-dialog.c:689
347 msgid "<small><b>_Details</b></small>"
348 msgstr "<small><b>_Detaljer</b></small>"
349
350 #: ../src/polkit-gnome-auth-dialog.c:710
351 msgid "<small><b>Application:</b></small>"
352 msgstr "<small><b>Program:</b></small>"
353
354 #: ../src/polkit-gnome-auth-dialog.c:714
355 msgid "<small><b>Action:</b></small>"
356 msgstr "<small><b>Handling:</b></small>"
357
358 #: ../src/polkit-gnome-auth-dialog.c:719
359 msgid "<small><b>Vendor:</b></small>"
360 msgstr "<small><b>Leverandør:</b></small>"
361
362 #: ../src/polkit-gnome-auth-dialog.c:848
363 msgid "Authenticate"
364 msgstr "Autentiser"
365
366 #: ../src/polkit-gnome-manager.c:735
367 #, c-format
368 msgid "_Password for %s:"
369 msgstr "_Passord for %s:"
370
371 #: ../src/polkit-gnome-manager.c:737
372 msgid "_Password for root:"
373 msgstr "_Passord for root:"
374
375 #: ../src/polkit-gnome-manager.c:745
376 #, c-format
377 msgid "_Password or swipe finger for %s:"
378 msgstr "_Passord eller dra fingeren for %s:"
379
380 #: ../src/polkit-gnome-manager.c:748
381 msgid "_Password or swipe finger for root:"
382 msgstr "_Passord eller dra fingeren for root:"
383
384 #: ../src/polkit-gnome-manager.c:751
385 msgid "_Password or swipe finger:"
386 msgstr "_Passord eller dra fingeren:"
387
388 #: ../tools/polkit-gnome-authorization.c:117
389 msgid "No"
390 msgstr "Nei"
391
392 #: ../tools/polkit-gnome-authorization.c:119
393 msgid "Admin Authentication (one shot)"
394 msgstr "Autentisering for administrator (en gang)"
395
396 #: ../tools/polkit-gnome-authorization.c:120
397 msgid "Admin Authentication"
398 msgstr "Autentisering for administrator"
399
400 #: ../tools/polkit-gnome-authorization.c:121
401 msgid "Admin Authentication (keep session)"
402 msgstr "Autentisering for administrator (husk for sesjon)"
403
404 #: ../tools/polkit-gnome-authorization.c:122
405 msgid "Admin Authentication (keep indefinitely)"
406 msgstr "Autentisering for administrator (husk for alltid)"
407
408 #: ../tools/polkit-gnome-authorization.c:124
409 msgid "Authentication (one shot)"
410 msgstr "Autentisering (en gang)"
411
412 #: ../tools/polkit-gnome-authorization.c:125
413 msgid "Authentication"
414 msgstr "Autentisering"
415
416 #: ../tools/polkit-gnome-authorization.c:126
417 msgid "Authentication (keep session)"
418 msgstr "Autentisering (husk for sesjon)"
419
420 #: ../tools/polkit-gnome-authorization.c:127
421 msgid "Authentication (keep indefinitely)"
422 msgstr "Autentisering (husk for alltid)"
423
424 #: ../tools/polkit-gnome-authorization.c:129
425 msgid "Yes"
426 msgstr "Ja"
427
428 #: ../tools/polkit-gnome-authorization.c:272
429 msgid ", "
430 msgstr ", "
431
432 #: ../tools/polkit-gnome-authorization.c:276
433 msgid "Must be on console"
434 msgstr "Må være på konsollet"
435
436 #: ../tools/polkit-gnome-authorization.c:279
437 msgid "Must be in active session"
438 msgstr "Må være i en aktiv sesjon"
439
440 #: ../tools/polkit-gnome-authorization.c:282
441 #, c-format
442 msgid "Must be program %s"
443 msgstr "Må være program %s"
444
445 #: ../tools/polkit-gnome-authorization.c:286
446 #, c-format
447 msgid "Must be SELinux Context %s"
448 msgstr "Må være SELinux-kontekst %s"
449
450 #: ../tools/polkit-gnome-authorization.c:344
451 msgid "A moment ago"
452 msgstr "Et øyeblikk siden"
453
454 #: ../tools/polkit-gnome-authorization.c:348
455 msgid "1 minute ago"
456 msgstr "1 minutt siden"
457
458 #: ../tools/polkit-gnome-authorization.c:350
459 #, c-format
460 msgid "%d minutes ago"
461 msgstr "%d minutter siden"
462
463 #: ../tools/polkit-gnome-authorization.c:354
464 msgid "1 hour ago"
465 msgstr "1 time siden"
466
467 #: ../tools/polkit-gnome-authorization.c:356
468 #, c-format
469 msgid "%d hours ago"
470 msgstr "%d timer siden"
471
472 #: ../tools/polkit-gnome-authorization.c:360
473 msgid "1 day ago"
474 msgstr "1 dag siden"
475
476 #: ../tools/polkit-gnome-authorization.c:362
477 #, c-format
478 msgid "%d days ago"
479 msgstr "%d dager siden"
480
481 #: ../tools/polkit-gnome-authorization.c:379
482 #, c-format
483 msgid "Auth as %s (uid %d)"
484 msgstr "Autentiser som %s (uid %d)"
485
486 #: ../tools/polkit-gnome-authorization.c:381
487 #, c-format
488 msgid "Auth as uid %d"
489 msgstr "Autentiser som uid %d"
490
491 #: ../tools/polkit-gnome-authorization.c:387
492 #, c-format
493 msgid "Blocked by %s (uid %d)"
494 msgstr "Blokkert av %s (uid %d)"
495
496 #: ../tools/polkit-gnome-authorization.c:389
497 #, c-format
498 msgid "Blocked by uid %d"
499 msgstr "Blokkert av uid %d"
500
501 #: ../tools/polkit-gnome-authorization.c:392
502 #, c-format
503 msgid "Granted by %s (uid %d)"
504 msgstr "Gitt av %s (uid %d)"
505
506 #: ../tools/polkit-gnome-authorization.c:394
507 #, c-format
508 msgid "Granted by uid %d"
509 msgstr "Gitt av uid %d"
510
511 #: ../tools/polkit-gnome-authorization.c:409
512 #, c-format
513 msgid "Single shot pid %d (%s)"
514 msgstr ""
515
516 #: ../tools/polkit-gnome-authorization.c:415
517 #, c-format
518 msgid "pid %d (%s)"
519 msgstr "pid %d (%s)"
520
521 #: ../tools/polkit-gnome-authorization.c:418
522 msgid "This session"
523 msgstr "Denne sesjonen"
524
525 #: ../tools/polkit-gnome-authorization.c:421
526 msgid "Always"
527 msgstr "Alltid"
528
529 #: ../tools/polkit-gnome-authorization.c:431
530 msgid "None"
531 msgstr "Ingen"
532
533 #: ../tools/polkit-gnome-authorization.c:827
534 msgid "Grant Negative Authorization"
535 msgstr ""
536
537 #: ../tools/polkit-gnome-authorization.c:827
538 msgid "Grant Authorization"
539 msgstr ""
540
541 #: ../tools/polkit-gnome-authorization.c:850
542 #, c-format
543 msgid ""
544 "<b><big>Granting a negative authorization for the <i>%s</i> action requires "
545 "more information</big></b>"
546 msgstr ""
547
548 #: ../tools/polkit-gnome-authorization.c:851
549 #, c-format
550 msgid ""
551 "<b><big>Granting an authorization for the <i>%s</i> action requires more "
552 "information</big></b>"
553 msgstr ""
554
555 #: ../tools/polkit-gnome-authorization.c:862
556 msgid ""
557 "Select the user to block for the action and, optionally, any constraints on "
558 "the negative authorization that you are about to grant."
559 msgstr ""
560
561 #: ../tools/polkit-gnome-authorization.c:864
562 msgid ""
563 "Select the beneficiary and, optionally, how to constrain the authorization "
564 "that you are about to grant."
565 msgstr ""
566
567 #: ../tools/polkit-gnome-authorization.c:875
568 msgid "<b>Beneficiary</b>"
569 msgstr ""
570
571 #: ../tools/polkit-gnome-authorization.c:887
572 msgid "Select the user that will receive the negative authorization."
573 msgstr ""
574
575 #: ../tools/polkit-gnome-authorization.c:889
576 msgid "Select the user that will receive the authorization."
577 msgstr ""
578
579 #: ../tools/polkit-gnome-authorization.c:898
580 msgid "_Show system users"
581 msgstr "Vi_s systembrukere"
582
583 #: ../tools/polkit-gnome-authorization.c:913
584 msgid "<b>Constraints</b>"
585 msgstr "<b>Begrensninger</b>"
586
587 #: ../tools/polkit-gnome-authorization.c:924
588 msgid ""
589 "Constraints limits the authorization such that it only applies under certain "
590 "circumstances."
591 msgstr ""
592
593 #: ../tools/polkit-gnome-authorization.c:930
594 msgid "_None"
595 msgstr "I_ngen"
596
597 #: ../tools/polkit-gnome-authorization.c:932
598 msgid "Must be _in active session"
599 msgstr "Må være _i en aktiv sesjon"
600
601 #: ../tools/polkit-gnome-authorization.c:934
602 msgid "Must be on _local console"
603 msgstr "Må være på _lokalt konsoll"
604
605 #: ../tools/polkit-gnome-authorization.c:936
606 msgid "Must be in _active session on local console"
607 msgstr "Må være i en _aktiv sesjon på lokalt konsoll"
608
609 #: ../tools/polkit-gnome-authorization.c:957
610 #: ../tools/polkit-gnome-authorization.c:2133
611 msgid "_Block..."
612 msgstr "_Blokker"
613
614 #: ../tools/polkit-gnome-authorization.c:961
615 #: ../tools/polkit-gnome-authorization.c:2126
616 msgid "_Grant..."
617 msgstr "_Gi"
618
619 #: ../tools/polkit-gnome-authorization.c:1155
620 msgid "Edit Implicit Authorizations"
621 msgstr ""
622
623 #: ../tools/polkit-gnome-authorization.c:1176
624 msgid "<b><big>Choose new implicit authorizations</big></b>"
625 msgstr ""
626
627 #: ../tools/polkit-gnome-authorization.c:1190
628 #, c-format
629 msgid ""
630 "Implicit authorizations are authorizations that are granted automatically to "
631 "users under certain circumstances. Choose what is required for the action <i>"
632 "%s</i>."
633 msgstr ""
634
635 #: ../tools/polkit-gnome-authorization.c:1215
636 #: ../tools/polkit-gnome-authorization.c:1974
637 msgid "<i>Anyone:</i>"
638 msgstr "<i>Alle:</i>"
639
640 #: ../tools/polkit-gnome-authorization.c:1222
641 #: ../tools/polkit-gnome-authorization.c:1978
642 msgid "<i>Console:</i>"
643 msgstr "<i>Konsoll:</i>"
644
645 #: ../tools/polkit-gnome-authorization.c:1229
646 #: ../tools/polkit-gnome-authorization.c:1982
647 msgid "<i>Active Console:</i>"
648 msgstr "<i>Aktivt konsoll:</i>"
649
650 #: ../tools/polkit-gnome-authorization.c:1258
651 msgid "_Modify..."
652 msgstr "E_ndre..."
653
654 #: ../tools/polkit-gnome-authorization.c:1890
655 msgid "<b>Action</b>"
656 msgstr "<b>Handling</b>"
657
658 #: ../tools/polkit-gnome-authorization.c:1905
659 msgid "<i>Identifier:</i>"
660 msgstr "<i>Identifikator:</i>"
661
662 #: ../tools/polkit-gnome-authorization.c:1915
663 msgid "<i>Description:</i>"
664 msgstr "<i>Beskrivelse:</b>"
665
666 #: ../tools/polkit-gnome-authorization.c:1925
667 msgid "<i>Vendor:</i>"
668 msgstr "<i>Leverandør:</i>"
669
670 #: ../tools/polkit-gnome-authorization.c:1951
671 msgid "<b>Implicit Authorizations</b>"
672 msgstr "<b>Implisitte autorisasjoner</b>"
673
674 #: ../tools/polkit-gnome-authorization.c:1959
675 msgid ""
676 "Implicit authorizations are authorizations automatically given to users "
677 "based on certain criteria such as if they are on the local console."
678 msgstr ""
679
680 #: ../tools/polkit-gnome-authorization.c:2002
681 msgid "_Edit..."
682 msgstr "R_ediger..."
683
684 #: ../tools/polkit-gnome-authorization.c:2009
685 msgid "Revert To _Defaults..."
686 msgstr ""
687
688 #: ../tools/polkit-gnome-authorization.c:2032
689 msgid "<b>Explicit Authorizations</b>"
690 msgstr ""
691
692 #: ../tools/polkit-gnome-authorization.c:2043
693 msgid ""
694 "This list displays authorizations that are either obtained through "
695 "authentication or specifically given to the entity in question. Blocked "
696 "authorizations are marked with a STOP sign."
697 msgstr ""
698
699 #: ../tools/polkit-gnome-authorization.c:2073
700 msgid "Entity"
701 msgstr "Entitet"
702
703 #: ../tools/polkit-gnome-authorization.c:2081
704 msgid "Scope"
705 msgstr ""
706
707 #: ../tools/polkit-gnome-authorization.c:2089
708 msgid "Obtained"
709 msgstr ""
710
711 #: ../tools/polkit-gnome-authorization.c:2097
712 msgid "How"
713 msgstr "Hvordan"
714
715 #: ../tools/polkit-gnome-authorization.c:2105
716 msgid "Constraints"
717 msgstr "Begrensninger"
718
719 #: ../tools/polkit-gnome-authorization.c:2147
720 #: ../tools/polkit-gnome-authorization.c:2161
721 msgid "_Revoke"
722 msgstr "T_rekk tilbake"
723
724 #: ../tools/polkit-gnome-authorization.c:2154
725 msgid "_Revoke..."
726 msgstr "T_rekk tilbake..."
727
728 #: ../tools/polkit-gnome-authorization.c:2174
729 msgid "_Show authorizations from all users..."
730 msgstr "Vi_s autorisasjoner fra alle brukere..."
731
732 #: ../tools/polkit-gnome-authorization.c:2175
733 msgid "_Show authorizations from all users"
734 msgstr "Vi_s autorisasjoner fra alle brukere"
735
736 #: ../tools/polkit-gnome-authorization.c:2413
737 msgid "Select an action"
738 msgstr "Velg en handling"
0 # Punjabi translation of policykit-gnome.
1 # Copyright (C) 2009 policykit-gnome's COPYRIGHT HOLDER
2 # This file is distributed under the same license as the policykit-gnome package.
3 #
4 # A S Alam <aalam@users.sf.net>, 2009.
5 msgid ""
6 msgstr ""
7 "Project-Id-Version: policykit-gnome master\n"
8 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug."
9 "cgi?product=policykit-gnome&component=general\n"
10 "POT-Creation-Date: 2009-06-22 15:26+0000\n"
11 "PO-Revision-Date: 2009-07-08 07:00+0530\n"
12 "Last-Translator: A S Alam <aalam@users.sf.net>\n"
13 "Language-Team: Punjabi/Panjabi <punjabi-users@lists.sf.net>\n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17 "X-Generator: Lokalize 0.3\n"
18 "Plural-Forms: nplurals=2; plural=n != 1;\n"
19
20 #: ../src/polkitgnomeauthenticationdialog.c:160
21 msgid "Select user..."
22 msgstr "ਯੂਜ਼ਰ ਚੁਣੋ..."
23
24 #: ../src/polkitgnomeauthenticationdialog.c:195
25 #, c-format
26 msgid "%s (%s)"
27 msgstr "%s (%s)"
28
29 #: ../src/polkitgnomeauthenticationdialog.c:537
30 msgid "_Authenticate"
31 msgstr "ਪਰਮਾਣਕਿਤਾ(_A)"
32
33 #: ../src/polkitgnomeauthenticationdialog.c:574
34 msgid ""
35 "An application is attempting to perform an action that requires privileges. "
36 "Authentication as one of the users below is required to perform this action."
37 msgstr ""
38 "ਐਪਲੀਕੇਸ਼ਨ ਇੱਕ ਕਾਰਵਾਈ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਹੀ ਹੈ, ਜਿਸ ਲਈ ਅਧਿਕਾਰਾਂ ਦੀ ਲੋੜ ਹੈ। ਕਾਰਵਾਈ ਕਰਨ "
39 "ਲਈ ਹੇਠ ਦਿੱਤੇ ਯੂਜ਼ਰਾਂ ਵਿੱਚੋਂ ਇੱਕ ਵਾਂਗ ਪਰਮਾਣਿਤ ਹੋਵੋ।"
40
41 #: ../src/polkitgnomeauthenticationdialog.c:582
42 msgid ""
43 "An application is attempting to perform an action that requires privileges. "
44 "Authentication is required to perform this action."
45 msgstr ""
46 "ਐਪਲੀਕੇਸ਼ਨ ਇੱਕ ਕਾਰਵਾਈ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਹੀ ਹੈ, ਜਿਸ ਲਈ ਅਧਿਕਾਰਾਂ ਦੀ ਲੋੜ ਹੈ। ਕਾਰਵਾਈ ਕਰਨ "
47 "ਲਈ ਪਰਮਾਣਿਤ ਹੋਣ ਦੀ ਲੋੜ ਹੈ।"
48
49 #: ../src/polkitgnomeauthenticationdialog.c:588
50 msgid ""
51 "An application is attempting to perform an action that requires privileges. "
52 "Authentication as the super user is required to perform this action."
53 msgstr ""
54 "ਐਪਲੀਕੇਸ਼ਨ ਇੱਕ ਕਾਰਵਾਈ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਹੀ ਹੈ, ਜਿਸ ਲਈ ਅਧਿਕਾਰਾਂ ਦੀ ਲੋੜ ਹੈ। ਕਾਰਵਾਈ ਕਰਨ "
55 "ਲਈ ਸੁਪਰ ਯੂਜ਼ਰਾਂ ਵਾਂਗ ਪਰਮਾਣਿਤ ਹੋਵੋ।"
56
57 #: ../src/polkitgnomeauthenticationdialog.c:623
58 #: ../src/polkitgnomeauthenticator.c:289
59 msgid "_Password:"
60 msgstr "ਪਾਸਵਰਡ(_P):"
61
62 #. Details
63 #: ../src/polkitgnomeauthenticationdialog.c:641
64 msgid "<small><b>_Details</b></small>"
65 msgstr "<small><b>ਵੇਰਵਾ(_D)</b></small>"
66
67 #: ../src/polkitgnomeauthenticationdialog.c:693
68 msgid "<small><b>Action:</b></small>"
69 msgstr "<small><b>ਐਕਸ਼ਨ:</b></small>"
70
71 #: ../src/polkitgnomeauthenticationdialog.c:696
72 #, c-format
73 msgid "Click to edit %s"
74 msgstr "%s ਸੋਧਣ ਲਈ ਕਲਿੱਕ ਕਰੋ"
75
76 #: ../src/polkitgnomeauthenticationdialog.c:709
77 msgid "<small><b>Vendor:</b></small>"
78 msgstr "<small><b>ਵੇਂਡਰ:</b></small>"
79
80 #: ../src/polkitgnomeauthenticationdialog.c:712
81 #, c-format
82 msgid "Click to open %s"
83 msgstr "%s ਖੋਲ੍ਹਣ ਲਈ ਕਲਿੱਕ ਕਰੋ"
84
85 #: ../src/polkitgnomeauthenticationdialog.c:875
86 msgid "Authenticate"
87 msgstr "ਪਰਮਾਣਿਤ"
88
89 #: ../src/polkitgnomeauthenticator.c:285
90 #, c-format
91 msgid "_Password for %s:"
92 msgstr "%s ਲਈ ਪਾਸਵਰਡ(_P):"
93
94 #: ../src/polkitgnomeauthenticator.c:445
95 msgid "Authentication Failure"
96 msgstr "ਪਰਮਾਣਕਿਤਾ ਫੇਲ੍ਹ ਹੋਈ"
97
98 #: ../src/polkit-gnome-authentication-agent-1.desktop.in.h:1
99 #| msgid "Authentication Failure"
100 msgid "PolicyKit Authentication Agent"
101 msgstr "ਪਾਲਸੀਕਿੱਟ ਪਰਮਾਣਕਿਤਾ ਏਜੰਟ"
102
+559
-716
po/pt.po less more
00 # Portuguese translation of policykit-gnome.
11 # Copyright © 2008 policykit-gnome.
22 # This file is distributed under the same license as the policykit-gnome package.
3 # António Lima <amrlima@gmail.com>, 2008.
43 #
4 # António Lima <amrlima@gmail.com>, 200, 2009.
55 msgid ""
66 msgstr ""
77 "Project-Id-Version: policykit-gnome\n"
8 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2008-08-04 01:32+0100\n"
10 "PO-Revision-Date: 2008-08-01 20:41-0100\n"
8 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
9 "product=policykit-gnome&component=general\n"
10 "POT-Creation-Date: 2009-07-20 23:31+0000\n"
11 "PO-Revision-Date: 2009-07-21 23:35+0000\n"
1112 "Last-Translator: António Lima <amrlima@gmail.com>\n"
1213 "Language-Team: Portuguese <gnome_pt@yahoogroups.com>\n"
1314 "MIME-Version: 1.0\n"
1617 "X-Poedit-Language: Portuguese\n"
1718 "X-Poedit-Country: PORTUGAL\n"
1819
19 #: ../data/polkit-gnome-authorization.desktop.in.h:1
20 #: ../tools/polkit-gnome-authorization.c:2443
21 msgid "Authorizations"
22 msgstr "Autorizações"
23
24 #: ../data/polkit-gnome-authorization.desktop.in.h:2
25 msgid "Configure authorizations"
26 msgstr "Configurar autorizações"
27
28 #: ../data/polkit-gnome.schemas.in.h:1
29 msgid ""
30 "A list of PolicyKit action where the \"retain authorization\" checkbox isn't "
31 "checked by default; this list is maintained by the authentication dialog "
32 "code itself. For example, if a user unchecks the \"retain authorization\" "
33 "check box for an action and successfully obtains an authorization for the "
34 "action, the action will be added to this list."
35 msgstr ""
36 "Uma lista de acções do PolicyKit onde a caixa de selecção \"Reter Autorização"
37 "\" não se encontra marcada por omissão; esta lista é mantida pelo próprio "
38 "código de diálogo da autenticação. Por exemplo, se um utilizador desmarca a "
39 "caixa de selecção \"Reter Autorização\" para uma determinada acção e obtém "
40 "uma autorização para esta, a acção será adicionada à lista."
41
42 #: ../data/polkit-gnome.schemas.in.h:2
43 msgid ""
44 "A list of actions where the \"retain authorization\" checkbox isn't checked "
45 "by default"
46 msgstr ""
47 "Uma lista de acções onde a caixa de selecção \"Reter Autorização\" não se "
48 "encontra marcada por omissão"
49
50 #: ../data/polkit-gnome.schemas.in.h:3
51 msgid ""
52 "If set to true, the authentication dialog from PolicyKit-gnome will grab the "
53 "keyboard, so that you will not be able to type in other programs while the "
54 "dialog is active. Use this if your window manager does not focus the "
55 "authentication dialog automatically, and you want to avoid accidentally "
56 "typing passwords in other programs."
57 msgstr ""
58 "Se definido como verdadeiro, o diálogo de autenticação do PolicyKit-gnome "
59 "irá capturar o teclado, pelo que não será possível enviar pressões de tecla "
60 "para outras aplicações enquanto o diálogo estiver activo. Utilize esta opção "
61 "se o seu gestor de janelas não transmitir o foco automaticamente ao diálogo "
62 "de autenticação, e deseja evitar introduzir acidentalmente a sua senha "
63 "noutra aplicação."
64
65 #: ../data/polkit-gnome.schemas.in.h:4
66 msgid ""
67 "If set to true, then \"retain authorization\" check box (if present) is "
68 "checked by default in the authentication dialog unless the action is "
69 "mentioned in the \"/desktop/gnome/policykit/"
70 "auth_dialog_retain_authorization_blacklist\" key."
71 msgstr ""
72 "Se definido como verdadeiro, então a caixa de selecção \"Reter Autorização"
73 "\" (caso esteja presente) encontra-se marcada por omissão, excepto se a "
74 "acção está mencionada na chave \"/desktop/gnome/policykit/"
75 "auth_dialog_retain_authorization_blacklist\"."
76
77 #: ../data/polkit-gnome.schemas.in.h:5
78 msgid "Whether the authentication dialog should grab the keyboard"
79 msgstr "Se o diálogo de autenticação deverá ou não capturar o teclado"
80
81 #: ../data/polkit-gnome.schemas.in.h:6
82 msgid "Whether the retain authorization check box is checked by default"
83 msgstr ""
84 "Se a caixa de selecção \"reter autorização\" encontra-se marcada por omissão"
85
86 #: ../examples/polkit-gnome-example.c:137
87 msgid "Copyright © 2007 David Zeuthen"
88 msgstr "Copyright © 2007 David Zeuthen"
89
90 #: ../examples/polkit-gnome-example.c:138
91 msgid "PolicyKit-gnome Website"
92 msgstr "Página do PolicyKit-gnome"
93
94 #: ../examples/polkit-gnome-example.c:140
95 #: ../examples/polkit-gnome-example.c:446
96 msgid "PolicyKit-gnome demo"
97 msgstr "Demonstração do PolicyKit-gnome"
98
99 #: ../examples/polkit-gnome-example.c:141
100 msgid "PolicyKit for the GNOME desktop"
101 msgstr "PolicyKit para o ambiente de trabalho GNOME"
102
103 #: ../examples/polkit-gnome-example.c:151
104 msgid "_File"
105 msgstr "_Ficheiro"
106
107 #. name, stock id, label
108 #: ../examples/polkit-gnome-example.c:152
109 msgid "_Actions"
110 msgstr "_Acções"
111
112 #. name, stock id, label
113 #: ../examples/polkit-gnome-example.c:153
114 msgid "_Help"
115 msgstr "_Ajuda"
116
117 #. name, stock id, label
118 #. name, stock id
119 #: ../examples/polkit-gnome-example.c:156
120 msgid "_Quit"
121 msgstr "_Sair"
122
123 #. label, accelerator
124 #: ../examples/polkit-gnome-example.c:157
125 msgid "Quit"
126 msgstr "Sair"
127
128 #. name, stock id
129 #: ../examples/polkit-gnome-example.c:161
130 msgid "_About"
131 msgstr "_Sobre"
132
133 #. label, accelerator
134 #: ../examples/polkit-gnome-example.c:162
135 msgid "About"
136 msgstr "Sobre"
137
138 #: ../examples/polkit-gnome-example.c:243
139 msgid ""
140 "Making the helper <b>Frobnicate</b> requires the user to authenticate. The "
141 "authorization is kept for the life time of the process"
142 msgstr ""
143 "Fazer o assistente <b>Manipular</b> requer que o utilizador se autentique. A "
144 "autorização é mantida durante o tempo de vida do processo"
145
146 #: ../examples/polkit-gnome-example.c:252
147 msgid "Frobnicate!"
148 msgstr "Manipular!"
149
150 #: ../examples/polkit-gnome-example.c:267
151 msgid ""
152 "Making the helper <b>Jump</b> requires the user to authenticate. This is a "
153 "one-shot authorization."
154 msgstr ""
155 "Fazer o assistente <b>Saltar</b> requer que o utilizador se autentique. Esta "
156 "é uma autorização única."
157
158 #: ../examples/polkit-gnome-example.c:275
159 msgid "Jump!"
160 msgstr "Saltar!"
161
162 #: ../examples/polkit-gnome-example.c:290
163 msgid ""
164 "Making the helper <b>Tweak</b> requires a system administrator to "
165 "authenticate. This instance overrides the defaults set in "
166 "polkit_gnome_action_new()."
167 msgstr ""
168 "Fazer o assistente <b>Ajustar</b> requer que um administrador de sistema se "
169 "autentique. Esta instância sobrepõe as configurações por omissão definidas "
170 "em polkit_gnome_action_new()."
171
172 #: ../examples/polkit-gnome-example.c:299
173 #: ../examples/polkit-gnome-example.c:320
174 msgid "Tweak!"
175 msgstr "Ajustar!"
176
177 #: ../examples/polkit-gnome-example.c:306
178 msgid "Tweak"
179 msgstr "Ajustar"
180
181 #: ../examples/polkit-gnome-example.c:307
182 msgid "Tweak (long)"
183 msgstr "Ajustar (longo)"
184
185 #: ../examples/polkit-gnome-example.c:308
186 msgid "If your admin wasn't annoying, you could do this"
187 msgstr "Se o seu administrador não fosse chato, podia fazer isso"
188
189 #: ../examples/polkit-gnome-example.c:313
190 msgid "Tweak..."
191 msgstr "Ajustar..."
192
193 #: ../examples/polkit-gnome-example.c:314
194 msgid "Tweak... (long)"
195 msgstr "Ajustar... (longo)"
196
197 #: ../examples/polkit-gnome-example.c:315
198 msgid "Only card carrying tweakers can do this!"
199 msgstr "Apenas os ajustadores que possuem cartas podem fazer isto!"
200
201 #: ../examples/polkit-gnome-example.c:321
202 msgid "Tweak! (long)"
203 msgstr "Ajustar! (longo)"
204
205 #: ../examples/polkit-gnome-example.c:322
206 msgid "Go ahead, tweak tweak tweak!"
207 msgstr "Vá lá, ajuste ajuste ajuste!"
208
209 #: ../examples/polkit-gnome-example.c:339
210 msgid ""
211 "Making the helper <b>Twiddle</b> requires a system administrator to "
212 "authenticate. Once authenticated, this privilege can be retained "
213 "indefinitely."
214 msgstr ""
215 "Fazer o assistente <b>Alterar</b> requer que um administrador de sistema se "
216 "autentique. Uma vez autenticado, este privilégio pode ser retido "
217 "indefinidamente."
218
219 #: ../examples/polkit-gnome-example.c:348
220 msgid "Twiddle!"
221 msgstr "Alterar!"
222
223 #: ../examples/polkit-gnome-example.c:363
224 msgid ""
225 "Making the helper <b>Punch</b> requires the user to authenticate. Once "
226 "authenticated, this privilege can be retained for the remainder of the "
227 "desktop session."
228 msgstr ""
229 "Fazer o assistente <b>Premir</b> requer que o utilizador se autentique. Uma "
230 "vez autenticado, este privilégio pode ser retido durante o resto da sessão."
231
232 #: ../examples/polkit-gnome-example.c:372
233 msgid "Punch!"
234 msgstr "Premir!"
235
236 #: ../examples/polkit-gnome-example.c:387
237 msgid ""
238 "The <b>Toggle</b> action demonstrates the use of PolicyKit to drive a "
239 "GtkToggleButton; it's an intuitive way to ask users to give up "
240 "authorizations when they are done with them. E.g. the button is 'pressed in' "
241 "exactlywhen the authorization is held. Toggling the button means obtaining "
242 "resp. revoking the authorization in question."
243 msgstr ""
244 "A acção <b>Alternar</b> demonstra a utilização do PolicyKit para dirigir um "
245 "botão GtkToggleButton; é uma forma intuitiva de pedir aos utilizadores para "
246 "dispensarem as autorizações quando terminarem a sua utilização. Por ex. o "
247 "botão encontra-se 'pressionado' exactamente quando a autorização é detida. "
248 "Alternar o botão significa revogar a autorização em questão."
249
250 #: ../examples/polkit-gnome-example.c:401
251 msgid "Click to make changes..."
252 msgstr "Clicar para efectuar alterações..."
253
254 #: ../examples/polkit-gnome-example.c:402
255 msgid "Click to prevent changes"
256 msgstr "Clicar para prevenir alterações"
257
258 #: ../examples/polkit-gnome-example.c:422
259 msgid ""
260 "<i>Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets "
261 "update in real-time.</i>."
262 msgstr ""
263 "<i>Dica: tente editar /etc/PolicyKit/Policy.conf e veja a actualização da "
264 "widget de proxy em tempo-real.</i>."
265
266 #: ../polkit-gnome/polkit-gnome-toggle-action.c:400
267 #: ../polkit-gnome/polkit-gnome-toggle-action.c:401
268 msgid "Authenticating..."
269 msgstr "A Autenticar..."
270
271 #: ../src/main.c:139
272 msgid "Don't exit after 30 seconds of inactivity"
273 msgstr "Não sair após 30 segundos de inactividade"
274
275 #: ../src/main.c:148
276 msgid "PolicyKit GNOME session daemon"
277 msgstr "Daemon de sessão do PolicyKit GNOME"
278
279 #: ../src/main.c:174
280 #, c-format
281 msgid "Starting PolicyKit GNOME session daemon version %s"
282 msgstr "A iniciar o daemon de sessão do PolicyKit GNOME, versão %s"
283
284 #: ../src/polkit-gnome-auth-dialog.c:191
285 #: ../tools/polkit-gnome-authorization.c:649
20 #: ../src/main.c:128
21 msgid "Click the icon to drop all elevated privileges"
22 msgstr "Clique no ícone para retirar todos os privilégios concedidos"
23
24 #: ../src/polkitgnomeauthenticationdialog.c:159
28625 msgid "Select user..."
28726 msgstr "Seleccionar utilizador..."
28827
289 #: ../src/polkit-gnome-auth-dialog.c:212
290 #: ../tools/polkit-gnome-authorization.c:665
28 #: ../src/polkitgnomeauthenticationdialog.c:194
29129 #, c-format
29230 msgid "%s (%s)"
29331 msgstr "%s (%s)"
29432
295 #: ../src/polkit-gnome-auth-dialog.c:293
296 msgid "_Remember authorization for this session"
297 msgstr "_Recordar autorização para esta sessão"
298
299 #: ../src/polkit-gnome-auth-dialog.c:299
300 msgid "_Remember authorization"
301 msgstr "_Recordar autorização"
302
303 #: ../src/polkit-gnome-auth-dialog.c:314
33 #: ../src/polkitgnomeauthenticationdialog.c:529
34 msgid "_Authenticate"
35 msgstr "_Autenticar"
36
37 #: ../src/polkitgnomeauthenticationdialog.c:566
30438 msgid ""
30539 "An application is attempting to perform an action that requires privileges. "
30640 "Authentication as one of the users below is required to perform this action."
30943 "necessária uma autenticação como um dos utilizadores para executar esta "
31044 "acção."
31145
312 #: ../src/polkit-gnome-auth-dialog.c:321
46 #: ../src/polkitgnomeauthenticationdialog.c:574
47 msgid ""
48 "An application is attempting to perform an action that requires privileges. "
49 "Authentication is required to perform this action."
50 msgstr ""
51 "Uma aplicação está a tentar executar uma acção que requer privilégios. É "
52 "necessária autenticação para executar esta acção."
53
54 #: ../src/polkitgnomeauthenticationdialog.c:580
31355 msgid ""
31456 "An application is attempting to perform an action that requires privileges. "
31557 "Authentication as the super user is required to perform this action."
31759 "Uma aplicação está a tentar executar uma acção que requer privilégios. É "
31860 "necessária autenticação como super utilizador para executar esta acção."
31961
320 #: ../src/polkit-gnome-auth-dialog.c:325
321 msgid ""
322 "An application is attempting to perform an action that requires privileges. "
323 "Authentication is required to perform this action."
324 msgstr ""
325 "Uma aplicação está a tentar executar uma acção que requer privilégios. É "
326 "necessária autenticação para executar esta acção."
327
328 #: ../src/polkit-gnome-auth-dialog.c:406
62 #: ../src/polkitgnomeauthenticationdialog.c:615
63 #: ../src/polkitgnomeauthenticator.c:289
64 msgid "_Password:"
65 msgstr "_Senha:"
66
67 #. Details
68 #: ../src/polkitgnomeauthenticationdialog.c:633
69 msgid "<small><b>_Details</b></small>"
70 msgstr "<small><b>_Detalhes</b></small>"
71
72 #: ../src/polkitgnomeauthenticationdialog.c:686
73 msgid "<small><b>Action:</b></small>"
74 msgstr "<small><b>Acção:</b></small>"
75
76 #: ../src/polkitgnomeauthenticationdialog.c:689
32977 #, c-format
33078 msgid "Click to edit %s"
33179 msgstr "Clique para editar %s"
33280
333 #: ../src/polkit-gnome-auth-dialog.c:431
334 #: ../tools/polkit-gnome-authorization.c:1391
81 #: ../src/polkitgnomeauthenticationdialog.c:703
82 msgid "<small><b>Vendor:</b></small>"
83 msgstr "<small><b>Fornecedor:</b></small>"
84
85 #: ../src/polkitgnomeauthenticationdialog.c:705
33586 #, c-format
33687 msgid "Click to open %s"
33788 msgstr "Clique para abrir %s"
33889
339 #: ../src/polkit-gnome-auth-dialog.c:668
340 msgid "_Authenticate"
341 msgstr "_Autenticar"
342
343 #: ../src/polkit-gnome-auth-dialog.c:727 ../src/polkit-gnome-manager.c:686
344 #: ../src/polkit-gnome-manager.c:735
345 msgid "_Password:"
346 msgstr "_Senha:"
347
348 #: ../src/polkit-gnome-auth-dialog.c:749
349 msgid "For this _session only"
350 msgstr "Apenas para esta _sessão"
351
352 #: ../src/polkit-gnome-auth-dialog.c:757
353 msgid "<small><b>_Details</b></small>"
354 msgstr "<small><b>_Detalhes</b></small>"
355
356 #: ../src/polkit-gnome-auth-dialog.c:778
357 msgid "<small><b>Application:</b></small>"
358 msgstr "<small><b>Aplicação:</b></small>"
359
360 #: ../src/polkit-gnome-auth-dialog.c:782
361 msgid "<small><b>Action:</b></small>"
362 msgstr "<small><b>Acção:</b></small>"
363
364 #: ../src/polkit-gnome-auth-dialog.c:787
365 msgid "<small><b>Vendor:</b></small>"
366 msgstr "<small><b>Fornecedor:</b></small>"
367
368 #: ../src/polkit-gnome-auth-dialog.c:916
90 #: ../src/polkitgnomeauthenticationdialog.c:868
36991 msgid "Authenticate"
37092 msgstr "Autenticar"
37193
372 #: ../src/polkit-gnome-manager.c:367
373 msgid "(unknown"
374 msgstr "(desconhecido"
375
376 #: ../src/polkit-gnome-manager.c:730
94 #: ../src/polkitgnomeauthenticator.c:285
37795 #, c-format
37896 msgid "_Password for %s:"
37997 msgstr "_Senha para %s:"
38098
381 #: ../src/polkit-gnome-manager.c:732
382 msgid "_Password for root:"
383 msgstr "_Senha para root:"
384
385 #: ../src/polkit-gnome-manager.c:740
386 #, c-format
387 msgid "_Password or swipe finger for %s:"
388 msgstr "_Senha ou impressão digital para %s:"
389
390 #: ../src/polkit-gnome-manager.c:743
391 msgid "_Password or swipe finger for root:"
392 msgstr "_Senha ou impressão digital para root:"
393
394 #: ../src/polkit-gnome-manager.c:746
395 msgid "_Password or swipe finger:"
396 msgstr "_Senha ou impressão digital:"
397
398 #: ../tools/polkit-gnome-authorization.c:117
399 msgid "No"
400 msgstr "Não"
401
402 #: ../tools/polkit-gnome-authorization.c:119
403 msgid "Admin Authentication (one shot)"
404 msgstr "Autenticação de Admin (única)"
405
406 #: ../tools/polkit-gnome-authorization.c:120
407 msgid "Admin Authentication"
408 msgstr "Autenticação de Admin"
409
410 #: ../tools/polkit-gnome-authorization.c:121
411 msgid "Admin Authentication (keep session)"
412 msgstr "Autenticação de Admin (manter nesta sessão)"
413
414 #: ../tools/polkit-gnome-authorization.c:122
415 msgid "Admin Authentication (keep indefinitely)"
416 msgstr "Autenticação de Admin (manter indefinidamente)"
417
418 #: ../tools/polkit-gnome-authorization.c:124
419 msgid "Authentication (one shot)"
420 msgstr "Autenticação (única)"
421
422 #: ../tools/polkit-gnome-authorization.c:125
423 msgid "Authentication"
424 msgstr "Autenticação"
425
426 #: ../tools/polkit-gnome-authorization.c:126
427 msgid "Authentication (keep session)"
428 msgstr "Autenticação (manter nesta sessão)"
429
430 #: ../tools/polkit-gnome-authorization.c:127
431 msgid "Authentication (keep indefinitely)"
432 msgstr "Autenticação (manter indefinidamente)"
433
434 #: ../tools/polkit-gnome-authorization.c:129
435 msgid "Yes"
436 msgstr "Sim"
437
438 #: ../tools/polkit-gnome-authorization.c:272
439 msgid ", "
440 msgstr ", "
441
442 #: ../tools/polkit-gnome-authorization.c:276
443 msgid "Must be on console"
444 msgstr "É necessário estar numa consola"
445
446 #: ../tools/polkit-gnome-authorization.c:279
447 msgid "Must be in active session"
448 msgstr "É necessário estar numa sessão activa"
449
450 #: ../tools/polkit-gnome-authorization.c:282
451 #, c-format
452 msgid "Must be program %s"
453 msgstr "É necessário ser a aplicação %s"
454
455 #: ../tools/polkit-gnome-authorization.c:286
456 #, c-format
457 msgid "Must be SELinux Context %s"
458 msgstr "É necessário ser no Contexto SELinux %s"
459
460 #: ../tools/polkit-gnome-authorization.c:344
461 msgid "A moment ago"
462 msgstr "Há um momento atrás"
463
464 #: ../tools/polkit-gnome-authorization.c:348
465 msgid "1 minute ago"
466 msgstr "Há 1 minuto atrás"
467
468 #: ../tools/polkit-gnome-authorization.c:350
469 #, c-format
470 msgid "%d minutes ago"
471 msgstr "Há %d minutos"
472
473 #: ../tools/polkit-gnome-authorization.c:354
474 msgid "1 hour ago"
475 msgstr "Há 1 hora atrás"
476
477 #: ../tools/polkit-gnome-authorization.c:356
478 #, c-format
479 msgid "%d hours ago"
480 msgstr "Há %d horas atrás"
481
482 #: ../tools/polkit-gnome-authorization.c:360
483 msgid "1 day ago"
484 msgstr "Há 1 dia"
485
486 #: ../tools/polkit-gnome-authorization.c:362
487 #, c-format
488 msgid "%d days ago"
489 msgstr "Há %d dias atrás"
490
491 #: ../tools/polkit-gnome-authorization.c:379
492 #, c-format
493 msgid "Auth as %s (uid %d)"
494 msgstr "Autenticar como %s (uid %d)"
495
496 #: ../tools/polkit-gnome-authorization.c:381
497 #, c-format
498 msgid "Auth as uid %d"
499 msgstr "Autenticar como uid %d"
500
501 #: ../tools/polkit-gnome-authorization.c:387
502 #, c-format
503 msgid "Blocked by %s (uid %d)"
504 msgstr "Bloqueado por %s (uid %d)"
505
506 #: ../tools/polkit-gnome-authorization.c:389
507 #, c-format
508 msgid "Blocked by uid %d"
509 msgstr "Bloqueado por uid %d"
510
511 #: ../tools/polkit-gnome-authorization.c:392
512 #, c-format
513 msgid "Granted by %s (uid %d)"
514 msgstr "Autorizado por %s (uid %d)"
515
516 #: ../tools/polkit-gnome-authorization.c:394
517 #, c-format
518 msgid "Granted by uid %d"
519 msgstr "Autorizado por uid %d"
520
521 #: ../tools/polkit-gnome-authorization.c:409
522 #, c-format
523 msgid "Single shot pid %d (%s)"
524 msgstr "idp único %d (%s)"
525
526 #: ../tools/polkit-gnome-authorization.c:415
527 #, c-format
528 msgid "pid %d (%s)"
529 msgstr "idp %d (%s)"
530
531 #: ../tools/polkit-gnome-authorization.c:418
532 msgid "This session"
533 msgstr "Esta sessão"
534
535 #: ../tools/polkit-gnome-authorization.c:421
536 msgid "Always"
537 msgstr "Sempre"
538
539 #: ../tools/polkit-gnome-authorization.c:431
540 msgid "None"
541 msgstr "Nenhum"
542
543 #: ../tools/polkit-gnome-authorization.c:827
544 msgid "Grant Negative Authorization"
545 msgstr "Conceder Autorização Negativa"
546
547 #: ../tools/polkit-gnome-authorization.c:827
548 msgid "Grant Authorization"
549 msgstr "Autorizar"
550
551 #: ../tools/polkit-gnome-authorization.c:850
552 #, c-format
553 msgid ""
554 "<b><big>Granting a negative authorization for the <i>%s</i> action requires "
555 "more information</big></b>"
556 msgstr ""
557 "<b><big>Conceder uma autorização negativa para a acção <i>%s</i> requer mais "
558 "informação</big></b>"
559
560 #: ../tools/polkit-gnome-authorization.c:851
561 #, c-format
562 msgid ""
563 "<b><big>Granting an authorization for the <i>%s</i> action requires more "
564 "information</big></b>"
565 msgstr ""
566 "<b><big>Conceder uma autorização para a acção <i>%s</i> requer mais "
567 "informação</big></b>"
568
569 #: ../tools/polkit-gnome-authorization.c:862
570 msgid ""
571 "Select the user to block for the action and, optionally, any constraints on "
572 "the negative authorization that you are about to grant."
573 msgstr ""
574 "Seleccione o utilizador a bloquear para a acção e, opcionalmente, qualquer "
575 "restrição na autorização negativa que está prestes a conceder."
576
577 #: ../tools/polkit-gnome-authorization.c:864
578 msgid ""
579 "Select the beneficiary and, optionally, how to constrain the authorization "
580 "that you are about to grant."
581 msgstr ""
582 "Seleccione o beneficiário e, opcionalmente, como restringir a autorização "
583 "que está prestes a conceder."
584
585 #: ../tools/polkit-gnome-authorization.c:875
586 msgid "<b>Beneficiary</b>"
587 msgstr "<b>Beneficiário</b>"
588
589 #: ../tools/polkit-gnome-authorization.c:887
590 msgid "Select the user that will receive the negative authorization."
591 msgstr "Seleccione o utilizador que irá receber a autorização negativa."
592
593 #: ../tools/polkit-gnome-authorization.c:889
594 msgid "Select the user that will receive the authorization."
595 msgstr "Seleccione o utilizador que irá receber a autorização."
596
597 #: ../tools/polkit-gnome-authorization.c:898
598 msgid "_Show system users"
599 msgstr "_Apresentar utilizadores do sistema"
600
601 #: ../tools/polkit-gnome-authorization.c:913
602 msgid "<b>Constraints</b>"
603 msgstr "<b>Restrições</b>"
604
605 #: ../tools/polkit-gnome-authorization.c:924
606 msgid ""
607 "Constraints limits the authorization such that it only applies under certain "
608 "circumstances."
609 msgstr ""
610 "As restrições limitam a autorização para que apenas se aplique em "
611 "determinadas circunstâncias."
612
613 #: ../tools/polkit-gnome-authorization.c:930
614 msgid "_None"
615 msgstr "_Nenhum"
616
617 #: ../tools/polkit-gnome-authorization.c:932
618 msgid "Must be _in active session"
619 msgstr "É necessário _estar numa sessão activa"
620
621 #: ../tools/polkit-gnome-authorization.c:934
622 msgid "Must be on _local console"
623 msgstr "Tem de estar na consola _local"
624
625 #: ../tools/polkit-gnome-authorization.c:936
626 msgid "Must be in _active session on local console"
627 msgstr "Tem de estar na sessão _activa na consola local"
628
629 #: ../tools/polkit-gnome-authorization.c:957
630 #: ../tools/polkit-gnome-authorization.c:2133
631 msgid "_Block..."
632 msgstr "_Bloquear..."
633
634 #: ../tools/polkit-gnome-authorization.c:961
635 #: ../tools/polkit-gnome-authorization.c:2126
636 msgid "_Grant..."
637 msgstr "_Conceder..."
638
639 #: ../tools/polkit-gnome-authorization.c:1155
640 msgid "Edit Implicit Authorizations"
641 msgstr "Editar Autorizações Implícitas"
642
643 #: ../tools/polkit-gnome-authorization.c:1176
644 msgid "<b><big>Choose new implicit authorizations</big></b>"
645 msgstr "<b><big>Escolher nova autorização implícita</big></b>"
646
647 #: ../tools/polkit-gnome-authorization.c:1190
648 #, c-format
649 msgid ""
650 "Implicit authorizations are authorizations that are granted automatically to "
651 "users under certain circumstances. Choose what is required for the action <i>"
652 "%s</i>."
653 msgstr ""
654 "Autorizações implícitas são autorizações concedidas automaticamente a "
655 "utilizadores sob certas circunstâncias. Escolha o que é necessário para a "
656 "acção <i>%s</i>."
657
658 #: ../tools/polkit-gnome-authorization.c:1215
659 #: ../tools/polkit-gnome-authorization.c:1974
660 msgid "<i>Anyone:</i>"
661 msgstr "<i>Todos:</i>"
662
663 #: ../tools/polkit-gnome-authorization.c:1222
664 #: ../tools/polkit-gnome-authorization.c:1978
665 msgid "<i>Console:</i>"
666 msgstr "<i>Consola:</i>"
667
668 #: ../tools/polkit-gnome-authorization.c:1229
669 #: ../tools/polkit-gnome-authorization.c:1982
670 msgid "<i>Active Console:</i>"
671 msgstr "<i>Consola Activa:</i>"
672
673 #: ../tools/polkit-gnome-authorization.c:1258
674 msgid "_Modify..."
675 msgstr "_Alterar..."
676
677 #: ../tools/polkit-gnome-authorization.c:1890
678 msgid "<b>Action</b>"
679 msgstr "<b>Acção</b>"
680
681 #: ../tools/polkit-gnome-authorization.c:1905
682 msgid "<i>Identifier:</i>"
683 msgstr "<i>identificador:</i>"
684
685 #: ../tools/polkit-gnome-authorization.c:1915
686 msgid "<i>Description:</i>"
687 msgstr "<i>Descrição:</i>"
688
689 #: ../tools/polkit-gnome-authorization.c:1925
690 msgid "<i>Vendor:</i>"
691 msgstr "<i>Fornecedor:</i>"
692
693 #: ../tools/polkit-gnome-authorization.c:1951
694 msgid "<b>Implicit Authorizations</b>"
695 msgstr "<b>Autorizações Implícitas</b>"
696
697 #: ../tools/polkit-gnome-authorization.c:1959
698 msgid ""
699 "Implicit authorizations are authorizations automatically given to users "
700 "based on certain criteria such as if they are on the local console."
701 msgstr ""
702 "Autorizações implícitas são autorizações dadas automaticamente a "
703 "utilizadores, baseadas em determinados critérios, como por exemplo, se estes "
704 "se encontram na consola local."
705
706 #: ../tools/polkit-gnome-authorization.c:2002
707 msgid "_Edit..."
708 msgstr "_Editar..."
709
710 #: ../tools/polkit-gnome-authorization.c:2009
711 msgid "Revert To _Defaults..."
712 msgstr "Reverter para Definições _Por Omissão"
713
714 #: ../tools/polkit-gnome-authorization.c:2032
715 msgid "<b>Explicit Authorizations</b>"
716 msgstr "<b>Autorizações Explícitas</b>"
717
718 #: ../tools/polkit-gnome-authorization.c:2043
719 msgid ""
720 "This list displays authorizations that are either obtained through "
721 "authentication or specifically given to the entity in question. Blocked "
722 "authorizations are marked with a STOP sign."
723 msgstr ""
724 "Esta lista exibe autorizações que são obtidas quer através de autenticação "
725 "ou especificamente dadas à entidade em questão. Autorizações bloqueadas "
726 "estão marcadas com o sinal de STOP."
727
728 #: ../tools/polkit-gnome-authorization.c:2073
729 msgid "Entity"
730 msgstr "Entidade"
731
732 #: ../tools/polkit-gnome-authorization.c:2081
733 msgid "Scope"
734 msgstr "Âmbito"
735
736 #: ../tools/polkit-gnome-authorization.c:2089
737 msgid "Obtained"
738 msgstr "Adquirida"
739
740 #: ../tools/polkit-gnome-authorization.c:2097
741 msgid "How"
742 msgstr "Como"
743
744 #: ../tools/polkit-gnome-authorization.c:2105
745 msgid "Constraints"
746 msgstr "Restrições"
747
748 #: ../tools/polkit-gnome-authorization.c:2147
749 #: ../tools/polkit-gnome-authorization.c:2161
750 msgid "_Revoke"
751 msgstr "_Revogar"
752
753 #: ../tools/polkit-gnome-authorization.c:2154
754 msgid "_Revoke..."
755 msgstr "_Revogar..."
756
757 #: ../tools/polkit-gnome-authorization.c:2174
758 msgid "_Show authorizations from all users..."
759 msgstr "_Apresentar autorizações de todos os utilizadores..."
760
761 #: ../tools/polkit-gnome-authorization.c:2175
762 msgid "_Show authorizations from all users"
763 msgstr "_Apresentar autorizações de todos os utilizadores"
764
765 #: ../tools/polkit-gnome-authorization.c:2417
766 msgid "Select an action"
767 msgstr "Seleccionar uma acção"
99 #: ../src/polkitgnomeauthenticator.c:445
100 #| msgid "Authentication"
101 msgid "Authentication Failure"
102 msgstr "Falha de Autenticação"
103
104 #: ../src/polkit-gnome-authentication-agent-1.desktop.in.in.h:1
105 #| msgid "Admin Authentication"
106 msgid "PolicyKit Authentication Agent"
107 msgstr "Agente de Autenticação PolicyKit"
108
109 #~ msgid "Authorizations"
110 #~ msgstr "Autorizações"
111
112 #~ msgid "Configure authorizations"
113 #~ msgstr "Configurar autorizações"
114
115 #~ msgid ""
116 #~ "A list of PolicyKit action where the \"retain authorization\" checkbox "
117 #~ "isn't checked by default; this list is maintained by the authentication "
118 #~ "dialog code itself. For example, if a user unchecks the \"retain "
119 #~ "authorization\" check box for an action and successfully obtains an "
120 #~ "authorization for the action, the action will be added to this list."
121 #~ msgstr ""
122 #~ "Uma lista de acções do PolicyKit onde a caixa de selecção \"Reter "
123 #~ "Autorização\" não se encontra marcada por omissão; esta lista é mantida "
124 #~ "pelo próprio código de diálogo da autenticação. Por exemplo, se um "
125 #~ "utilizador desmarca a caixa de selecção \"Reter Autorização\" para uma "
126 #~ "determinada acção e obtém uma autorização para esta, a acção será "
127 #~ "adicionada à lista."
128
129 #~ msgid ""
130 #~ "A list of actions where the \"retain authorization\" checkbox isn't "
131 #~ "checked by default"
132 #~ msgstr ""
133 #~ "Uma lista de acções onde a caixa de selecção \"Reter Autorização\" não se "
134 #~ "encontra marcada por omissão"
135
136 #~ msgid ""
137 #~ "If set to true, the authentication dialog from PolicyKit-gnome will grab "
138 #~ "the keyboard, so that you will not be able to type in other programs "
139 #~ "while the dialog is active. Use this if your window manager does not "
140 #~ "focus the authentication dialog automatically, and you want to avoid "
141 #~ "accidentally typing passwords in other programs."
142 #~ msgstr ""
143 #~ "Se definido como verdadeiro, o diálogo de autenticação do PolicyKit-gnome "
144 #~ "irá capturar o teclado, pelo que não será possível enviar pressões de "
145 #~ "tecla para outras aplicações enquanto o diálogo estiver activo. Utilize "
146 #~ "esta opção se o seu gestor de janelas não transmitir o foco "
147 #~ "automaticamente ao diálogo de autenticação, e deseja evitar introduzir "
148 #~ "acidentalmente a sua senha noutra aplicação."
149
150 #~ msgid ""
151 #~ "If set to true, then \"retain authorization\" check box (if present) is "
152 #~ "checked by default in the authentication dialog unless the action is "
153 #~ "mentioned in the \"/desktop/gnome/policykit/"
154 #~ "auth_dialog_retain_authorization_blacklist\" key."
155 #~ msgstr ""
156 #~ "Se definido como verdadeiro, então a caixa de selecção \"Reter Autorização"
157 #~ "\" (caso esteja presente) encontra-se marcada por omissão, excepto se a "
158 #~ "acção está mencionada na chave \"/desktop/gnome/policykit/"
159 #~ "auth_dialog_retain_authorization_blacklist\"."
160
161 #~ msgid "Whether the authentication dialog should grab the keyboard"
162 #~ msgstr "Se o diálogo de autenticação deverá ou não capturar o teclado"
163
164 #~ msgid "Whether the retain authorization check box is checked by default"
165 #~ msgstr ""
166 #~ "Se a caixa de selecção \"reter autorização\" encontra-se marcada por "
167 #~ "omissão"
168
169 #~ msgid "Copyright © 2007 David Zeuthen"
170 #~ msgstr "Copyright © 2007 David Zeuthen"
171
172 #~ msgid "PolicyKit-gnome Website"
173 #~ msgstr "Página do PolicyKit-gnome"
174
175 #~ msgid "PolicyKit-gnome demo"
176 #~ msgstr "Demonstração do PolicyKit-gnome"
177
178 #~ msgid "PolicyKit for the GNOME desktop"
179 #~ msgstr "PolicyKit para o ambiente de trabalho GNOME"
180
181 #~ msgid "_File"
182 #~ msgstr "_Ficheiro"
183
184 #~ msgid "_Actions"
185 #~ msgstr "_Acções"
186
187 #~ msgid "_Help"
188 #~ msgstr "_Ajuda"
189
190 #~ msgid "_Quit"
191 #~ msgstr "_Sair"
192
193 #~ msgid "Quit"
194 #~ msgstr "Sair"
195
196 #~ msgid "_About"
197 #~ msgstr "_Sobre"
198
199 #~ msgid "About"
200 #~ msgstr "Sobre"
201
202 #~ msgid ""
203 #~ "Making the helper <b>Frobnicate</b> requires the user to authenticate. "
204 #~ "The authorization is kept for the life time of the process"
205 #~ msgstr ""
206 #~ "Fazer o assistente <b>Manipular</b> requer que o utilizador se "
207 #~ "autentique. A autorização é mantida durante o tempo de vida do processo"
208
209 #~ msgid "Frobnicate!"
210 #~ msgstr "Manipular!"
211
212 #~ msgid ""
213 #~ "Making the helper <b>Jump</b> requires the user to authenticate. This is "
214 #~ "a one-shot authorization."
215 #~ msgstr ""
216 #~ "Fazer o assistente <b>Saltar</b> requer que o utilizador se autentique. "
217 #~ "Esta é uma autorização única."
218
219 #~ msgid "Jump!"
220 #~ msgstr "Saltar!"
221
222 #~ msgid ""
223 #~ "Making the helper <b>Tweak</b> requires a system administrator to "
224 #~ "authenticate. This instance overrides the defaults set in "
225 #~ "polkit_gnome_action_new()."
226 #~ msgstr ""
227 #~ "Fazer o assistente <b>Ajustar</b> requer que um administrador de sistema "
228 #~ "se autentique. Esta instância sobrepõe as configurações por omissão "
229 #~ "definidas em polkit_gnome_action_new()."
230
231 #~ msgid "Tweak!"
232 #~ msgstr "Ajustar!"
233
234 #~ msgid "Tweak"
235 #~ msgstr "Ajustar"
236
237 #~ msgid "Tweak (long)"
238 #~ msgstr "Ajustar (longo)"
239
240 #~ msgid "If your admin wasn't annoying, you could do this"
241 #~ msgstr "Se o seu administrador não fosse chato, podia fazer isso"
242
243 #~ msgid "Tweak..."
244 #~ msgstr "Ajustar..."
245
246 #~ msgid "Tweak... (long)"
247 #~ msgstr "Ajustar... (longo)"
248
249 #~ msgid "Only card carrying tweakers can do this!"
250 #~ msgstr "Apenas os ajustadores que possuem cartas podem fazer isto!"
251
252 #~ msgid "Tweak! (long)"
253 #~ msgstr "Ajustar! (longo)"
254
255 #~ msgid "Go ahead, tweak tweak tweak!"
256 #~ msgstr "Vá lá, ajuste ajuste ajuste!"
257
258 #~ msgid ""
259 #~ "Making the helper <b>Twiddle</b> requires a system administrator to "
260 #~ "authenticate. Once authenticated, this privilege can be retained "
261 #~ "indefinitely."
262 #~ msgstr ""
263 #~ "Fazer o assistente <b>Alterar</b> requer que um administrador de sistema "
264 #~ "se autentique. Uma vez autenticado, este privilégio pode ser retido "
265 #~ "indefinidamente."
266
267 #~ msgid "Twiddle!"
268 #~ msgstr "Alterar!"
269
270 #~ msgid ""
271 #~ "Making the helper <b>Punch</b> requires the user to authenticate. Once "
272 #~ "authenticated, this privilege can be retained for the remainder of the "
273 #~ "desktop session."
274 #~ msgstr ""
275 #~ "Fazer o assistente <b>Premir</b> requer que o utilizador se autentique. "
276 #~ "Uma vez autenticado, este privilégio pode ser retido durante o resto da "
277 #~ "sessão."
278
279 #~ msgid "Punch!"
280 #~ msgstr "Premir!"
281
282 #~ msgid ""
283 #~ "The <b>Toggle</b> action demonstrates the use of PolicyKit to drive a "
284 #~ "GtkToggleButton; it's an intuitive way to ask users to give up "
285 #~ "authorizations when they are done with them. E.g. the button is 'pressed "
286 #~ "in' exactlywhen the authorization is held. Toggling the button means "
287 #~ "obtaining resp. revoking the authorization in question."
288 #~ msgstr ""
289 #~ "A acção <b>Alternar</b> demonstra a utilização do PolicyKit para dirigir "
290 #~ "um botão GtkToggleButton; é uma forma intuitiva de pedir aos utilizadores "
291 #~ "para dispensarem as autorizações quando terminarem a sua utilização. Por "
292 #~ "ex. o botão encontra-se 'pressionado' exactamente quando a autorização é "
293 #~ "detida. Alternar o botão significa revogar a autorização em questão."
294
295 #~ msgid "Click to make changes..."
296 #~ msgstr "Clicar para efectuar alterações..."
297
298 #~ msgid "Click to prevent changes"
299 #~ msgstr "Clicar para prevenir alterações"
300
301 #~ msgid ""
302 #~ "<i>Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets "
303 #~ "update in real-time.</i>."
304 #~ msgstr ""
305 #~ "<i>Dica: tente editar /etc/PolicyKit/Policy.conf e veja a actualização da "
306 #~ "widget de proxy em tempo-real.</i>."
307
308 #~ msgid "Authenticating..."
309 #~ msgstr "A Autenticar..."
310
311 #~ msgid "Don't exit after 30 seconds of inactivity"
312 #~ msgstr "Não sair após 30 segundos de inactividade"
313
314 #~ msgid "PolicyKit GNOME session daemon"
315 #~ msgstr "Daemon de sessão do PolicyKit GNOME"
316
317 #~ msgid "Starting PolicyKit GNOME session daemon version %s"
318 #~ msgstr "A iniciar o daemon de sessão do PolicyKit GNOME, versão %s"
319
320 #~ msgid "_Remember authorization for this session"
321 #~ msgstr "_Recordar autorização para esta sessão"
322
323 #~ msgid "_Remember authorization"
324 #~ msgstr "_Recordar autorização"
325
326 #~ msgid "For this _session only"
327 #~ msgstr "Apenas para esta _sessão"
328
329 #~ msgid "<small><b>Application:</b></small>"
330 #~ msgstr "<small><b>Aplicação:</b></small>"
331
332 #~ msgid "(unknown"
333 #~ msgstr "(desconhecido"
334
335 #~ msgid "_Password for root:"
336 #~ msgstr "_Senha para root:"
337
338 #~ msgid "_Password or swipe finger for %s:"
339 #~ msgstr "_Senha ou impressão digital para %s:"
340
341 #~ msgid "_Password or swipe finger for root:"
342 #~ msgstr "_Senha ou impressão digital para root:"
343
344 #~ msgid "_Password or swipe finger:"
345 #~ msgstr "_Senha ou impressão digital:"
346
347 #~ msgid "No"
348 #~ msgstr "Não"
349
350 #~ msgid "Admin Authentication (one shot)"
351 #~ msgstr "Autenticação de Admin (única)"
352
353 #~ msgid "Admin Authentication (keep session)"
354 #~ msgstr "Autenticação de Admin (manter nesta sessão)"
355
356 #~ msgid "Admin Authentication (keep indefinitely)"
357 #~ msgstr "Autenticação de Admin (manter indefinidamente)"
358
359 #~ msgid "Authentication (one shot)"
360 #~ msgstr "Autenticação (única)"
361
362 #~ msgid "Authentication (keep session)"
363 #~ msgstr "Autenticação (manter nesta sessão)"
364
365 #~ msgid "Authentication (keep indefinitely)"
366 #~ msgstr "Autenticação (manter indefinidamente)"
367
368 #~ msgid "Yes"
369 #~ msgstr "Sim"
370
371 #~ msgid ", "
372 #~ msgstr ", "
373
374 #~ msgid "Must be on console"
375 #~ msgstr "É necessário estar numa consola"
376
377 #~ msgid "Must be in active session"
378 #~ msgstr "É necessário estar numa sessão activa"
379
380 #~ msgid "Must be program %s"
381 #~ msgstr "É necessário ser a aplicação %s"
382
383 #~ msgid "Must be SELinux Context %s"
384 #~ msgstr "É necessário ser no Contexto SELinux %s"
385
386 #~ msgid "A moment ago"
387 #~ msgstr "Há um momento atrás"
388
389 #~ msgid "1 minute ago"
390 #~ msgstr "Há 1 minuto atrás"
391
392 #~ msgid "%d minutes ago"
393 #~ msgstr "Há %d minutos"
394
395 #~ msgid "1 hour ago"
396 #~ msgstr "Há 1 hora atrás"
397
398 #~ msgid "%d hours ago"
399 #~ msgstr "Há %d horas atrás"
400
401 #~ msgid "1 day ago"
402 #~ msgstr "Há 1 dia"
403
404 #~ msgid "%d days ago"
405 #~ msgstr "Há %d dias atrás"
406
407 #~ msgid "Auth as %s (uid %d)"
408 #~ msgstr "Autenticar como %s (uid %d)"
409
410 #~ msgid "Auth as uid %d"
411 #~ msgstr "Autenticar como uid %d"
412
413 #~ msgid "Blocked by %s (uid %d)"
414 #~ msgstr "Bloqueado por %s (uid %d)"
415
416 #~ msgid "Blocked by uid %d"
417 #~ msgstr "Bloqueado por uid %d"
418
419 #~ msgid "Granted by %s (uid %d)"
420 #~ msgstr "Autorizado por %s (uid %d)"
421
422 #~ msgid "Granted by uid %d"
423 #~ msgstr "Autorizado por uid %d"
424
425 #~ msgid "Single shot pid %d (%s)"
426 #~ msgstr "idp único %d (%s)"
427
428 #~ msgid "pid %d (%s)"
429 #~ msgstr "idp %d (%s)"
430
431 #~ msgid "This session"
432 #~ msgstr "Esta sessão"
433
434 #~ msgid "Always"
435 #~ msgstr "Sempre"
436
437 #~ msgid "None"
438 #~ msgstr "Nenhum"
439
440 #~ msgid "Grant Negative Authorization"
441 #~ msgstr "Conceder Autorização Negativa"
442
443 #~ msgid "Grant Authorization"
444 #~ msgstr "Autorizar"
445
446 #~ msgid ""
447 #~ "<b><big>Granting a negative authorization for the <i>%s</i> action "
448 #~ "requires more information</big></b>"
449 #~ msgstr ""
450 #~ "<b><big>Conceder uma autorização negativa para a acção <i>%s</i> requer "
451 #~ "mais informação</big></b>"
452
453 #~ msgid ""
454 #~ "<b><big>Granting an authorization for the <i>%s</i> action requires more "
455 #~ "information</big></b>"
456 #~ msgstr ""
457 #~ "<b><big>Conceder uma autorização para a acção <i>%s</i> requer mais "
458 #~ "informação</big></b>"
459
460 #~ msgid ""
461 #~ "Select the user to block for the action and, optionally, any constraints "
462 #~ "on the negative authorization that you are about to grant."
463 #~ msgstr ""
464 #~ "Seleccione o utilizador a bloquear para a acção e, opcionalmente, "
465 #~ "qualquer restrição na autorização negativa que está prestes a conceder."
466
467 #~ msgid ""
468 #~ "Select the beneficiary and, optionally, how to constrain the "
469 #~ "authorization that you are about to grant."
470 #~ msgstr ""
471 #~ "Seleccione o beneficiário e, opcionalmente, como restringir a autorização "
472 #~ "que está prestes a conceder."
473
474 #~ msgid "<b>Beneficiary</b>"
475 #~ msgstr "<b>Beneficiário</b>"
476
477 #~ msgid "Select the user that will receive the negative authorization."
478 #~ msgstr "Seleccione o utilizador que irá receber a autorização negativa."
479
480 #~ msgid "Select the user that will receive the authorization."
481 #~ msgstr "Seleccione o utilizador que irá receber a autorização."
482
483 #~ msgid "_Show system users"
484 #~ msgstr "_Apresentar utilizadores do sistema"
485
486 #~ msgid "<b>Constraints</b>"
487 #~ msgstr "<b>Restrições</b>"
488
489 #~ msgid ""
490 #~ "Constraints limits the authorization such that it only applies under "
491 #~ "certain circumstances."
492 #~ msgstr ""
493 #~ "As restrições limitam a autorização para que apenas se aplique em "
494 #~ "determinadas circunstâncias."
495
496 #~ msgid "_None"
497 #~ msgstr "_Nenhum"
498
499 #~ msgid "Must be _in active session"
500 #~ msgstr "É necessário _estar numa sessão activa"
501
502 #~ msgid "Must be on _local console"
503 #~ msgstr "Tem de estar na consola _local"
504
505 #~ msgid "Must be in _active session on local console"
506 #~ msgstr "Tem de estar na sessão _activa na consola local"
507
508 #~ msgid "_Block..."
509 #~ msgstr "_Bloquear..."
510
511 #~ msgid "_Grant..."
512 #~ msgstr "_Conceder..."
513
514 #~ msgid "Edit Implicit Authorizations"
515 #~ msgstr "Editar Autorizações Implícitas"
516
517 #~ msgid "<b><big>Choose new implicit authorizations</big></b>"
518 #~ msgstr "<b><big>Escolher nova autorização implícita</big></b>"
519
520 #~ msgid ""
521 #~ "Implicit authorizations are authorizations that are granted automatically "
522 #~ "to users under certain circumstances. Choose what is required for the "
523 #~ "action <i>%s</i>."
524 #~ msgstr ""
525 #~ "Autorizações implícitas são autorizações concedidas automaticamente a "
526 #~ "utilizadores sob certas circunstâncias. Escolha o que é necessário para a "
527 #~ "acção <i>%s</i>."
528
529 #~ msgid "<i>Anyone:</i>"
530 #~ msgstr "<i>Todos:</i>"
531
532 #~ msgid "<i>Console:</i>"
533 #~ msgstr "<i>Consola:</i>"
534
535 #~ msgid "<i>Active Console:</i>"
536 #~ msgstr "<i>Consola Activa:</i>"
537
538 #~ msgid "_Modify..."
539 #~ msgstr "_Alterar..."
540
541 #~ msgid "<b>Action</b>"
542 #~ msgstr "<b>Acção</b>"
543
544 #~ msgid "<i>Identifier:</i>"
545 #~ msgstr "<i>identificador:</i>"
546
547 #~ msgid "<i>Description:</i>"
548 #~ msgstr "<i>Descrição:</i>"
549
550 #~ msgid "<i>Vendor:</i>"
551 #~ msgstr "<i>Fornecedor:</i>"
552
553 #~ msgid "<b>Implicit Authorizations</b>"
554 #~ msgstr "<b>Autorizações Implícitas</b>"
555
556 #~ msgid ""
557 #~ "Implicit authorizations are authorizations automatically given to users "
558 #~ "based on certain criteria such as if they are on the local console."
559 #~ msgstr ""
560 #~ "Autorizações implícitas são autorizações dadas automaticamente a "
561 #~ "utilizadores, baseadas em determinados critérios, como por exemplo, se "
562 #~ "estes se encontram na consola local."
563
564 #~ msgid "_Edit..."
565 #~ msgstr "_Editar..."
566
567 #~ msgid "Revert To _Defaults..."
568 #~ msgstr "Reverter para Definições _Por Omissão"
569
570 #~ msgid "<b>Explicit Authorizations</b>"
571 #~ msgstr "<b>Autorizações Explícitas</b>"
572
573 #~ msgid ""
574 #~ "This list displays authorizations that are either obtained through "
575 #~ "authentication or specifically given to the entity in question. Blocked "
576 #~ "authorizations are marked with a STOP sign."
577 #~ msgstr ""
578 #~ "Esta lista exibe autorizações que são obtidas quer através de "
579 #~ "autenticação ou especificamente dadas à entidade em questão. Autorizações "
580 #~ "bloqueadas estão marcadas com o sinal de STOP."
581
582 #~ msgid "Entity"
583 #~ msgstr "Entidade"
584
585 #~ msgid "Scope"
586 #~ msgstr "Âmbito"
587
588 #~ msgid "Obtained"
589 #~ msgstr "Adquirida"
590
591 #~ msgid "How"
592 #~ msgstr "Como"
593
594 #~ msgid "Constraints"
595 #~ msgstr "Restrições"
596
597 #~ msgid "_Revoke"
598 #~ msgstr "_Revogar"
599
600 #~ msgid "_Revoke..."
601 #~ msgstr "_Revogar..."
602
603 #~ msgid "_Show authorizations from all users..."
604 #~ msgstr "_Apresentar autorizações de todos os utilizadores..."
605
606 #~ msgid "_Show authorizations from all users"
607 #~ msgstr "_Apresentar autorizações de todos os utilizadores"
608
609 #~ msgid "Select an action"
610 #~ msgstr "Seleccionar uma acção"
768611
769612 #~ msgid "Frobnicate"
770613 #~ msgstr "Manipular"
66 msgstr ""
77 "Project-Id-Version: policykit-gnome\n"
88 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2008-06-19 06:31+0200\n"
10 "PO-Revision-Date: 2008-06-13 16:58+0200\n"
9 "POT-Creation-Date: 2008-09-18 16:21+0200\n"
10 "PO-Revision-Date: 2008-09-18 14:19+0200\n"
1111 "Last-Translator: Pavol Šimo <palo.simo@gmail.com>\n"
1212 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
1313 "MIME-Version: 1.0\n"
1515 "Content-Transfer-Encoding: 8bit\n"
1616
1717 #: ../data/polkit-gnome-authorization.desktop.in.h:1
18 #: ../tools/polkit-gnome-authorization.c:2443
18 #: ../tools/polkit-gnome-authorization.c:2452
1919 msgid "Authorizations"
2020 msgstr "Oprávnenia"
2121
2424 msgstr "Nastaviť oprávnenia"
2525
2626 #: ../data/polkit-gnome.schemas.in.h:1
27 msgid ""
28 "A list of PolicyKit action where the \"retain authorization\" checkbox isn't "
29 "checked by default; this list is maintained by the authentication dialog "
30 "code itself. For example, if a user unchecks the \"retain authorization\" "
31 "check box for an action and successfully obtains an authorization for the "
32 "action, the action will be added to this list."
33 msgstr ""
34 "Zoznam akcií pre PolicyKit, kde voľba \"ponechať oprávnenie\" nie je "
35 "predvolene označená; tento zoznam je spravovaný kódom samotného overovacieho "
36 "dialógového okna. Napríklad ak používateľ odznačí voľbu \"ponechať oprávnenie"
37 "\" pre nejakú akciu a následne sa úspešne overí, táto akcia bude pridaná do "
38 "tohto zoznamu."
39
40 #: ../data/polkit-gnome.schemas.in.h:2
41 msgid ""
42 "A list of actions where the \"retain authorization\" checkbox isn't checked "
43 "by default"
44 msgstr ""
45 "Zoznam akcií, v ktorých voľba \"ponechať oprávnenie\" nie je predvolene "
46 "označená"
47
48 #: ../data/polkit-gnome.schemas.in.h:3
2749 msgid ""
2850 "If set to true, the authentication dialog from PolicyKit-gnome will grab the "
2951 "keyboard, so that you will not be able to type in other programs while the "
3759 "okno nepresunie automaticky do popredia a chcete zabrániť náhodnému vpísaniu "
3860 "hesiel do iných programov."
3961
40 #: ../data/polkit-gnome.schemas.in.h:2
62 #: ../data/polkit-gnome.schemas.in.h:4
63 msgid ""
64 "If set to true, then \"retain authorization\" check box (if present) is "
65 "checked by default in the authentication dialog unless the action is "
66 "mentioned in the \"/desktop/gnome/policykit/"
67 "auth_dialog_retain_authorization_blacklist\" key."
68 msgstr ""
69 "Ak má hodnotu true, voľba \"ponechať oprávnenie\" (ak sa zobrazuje) v "
70 "dialógovom okne overovania bude predvolene označená v tom prípade, ak nebude "
71 "akcia uvedená v kľúči \"/desktop/gnome/policykit/"
72 "auth_dialog_retain_authorization_blacklist\"."
73
74 #: ../data/polkit-gnome.schemas.in.h:5
4175 msgid "Whether the authentication dialog should grab the keyboard"
4276 msgstr "Či má overovacie dialógové okno odchytiť vstup z klávesnice"
77
78 #: ../data/polkit-gnome.schemas.in.h:6
79 msgid "Whether the retain authorization check box is checked by default"
80 msgstr "Či je voľba \"ponechať autorizáciu\" predvolene označená"
4381
4482 #: ../examples/polkit-gnome-example.c:137
4583 msgid "Copyright © 2007 David Zeuthen"
321359 msgid "Don't exit after 30 seconds of inactivity"
322360 msgstr "Neukončiť po 30-tich sekundách nečinnosti"
323361
324 #: ../src/main.c:148
362 #: ../src/main.c:154
325363 msgid "PolicyKit GNOME session daemon"
326364 msgstr "Démon PolicyKit pre reláciu GNOME"
327365
328 #: ../src/main.c:174
366 #: ../src/main.c:180
329367 #, c-format
330368 msgid "Starting PolicyKit GNOME session daemon version %s"
331369 msgstr "Spúšťa sa démon PolicyKit pre reláciu GNOME verzie %s"
332370
333371 #: ../src/polkit-gnome-auth-dialog.c:190
334 #: ../tools/polkit-gnome-authorization.c:649
372 #: ../tools/polkit-gnome-authorization.c:653
335373 msgid "Select user..."
336374 msgstr "Zvoliť používateľa..."
337375
338376 #: ../src/polkit-gnome-auth-dialog.c:211
339 #: ../tools/polkit-gnome-authorization.c:665
377 #: ../tools/polkit-gnome-authorization.c:672
340378 #, c-format
341379 msgid "%s (%s)"
342380 msgstr "%s (%s)"
373411 "Aplikácia sa pokúša vykonať akciu, ktorá vyžaduje privilégiá. Na vykonanie "
374412 "tejto akcie je vyžadované overenie."
375413
376 #: ../src/polkit-gnome-auth-dialog.c:348
414 #: ../src/polkit-gnome-auth-dialog.c:405
377415 #, c-format
378416 msgid "Click to edit %s"
379417 msgstr "Kliknúť pre úpravu %s"
380418
381 #: ../src/polkit-gnome-auth-dialog.c:371
382 #: ../tools/polkit-gnome-authorization.c:1391
419 #: ../src/polkit-gnome-auth-dialog.c:430
420 #: ../tools/polkit-gnome-authorization.c:1400
383421 #, c-format
384422 msgid "Click to open %s"
385423 msgstr "Kliknúť pre otvorenie %s"
386424
387 #: ../src/polkit-gnome-auth-dialog.c:600
425 #: ../src/polkit-gnome-auth-dialog.c:667
388426 msgid "_Authenticate"
389427 msgstr "_Overiť"
390428
391 #: ../src/polkit-gnome-auth-dialog.c:659 ../src/polkit-gnome-manager.c:686
429 #: ../src/polkit-gnome-auth-dialog.c:726 ../src/polkit-gnome-manager.c:686
392430 #: ../src/polkit-gnome-manager.c:735
393431 msgid "_Password:"
394432 msgstr "_Heslo:"
395433
396 #: ../src/polkit-gnome-auth-dialog.c:681
434 #: ../src/polkit-gnome-auth-dialog.c:748
397435 msgid "For this _session only"
398436 msgstr "Len pre túto _reláciu"
399437
400 #: ../src/polkit-gnome-auth-dialog.c:689
438 #: ../src/polkit-gnome-auth-dialog.c:756
401439 msgid "<small><b>_Details</b></small>"
402440 msgstr "<small><b>Po_drobnosti</b></small>"
403441
404 #: ../src/polkit-gnome-auth-dialog.c:710
442 #: ../src/polkit-gnome-auth-dialog.c:777
405443 msgid "<small><b>Application:</b></small>"
406444 msgstr "<small><b>Aplikácia:</b></small>"
407445
408 #: ../src/polkit-gnome-auth-dialog.c:714
446 #: ../src/polkit-gnome-auth-dialog.c:781
409447 msgid "<small><b>Action:</b></small>"
410448 msgstr "<small><b>Akcia:</b></small>"
411449
412 #: ../src/polkit-gnome-auth-dialog.c:719
450 #: ../src/polkit-gnome-auth-dialog.c:786
413451 msgid "<small><b>Vendor:</b></small>"
414452 msgstr "<small><b>Dodávateľ:</b></small>"
415453
416 #: ../src/polkit-gnome-auth-dialog.c:848
454 #: ../src/polkit-gnome-auth-dialog.c:915
417455 msgid "Authenticate"
418456 msgstr "Overenie"
419457
536574 msgid "%d days ago"
537575 msgstr "Pred %d dňami"
538576
539 #: ../tools/polkit-gnome-authorization.c:379
577 #: ../tools/polkit-gnome-authorization.c:383
540578 #, c-format
541579 msgid "Auth as %s (uid %d)"
542580 msgstr "Oprávnenie pre %s (uid %d)"
543581
544 #: ../tools/polkit-gnome-authorization.c:381
582 #: ../tools/polkit-gnome-authorization.c:385
545583 #, c-format
546584 msgid "Auth as uid %d"
547585 msgstr "Oprávnenie pre uid %d"
548586
549 #: ../tools/polkit-gnome-authorization.c:387
587 #: ../tools/polkit-gnome-authorization.c:391
550588 #, c-format
551589 msgid "Blocked by %s (uid %d)"
552590 msgstr "Blokuje ho %s (uid %d)"
553591
554 #: ../tools/polkit-gnome-authorization.c:389
592 #: ../tools/polkit-gnome-authorization.c:393
555593 #, c-format
556594 msgid "Blocked by uid %d"
557595 msgstr "Blokuje ho uid %d"
558596
559 #: ../tools/polkit-gnome-authorization.c:392
597 #: ../tools/polkit-gnome-authorization.c:396
560598 #, c-format
561599 msgid "Granted by %s (uid %d)"
562600 msgstr "Povoľuje ho %s (uid %d)"
563601
564 #: ../tools/polkit-gnome-authorization.c:394
602 #: ../tools/polkit-gnome-authorization.c:398
565603 #, c-format
566604 msgid "Granted by uid %d"
567605 msgstr "Povoľuje ho uid %d"
568606
569 #: ../tools/polkit-gnome-authorization.c:409
607 #: ../tools/polkit-gnome-authorization.c:413
570608 #, c-format
571609 msgid "Single shot pid %d (%s)"
572610 msgstr "Jednorazovo pid %d (%s)"
573611
574 #: ../tools/polkit-gnome-authorization.c:415
612 #: ../tools/polkit-gnome-authorization.c:419
575613 #, c-format
576614 msgid "pid %d (%s)"
577615 msgstr "Pre pid %d (%s)"
578616
579 #: ../tools/polkit-gnome-authorization.c:418
617 #: ../tools/polkit-gnome-authorization.c:422
580618 msgid "This session"
581619 msgstr "Pre túto reláciu"
582620
583 #: ../tools/polkit-gnome-authorization.c:421
621 #: ../tools/polkit-gnome-authorization.c:425
584622 msgid "Always"
585623 msgstr "Navždy"
586624
587 #: ../tools/polkit-gnome-authorization.c:431
625 #: ../tools/polkit-gnome-authorization.c:435
588626 msgid "None"
589627 msgstr "Žiadne"
590628
591 #: ../tools/polkit-gnome-authorization.c:827
629 #: ../tools/polkit-gnome-authorization.c:836
592630 msgid "Grant Negative Authorization"
593631 msgstr "Poskytnutie negatívneho oprávnenia"
594632
595 #: ../tools/polkit-gnome-authorization.c:827
633 #: ../tools/polkit-gnome-authorization.c:836
596634 msgid "Grant Authorization"
597635 msgstr "Poskytnutie oprávnenia"
598636
599 #: ../tools/polkit-gnome-authorization.c:850
637 #: ../tools/polkit-gnome-authorization.c:859
600638 #, c-format
601639 msgid ""
602640 "<b><big>Granting a negative authorization for the <i>%s</i> action requires "
605643 "<b><big>Udelenie negatívneho oprávnenia pre akciu <i>%s</i> vyžaduje viac "
606644 "informácií</big></b>"
607645
608 #: ../tools/polkit-gnome-authorization.c:851
646 #: ../tools/polkit-gnome-authorization.c:860
609647 #, c-format
610648 msgid ""
611649 "<b><big>Granting an authorization for the <i>%s</i> action requires more "
614652 "<b><big>Udelenie oprávnenia pre akciu <i>%s</i> vyžaduje viac informácií</"
615653 "big></b>"
616654
617 #: ../tools/polkit-gnome-authorization.c:862
655 #: ../tools/polkit-gnome-authorization.c:871
618656 msgid ""
619657 "Select the user to block for the action and, optionally, any constraints on "
620658 "the negative authorization that you are about to grant."
622660 "Zvoľte používateľa, ktorému chcete blokovať akciu a voliteľne aj obmedzenia "
623661 "negatívneho oprávnenia, ktoré idete udeliť."
624662
625 #: ../tools/polkit-gnome-authorization.c:864
663 #: ../tools/polkit-gnome-authorization.c:873
626664 msgid ""
627665 "Select the beneficiary and, optionally, how to constrain the authorization "
628666 "that you are about to grant."
629667 msgstr ""
630668 "Zvoľte príjemcu a voliteľne aj obmedzenia oprávnenia, ktoré idete udeliť."
631669
632 #: ../tools/polkit-gnome-authorization.c:875
670 #: ../tools/polkit-gnome-authorization.c:884
633671 msgid "<b>Beneficiary</b>"
634672 msgstr "<b>Príjemca</b>"
635673
636 #: ../tools/polkit-gnome-authorization.c:887
674 #: ../tools/polkit-gnome-authorization.c:896
637675 msgid "Select the user that will receive the negative authorization."
638676 msgstr "Zvoľte používateľa, ktorý získa negatívne oprávnenie."
639677
640 #: ../tools/polkit-gnome-authorization.c:889
678 #: ../tools/polkit-gnome-authorization.c:898
641679 msgid "Select the user that will receive the authorization."
642680 msgstr "Zvoľte používateľa, ktorý získa oprávnenie."
643681
644 #: ../tools/polkit-gnome-authorization.c:898
682 #: ../tools/polkit-gnome-authorization.c:907
645683 msgid "_Show system users"
646684 msgstr "_Zobraziť používateľov systému"
647685
648 #: ../tools/polkit-gnome-authorization.c:913
686 #: ../tools/polkit-gnome-authorization.c:922
649687 msgid "<b>Constraints</b>"
650688 msgstr "<b>Obmedzenia</b>"
651689
652 #: ../tools/polkit-gnome-authorization.c:924
690 #: ../tools/polkit-gnome-authorization.c:933
653691 msgid ""
654692 "Constraints limits the authorization such that it only applies under certain "
655693 "circumstances."
656694 msgstr "Obmedzenia limitujú oprávnenie, takže platí len za určitých podmienok."
657695
658 #: ../tools/polkit-gnome-authorization.c:930
696 #: ../tools/polkit-gnome-authorization.c:939
659697 msgid "_None"
660698 msgstr "Žia_dne"
661699
662 #: ../tools/polkit-gnome-authorization.c:932
700 #: ../tools/polkit-gnome-authorization.c:941
663701 msgid "Must be _in active session"
664702 msgstr "Len ak je v aktívnej _relácií"
665703
666 #: ../tools/polkit-gnome-authorization.c:934
704 #: ../tools/polkit-gnome-authorization.c:943
667705 msgid "Must be on _local console"
668706 msgstr "Len ak je na _lokálnej konzole"
669707
670 #: ../tools/polkit-gnome-authorization.c:936
708 #: ../tools/polkit-gnome-authorization.c:945
671709 msgid "Must be in _active session on local console"
672710 msgstr "Len ak je v _aktívnej relácií na lokálnej konzole"
673711
674 #: ../tools/polkit-gnome-authorization.c:957
675 #: ../tools/polkit-gnome-authorization.c:2133
712 #: ../tools/polkit-gnome-authorization.c:966
713 #: ../tools/polkit-gnome-authorization.c:2142
676714 msgid "_Block..."
677715 msgstr "_Blokovať..."
678716
679 #: ../tools/polkit-gnome-authorization.c:961
680 #: ../tools/polkit-gnome-authorization.c:2126
717 #: ../tools/polkit-gnome-authorization.c:970
718 #: ../tools/polkit-gnome-authorization.c:2135
681719 msgid "_Grant..."
682720 msgstr "_Udeliť..."
683721
684 #: ../tools/polkit-gnome-authorization.c:1155
722 #: ../tools/polkit-gnome-authorization.c:1164
685723 msgid "Edit Implicit Authorizations"
686724 msgstr "Úprava nepriamych oprávnení"
687725
688 #: ../tools/polkit-gnome-authorization.c:1176
726 #: ../tools/polkit-gnome-authorization.c:1185
689727 msgid "<b><big>Choose new implicit authorizations</big></b>"
690728 msgstr "<b><big>Zvoľte nové nepriame oprávnenia</big></b>"
691729
692 #: ../tools/polkit-gnome-authorization.c:1190
730 #: ../tools/polkit-gnome-authorization.c:1199
693731 #, c-format
694732 msgid ""
695733 "Implicit authorizations are authorizations that are granted automatically to "
699737 "Nepriame oprávnenia sú také, ktoré sú používateľom udelené za istých "
700738 "podmienok automaticky. Zvoľte, čo bude pre akciu <i>%s</i> vyžadované."
701739
702 #: ../tools/polkit-gnome-authorization.c:1215
703 #: ../tools/polkit-gnome-authorization.c:1974
740 #: ../tools/polkit-gnome-authorization.c:1224
741 #: ../tools/polkit-gnome-authorization.c:1983
704742 msgid "<i>Anyone:</i>"
705743 msgstr "<i>Ktokoľvek:</i>"
706744
707 #: ../tools/polkit-gnome-authorization.c:1222
708 #: ../tools/polkit-gnome-authorization.c:1978
745 #: ../tools/polkit-gnome-authorization.c:1231
746 #: ../tools/polkit-gnome-authorization.c:1987
709747 msgid "<i>Console:</i>"
710748 msgstr "<i>Na konzole:</i>"
711749
712 #: ../tools/polkit-gnome-authorization.c:1229
713 #: ../tools/polkit-gnome-authorization.c:1982
750 #: ../tools/polkit-gnome-authorization.c:1238
751 #: ../tools/polkit-gnome-authorization.c:1991
714752 msgid "<i>Active Console:</i>"
715753 msgstr "<i>Na aktívnej konzole:</i>"
716754
717 #: ../tools/polkit-gnome-authorization.c:1258
755 #: ../tools/polkit-gnome-authorization.c:1267
718756 msgid "_Modify..."
719757 msgstr "_Upraviť..."
720758
721 #: ../tools/polkit-gnome-authorization.c:1890
759 #: ../tools/polkit-gnome-authorization.c:1899
722760 msgid "<b>Action</b>"
723761 msgstr "<b>Akcia</b>"
724762
725 #: ../tools/polkit-gnome-authorization.c:1905
763 #: ../tools/polkit-gnome-authorization.c:1914
726764 msgid "<i>Identifier:</i>"
727765 msgstr "<i>Identifikátor:</i>"
728766
729 #: ../tools/polkit-gnome-authorization.c:1915
767 #: ../tools/polkit-gnome-authorization.c:1924
730768 msgid "<i>Description:</i>"
731769 msgstr "<i>Popis:</i>"
732770
733 #: ../tools/polkit-gnome-authorization.c:1925
771 #: ../tools/polkit-gnome-authorization.c:1934
734772 msgid "<i>Vendor:</i>"
735773 msgstr "<i>Dodávateľ:</i>"
736774
737 #: ../tools/polkit-gnome-authorization.c:1951
775 #: ../tools/polkit-gnome-authorization.c:1960
738776 msgid "<b>Implicit Authorizations</b>"
739777 msgstr "<b>Nepriame overenia</b>"
740778
741 #: ../tools/polkit-gnome-authorization.c:1959
779 #: ../tools/polkit-gnome-authorization.c:1968
742780 msgid ""
743781 "Implicit authorizations are authorizations automatically given to users "
744782 "based on certain criteria such as if they are on the local console."
746784 "Nepriame oprávnenia sú také, ktoré sú používateľom udelené za istých "
747785 "podmienok automaticky, napríklad ak sú na lokálnej konzole."
748786
749 #: ../tools/polkit-gnome-authorization.c:2002
787 #: ../tools/polkit-gnome-authorization.c:2011
750788 msgid "_Edit..."
751789 msgstr "_Upraviť..."
752790
753 #: ../tools/polkit-gnome-authorization.c:2009
791 #: ../tools/polkit-gnome-authorization.c:2018
754792 msgid "Revert To _Defaults..."
755793 msgstr "Obnoviť pre_dvolené..."
756794
757 #: ../tools/polkit-gnome-authorization.c:2032
795 #: ../tools/polkit-gnome-authorization.c:2041
758796 msgid "<b>Explicit Authorizations</b>"
759797 msgstr "<b>Priame oprávnenia</b>"
760798
761 #: ../tools/polkit-gnome-authorization.c:2043
799 #: ../tools/polkit-gnome-authorization.c:2052
762800 msgid ""
763801 "This list displays authorizations that are either obtained through "
764802 "authentication or specifically given to the entity in question. Blocked "
768806 "alebo špecificky udelené danému objektu. Blokované oprávnenia sú označené "
769807 "symbolom STOP."
770808
771 #: ../tools/polkit-gnome-authorization.c:2073
809 #: ../tools/polkit-gnome-authorization.c:2082
772810 msgid "Entity"
773811 msgstr "Objekt"
774812
775 #: ../tools/polkit-gnome-authorization.c:2081
813 #: ../tools/polkit-gnome-authorization.c:2090
776814 msgid "Scope"
777815 msgstr "Platnosť"
778816
779 #: ../tools/polkit-gnome-authorization.c:2089
817 #: ../tools/polkit-gnome-authorization.c:2098
780818 msgid "Obtained"
781819 msgstr "Získané"
782820
783 #: ../tools/polkit-gnome-authorization.c:2097
821 #: ../tools/polkit-gnome-authorization.c:2106
784822 msgid "How"
785823 msgstr "Spôsob"
786824
787 #: ../tools/polkit-gnome-authorization.c:2105
825 #: ../tools/polkit-gnome-authorization.c:2114
788826 msgid "Constraints"
789827 msgstr "Obmedzenia"
790828
791 #: ../tools/polkit-gnome-authorization.c:2147
792 #: ../tools/polkit-gnome-authorization.c:2161
829 #: ../tools/polkit-gnome-authorization.c:2156
830 #: ../tools/polkit-gnome-authorization.c:2170
793831 msgid "_Revoke"
794832 msgstr "_Odvolať"
795833
796 #: ../tools/polkit-gnome-authorization.c:2154
834 #: ../tools/polkit-gnome-authorization.c:2163
797835 msgid "_Revoke..."
798836 msgstr "_Odvolať..."
799837
800 #: ../tools/polkit-gnome-authorization.c:2174
838 #: ../tools/polkit-gnome-authorization.c:2183
801839 msgid "_Show authorizations from all users..."
802840 msgstr "_Zobraziť oprávnenia všetkých používateľov..."
803841
804 #: ../tools/polkit-gnome-authorization.c:2175
842 #: ../tools/polkit-gnome-authorization.c:2184
805843 msgid "_Show authorizations from all users"
806844 msgstr "_Zobraziť oprávnenia všetkých používateľov"
807845
808 #: ../tools/polkit-gnome-authorization.c:2417
846 #: ../tools/polkit-gnome-authorization.c:2426
809847 msgid "Select an action"
810848 msgstr "Zvoľte akciu"
+298
-645
po/sv.po less more
00 # Swedish translation for policykit-gnome
1 # Copyright (c) 2008 Free Software Foundation, Inc.
1 # Copyright (c) 2008, 2009 Free Software Foundation, Inc.
22 # This file is distributed under the same license as the policykit-gnome package.
3 # Daniel Nylander <po@danielnylander.se>, 2008.
3 # Daniel Nylander <po@danielnylander.se>, 2008, 2009.
44 #
55 msgid ""
66 msgstr ""
77 "Project-Id-Version: policykit-gnome\n"
88 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2008-04-04 12:51+0200\n"
10 "PO-Revision-Date: 2008-04-04 12:52+0100\n"
9 "POT-Creation-Date: 2009-07-07 12:53+0200\n"
10 "PO-Revision-Date: 2009-07-07 22:23+0100\n"
1111 "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
1212 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
1313 "MIME-Version: 1.0\n"
1414 "Content-Type: text/plain; charset=UTF-8\n"
1515 "Content-Transfer-Encoding: 8bit\n"
1616
17 #: ../data/polkit-gnome-authorization.desktop.in.h:1
18 #: ../tools/polkit-gnome-authorization.c:2439
19 msgid "Authorizations"
20 msgstr "Behörigheter"
21
22 #: ../data/polkit-gnome-authorization.desktop.in.h:2
23 msgid "Configure authorizations"
24 msgstr "Konfigurera behörigheter"
25
26 #: ../examples/polkit-gnome-example.c:137
27 msgid "Copyright © 2007 David Zeuthen"
28 msgstr "Copyright © 2007 David Zeuthen"
29
30 #: ../examples/polkit-gnome-example.c:138
31 msgid "PolicyKit-gnome Website"
32 msgstr ""
33
34 #: ../examples/polkit-gnome-example.c:140
35 #: ../examples/polkit-gnome-example.c:446
36 msgid "PolicyKit-gnome demo"
37 msgstr ""
38
39 #: ../examples/polkit-gnome-example.c:141
40 msgid "PolicyKit for the GNOME desktop"
41 msgstr "PolicyKit för GNOME-skrivbordet"
42
43 #: ../examples/polkit-gnome-example.c:151
44 msgid "_File"
45 msgstr "_Arkiv"
46
47 #. name, stock id, label
48 #: ../examples/polkit-gnome-example.c:152
49 msgid "_Actions"
50 msgstr "_Åtgärder"
51
52 #. name, stock id, label
53 #: ../examples/polkit-gnome-example.c:153
54 msgid "_Help"
55 msgstr "_Hjälp"
56
57 #. name, stock id, label
58 #. name, stock id
59 #: ../examples/polkit-gnome-example.c:156
60 msgid "_Quit"
61 msgstr "A_vsluta"
62
63 #. label, accelerator
64 #: ../examples/polkit-gnome-example.c:157
65 msgid "Quit"
66 msgstr "Avsluta"
67
68 #. name, stock id
69 #: ../examples/polkit-gnome-example.c:161
70 msgid "_About"
71 msgstr "_Om"
72
73 #. label, accelerator
74 #: ../examples/polkit-gnome-example.c:162
75 msgid "About"
76 msgstr "Om"
77
78 #: ../examples/polkit-gnome-example.c:243
79 msgid "Making the helper <b>Frobnicate</b> requires the user to authenticate. The authorization is kept for the life time of the process"
80 msgstr ""
81
82 #: ../examples/polkit-gnome-example.c:252
83 msgid "Frobnicate!"
84 msgstr ""
85
86 #: ../examples/polkit-gnome-example.c:267
87 msgid "Making the helper <b>Jump</b> requires the user to authenticate. This is a one-shot authorization."
88 msgstr ""
89
90 #: ../examples/polkit-gnome-example.c:275
91 msgid "Jump!"
92 msgstr ""
93
94 #: ../examples/polkit-gnome-example.c:290
95 msgid "Making the helper <b>Tweak</b> requires a system administrator to authenticate. This instance overrides the defaults set in polkit_gnome_action_new()."
96 msgstr ""
97
98 #: ../examples/polkit-gnome-example.c:299
99 #: ../examples/polkit-gnome-example.c:320
100 msgid "Tweak!"
101 msgstr ""
102
103 #: ../examples/polkit-gnome-example.c:306
104 #: ../examples/polkit-gnome-example.policy.in.h:17
105 msgid "Tweak"
106 msgstr ""
107
108 #: ../examples/polkit-gnome-example.c:307
109 msgid "Tweak (long)"
110 msgstr ""
111
112 #: ../examples/polkit-gnome-example.c:308
113 msgid "If your admin wasn't annoying, you could do this"
114 msgstr ""
115
116 #: ../examples/polkit-gnome-example.c:313
117 msgid "Tweak..."
118 msgstr ""
119
120 #: ../examples/polkit-gnome-example.c:314
121 msgid "Tweak... (long)"
122 msgstr ""
123
124 #: ../examples/polkit-gnome-example.c:315
125 msgid "Only card carrying tweakers can do this!"
126 msgstr ""
127
128 #: ../examples/polkit-gnome-example.c:321
129 msgid "Tweak! (long)"
130 msgstr ""
131
132 #: ../examples/polkit-gnome-example.c:322
133 msgid "Go ahead, tweak tweak tweak!"
134 msgstr ""
135
136 #: ../examples/polkit-gnome-example.c:339
137 msgid "Making the helper <b>Twiddle</b> requires a system administrator to authenticate. Once authenticated, this privilege can be retained indefinitely."
138 msgstr ""
139
140 #: ../examples/polkit-gnome-example.c:348
141 msgid "Twiddle!"
142 msgstr ""
143
144 #: ../examples/polkit-gnome-example.c:363
145 msgid "Making the helper <b>Punch</b> requires the user to authenticate. Once authenticated, this privilege can be retained for the remainder of the desktop session."
146 msgstr ""
147
148 #: ../examples/polkit-gnome-example.c:372
149 msgid "Punch!"
150 msgstr ""
151
152 #: ../examples/polkit-gnome-example.c:387
153 msgid "The <b>Toggle</b> action demonstrates the use of PolicyKit to drive a GtkToggleButton; it's an intuitive way to ask users to give up authorizations when they are done with them. E.g. the button is 'pressed in' exactlywhen the authorization is held. Toggling the button means obtaining resp. revoking the authorization in question."
154 msgstr ""
155
156 #: ../examples/polkit-gnome-example.c:401
157 msgid "Click to make changes..."
158 msgstr "Klicka för att göra ändringar..."
159
160 #: ../examples/polkit-gnome-example.c:402
161 msgid "Click to prevent changes"
162 msgstr "Klicka för att förhindra ändringar"
163
164 #: ../examples/polkit-gnome-example.c:422
165 msgid "<i>Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets update in real-time.</i>."
166 msgstr ""
167
168 #: ../examples/polkit-gnome-example.policy.in.h:1
169 msgid "Frobnicate"
170 msgstr ""
171
172 #: ../examples/polkit-gnome-example.policy.in.h:2
173 msgid "Jump"
174 msgstr ""
175
176 #: ../examples/polkit-gnome-example.policy.in.h:3
177 msgid "Kick bar"
178 msgstr ""
179
180 #: ../examples/polkit-gnome-example.policy.in.h:4
181 msgid "Kick baz"
182 msgstr ""
183
184 #: ../examples/polkit-gnome-example.policy.in.h:5
185 msgid "Kick foo"
186 msgstr ""
187
188 #: ../examples/polkit-gnome-example.policy.in.h:6
189 msgid "Punch"
190 msgstr ""
191
192 #: ../examples/polkit-gnome-example.policy.in.h:7
193 msgid "System policy prevents the PolicyKit-gnome example helper from Frobnicating"
194 msgstr ""
195
196 #: ../examples/polkit-gnome-example.policy.in.h:8
197 msgid "System policy prevents the PolicyKit-gnome example helper from Jumping"
198 msgstr ""
199
200 #: ../examples/polkit-gnome-example.policy.in.h:9
201 msgid "System policy prevents the PolicyKit-gnome example helper from Kicking bar"
202 msgstr ""
203
204 #: ../examples/polkit-gnome-example.policy.in.h:10
205 msgid "System policy prevents the PolicyKit-gnome example helper from Kicking baz"
206 msgstr ""
207
208 #: ../examples/polkit-gnome-example.policy.in.h:11
209 msgid "System policy prevents the PolicyKit-gnome example helper from Kicking foo"
210 msgstr ""
211
212 #: ../examples/polkit-gnome-example.policy.in.h:12
213 msgid "System policy prevents the PolicyKit-gnome example helper from Punching"
214 msgstr ""
215
216 #: ../examples/polkit-gnome-example.policy.in.h:13
217 msgid "System policy prevents the PolicyKit-gnome example helper from Toggling"
218 msgstr ""
219
220 #: ../examples/polkit-gnome-example.policy.in.h:14
221 msgid "System policy prevents the PolicyKit-gnome example helper from Tweaking"
222 msgstr ""
223
224 #: ../examples/polkit-gnome-example.policy.in.h:15
225 msgid "System policy prevents the PolicyKit-gnome example helper from Twiddling"
226 msgstr ""
227
228 #: ../examples/polkit-gnome-example.policy.in.h:16
229 msgid "Toggle"
230 msgstr "Växla"
231
232 #: ../examples/polkit-gnome-example.policy.in.h:18
233 msgid "Twiddle"
234 msgstr ""
235
236 #: ../polkit-gnome/polkit-gnome-toggle-action.c:400
237 #: ../polkit-gnome/polkit-gnome-toggle-action.c:401
238 msgid "Authenticating..."
239 msgstr "Autentiserar..."
240
241 #: ../src/main.c:139
242 msgid "Don't exit after 30 seconds of inactivity"
243 msgstr ""
244
245 #: ../src/main.c:148
246 msgid "PolicyKit GNOME session daemon"
247 msgstr ""
248
249 #: ../src/main.c:174
250 #, c-format
251 msgid "Starting PolicyKit GNOME session daemon version %s"
252 msgstr ""
253
254 #: ../src/polkit-gnome-auth-dialog.c:190
255 #: ../tools/polkit-gnome-authorization.c:649
17 #: ../src/polkitgnomeauthenticationdialog.c:159
25618 msgid "Select user..."
25719 msgstr "Välj användare..."
25820
259 #: ../src/polkit-gnome-auth-dialog.c:211
260 #: ../tools/polkit-gnome-authorization.c:665
21 #: ../src/polkitgnomeauthenticationdialog.c:194
26122 #, c-format
26223 msgid "%s (%s)"
26324 msgstr "%s (%s)"
26425
265 #: ../src/polkit-gnome-auth-dialog.c:292
266 msgid "_Remember authorization for this session"
267 msgstr "_Kom ihåg behörighet för denna session"
268
269 #: ../src/polkit-gnome-auth-dialog.c:298
270 msgid "_Remember authorization"
271 msgstr "_Kom ihåg behörighet"
272
273 #: ../src/polkit-gnome-auth-dialog.c:313
26 #: ../src/polkitgnomeauthenticationdialog.c:529
27 msgid "_Authenticate"
28 msgstr "_Autentisera"
29
30 #: ../src/polkitgnomeauthenticationdialog.c:566
27431 msgid "An application is attempting to perform an action that requires privileges. Authentication as one of the users below is required to perform this action."
27532 msgstr "Ett program försöker genomföra en åtgärd som kräver privilegier. Autentisering som en av användarna nedan krävs för att genomföra denna åtgärd."
27633
277 #: ../src/polkit-gnome-auth-dialog.c:320
34 #: ../src/polkitgnomeauthenticationdialog.c:574
35 msgid "An application is attempting to perform an action that requires privileges. Authentication is required to perform this action."
36 msgstr "Ett program försöker genomföra en åtgärd som kräver privilegier. Autentisering krävs för att genomföra denna åtgärd."
37
38 #: ../src/polkitgnomeauthenticationdialog.c:580
27839 msgid "An application is attempting to perform an action that requires privileges. Authentication as the super user is required to perform this action."
27940 msgstr "Ett program försöker genomföra en åtgärd som kräver privilegier. Autentisering som superanvändaren krävs för att genomföra denna åtgärd."
28041
281 #: ../src/polkit-gnome-auth-dialog.c:324
282 msgid "An application is attempting to perform an action that requires privileges. Authentication is required to perform this action."
283 msgstr "Ett program försöker genomföra en åtgärd som kräver privilegier. Autentisering krävs för att genomföra denna åtgärd."
284
285 #: ../src/polkit-gnome-auth-dialog.c:348
42 #: ../src/polkitgnomeauthenticationdialog.c:615
43 #: ../src/polkitgnomeauthenticator.c:289
44 msgid "_Password:"
45 msgstr "_Lösenord:"
46
47 #. Details
48 #: ../src/polkitgnomeauthenticationdialog.c:633
49 msgid "<small><b>_Details</b></small>"
50 msgstr "<small><b>_Detaljer</b></small>"
51
52 #: ../src/polkitgnomeauthenticationdialog.c:686
53 msgid "<small><b>Action:</b></small>"
54 msgstr "<small><b>Åtgärd:</b></small>"
55
56 #: ../src/polkitgnomeauthenticationdialog.c:689
28657 #, c-format
28758 msgid "Click to edit %s"
28859 msgstr "Klicka för att redigera %s"
28960
290 #: ../src/polkit-gnome-auth-dialog.c:371
291 #: ../tools/polkit-gnome-authorization.c:1391
61 #: ../src/polkitgnomeauthenticationdialog.c:703
62 msgid "<small><b>Vendor:</b></small>"
63 msgstr "<small><b>Leverantör:</b></small>"
64
65 #: ../src/polkitgnomeauthenticationdialog.c:705
29266 #, c-format
29367 msgid "Click to open %s"
29468 msgstr "Klicka för att öppna %s"
29569
296 #: ../src/polkit-gnome-auth-dialog.c:600
297 msgid "_Authenticate"
298 msgstr "_Autentisera"
299
300 #: ../src/polkit-gnome-auth-dialog.c:659
301 #: ../src/polkit-gnome-manager.c:680
302 #: ../src/polkit-gnome-manager.c:729
303 msgid "_Password:"
304 msgstr "_Lösenord:"
305
306 #: ../src/polkit-gnome-auth-dialog.c:681
307 msgid "For this _session only"
308 msgstr "Endast för denna _session"
309
310 #: ../src/polkit-gnome-auth-dialog.c:689
311 msgid "<small><b>_Details</b></small>"
312 msgstr "<small><b>_Detaljer</b></small>"
313
314 #: ../src/polkit-gnome-auth-dialog.c:710
315 msgid "<small><b>Application:</b></small>"
316 msgstr "<small><b>Program:</b></small>"
317
318 #: ../src/polkit-gnome-auth-dialog.c:714
319 msgid "<small><b>Action:</b></small>"
320 msgstr "<small><b>Åtgärd:</b></small>"
321
322 #: ../src/polkit-gnome-auth-dialog.c:719
323 msgid "<small><b>Vendor:</b></small>"
324 msgstr "<small><b>Tillverkare:</b></small>"
325
326 #: ../src/polkit-gnome-auth-dialog.c:848
70 #: ../src/polkitgnomeauthenticationdialog.c:868
32771 msgid "Authenticate"
32872 msgstr "Autentisera"
32973
330 #: ../src/polkit-gnome-manager.c:724
74 #: ../src/polkitgnomeauthenticator.c:285
33175 #, c-format
33276 msgid "_Password for %s:"
33377 msgstr "_Lösenord för %s:"
33478
335 #: ../src/polkit-gnome-manager.c:726
336 msgid "_Password for root:"
337 msgstr "_Lösenord för root:"
338
339 #: ../src/polkit-gnome-manager.c:734
340 #, c-format
341 msgid "_Password or swipe finger for %s:"
342 msgstr "_Lösenord eller fingeravtryck för %s:"
343
344 #: ../src/polkit-gnome-manager.c:737
345 msgid "_Password or swipe finger for root:"
346 msgstr "_Lösenord eller fingeravtryck för root:"
347
348 #: ../src/polkit-gnome-manager.c:740
349 msgid "_Password or swipe finger:"
350 msgstr "_Lösenord eller fingeravtryck:"
351
352 #: ../tools/polkit-gnome-authorization.c:117
353 msgid "No"
354 msgstr "Nej"
355
356 #: ../tools/polkit-gnome-authorization.c:119
357 msgid "Admin Authentication (one shot)"
358 msgstr "Administrativ autentisering (en gång)"
359
360 #: ../tools/polkit-gnome-authorization.c:120
361 msgid "Admin Authentication"
362 msgstr "Administrativ autentisering"
363
364 #: ../tools/polkit-gnome-authorization.c:121
365 msgid "Admin Authentication (keep session)"
366 msgstr "Administrativ autentisering (behåll session)"
367
368 #: ../tools/polkit-gnome-authorization.c:122
369 msgid "Admin Authentication (keep indefinitely)"
370 msgstr "Administrativ autentisering (behåll för alltid)"
371
372 #: ../tools/polkit-gnome-authorization.c:124
373 msgid "Authentication (one shot)"
374 msgstr "Autentisering (en gång)"
375
376 #: ../tools/polkit-gnome-authorization.c:125
377 msgid "Authentication"
378 msgstr "Autentisering"
379
380 #: ../tools/polkit-gnome-authorization.c:126
381 msgid "Authentication (keep session)"
382 msgstr "Autentisering (behåll session)"
383
384 #: ../tools/polkit-gnome-authorization.c:127
385 msgid "Authentication (keep indefinitely)"
386 msgstr "Autentisering (behåll för alltid)"
387
388 #: ../tools/polkit-gnome-authorization.c:129
389 msgid "Yes"
390 msgstr "Ja"
391
392 #: ../tools/polkit-gnome-authorization.c:272
393 msgid ", "
394 msgstr ", "
395
396 #: ../tools/polkit-gnome-authorization.c:276
397 msgid "Must be on console"
398 msgstr "Måste vara i konsoll"
399
400 #: ../tools/polkit-gnome-authorization.c:279
401 msgid "Must be in active session"
402 msgstr "Måste vara i aktiv session"
403
404 #: ../tools/polkit-gnome-authorization.c:282
405 #, c-format
406 msgid "Must be program %s"
407 msgstr "Måste vara programmet %s"
408
409 #: ../tools/polkit-gnome-authorization.c:286
410 #, c-format
411 msgid "Must be SELinux Context %s"
412 msgstr "Måste vara SELinux-kontexten %s"
413
414 #: ../tools/polkit-gnome-authorization.c:344
415 msgid "A moment ago"
416 msgstr "En stund sedan"
417
418 #: ../tools/polkit-gnome-authorization.c:348
419 msgid "1 minute ago"
420 msgstr "1 minut sedan"
421
422 #: ../tools/polkit-gnome-authorization.c:350
423 #, c-format
424 msgid "%d minutes ago"
425 msgstr "%d minuter sedan"
426
427 #: ../tools/polkit-gnome-authorization.c:354
428 msgid "1 hour ago"
429 msgstr "1 timme sedan"
430
431 #: ../tools/polkit-gnome-authorization.c:356
432 #, c-format
433 msgid "%d hours ago"
434 msgstr "%d timmar sedan"
435
436 #: ../tools/polkit-gnome-authorization.c:360
437 msgid "1 day ago"
438 msgstr "1 dygn sedan"
439
440 #: ../tools/polkit-gnome-authorization.c:362
441 #, c-format
442 msgid "%d days ago"
443 msgstr "%d dygn sedan"
444
445 #: ../tools/polkit-gnome-authorization.c:379
446 #, c-format
447 msgid "Auth as %s (uid %d)"
448 msgstr "Autentisera som %s (uid %d)"
449
450 #: ../tools/polkit-gnome-authorization.c:381
451 #, c-format
452 msgid "Auth as uid %d"
453 msgstr "Autentisera som uid %d"
454
455 #: ../tools/polkit-gnome-authorization.c:387
456 #, c-format
457 msgid "Blocked by %s (uid %d)"
458 msgstr "Blockerad av %s (uid %d)"
459
460 #: ../tools/polkit-gnome-authorization.c:389
461 #, c-format
462 msgid "Blocked by uid %d"
463 msgstr "Blockerad av uid %d"
464
465 #: ../tools/polkit-gnome-authorization.c:392
466 #, c-format
467 msgid "Granted by %s (uid %d)"
468 msgstr "Tillåts av %s (uid %d)"
469
470 #: ../tools/polkit-gnome-authorization.c:394
471 #, c-format
472 msgid "Granted by uid %d"
473 msgstr "Tillåts av uid %d"
474
475 #: ../tools/polkit-gnome-authorization.c:409
476 #, c-format
477 msgid "Single shot pid %d (%s)"
478 msgstr ""
479
480 #: ../tools/polkit-gnome-authorization.c:415
481 #, c-format
482 msgid "pid %d (%s)"
483 msgstr "pid %d (%s)"
484
485 #: ../tools/polkit-gnome-authorization.c:418
486 msgid "This session"
487 msgstr "Denna session"
488
489 #: ../tools/polkit-gnome-authorization.c:421
490 msgid "Always"
491 msgstr "Alltid"
492
493 #: ../tools/polkit-gnome-authorization.c:431
494 msgid "None"
495 msgstr "Ingen"
496
497 #: ../tools/polkit-gnome-authorization.c:827
498 msgid "Grant Negative Authorization"
499 msgstr "Tillåt negativ behörighet"
500
501 #: ../tools/polkit-gnome-authorization.c:827
502 msgid "Grant Authorization"
503 msgstr "Tillåt behörighet"
504
505 #: ../tools/polkit-gnome-authorization.c:850
506 #, c-format
507 msgid "<b><big>Granting a negative authorization for the <i>%s</i> action requires more information</big></b>"
508 msgstr "<b><big>Tillåta en negativ behörighet för <i>%s</i>-åtgärden kräver mer information</big></b>"
509
510 #: ../tools/polkit-gnome-authorization.c:851
511 #, c-format
512 msgid "<b><big>Granting an authorization for the <i>%s</i> action requires more information</big></b>"
513 msgstr "<b><big>Tillåta en behörighet för <i>%s</i>-åtgärden kräver mer information</big></b>"
514
515 #: ../tools/polkit-gnome-authorization.c:862
516 msgid "Select the user to block for the action and, optionally, any constraints on the negative authorization that you are about to grant."
517 msgstr ""
518
519 #: ../tools/polkit-gnome-authorization.c:864
520 msgid "Select the beneficiary and, optionally, how to constrain the authorization that you are about to grant."
521 msgstr ""
522
523 #: ../tools/polkit-gnome-authorization.c:875
524 msgid "<b>Beneficiary</b>"
525 msgstr ""
526
527 #: ../tools/polkit-gnome-authorization.c:887
528 msgid "Select the user that will receive the negative authorization."
529 msgstr ""
530
531 #: ../tools/polkit-gnome-authorization.c:889
532 msgid "Select the user that will receive the authorization."
533 msgstr ""
534
535 #: ../tools/polkit-gnome-authorization.c:898
536 msgid "_Show system users"
537 msgstr "_Visa systemanvändare"
538
539 #: ../tools/polkit-gnome-authorization.c:913
540 msgid "<b>Constraints</b>"
541 msgstr "<b>Begränsningar</b>"
542
543 #: ../tools/polkit-gnome-authorization.c:924
544 msgid "Constraints limits the authorization such that it only applies under certain circumstances."
545 msgstr "Begränsningar innebär att behörigheten avgränsas så att den endast gäller under vissa situationer."
546
547 #: ../tools/polkit-gnome-authorization.c:930
548 msgid "_None"
549 msgstr "_Ingen"
550
551 #: ../tools/polkit-gnome-authorization.c:932
552 msgid "Must be _in active session"
553 msgstr "Måste vara _i aktiv session"
554
555 #: ../tools/polkit-gnome-authorization.c:934
556 msgid "Must be on _local console"
557 msgstr "Måste vara på _lokal konsoll"
558
559 #: ../tools/polkit-gnome-authorization.c:936
560 msgid "Must be in _active session on local console"
561 msgstr "Måste vara i _aktiv session på lokal konsoll"
562
563 #: ../tools/polkit-gnome-authorization.c:957
564 #: ../tools/polkit-gnome-authorization.c:2133
565 msgid "_Block..."
566 msgstr "_Blockera..."
567
568 #: ../tools/polkit-gnome-authorization.c:961
569 #: ../tools/polkit-gnome-authorization.c:2126
570 msgid "_Grant..."
571 msgstr "_Tillåt..."
572
573 #: ../tools/polkit-gnome-authorization.c:1155
574 msgid "Edit Implicit Authorizations"
575 msgstr "Redigera underförstådda behörigheter"
576
577 #: ../tools/polkit-gnome-authorization.c:1176
578 msgid "<b><big>Choose new implicit authorizations</big></b>"
579 msgstr ""
580
581 #: ../tools/polkit-gnome-authorization.c:1190
582 #, c-format
583 msgid "Implicit authorizations are authorizations that are granted automatically to users under certain circumstances. Choose what is required for the action <i>%s</i>."
584 msgstr ""
585
586 #: ../tools/polkit-gnome-authorization.c:1215
587 #: ../tools/polkit-gnome-authorization.c:1974
588 msgid "<i>Anyone:</i>"
589 msgstr "<i>Alla:</i>"
590
591 #: ../tools/polkit-gnome-authorization.c:1222
592 #: ../tools/polkit-gnome-authorization.c:1978
593 msgid "<i>Console:</i>"
594 msgstr "<i>Konsoll:</i>"
595
596 #: ../tools/polkit-gnome-authorization.c:1229
597 #: ../tools/polkit-gnome-authorization.c:1982
598 msgid "<i>Active Console:</i>"
599 msgstr "<i>Aktiv konsoll:</i>"
600
601 #: ../tools/polkit-gnome-authorization.c:1258
602 msgid "_Modify..."
603 msgstr "_Ändra..."
604
605 #: ../tools/polkit-gnome-authorization.c:1890
606 msgid "<b>Action</b>"
607 msgstr "<b>Åtgärd</b>"
608
609 #: ../tools/polkit-gnome-authorization.c:1905
610 msgid "<i>Identifier:</i>"
611 msgstr "<i>Identifierare:</i>"
612
613 #: ../tools/polkit-gnome-authorization.c:1915
614 msgid "<i>Description:</i>"
615 msgstr "<i>Beskrivning:</i>"
616
617 #: ../tools/polkit-gnome-authorization.c:1925
618 msgid "<i>Vendor:</i>"
619 msgstr "<i>Tillverkare:</i>"
620
621 #: ../tools/polkit-gnome-authorization.c:1951
622 msgid "<b>Implicit Authorizations</b>"
623 msgstr "<b>Underförstådda behörigheter</b>"
624
625 #: ../tools/polkit-gnome-authorization.c:1959
626 msgid "Implicit authorizations are authorizations automatically given to users based on certain criteria such as if they are on the local console."
627 msgstr ""
628
629 #: ../tools/polkit-gnome-authorization.c:2002
630 msgid "_Edit..."
631 msgstr "_Redigera..."
632
633 #: ../tools/polkit-gnome-authorization.c:2009
634 msgid "Revert To _Defaults..."
635 msgstr "Återställ till s_tandardvärden..."
636
637 #: ../tools/polkit-gnome-authorization.c:2032
638 msgid "<b>Explicit Authorizations</b>"
639 msgstr "<b>Uttryckliga behörigheter</b>"
640
641 #: ../tools/polkit-gnome-authorization.c:2043
642 msgid "This list displays authorizations that are either obtained through authentication or specifically given to the entity in question. Blocked authorizations are marked with a STOP sign."
643 msgstr ""
644
645 #: ../tools/polkit-gnome-authorization.c:2073
646 msgid "Entity"
647 msgstr "Entitet"
648
649 #: ../tools/polkit-gnome-authorization.c:2081
650 msgid "Scope"
651 msgstr "Omfång"
652
653 #: ../tools/polkit-gnome-authorization.c:2089
654 msgid "Obtained"
655 msgstr ""
656
657 #: ../tools/polkit-gnome-authorization.c:2097
658 msgid "How"
659 msgstr "Hur"
660
661 #: ../tools/polkit-gnome-authorization.c:2105
662 msgid "Constraints"
663 msgstr "Begränsningar"
664
665 #: ../tools/polkit-gnome-authorization.c:2147
666 #: ../tools/polkit-gnome-authorization.c:2161
667 msgid "_Revoke"
668 msgstr "_Återkalla"
669
670 #: ../tools/polkit-gnome-authorization.c:2154
671 msgid "_Revoke..."
672 msgstr "_Återkalla..."
673
674 #: ../tools/polkit-gnome-authorization.c:2174
675 msgid "_Show authorizations from all users..."
676 msgstr "_Visa behörigheter från alla användare..."
677
678 #: ../tools/polkit-gnome-authorization.c:2175
679 msgid "_Show authorizations from all users"
680 msgstr "_Visa behörigheter från alla användare"
681
682 #: ../tools/polkit-gnome-authorization.c:2413
683 msgid "Select an action"
684 msgstr "Välj en åtgärd"
685
79 #: ../src/polkitgnomeauthenticator.c:445
80 msgid "Authentication Failure"
81 msgstr "Autentiseringsfel"
82
83 #: ../src/polkit-gnome-authentication-agent-1.desktop.in.h:1
84 msgid "PolicyKit Authentication Agent"
85 msgstr "Autentiseringsagent för PolicyKit"
86
87 #~ msgid "Authorizations"
88 #~ msgstr "Behörigheter"
89 #~ msgid "Configure authorizations"
90 #~ msgstr "Konfigurera behörigheter"
91 #~ msgid "Copyright © 2007 David Zeuthen"
92 #~ msgstr "Copyright © 2007 David Zeuthen"
93 #~ msgid "PolicyKit-gnome Website"
94 #~ msgstr "Webbplats för PolicyKit-GNOME"
95 #~ msgid "PolicyKit-gnome demo"
96 #~ msgstr "Demonstration av PolicyKit-GNOME"
97 #~ msgid "PolicyKit for the GNOME desktop"
98 #~ msgstr "PolicyKit för GNOME-skrivbordet"
99 #~ msgid "_File"
100 #~ msgstr "_Arkiv"
101 #~ msgid "_Actions"
102 #~ msgstr "_Åtgärder"
103 #~ msgid "_Help"
104 #~ msgstr "_Hjälp"
105 #~ msgid "_Quit"
106 #~ msgstr "A_vsluta"
107 #~ msgid "Quit"
108 #~ msgstr "Avsluta"
109 #~ msgid "_About"
110 #~ msgstr "_Om"
111 #~ msgid "About"
112 #~ msgstr "Om"
113 #~ msgid "Click to make changes..."
114 #~ msgstr "Klicka för att göra ändringar..."
115 #~ msgid "Click to prevent changes"
116 #~ msgstr "Klicka för att förhindra ändringar"
117 #~ msgid ""
118 #~ "<i>Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets "
119 #~ "update in real-time.</i>."
120 #~ msgstr ""
121 #~ "<i>Tips: prova att redigera /etc/PolicyKit/Policy.conf och se "
122 #~ "proxywidgeten uppdateras i realtid.</i>."
123 #~ msgid "Toggle"
124 #~ msgstr "Växla"
125 #~ msgid "Authenticating..."
126 #~ msgstr "Autentiserar..."
127 #~ msgid "Don't exit after 30 seconds of inactivity"
128 #~ msgstr "Avsluta inte efter 30 sekunders inaktivitet"
129 #~ msgid "PolicyKit GNOME session daemon"
130 #~ msgstr "GNOME-sessionsdemon för PolicyKit"
131 #~ msgid "Starting PolicyKit GNOME session daemon version %s"
132 #~ msgstr "Startar GNOME-sessionsdemon för PolicyKit version %s"
133 #~ msgid "_Remember authorization for this session"
134 #~ msgstr "_Kom ihåg behörighet för denna session"
135 #~ msgid "_Remember authorization"
136 #~ msgstr "_Kom ihåg behörighet"
137 #~ msgid "For this _session only"
138 #~ msgstr "Endast för denna _session"
139 #~ msgid "<small><b>Application:</b></small>"
140 #~ msgstr "<small><b>Program:</b></small>"
141 #~ msgid "(unknown"
142 #~ msgstr "(okänt"
143 #~ msgid "_Password for root:"
144 #~ msgstr "_Lösenord för root:"
145 #~ msgid "_Password or swipe finger for %s:"
146 #~ msgstr "_Lösenord eller fingeravtryck för %s:"
147 #~ msgid "_Password or swipe finger for root:"
148 #~ msgstr "_Lösenord eller fingeravtryck för root:"
149 #~ msgid "_Password or swipe finger:"
150 #~ msgstr "_Lösenord eller fingeravtryck:"
151 #~ msgid "No"
152 #~ msgstr "Nej"
153 #~ msgid "Admin Authentication (one shot)"
154 #~ msgstr "Administrativ autentisering (en gång)"
155 #~ msgid "Admin Authentication (keep session)"
156 #~ msgstr "Administrativ autentisering (behåll session)"
157 #~ msgid "Admin Authentication (keep indefinitely)"
158 #~ msgstr "Administrativ autentisering (behåll för alltid)"
159 #~ msgid "Authentication (one shot)"
160 #~ msgstr "Autentisering (en gång)"
161 #~ msgid "Authentication (keep session)"
162 #~ msgstr "Autentisering (behåll session)"
163 #~ msgid "Authentication (keep indefinitely)"
164 #~ msgstr "Autentisering (behåll för alltid)"
165 #~ msgid "Yes"
166 #~ msgstr "Ja"
167 #~ msgid ", "
168 #~ msgstr ", "
169 #~ msgid "Must be on console"
170 #~ msgstr "Måste vara i konsoll"
171 #~ msgid "Must be in active session"
172 #~ msgstr "Måste vara i aktiv session"
173 #~ msgid "Must be program %s"
174 #~ msgstr "Måste vara programmet %s"
175 #~ msgid "Must be SELinux Context %s"
176 #~ msgstr "Måste vara SELinux-kontexten %s"
177 #~ msgid "A moment ago"
178 #~ msgstr "En stund sedan"
179 #~ msgid "1 minute ago"
180 #~ msgstr "1 minut sedan"
181 #~ msgid "%d minutes ago"
182 #~ msgstr "%d minuter sedan"
183 #~ msgid "1 hour ago"
184 #~ msgstr "1 timme sedan"
185 #~ msgid "%d hours ago"
186 #~ msgstr "%d timmar sedan"
187 #~ msgid "1 day ago"
188 #~ msgstr "1 dygn sedan"
189 #~ msgid "%d days ago"
190 #~ msgstr "%d dygn sedan"
191 #~ msgid "Auth as %s (uid %d)"
192 #~ msgstr "Autentisera som %s (uid %d)"
193 #~ msgid "Auth as uid %d"
194 #~ msgstr "Autentisera som uid %d"
195 #~ msgid "Blocked by %s (uid %d)"
196 #~ msgstr "Blockerad av %s (uid %d)"
197 #~ msgid "Blocked by uid %d"
198 #~ msgstr "Blockerad av uid %d"
199 #~ msgid "Granted by %s (uid %d)"
200 #~ msgstr "Tillåts av %s (uid %d)"
201 #~ msgid "Granted by uid %d"
202 #~ msgstr "Tillåts av uid %d"
203 #~ msgid "pid %d (%s)"
204 #~ msgstr "pid %d (%s)"
205 #~ msgid "This session"
206 #~ msgstr "Denna session"
207 #~ msgid "Always"
208 #~ msgstr "Alltid"
209 #~ msgid "None"
210 #~ msgstr "Ingen"
211 #~ msgid "Grant Negative Authorization"
212 #~ msgstr "Tillåt negativ behörighet"
213 #~ msgid "Grant Authorization"
214 #~ msgstr "Tillåt behörighet"
215 #~ msgid ""
216 #~ "<b><big>Granting a negative authorization for the <i>%s</i> action "
217 #~ "requires more information</big></b>"
218 #~ msgstr ""
219 #~ "<b><big>Tillåta en negativ behörighet för <i>%s</i>-åtgärden kräver mer "
220 #~ "information</big></b>"
221 #~ msgid ""
222 #~ "<b><big>Granting an authorization for the <i>%s</i> action requires more "
223 #~ "information</big></b>"
224 #~ msgstr ""
225 #~ "<b><big>Tillåta en behörighet för <i>%s</i>-åtgärden kräver mer "
226 #~ "information</big></b>"
227 #~ msgid ""
228 #~ "Select the user to block for the action and, optionally, any constraints "
229 #~ "on the negative authorization that you are about to grant."
230 #~ msgstr ""
231 #~ "Välj den användare att blockera för åtgärden och, valfritt, de "
232 #~ "begränsningar på den negativa behörigheten som ska dela ut."
233 #~ msgid ""
234 #~ "Select the beneficiary and, optionally, how to constrain the "
235 #~ "authorization that you are about to grant."
236 #~ msgstr ""
237 #~ "Välj mottagare och, valfritt, hur den behörighet ska begränsas som du ska "
238 #~ "dela ut."
239 #~ msgid "<b>Beneficiary</b>"
240 #~ msgstr "<b>Mottagare</b>"
241 #~ msgid "Select the user that will receive the negative authorization."
242 #~ msgstr "Välj den användare som ska ta emot den negativa behörigheten."
243 #~ msgid "Select the user that will receive the authorization."
244 #~ msgstr "Välj användaren som ska ta emot behörigheten."
245 #~ msgid "_Show system users"
246 #~ msgstr "_Visa systemanvändare"
247 #~ msgid "<b>Constraints</b>"
248 #~ msgstr "<b>Begränsningar</b>"
249 #~ msgid ""
250 #~ "Constraints limits the authorization such that it only applies under "
251 #~ "certain circumstances."
252 #~ msgstr ""
253 #~ "Begränsningar innebär att behörigheten avgränsas så att den endast gäller "
254 #~ "under vissa situationer."
255 #~ msgid "_None"
256 #~ msgstr "_Ingen"
257 #~ msgid "Must be _in active session"
258 #~ msgstr "Måste vara _i aktiv session"
259 #~ msgid "Must be on _local console"
260 #~ msgstr "Måste vara på _lokal konsoll"
261 #~ msgid "Must be in _active session on local console"
262 #~ msgstr "Måste vara i _aktiv session på lokal konsoll"
263 #~ msgid "_Block..."
264 #~ msgstr "_Blockera..."
265 #~ msgid "_Grant..."
266 #~ msgstr "_Tillåt..."
267 #~ msgid "Edit Implicit Authorizations"
268 #~ msgstr "Redigera underförstådda behörigheter"
269 #~ msgid "<b><big>Choose new implicit authorizations</big></b>"
270 #~ msgstr "<b><big>Välj nya underförstådda behörigheter</big></b>"
271 #~ msgid ""
272 #~ "Implicit authorizations are authorizations that are granted automatically "
273 #~ "to users under certain circumstances. Choose what is required for the "
274 #~ "action <i>%s</i>."
275 #~ msgstr ""
276 #~ "Underförstådd behörighet är den behörighet som ges automatiskt till "
277 #~ "användare under vissa situationer. Välj vad som krävs för åtgärden <i>%s</"
278 #~ "i>."
279 #~ msgid "<i>Anyone:</i>"
280 #~ msgstr "<i>Alla:</i>"
281 #~ msgid "<i>Console:</i>"
282 #~ msgstr "<i>Konsoll:</i>"
283 #~ msgid "<i>Active Console:</i>"
284 #~ msgstr "<i>Aktiv konsoll:</i>"
285 #~ msgid "_Modify..."
286 #~ msgstr "_Ändra..."
287 #~ msgid "<b>Action</b>"
288 #~ msgstr "<b>Åtgärd</b>"
289 #~ msgid "<i>Identifier:</i>"
290 #~ msgstr "<i>Identifierare:</i>"
291 #~ msgid "<i>Description:</i>"
292 #~ msgstr "<i>Beskrivning:</i>"
293 #~ msgid "<i>Vendor:</i>"
294 #~ msgstr "<i>Leverantör:</i>"
295 #~ msgid "<b>Implicit Authorizations</b>"
296 #~ msgstr "<b>Underförstådda behörigheter</b>"
297 #~ msgid ""
298 #~ "Implicit authorizations are authorizations automatically given to users "
299 #~ "based on certain criteria such as if they are on the local console."
300 #~ msgstr ""
301 #~ "Underförstådd behörighet är den behörighet som ges automatiskt till "
302 #~ "användare baserat på vissa kriteria såsom om de är på den lokala "
303 #~ "konsollen."
304 #~ msgid "_Edit..."
305 #~ msgstr "_Redigera..."
306 #~ msgid "Revert To _Defaults..."
307 #~ msgstr "Återställ till s_tandardvärden..."
308 #~ msgid "<b>Explicit Authorizations</b>"
309 #~ msgstr "<b>Uttryckliga behörigheter</b>"
310 #~ msgid ""
311 #~ "This list displays authorizations that are either obtained through "
312 #~ "authentication or specifically given to the entity in question. Blocked "
313 #~ "authorizations are marked with a STOP sign."
314 #~ msgstr ""
315 #~ "Denna lista visar behörigheter som är antingen erhållna genom behörighet "
316 #~ "eller specifikt givna till entiteten i fråga. Blockerade behörigheter är "
317 #~ "markerade med ett STOP-tecken."
318 #~ msgid "Entity"
319 #~ msgstr "Entitet"
320 #~ msgid "Scope"
321 #~ msgstr "Omfång"
322 #~ msgid "Obtained"
323 #~ msgstr "Erhållen"
324 #~ msgid "How"
325 #~ msgstr "Hur"
326 #~ msgid "Constraints"
327 #~ msgstr "Begränsningar"
328 #~ msgid "_Revoke"
329 #~ msgstr "_Återkalla"
330 #~ msgid "_Revoke..."
331 #~ msgstr "_Återkalla..."
332 #~ msgid "_Show authorizations from all users..."
333 #~ msgstr "_Visa behörigheter från alla användare..."
334 #~ msgid "_Show authorizations from all users"
335 #~ msgstr "_Visa behörigheter från alla användare"
336 #~ msgid "Select an action"
337 #~ msgstr "Välj en åtgärd"
338
0 # Chinese (Hong Kong) translation of policykit-gnome
1 # Copyright (C) 20007 Free Software Foundation, Inc.
2 # Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>, 2008.
3 #
4 #
5 msgid ""
6 msgstr ""
7 "Project-Id-Version: policykit-gnome 0.9.2\n"
8 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2008-08-21 20:24+0800\n"
10 "PO-Revision-Date: 2008-08-23 18:52+0800\n"
11 "Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
12 "Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
13 "MIME-Version: 1.0\n"
14 "Content-Type: text/plain; charset=UTF-8\n"
15 "Content-Transfer-Encoding: 8bit\n"
16
17 #: ../data/polkit-gnome-authorization.desktop.in.h:1
18 #: ../tools/polkit-gnome-authorization.c:2443
19 msgid "Authorizations"
20 msgstr "授權"
21
22 #: ../data/polkit-gnome-authorization.desktop.in.h:2
23 msgid "Configure authorizations"
24 msgstr "設定授權"
25
26 #: ../data/polkit-gnome.schemas.in.h:1
27 msgid "A list of PolicyKit action where the \"retain authorization\" checkbox isn't checked by default; this list is maintained by the authentication dialog code itself. For example, if a user unchecks the \"retain authorization\" check box for an action and successfully obtains an authorization for the action, the action will be added to this list."
28 msgstr "預設沒有核取「保持授權」的 PolicyKit 動作清單;這個清單是由授權對話盒的程式碼本身所維護的。舉例來說,如果有使用者取消某個動作的「保持授權」的核取方塊,同時成功獲得此動作的授權,這個動作就會被加到這份清單中。"
29
30 #: ../data/polkit-gnome.schemas.in.h:2
31 msgid "A list of actions where the \"retain authorization\" checkbox isn't checked by default"
32 msgstr "預設沒有核取「保持授權」的 PolicyKit 動作清單"
33
34 #: ../data/polkit-gnome.schemas.in.h:3
35 msgid "If set to true, the authentication dialog from PolicyKit-gnome will grab the keyboard, so that you will not be able to type in other programs while the dialog is active. Use this if your window manager does not focus the authentication dialog automatically, and you want to avoid accidentally typing passwords in other programs."
36 msgstr "如果設為「true」,PolicyKit-gnome 的授權對話盒會抓取鍵盤,使得你在使用此對話盒期間無法在其他程式輸入。當你的視窗管理程式無法自動讓授權對話盒取得焦點,而你想要避免意外的將密碼輸入到其他程式時使用這個功能。"
37
38 #: ../data/polkit-gnome.schemas.in.h:4
39 msgid "If set to true, then \"retain authorization\" check box (if present) is checked by default in the authentication dialog unless the action is mentioned in the \"/desktop/gnome/policykit/auth_dialog_retain_authorization_blacklist\" key."
40 msgstr "如果設為「true」,授權對話盒中的「保持授權」核取方塊(如果有出現)預設都為核取狀態,除非該項動作被列舉於「/desktop/gnome/policykit/auth_dialog_retain_authorization_blacklist」鍵值中。"
41
42 #: ../data/polkit-gnome.schemas.in.h:5
43 msgid "Whether the authentication dialog should grab the keyboard"
44 msgstr "授權對話盒是否應抓取鍵盤"
45
46 #: ../data/polkit-gnome.schemas.in.h:6
47 msgid "Whether the retain authorization check box is checked by default"
48 msgstr "保持授權核取方塊是否預設為核取"
49
50 #: ../examples/polkit-gnome-example.c:137
51 msgid "Copyright © 2007 David Zeuthen"
52 msgstr "版權所有 © 2007 David Zeuthen"
53
54 #: ../examples/polkit-gnome-example.c:138
55 msgid "PolicyKit-gnome Website"
56 msgstr "PolicyKit-gnome 網站"
57
58 #: ../examples/polkit-gnome-example.c:140
59 #: ../examples/polkit-gnome-example.c:446
60 msgid "PolicyKit-gnome demo"
61 msgstr "PolicyKit-gnome 展示"
62
63 #: ../examples/polkit-gnome-example.c:141
64 msgid "PolicyKit for the GNOME desktop"
65 msgstr "GNOME 桌面的 PolicyKit"
66
67 #: ../examples/polkit-gnome-example.c:151
68 msgid "_File"
69 msgstr "檔案(_F)"
70
71 #. name, stock id, label
72 #: ../examples/polkit-gnome-example.c:152
73 msgid "_Actions"
74 msgstr "執行(_A)"
75
76 #. name, stock id, label
77 #: ../examples/polkit-gnome-example.c:153
78 msgid "_Help"
79 msgstr "求助(_H)"
80
81 #. name, stock id, label
82 #. name, stock id
83 #: ../examples/polkit-gnome-example.c:156
84 msgid "_Quit"
85 msgstr "離開(_Q)"
86
87 #. label, accelerator
88 #: ../examples/polkit-gnome-example.c:157
89 msgid "Quit"
90 msgstr "離開"
91
92 #. name, stock id
93 #: ../examples/polkit-gnome-example.c:161
94 msgid "_About"
95 msgstr "關於(_A)"
96
97 #. label, accelerator
98 #: ../examples/polkit-gnome-example.c:162
99 msgid "About"
100 msgstr "關於"
101
102 #: ../examples/polkit-gnome-example.c:243
103 msgid "Making the helper <b>Frobnicate</b> requires the user to authenticate. The authorization is kept for the life time of the process"
104 msgstr "讓 <b>Frobnicate</b> 輔助程式要求使用者進行驗證。此項授權會保到這個程序終止為止"
105
106 #: ../examples/polkit-gnome-example.c:252
107 msgid "Frobnicate!"
108 msgstr "Frobnicate!"
109
110 #: ../examples/polkit-gnome-example.c:267
111 msgid "Making the helper <b>Jump</b> requires the user to authenticate. This is a one-shot authorization."
112 msgstr "讓 <b>Jump</b> 輔助程式要求使用者進行驗證。這是一個一次性的授權。"
113
114 #: ../examples/polkit-gnome-example.c:275
115 msgid "Jump!"
116 msgstr "Jump!"
117
118 #: ../examples/polkit-gnome-example.c:290
119 msgid "Making the helper <b>Tweak</b> requires a system administrator to authenticate. This instance overrides the defaults set in polkit_gnome_action_new()."
120 msgstr "讓 <b>Tweak</b> 輔助程式要求系統管理者進行驗證。這個實體會覆蓋在 polkit_gnome_action_new() 中的預設設定。"
121
122 #: ../examples/polkit-gnome-example.c:299
123 #: ../examples/polkit-gnome-example.c:320
124 msgid "Tweak!"
125 msgstr "Tweak!"
126
127 #: ../examples/polkit-gnome-example.c:306
128 #: ../examples/org.gnome.policykit.examples.policy.in.h:17
129 msgid "Tweak"
130 msgstr "Tweak"
131
132 #: ../examples/polkit-gnome-example.c:307
133 msgid "Tweak (long)"
134 msgstr "Tweak (long)"
135
136 #: ../examples/polkit-gnome-example.c:308
137 msgid "If your admin wasn't annoying, you could do this"
138 msgstr "如果你的系統管理員不抱怨的話,可以這麼做"
139
140 #: ../examples/polkit-gnome-example.c:313
141 msgid "Tweak..."
142 msgstr "Tweak..."
143
144 #: ../examples/polkit-gnome-example.c:314
145 msgid "Tweak... (long)"
146 msgstr "Tweak... (long)"
147
148 #: ../examples/polkit-gnome-example.c:315
149 msgid "Only card carrying tweakers can do this!"
150 msgstr "Only card carrying tweakers can do this!"
151
152 #: ../examples/polkit-gnome-example.c:321
153 msgid "Tweak! (long)"
154 msgstr "Tweak! (long)"
155
156 #: ../examples/polkit-gnome-example.c:322
157 msgid "Go ahead, tweak tweak tweak!"
158 msgstr "Go ahead, tweak tweak tweak!"
159
160 #: ../examples/polkit-gnome-example.c:339
161 msgid "Making the helper <b>Twiddle</b> requires a system administrator to authenticate. Once authenticated, this privilege can be retained indefinitely."
162 msgstr "讓 <b>Twiddle</b> 輔助程式要求系統管理員進行驗證。一旦獲得授權,這個權限便可無限期使用。"
163
164 #: ../examples/polkit-gnome-example.c:348
165 msgid "Twiddle!"
166 msgstr "Twiddle!"
167
168 #: ../examples/polkit-gnome-example.c:363
169 msgid "Making the helper <b>Punch</b> requires the user to authenticate. Once authenticated, this privilege can be retained for the remainder of the desktop session."
170 msgstr "讓 <b>Punch</b> 輔助程式要求使用者進行驗證。一旦獲得授權,這個權限可以保留到桌面的作業階段結束為止。"
171
172 #: ../examples/polkit-gnome-example.c:372
173 msgid "Punch!"
174 msgstr "Punch!"
175
176 #: ../examples/polkit-gnome-example.c:387
177 msgid "The <b>Toggle</b> action demonstrates the use of PolicyKit to drive a GtkToggleButton; it's an intuitive way to ask users to give up authorizations when they are done with them. E.g. the button is 'pressed in' exactlywhen the authorization is held. Toggling the button means obtaining resp. revoking the authorization in question."
178 msgstr "<b>Toogle</b> 動作示範了以 PolicyKit 驅動 GtkToogleButton 的作用;它是一個讓使用者完成工作後放棄授權的很直覺的方法。例如,當按鈕為「被按下」狀態時表示已取得授權。切換按鈕的狀態表示授權效力的有無。"
179
180 #: ../examples/polkit-gnome-example.c:401
181 msgid "Click to make changes..."
182 msgstr "請按這裏進行改變..."
183
184 #: ../examples/polkit-gnome-example.c:402
185 msgid "Click to prevent changes"
186 msgstr "請按這裏防止改變"
187
188 #: ../examples/polkit-gnome-example.c:422
189 msgid "<i>Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets update in real-time.</i>."
190 msgstr "<i>密訣:嘗試編輯 /etc/PolicyKit/Policy.conf 並看看代理視窗元件即時更新的情形。</i>"
191
192 #: ../examples/org.gnome.policykit.examples.policy.in.h:1
193 msgid "Frobnicate"
194 msgstr "Frobnicate"
195
196 #: ../examples/org.gnome.policykit.examples.policy.in.h:2
197 msgid "Jump"
198 msgstr "Jump"
199
200 #: ../examples/org.gnome.policykit.examples.policy.in.h:3
201 msgid "Kick bar"
202 msgstr "Kick bar"
203
204 #: ../examples/org.gnome.policykit.examples.policy.in.h:4
205 msgid "Kick baz"
206 msgstr "Kick baz"
207
208 #: ../examples/org.gnome.policykit.examples.policy.in.h:5
209 msgid "Kick foo"
210 msgstr "Kick foo"
211
212 #: ../examples/org.gnome.policykit.examples.policy.in.h:6
213 msgid "Punch"
214 msgstr "Punch"
215
216 #: ../examples/org.gnome.policykit.examples.policy.in.h:7
217 msgid "System policy prevents the PolicyKit-gnome example helper from Frobnicating"
218 msgstr " "
219
220 #: ../examples/org.gnome.policykit.examples.policy.in.h:8
221 msgid "System policy prevents the PolicyKit-gnome example helper from Jumping"
222 msgstr ""
223
224 #: ../examples/org.gnome.policykit.examples.policy.in.h:9
225 msgid "System policy prevents the PolicyKit-gnome example helper from Kicking bar"
226 msgstr ""
227
228 #: ../examples/org.gnome.policykit.examples.policy.in.h:10
229 msgid "System policy prevents the PolicyKit-gnome example helper from Kicking baz"
230 msgstr ""
231
232 #: ../examples/org.gnome.policykit.examples.policy.in.h:11
233 msgid "System policy prevents the PolicyKit-gnome example helper from Kicking foo"
234 msgstr ""
235
236 #: ../examples/org.gnome.policykit.examples.policy.in.h:12
237 msgid "System policy prevents the PolicyKit-gnome example helper from Punching"
238 msgstr ""
239
240 #: ../examples/org.gnome.policykit.examples.policy.in.h:13
241 msgid "System policy prevents the PolicyKit-gnome example helper from Toggling"
242 msgstr ""
243
244 #: ../examples/org.gnome.policykit.examples.policy.in.h:14
245 msgid "System policy prevents the PolicyKit-gnome example helper from Tweaking"
246 msgstr ""
247
248 #: ../examples/org.gnome.policykit.examples.policy.in.h:15
249 msgid "System policy prevents the PolicyKit-gnome example helper from Twiddling"
250 msgstr ""
251
252 #: ../examples/org.gnome.policykit.examples.policy.in.h:16
253 msgid "Toggle"
254 msgstr "Toggle"
255
256 #: ../examples/org.gnome.policykit.examples.policy.in.h:18
257 msgid "Twiddle"
258 msgstr "Twiddle"
259
260 #: ../polkit-gnome/polkit-gnome-toggle-action.c:400
261 #: ../polkit-gnome/polkit-gnome-toggle-action.c:401
262 msgid "Authenticating..."
263 msgstr "正在驗證..."
264
265 #: ../src/main.c:139
266 msgid "Don't exit after 30 seconds of inactivity"
267 msgstr "在 30 秒沒有動作後不要強制結束"
268
269 #: ../src/main.c:148
270 msgid "PolicyKit GNOME session daemon"
271 msgstr "PolicyKit GNOME 作業階段伺服程式"
272
273 #: ../src/main.c:174
274 #, c-format
275 msgid "Starting PolicyKit GNOME session daemon version %s"
276 msgstr "正在啟動 PolicyKit GNOME 作業階段伺服程式版本 %s"
277
278 #: ../src/polkit-gnome-auth-dialog.c:190
279 #: ../tools/polkit-gnome-authorization.c:649
280 msgid "Select user..."
281 msgstr "選擇使用者..."
282
283 #: ../src/polkit-gnome-auth-dialog.c:211
284 #: ../tools/polkit-gnome-authorization.c:665
285 #, c-format
286 msgid "%s (%s)"
287 msgstr "%s (%s)"
288
289 #: ../src/polkit-gnome-auth-dialog.c:292
290 msgid "_Remember authorization for this session"
291 msgstr "在這個作業階段中記住授權(_R)"
292
293 #: ../src/polkit-gnome-auth-dialog.c:298
294 msgid "_Remember authorization"
295 msgstr "記住授權(_R)"
296
297 #: ../src/polkit-gnome-auth-dialog.c:313
298 msgid "An application is attempting to perform an action that requires privileges. Authentication as one of the users below is required to perform this action."
299 msgstr "有應用程式試圖進行需要權限的動作。必須授權為下列使用者之一才能進行這個動作。"
300
301 #: ../src/polkit-gnome-auth-dialog.c:320
302 msgid "An application is attempting to perform an action that requires privileges. Authentication as the super user is required to perform this action."
303 msgstr "有應用程式試圖進行需要權限的動作。必須授權為超級使用者才能進行這個動作。"
304
305 #: ../src/polkit-gnome-auth-dialog.c:324
306 msgid "An application is attempting to perform an action that requires privileges. Authentication is required to perform this action."
307 msgstr "有應用程式試圖進行需要權限的動作。必須獲得授權才能進行這個動作。"
308
309 #: ../src/polkit-gnome-auth-dialog.c:405
310 #, c-format
311 msgid "Click to edit %s"
312 msgstr "按下這裏編輯 %s"
313
314 #: ../src/polkit-gnome-auth-dialog.c:430
315 #: ../tools/polkit-gnome-authorization.c:1391
316 #, c-format
317 msgid "Click to open %s"
318 msgstr "按一下來開啟 %s"
319
320 #: ../src/polkit-gnome-auth-dialog.c:667
321 msgid "_Authenticate"
322 msgstr "驗證(_A)"
323
324 #: ../src/polkit-gnome-auth-dialog.c:726
325 #: ../src/polkit-gnome-manager.c:686
326 #: ../src/polkit-gnome-manager.c:735
327 msgid "_Password:"
328 msgstr "密碼(_P):"
329
330 #: ../src/polkit-gnome-auth-dialog.c:748
331 msgid "For this _session only"
332 msgstr "只在這個作業階段(_S)"
333
334 #: ../src/polkit-gnome-auth-dialog.c:756
335 msgid "<small><b>_Details</b></small>"
336 msgstr "<small><b>詳細資料(_D)</b></small>"
337
338 #: ../src/polkit-gnome-auth-dialog.c:777
339 msgid "<small><b>Application:</b></small>"
340 msgstr "<small><b>應用程式:</b></small>"
341
342 #: ../src/polkit-gnome-auth-dialog.c:781
343 msgid "<small><b>Action:</b></small>"
344 msgstr "<small><b>動作:</b></small>"
345
346 #: ../src/polkit-gnome-auth-dialog.c:786
347 msgid "<small><b>Vendor:</b></small>"
348 msgstr "<small><b>廠商:</b></small>"
349
350 #: ../src/polkit-gnome-auth-dialog.c:915
351 msgid "Authenticate"
352 msgstr "驗證"
353
354 #: ../src/polkit-gnome-manager.c:367
355 msgid "(unknown"
356 msgstr "(未知"
357
358 #: ../src/polkit-gnome-manager.c:730
359 #, c-format
360 msgid "_Password for %s:"
361 msgstr "%s 的密碼 (_P):"
362
363 #: ../src/polkit-gnome-manager.c:732
364 msgid "_Password for root:"
365 msgstr "root 的密碼(_P):"
366
367 #: ../src/polkit-gnome-manager.c:740
368 #, c-format
369 msgid "_Password or swipe finger for %s:"
370 msgstr "%s 的密碼或指紋辨識(_P):"
371
372 #: ../src/polkit-gnome-manager.c:743
373 msgid "_Password or swipe finger for root:"
374 msgstr "root 的密碼或指紋辨識(_P):"
375
376 #: ../src/polkit-gnome-manager.c:746
377 msgid "_Password or swipe finger:"
378 msgstr "密碼或指紋辨識(_P):"
379
380 #: ../tools/polkit-gnome-authorization.c:117
381 msgid "No"
382 msgstr "否"
383
384 #: ../tools/polkit-gnome-authorization.c:119
385 msgid "Admin Authentication (one shot)"
386 msgstr "系統管理者授權(一次性)"
387
388 #: ../tools/polkit-gnome-authorization.c:120
389 msgid "Admin Authentication"
390 msgstr "系統管理者授權"
391
392 #: ../tools/polkit-gnome-authorization.c:121
393 msgid "Admin Authentication (keep session)"
394 msgstr "系統管理者授權(無限期)"
395
396 #: ../tools/polkit-gnome-authorization.c:122
397 msgid "Admin Authentication (keep indefinitely)"
398 msgstr "系統管理員授權(無限期)"
399
400 #: ../tools/polkit-gnome-authorization.c:124
401 msgid "Authentication (one shot)"
402 msgstr "授權(一次性)"
403
404 #: ../tools/polkit-gnome-authorization.c:125
405 msgid "Authentication"
406 msgstr "授權"
407
408 #: ../tools/polkit-gnome-authorization.c:126
409 msgid "Authentication (keep session)"
410 msgstr "授權(在此作業階段)"
411
412 #: ../tools/polkit-gnome-authorization.c:127
413 msgid "Authentication (keep indefinitely)"
414 msgstr "授權(無限期)"
415
416 #: ../tools/polkit-gnome-authorization.c:129
417 msgid "Yes"
418 msgstr "是"
419
420 #: ../tools/polkit-gnome-authorization.c:272
421 msgid ", "
422 msgstr ", "
423
424 #: ../tools/polkit-gnome-authorization.c:276
425 msgid "Must be on console"
426 msgstr "必須在主控台"
427
428 #: ../tools/polkit-gnome-authorization.c:279
429 msgid "Must be in active session"
430 msgstr "必須在使用中的作業階段"
431
432 #: ../tools/polkit-gnome-authorization.c:282
433 #, c-format
434 msgid "Must be program %s"
435 msgstr "必須為程式 %s"
436
437 #: ../tools/polkit-gnome-authorization.c:286
438 #, c-format
439 msgid "Must be SELinux Context %s"
440 msgstr "必須為 SELinux 上下文 %s"
441
442 #: ../tools/polkit-gnome-authorization.c:344
443 msgid "A moment ago"
444 msgstr "剛剛"
445
446 #: ../tools/polkit-gnome-authorization.c:348
447 msgid "1 minute ago"
448 msgstr "1 分鐘前"
449
450 #: ../tools/polkit-gnome-authorization.c:350
451 #, c-format
452 msgid "%d minutes ago"
453 msgstr "%d 分鐘前"
454
455 #: ../tools/polkit-gnome-authorization.c:354
456 msgid "1 hour ago"
457 msgstr "1 小時前"
458
459 #: ../tools/polkit-gnome-authorization.c:356
460 #, c-format
461 msgid "%d hours ago"
462 msgstr "%d 小時前"
463
464 #: ../tools/polkit-gnome-authorization.c:360
465 msgid "1 day ago"
466 msgstr "1 日前"
467
468 #: ../tools/polkit-gnome-authorization.c:362
469 #, c-format
470 msgid "%d days ago"
471 msgstr "%d 日前"
472
473 #: ../tools/polkit-gnome-authorization.c:379
474 #, c-format
475 msgid "Auth as %s (uid %d)"
476 msgstr "授權為 %s (uid %d)"
477
478 #: ../tools/polkit-gnome-authorization.c:381
479 #, c-format
480 msgid "Auth as uid %d"
481 msgstr "授權為 uid %d"
482
483 #: ../tools/polkit-gnome-authorization.c:387
484 #, c-format
485 msgid "Blocked by %s (uid %d)"
486 msgstr "被 %s (uid %d) 阻擋"
487
488 #: ../tools/polkit-gnome-authorization.c:389
489 #, c-format
490 msgid "Blocked by uid %d"
491 msgstr "被 uid %d 阻擋"
492
493 #: ../tools/polkit-gnome-authorization.c:392
494 #, c-format
495 msgid "Granted by %s (uid %d)"
496 msgstr "由 %s (uid %d) 獲得"
497
498 #: ../tools/polkit-gnome-authorization.c:394
499 #, c-format
500 msgid "Granted by uid %d"
501 msgstr "由 uid %d 獲得"
502
503 #: ../tools/polkit-gnome-authorization.c:409
504 #, c-format
505 msgid "Single shot pid %d (%s)"
506 msgstr "一次性 pid %d (%s)"
507
508 #: ../tools/polkit-gnome-authorization.c:415
509 #, c-format
510 msgid "pid %d (%s)"
511 msgstr "pid %d (%s)"
512
513 #: ../tools/polkit-gnome-authorization.c:418
514 msgid "This session"
515 msgstr "這個作業階段"
516
517 #: ../tools/polkit-gnome-authorization.c:421
518 msgid "Always"
519 msgstr "永遠"
520
521 #: ../tools/polkit-gnome-authorization.c:431
522 msgid "None"
523 msgstr "無"
524
525 #: ../tools/polkit-gnome-authorization.c:827
526 msgid "Grant Negative Authorization"
527 msgstr "獲得反授權"
528
529 #: ../tools/polkit-gnome-authorization.c:827
530 msgid "Grant Authorization"
531 msgstr "獲得授權"
532
533 #: ../tools/polkit-gnome-authorization.c:850
534 #, c-format
535 msgid "<b><big>Granting a negative authorization for the <i>%s</i> action requires more information</big></b>"
536 msgstr "<b><big>讓 <i>%s</i> 動作被阻擋授權需要更多資訊</big></b>"
537
538 #: ../tools/polkit-gnome-authorization.c:851
539 #, c-format
540 msgid "<b><big>Granting an authorization for the <i>%s</i> action requires more information</big></b>"
541 msgstr "<b><big>讓 <i>%s</i> 動作獲得授權需要更多資訊</big></b>"
542
543 #: ../tools/polkit-gnome-authorization.c:862
544 msgid "Select the user to block for the action and, optionally, any constraints on the negative authorization that you are about to grant."
545 msgstr "選擇要阻擋進行此動作的使用者,或者也可以指定你獲得反授權的任何條件。"
546
547 #: ../tools/polkit-gnome-authorization.c:864
548 msgid "Select the beneficiary and, optionally, how to constrain the authorization that you are about to grant."
549 msgstr "選擇可以授權的使用者,或者也可以指定你獲得授權的條件。"
550
551 #: ../tools/polkit-gnome-authorization.c:875
552 msgid "<b>Beneficiary</b>"
553 msgstr "<b>可授權使用者</b>"
554
555 #: ../tools/polkit-gnome-authorization.c:887
556 msgid "Select the user that will receive the negative authorization."
557 msgstr "選擇會收到反授權的使用者。"
558
559 #: ../tools/polkit-gnome-authorization.c:889
560 msgid "Select the user that will receive the authorization."
561 msgstr "選擇會收到授權的使用者。"
562
563 #: ../tools/polkit-gnome-authorization.c:898
564 msgid "_Show system users"
565 msgstr "顯示系統使用者(_S)"
566
567 #: ../tools/polkit-gnome-authorization.c:913
568 msgid "<b>Constraints</b>"
569 msgstr "<b>條件</b>"
570
571 #: ../tools/polkit-gnome-authorization.c:924
572 msgid "Constraints limits the authorization such that it only applies under certain circumstances."
573 msgstr "條件會限制只有在符合特定環境下才能授權。"
574
575 #: ../tools/polkit-gnome-authorization.c:930
576 msgid "_None"
577 msgstr "無(_N)"
578
579 #: ../tools/polkit-gnome-authorization.c:932
580 msgid "Must be _in active session"
581 msgstr "必須在使用中的作業階段(_I)"
582
583 #: ../tools/polkit-gnome-authorization.c:934
584 msgid "Must be on _local console"
585 msgstr "必須在本地端主控台(_L)"
586
587 #: ../tools/polkit-gnome-authorization.c:936
588 msgid "Must be in _active session on local console"
589 msgstr "必須在使用中作業階段的本地端主控台(_A)"
590
591 #: ../tools/polkit-gnome-authorization.c:957
592 #: ../tools/polkit-gnome-authorization.c:2133
593 msgid "_Block..."
594 msgstr "阻擋(_B)..."
595
596 #: ../tools/polkit-gnome-authorization.c:961
597 #: ../tools/polkit-gnome-authorization.c:2126
598 msgid "_Grant..."
599 msgstr "獲得(_G)..."
600
601 #: ../tools/polkit-gnome-authorization.c:1155
602 msgid "Edit Implicit Authorizations"
603 msgstr "編輯隱含授權"
604
605 #: ../tools/polkit-gnome-authorization.c:1176
606 msgid "<b><big>Choose new implicit authorizations</big></b>"
607 msgstr "<b><big>選擇新的隱含授權</big></b>"
608
609 #: ../tools/polkit-gnome-authorization.c:1190
610 #, c-format
611 msgid "Implicit authorizations are authorizations that are granted automatically to users under certain circumstances. Choose what is required for the action <i>%s</i>."
612 msgstr "隱含授權是指使用者在特定環境下可以自動獲得的授權。選擇下個動作所要求的條件: <i>%s</i>。"
613
614 #: ../tools/polkit-gnome-authorization.c:1215
615 #: ../tools/polkit-gnome-authorization.c:1974
616 msgid "<i>Anyone:</i>"
617 msgstr "<i>任何人:</i>"
618
619 #: ../tools/polkit-gnome-authorization.c:1222
620 #: ../tools/polkit-gnome-authorization.c:1978
621 msgid "<i>Console:</i>"
622 msgstr "<i>主控台:</i>"
623
624 #: ../tools/polkit-gnome-authorization.c:1229
625 #: ../tools/polkit-gnome-authorization.c:1982
626 msgid "<i>Active Console:</i>"
627 msgstr "<i>使用中的主控台:</i>"
628
629 #: ../tools/polkit-gnome-authorization.c:1258
630 msgid "_Modify..."
631 msgstr "修改(_M)..."
632
633 #: ../tools/polkit-gnome-authorization.c:1890
634 msgid "<b>Action</b>"
635 msgstr "<b>動作</b>"
636
637 #: ../tools/polkit-gnome-authorization.c:1905
638 msgid "<i>Identifier:</i>"
639 msgstr "<i>識別碼:</i>"
640
641 #: ../tools/polkit-gnome-authorization.c:1915
642 msgid "<i>Description:</i>"
643 msgstr "<i>描述:</i>"
644
645 #: ../tools/polkit-gnome-authorization.c:1925
646 msgid "<i>Vendor:</i>"
647 msgstr "<i>廠商:</i>"
648
649 #: ../tools/polkit-gnome-authorization.c:1951
650 msgid "<b>Implicit Authorizations</b>"
651 msgstr "<b>隱含授權</b>"
652
653 #: ../tools/polkit-gnome-authorization.c:1959
654 msgid "Implicit authorizations are authorizations automatically given to users based on certain criteria such as if they are on the local console."
655 msgstr "隱含授權是指使用者在特定條件下(像是當他們使用本地端主控台時)可以自動獲得的授權。"
656
657 #: ../tools/polkit-gnome-authorization.c:2002
658 msgid "_Edit..."
659 msgstr "編輯(_E)..."
660
661 #: ../tools/polkit-gnome-authorization.c:2009
662 msgid "Revert To _Defaults..."
663 msgstr "重置為預設值(_D)..."
664
665 #: ../tools/polkit-gnome-authorization.c:2032
666 msgid "<b>Explicit Authorizations</b>"
667 msgstr "<b>明確授權</b>"
668
669 #: ../tools/polkit-gnome-authorization.c:2043
670 msgid "This list displays authorizations that are either obtained through authentication or specifically given to the entity in question. Blocked authorizations are marked with a STOP sign."
671 msgstr "這個清單顯示了通過驗證獲得或特別考慮給實體的授權。被阻擋的授權會以 STOP 符號標記。"
672
673 #: ../tools/polkit-gnome-authorization.c:2073
674 msgid "Entity"
675 msgstr "實體"
676
677 #: ../tools/polkit-gnome-authorization.c:2081
678 msgid "Scope"
679 msgstr "範圍"
680
681 #: ../tools/polkit-gnome-authorization.c:2089
682 msgid "Obtained"
683 msgstr "獲得的"
684
685 #: ../tools/polkit-gnome-authorization.c:2097
686 msgid "How"
687 msgstr "如何"
688
689 #: ../tools/polkit-gnome-authorization.c:2105
690 msgid "Constraints"
691 msgstr "條件"
692
693 #: ../tools/polkit-gnome-authorization.c:2147
694 #: ../tools/polkit-gnome-authorization.c:2161
695 msgid "_Revoke"
696 msgstr "註銷(_R)"
697
698 #: ../tools/polkit-gnome-authorization.c:2154
699 msgid "_Revoke..."
700 msgstr "註銷(_R)..."
701
702 #: ../tools/polkit-gnome-authorization.c:2174
703 msgid "_Show authorizations from all users..."
704 msgstr "顯示所有使用者的授權(_S)..."
705
706 #: ../tools/polkit-gnome-authorization.c:2175
707 msgid "_Show authorizations from all users"
708 msgstr "顯示所有使用者的授權(_S)"
709
710 #: ../tools/polkit-gnome-authorization.c:2417
711 msgid "Select an action"
712 msgstr "選擇一個動作"
713
0 # Chinese (Taiwan) translation of policykit-gnome
1 # Copyright (C) 20007 Free Software Foundation, Inc.
2 # Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>, 2008.
3 #
4 #
5 msgid ""
6 msgstr ""
7 "Project-Id-Version: policykit-gnome 0.9.2\n"
8 "Report-Msgid-Bugs-To: \n"
9 "POT-Creation-Date: 2008-08-21 20:24+0800\n"
10 "PO-Revision-Date: 2008-08-23 11:30+0800\n"
11 "Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
12 "Language-Team: Chinese/Traditional <community@linuxhall.org>\n"
13 "MIME-Version: 1.0\n"
14 "Content-Type: text/plain; charset=UTF-8\n"
15 "Content-Transfer-Encoding: 8bit\n"
16
17 #: ../data/polkit-gnome-authorization.desktop.in.h:1
18 #: ../tools/polkit-gnome-authorization.c:2443
19 msgid "Authorizations"
20 msgstr "授權"
21
22 #: ../data/polkit-gnome-authorization.desktop.in.h:2
23 msgid "Configure authorizations"
24 msgstr "設定授權"
25
26 #: ../data/polkit-gnome.schemas.in.h:1
27 msgid "A list of PolicyKit action where the \"retain authorization\" checkbox isn't checked by default; this list is maintained by the authentication dialog code itself. For example, if a user unchecks the \"retain authorization\" check box for an action and successfully obtains an authorization for the action, the action will be added to this list."
28 msgstr "預設沒有核取「保持授權」的 PolicyKit 動作清單;這個清單是由授權對話盒的程式碼本身所維護的。舉例來說,如果有使用者取消某個動作的「保持授權」的核取方塊,同時成功獲得此動作的授權,這個動作就會被加到這份清單中。"
29
30 #: ../data/polkit-gnome.schemas.in.h:2
31 msgid "A list of actions where the \"retain authorization\" checkbox isn't checked by default"
32 msgstr "預設沒有核取「保持授權」的 PolicyKit 動作清單"
33
34 #: ../data/polkit-gnome.schemas.in.h:3
35 msgid "If set to true, the authentication dialog from PolicyKit-gnome will grab the keyboard, so that you will not be able to type in other programs while the dialog is active. Use this if your window manager does not focus the authentication dialog automatically, and you want to avoid accidentally typing passwords in other programs."
36 msgstr "如果設為「true」,PolicyKit-gnome 的授權對話盒會抓取鍵盤,使得您在使用此對話盒期間無法在其他程式輸入。當您的視窗管理程式無法自動讓授權對話盒取得焦點,而您想要避免意外的將密碼輸入到其他程式時使用這個功能。"
37
38 #: ../data/polkit-gnome.schemas.in.h:4
39 msgid "If set to true, then \"retain authorization\" check box (if present) is checked by default in the authentication dialog unless the action is mentioned in the \"/desktop/gnome/policykit/auth_dialog_retain_authorization_blacklist\" key."
40 msgstr "如果設為「true」,授權對話盒中的「保持授權」核取方塊(如果有出現)預設都為核取狀態,除非該項動作被列舉於「/desktop/gnome/policykit/auth_dialog_retain_authorization_blacklist」鍵值中。"
41
42 #: ../data/polkit-gnome.schemas.in.h:5
43 msgid "Whether the authentication dialog should grab the keyboard"
44 msgstr "授權對話盒是否應抓取鍵盤"
45
46 #: ../data/polkit-gnome.schemas.in.h:6
47 msgid "Whether the retain authorization check box is checked by default"
48 msgstr "保持授權核取方塊是否預設為核取"
49
50 #: ../examples/polkit-gnome-example.c:137
51 msgid "Copyright © 2007 David Zeuthen"
52 msgstr "版權所有 © 2007 David Zeuthen"
53
54 #: ../examples/polkit-gnome-example.c:138
55 msgid "PolicyKit-gnome Website"
56 msgstr "PolicyKit-gnome 網站"
57
58 #: ../examples/polkit-gnome-example.c:140
59 #: ../examples/polkit-gnome-example.c:446
60 msgid "PolicyKit-gnome demo"
61 msgstr "PolicyKit-gnome 展示"
62
63 #: ../examples/polkit-gnome-example.c:141
64 msgid "PolicyKit for the GNOME desktop"
65 msgstr "GNOME 桌面的 PolicyKit"
66
67 #: ../examples/polkit-gnome-example.c:151
68 msgid "_File"
69 msgstr "檔案(_F)"
70
71 #. name, stock id, label
72 #: ../examples/polkit-gnome-example.c:152
73 msgid "_Actions"
74 msgstr "執行(_A)"
75
76 #. name, stock id, label
77 #: ../examples/polkit-gnome-example.c:153
78 msgid "_Help"
79 msgstr "求助(_H)"
80
81 #. name, stock id, label
82 #. name, stock id
83 #: ../examples/polkit-gnome-example.c:156
84 msgid "_Quit"
85 msgstr "離開(_Q)"
86
87 #. label, accelerator
88 #: ../examples/polkit-gnome-example.c:157
89 msgid "Quit"
90 msgstr "離開"
91
92 #. name, stock id
93 #: ../examples/polkit-gnome-example.c:161
94 msgid "_About"
95 msgstr "關於(_A)"
96
97 #. label, accelerator
98 #: ../examples/polkit-gnome-example.c:162
99 msgid "About"
100 msgstr "關於"
101
102 #: ../examples/polkit-gnome-example.c:243
103 msgid "Making the helper <b>Frobnicate</b> requires the user to authenticate. The authorization is kept for the life time of the process"
104 msgstr "讓 <b>Frobnicate</b> 輔助程式要求使用者進行驗證。此項授權會保到這個程序終止為止"
105
106 #: ../examples/polkit-gnome-example.c:252
107 msgid "Frobnicate!"
108 msgstr "Frobnicate!"
109
110 #: ../examples/polkit-gnome-example.c:267
111 msgid "Making the helper <b>Jump</b> requires the user to authenticate. This is a one-shot authorization."
112 msgstr "讓 <b>Jump</b> 輔助程式要求使用者進行驗證。這是一個一次性的授權。"
113
114 #: ../examples/polkit-gnome-example.c:275
115 msgid "Jump!"
116 msgstr "Jump!"
117
118 #: ../examples/polkit-gnome-example.c:290
119 msgid "Making the helper <b>Tweak</b> requires a system administrator to authenticate. This instance overrides the defaults set in polkit_gnome_action_new()."
120 msgstr "讓 <b>Tweak</b> 輔助程式要求系統管理者進行驗證。這個實體會覆蓋在 polkit_gnome_action_new() 中的預設設定。"
121
122 #: ../examples/polkit-gnome-example.c:299
123 #: ../examples/polkit-gnome-example.c:320
124 msgid "Tweak!"
125 msgstr "Tweak!"
126
127 #: ../examples/polkit-gnome-example.c:306
128 #: ../examples/org.gnome.policykit.examples.policy.in.h:17
129 msgid "Tweak"
130 msgstr "Tweak"
131
132 #: ../examples/polkit-gnome-example.c:307
133 msgid "Tweak (long)"
134 msgstr "Tweak (long)"
135
136 #: ../examples/polkit-gnome-example.c:308
137 msgid "If your admin wasn't annoying, you could do this"
138 msgstr "如果您的系統管理員不抱怨的話,可以這麼做"
139
140 #: ../examples/polkit-gnome-example.c:313
141 msgid "Tweak..."
142 msgstr "Tweak..."
143
144 #: ../examples/polkit-gnome-example.c:314
145 msgid "Tweak... (long)"
146 msgstr "Tweak... (long)"
147
148 #: ../examples/polkit-gnome-example.c:315
149 msgid "Only card carrying tweakers can do this!"
150 msgstr "Only card carrying tweakers can do this!"
151
152 #: ../examples/polkit-gnome-example.c:321
153 msgid "Tweak! (long)"
154 msgstr "Tweak! (long)"
155
156 #: ../examples/polkit-gnome-example.c:322
157 msgid "Go ahead, tweak tweak tweak!"
158 msgstr "Go ahead, tweak tweak tweak!"
159
160 #: ../examples/polkit-gnome-example.c:339
161 msgid "Making the helper <b>Twiddle</b> requires a system administrator to authenticate. Once authenticated, this privilege can be retained indefinitely."
162 msgstr "讓 <b>Twiddle</b> 輔助程式要求系統管理員進行驗證。一旦獲得授權,這個權限便可無限期使用。"
163
164 #: ../examples/polkit-gnome-example.c:348
165 msgid "Twiddle!"
166 msgstr "Twiddle!"
167
168 #: ../examples/polkit-gnome-example.c:363
169 msgid "Making the helper <b>Punch</b> requires the user to authenticate. Once authenticated, this privilege can be retained for the remainder of the desktop session."
170 msgstr "讓 <b>Punch</b> 輔助程式要求使用者進行驗證。一旦獲得授權,這個權限可以保留到桌面的作業階段結束為止。"
171
172 #: ../examples/polkit-gnome-example.c:372
173 msgid "Punch!"
174 msgstr "Punch!"
175
176 #: ../examples/polkit-gnome-example.c:387
177 msgid "The <b>Toggle</b> action demonstrates the use of PolicyKit to drive a GtkToggleButton; it's an intuitive way to ask users to give up authorizations when they are done with them. E.g. the button is 'pressed in' exactlywhen the authorization is held. Toggling the button means obtaining resp. revoking the authorization in question."
178 msgstr "<b>Toogle</b> 動作示範了以 PolicyKit 驅動 GtkToogleButton 的作用;它是一個讓使用者完成工作後放棄授權的很直覺的方法。例如,當按鈕為「被按下」狀態時表示已取得授權。切換按鈕的狀態表示授權效力的有無。"
179
180 #: ../examples/polkit-gnome-example.c:401
181 msgid "Click to make changes..."
182 msgstr "請按這裡進行改變..."
183
184 #: ../examples/polkit-gnome-example.c:402
185 msgid "Click to prevent changes"
186 msgstr "請按這裡防止改變"
187
188 #: ../examples/polkit-gnome-example.c:422
189 msgid "<i>Tip: try editing /etc/PolicyKit/Policy.conf and see the proxy widgets update in real-time.</i>."
190 msgstr "<i>密訣:試著編輯 /etc/PolicyKit/Policy.conf 並看看代理視窗元件即時更新的情形。</i>"
191
192 #: ../examples/org.gnome.policykit.examples.policy.in.h:1
193 msgid "Frobnicate"
194 msgstr "Frobnicate"
195
196 #: ../examples/org.gnome.policykit.examples.policy.in.h:2
197 msgid "Jump"
198 msgstr "Jump"
199
200 #: ../examples/org.gnome.policykit.examples.policy.in.h:3
201 msgid "Kick bar"
202 msgstr "Kick bar"
203
204 #: ../examples/org.gnome.policykit.examples.policy.in.h:4
205 msgid "Kick baz"
206 msgstr "Kick baz"
207
208 #: ../examples/org.gnome.policykit.examples.policy.in.h:5
209 msgid "Kick foo"
210 msgstr "Kick foo"
211
212 #: ../examples/org.gnome.policykit.examples.policy.in.h:6
213 msgid "Punch"
214 msgstr "Punch"
215
216 #: ../examples/org.gnome.policykit.examples.policy.in.h:7
217 msgid "System policy prevents the PolicyKit-gnome example helper from Frobnicating"
218 msgstr " "
219
220 #: ../examples/org.gnome.policykit.examples.policy.in.h:8
221 msgid "System policy prevents the PolicyKit-gnome example helper from Jumping"
222 msgstr ""
223
224 #: ../examples/org.gnome.policykit.examples.policy.in.h:9
225 msgid "System policy prevents the PolicyKit-gnome example helper from Kicking bar"
226 msgstr ""
227
228 #: ../examples/org.gnome.policykit.examples.policy.in.h:10
229 msgid "System policy prevents the PolicyKit-gnome example helper from Kicking baz"
230 msgstr ""
231
232 #: ../examples/org.gnome.policykit.examples.policy.in.h:11
233 msgid "System policy prevents the PolicyKit-gnome example helper from Kicking foo"
234 msgstr ""
235
236 #: ../examples/org.gnome.policykit.examples.policy.in.h:12
237 msgid "System policy prevents the PolicyKit-gnome example helper from Punching"
238 msgstr ""
239
240 #: ../examples/org.gnome.policykit.examples.policy.in.h:13
241 msgid "System policy prevents the PolicyKit-gnome example helper from Toggling"
242 msgstr ""
243
244 #: ../examples/org.gnome.policykit.examples.policy.in.h:14
245 msgid "System policy prevents the PolicyKit-gnome example helper from Tweaking"
246 msgstr ""
247
248 #: ../examples/org.gnome.policykit.examples.policy.in.h:15
249 msgid "System policy prevents the PolicyKit-gnome example helper from Twiddling"
250 msgstr ""
251
252 #: ../examples/org.gnome.policykit.examples.policy.in.h:16
253 msgid "Toggle"
254 msgstr "Toggle"
255
256 #: ../examples/org.gnome.policykit.examples.policy.in.h:18
257 msgid "Twiddle"
258 msgstr "Twiddle"
259
260 #: ../polkit-gnome/polkit-gnome-toggle-action.c:400
261 #: ../polkit-gnome/polkit-gnome-toggle-action.c:401
262 msgid "Authenticating..."
263 msgstr "正在驗證..."
264
265 #: ../src/main.c:139
266 msgid "Don't exit after 30 seconds of inactivity"
267 msgstr "在 30 秒沒有動作後不要強制結束"
268
269 #: ../src/main.c:148
270 msgid "PolicyKit GNOME session daemon"
271 msgstr "PolicyKit GNOME 作業階段伺服程式"
272
273 #: ../src/main.c:174
274 #, c-format
275 msgid "Starting PolicyKit GNOME session daemon version %s"
276 msgstr "正在啟動 PolicyKit GNOME 作業階段伺服程式版本 %s"
277
278 #: ../src/polkit-gnome-auth-dialog.c:190
279 #: ../tools/polkit-gnome-authorization.c:649
280 msgid "Select user..."
281 msgstr "選擇使用者..."
282
283 #: ../src/polkit-gnome-auth-dialog.c:211
284 #: ../tools/polkit-gnome-authorization.c:665
285 #, c-format
286 msgid "%s (%s)"
287 msgstr "%s (%s)"
288
289 #: ../src/polkit-gnome-auth-dialog.c:292
290 msgid "_Remember authorization for this session"
291 msgstr "在這個作業階段中記住授權(_R)"
292
293 #: ../src/polkit-gnome-auth-dialog.c:298
294 msgid "_Remember authorization"
295 msgstr "記住授權(_R)"
296
297 #: ../src/polkit-gnome-auth-dialog.c:313
298 msgid "An application is attempting to perform an action that requires privileges. Authentication as one of the users below is required to perform this action."
299 msgstr "有應用程式試圖進行需要權限的動作。必須授權為下列使用者之一才能進行這個動作。"
300
301 #: ../src/polkit-gnome-auth-dialog.c:320
302 msgid "An application is attempting to perform an action that requires privileges. Authentication as the super user is required to perform this action."
303 msgstr "有應用程式試圖進行需要權限的動作。必須授權為超級使用者才能進行這個動作。"
304
305 #: ../src/polkit-gnome-auth-dialog.c:324
306 msgid "An application is attempting to perform an action that requires privileges. Authentication is required to perform this action."
307 msgstr "有應用程式試圖進行需要權限的動作。必須獲得授權才能進行這個動作。"
308
309 #: ../src/polkit-gnome-auth-dialog.c:405
310 #, c-format
311 msgid "Click to edit %s"
312 msgstr "按下這裡編輯 %s"
313
314 #: ../src/polkit-gnome-auth-dialog.c:430
315 #: ../tools/polkit-gnome-authorization.c:1391
316 #, c-format
317 msgid "Click to open %s"
318 msgstr "按一下來開啟 %s"
319
320 #: ../src/polkit-gnome-auth-dialog.c:667
321 msgid "_Authenticate"
322 msgstr "驗證(_A)"
323
324 #: ../src/polkit-gnome-auth-dialog.c:726
325 #: ../src/polkit-gnome-manager.c:686
326 #: ../src/polkit-gnome-manager.c:735
327 msgid "_Password:"
328 msgstr "密碼(_P):"
329
330 #: ../src/polkit-gnome-auth-dialog.c:748
331 msgid "For this _session only"
332 msgstr "只在這個作業階段(_S)"
333
334 #: ../src/polkit-gnome-auth-dialog.c:756
335 msgid "<small><b>_Details</b></small>"
336 msgstr "<small><b>詳細資料(_D)</b></small>"
337
338 #: ../src/polkit-gnome-auth-dialog.c:777
339 msgid "<small><b>Application:</b></small>"
340 msgstr "<small><b>應用程式:</b></small>"
341
342 #: ../src/polkit-gnome-auth-dialog.c:781
343 msgid "<small><b>Action:</b></small>"
344 msgstr "<small><b>動作:</b></small>"
345
346 #: ../src/polkit-gnome-auth-dialog.c:786
347 msgid "<small><b>Vendor:</b></small>"
348 msgstr "<small><b>廠商:</b></small>"
349
350 #: ../src/polkit-gnome-auth-dialog.c:915
351 msgid "Authenticate"
352 msgstr "驗證"
353
354 #: ../src/polkit-gnome-manager.c:367
355 msgid "(unknown"
356 msgstr "(未知"
357
358 #: ../src/polkit-gnome-manager.c:730
359 #, c-format
360 msgid "_Password for %s:"
361 msgstr "%s 的密碼 (_P):"
362
363 #: ../src/polkit-gnome-manager.c:732
364 msgid "_Password for root:"
365 msgstr "root 的密碼(_P):"
366
367 #: ../src/polkit-gnome-manager.c:740
368 #, c-format
369 msgid "_Password or swipe finger for %s:"
370 msgstr "%s 的密碼或指紋辨識(_P):"
371
372 #: ../src/polkit-gnome-manager.c:743
373 msgid "_Password or swipe finger for root:"
374 msgstr "root 的密碼或指紋辨識(_P):"
375
376 #: ../src/polkit-gnome-manager.c:746
377 msgid "_Password or swipe finger:"
378 msgstr "密碼或指紋辨識(_P):"
379
380 #: ../tools/polkit-gnome-authorization.c:117
381 msgid "No"
382 msgstr "否"
383
384 #: ../tools/polkit-gnome-authorization.c:119
385 msgid "Admin Authentication (one shot)"
386 msgstr "系統管理者授權(一次性)"
387
388 #: ../tools/polkit-gnome-authorization.c:120
389 msgid "Admin Authentication"
390 msgstr "系統管理者授權"
391
392 #: ../tools/polkit-gnome-authorization.c:121
393 msgid "Admin Authentication (keep session)"
394 msgstr "系統管理者授權(無限期)"
395
396 #: ../tools/polkit-gnome-authorization.c:122
397 msgid "Admin Authentication (keep indefinitely)"
398 msgstr "系統管理員授權(無限期)"
399
400 #: ../tools/polkit-gnome-authorization.c:124
401 msgid "Authentication (one shot)"
402 msgstr "授權(一次性)"
403
404 #: ../tools/polkit-gnome-authorization.c:125
405 msgid "Authentication"
406 msgstr "授權"
407
408 #: ../tools/polkit-gnome-authorization.c:126
409 msgid "Authentication (keep session)"
410 msgstr "授權(在此作業階段)"
411
412 #: ../tools/polkit-gnome-authorization.c:127
413 msgid "Authentication (keep indefinitely)"
414 msgstr "授權(無限期)"
415
416 #: ../tools/polkit-gnome-authorization.c:129
417 msgid "Yes"
418 msgstr "是"
419
420 #: ../tools/polkit-gnome-authorization.c:272
421 msgid ", "
422 msgstr ", "
423
424 #: ../tools/polkit-gnome-authorization.c:276
425 msgid "Must be on console"
426 msgstr "必須在主控台"
427
428 #: ../tools/polkit-gnome-authorization.c:279
429 msgid "Must be in active session"
430 msgstr "必須在使用中的作業階段"
431
432 #: ../tools/polkit-gnome-authorization.c:282
433 #, c-format
434 msgid "Must be program %s"
435 msgstr "必須為程式 %s"
436
437 #: ../tools/polkit-gnome-authorization.c:286
438 #, c-format
439 msgid "Must be SELinux Context %s"
440 msgstr "必須為 SELinux 上下文 %s"
441
442 #: ../tools/polkit-gnome-authorization.c:344
443 msgid "A moment ago"
444 msgstr "剛剛"
445
446 #: ../tools/polkit-gnome-authorization.c:348
447 msgid "1 minute ago"
448 msgstr "1 分鐘前"
449
450 #: ../tools/polkit-gnome-authorization.c:350
451 #, c-format
452 msgid "%d minutes ago"
453 msgstr "%d 分鐘前"
454
455 #: ../tools/polkit-gnome-authorization.c:354
456 msgid "1 hour ago"
457 msgstr "1 小時前"
458
459 #: ../tools/polkit-gnome-authorization.c:356
460 #, c-format
461 msgid "%d hours ago"
462 msgstr "%d 小時前"
463
464 #: ../tools/polkit-gnome-authorization.c:360
465 msgid "1 day ago"
466 msgstr "1 日前"
467
468 #: ../tools/polkit-gnome-authorization.c:362
469 #, c-format
470 msgid "%d days ago"
471 msgstr "%d 日前"
472
473 #: ../tools/polkit-gnome-authorization.c:379
474 #, c-format
475 msgid "Auth as %s (uid %d)"
476 msgstr "授權為 %s (uid %d)"
477
478 #: ../tools/polkit-gnome-authorization.c:381
479 #, c-format
480 msgid "Auth as uid %d"
481 msgstr "授權為 uid %d"
482
483 #: ../tools/polkit-gnome-authorization.c:387
484 #, c-format
485 msgid "Blocked by %s (uid %d)"
486 msgstr "被 %s (uid %d) 阻擋"
487
488 #: ../tools/polkit-gnome-authorization.c:389
489 #, c-format
490 msgid "Blocked by uid %d"
491 msgstr "被 uid %d 阻擋"
492
493 #: ../tools/polkit-gnome-authorization.c:392
494 #, c-format
495 msgid "Granted by %s (uid %d)"
496 msgstr "由 %s (uid %d) 獲得"
497
498 #: ../tools/polkit-gnome-authorization.c:394
499 #, c-format
500 msgid "Granted by uid %d"
501 msgstr "由 uid %d 獲得"
502
503 #: ../tools/polkit-gnome-authorization.c:409
504 #, c-format
505 msgid "Single shot pid %d (%s)"
506 msgstr "一次性 pid %d (%s)"
507
508 #: ../tools/polkit-gnome-authorization.c:415
509 #, c-format
510 msgid "pid %d (%s)"
511 msgstr "pid %d (%s)"
512
513 #: ../tools/polkit-gnome-authorization.c:418
514 msgid "This session"
515 msgstr "這個作業階段"
516
517 #: ../tools/polkit-gnome-authorization.c:421
518 msgid "Always"
519 msgstr "永遠"
520
521 #: ../tools/polkit-gnome-authorization.c:431
522 msgid "None"
523 msgstr "無"
524
525 #: ../tools/polkit-gnome-authorization.c:827
526 msgid "Grant Negative Authorization"
527 msgstr "獲得反授權"
528
529 #: ../tools/polkit-gnome-authorization.c:827
530 msgid "Grant Authorization"
531 msgstr "獲得授權"
532
533 #: ../tools/polkit-gnome-authorization.c:850
534 #, c-format
535 msgid "<b><big>Granting a negative authorization for the <i>%s</i> action requires more information</big></b>"
536 msgstr "<b><big>讓 <i>%s</i> 動作被阻擋授權需要更多資訊</big></b>"
537
538 #: ../tools/polkit-gnome-authorization.c:851
539 #, c-format
540 msgid "<b><big>Granting an authorization for the <i>%s</i> action requires more information</big></b>"
541 msgstr "<b><big>讓 <i>%s</i> 動作獲得授權需要更多資訊</big></b>"
542
543 #: ../tools/polkit-gnome-authorization.c:862
544 msgid "Select the user to block for the action and, optionally, any constraints on the negative authorization that you are about to grant."
545 msgstr "選擇要阻擋進行此動作的使用者,或者也可以指定您獲得反授權的任何條件。"
546
547 #: ../tools/polkit-gnome-authorization.c:864
548 msgid "Select the beneficiary and, optionally, how to constrain the authorization that you are about to grant."
549 msgstr "選擇可以授權的使用者,或者也可以指定您獲得授權的條件。"
550
551 #: ../tools/polkit-gnome-authorization.c:875
552 msgid "<b>Beneficiary</b>"
553 msgstr "<b>可授權使用者</b>"
554
555 #: ../tools/polkit-gnome-authorization.c:887
556 msgid "Select the user that will receive the negative authorization."
557 msgstr "選擇會收到反授權的使用者。"
558
559 #: ../tools/polkit-gnome-authorization.c:889
560 msgid "Select the user that will receive the authorization."
561 msgstr "選擇會收到授權的使用者。"
562
563 #: ../tools/polkit-gnome-authorization.c:898
564 msgid "_Show system users"
565 msgstr "顯示系統使用者(_S)"
566
567 #: ../tools/polkit-gnome-authorization.c:913
568 msgid "<b>Constraints</b>"
569 msgstr "<b>條件</b>"
570
571 #: ../tools/polkit-gnome-authorization.c:924
572 msgid "Constraints limits the authorization such that it only applies under certain circumstances."
573 msgstr "條件會限制只有在符合特定環境下才能授權。"
574
575 #: ../tools/polkit-gnome-authorization.c:930
576 msgid "_None"
577 msgstr "無(_N)"
578
579 #: ../tools/polkit-gnome-authorization.c:932
580 msgid "Must be _in active session"
581 msgstr "必須在使用中的作業階段(_I)"
582
583 #: ../tools/polkit-gnome-authorization.c:934
584 msgid "Must be on _local console"
585 msgstr "必須在本地端主控台(_L)"
586
587 #: ../tools/polkit-gnome-authorization.c:936
588 msgid "Must be in _active session on local console"
589 msgstr "必須在使用中作業階段的本地端主控台(_A)"
590
591 #: ../tools/polkit-gnome-authorization.c:957
592 #: ../tools/polkit-gnome-authorization.c:2133
593 msgid "_Block..."
594 msgstr "阻擋(_B)..."
595
596 #: ../tools/polkit-gnome-authorization.c:961
597 #: ../tools/polkit-gnome-authorization.c:2126
598 msgid "_Grant..."
599 msgstr "獲得(_G)..."
600
601 #: ../tools/polkit-gnome-authorization.c:1155
602 msgid "Edit Implicit Authorizations"
603 msgstr "編輯隱含授權"
604
605 #: ../tools/polkit-gnome-authorization.c:1176
606 msgid "<b><big>Choose new implicit authorizations</big></b>"
607 msgstr "<b><big>選擇新的隱含授權</big></b>"
608
609 #: ../tools/polkit-gnome-authorization.c:1190
610 #, c-format
611 msgid "Implicit authorizations are authorizations that are granted automatically to users under certain circumstances. Choose what is required for the action <i>%s</i>."
612 msgstr "隱含授權是指使用者在特定環境下可以自動獲得的授權。選擇下個動作所要求的條件: <i>%s</i>。"
613
614 #: ../tools/polkit-gnome-authorization.c:1215
615 #: ../tools/polkit-gnome-authorization.c:1974
616 msgid "<i>Anyone:</i>"
617 msgstr "<i>任何人:</i>"
618
619 #: ../tools/polkit-gnome-authorization.c:1222
620 #: ../tools/polkit-gnome-authorization.c:1978
621 msgid "<i>Console:</i>"
622 msgstr "<i>主控台:</i>"
623
624 #: ../tools/polkit-gnome-authorization.c:1229
625 #: ../tools/polkit-gnome-authorization.c:1982
626 msgid "<i>Active Console:</i>"
627 msgstr "<i>使用中的主控台:</i>"
628
629 #: ../tools/polkit-gnome-authorization.c:1258
630 msgid "_Modify..."
631 msgstr "修改(_M)..."
632
633 #: ../tools/polkit-gnome-authorization.c:1890
634 msgid "<b>Action</b>"
635 msgstr "<b>動作</b>"
636
637 #: ../tools/polkit-gnome-authorization.c:1905
638 msgid "<i>Identifier:</i>"
639 msgstr "<i>識別碼:</i>"
640
641 #: ../tools/polkit-gnome-authorization.c:1915
642 msgid "<i>Description:</i>"
643 msgstr "<i>描述:</i>"
644
645 #: ../tools/polkit-gnome-authorization.c:1925
646 msgid "<i>Vendor:</i>"
647 msgstr "<i>廠商:</i>"
648
649 #: ../tools/polkit-gnome-authorization.c:1951
650 msgid "<b>Implicit Authorizations</b>"
651 msgstr "<b>隱含授權</b>"
652
653 #: ../tools/polkit-gnome-authorization.c:1959
654 msgid "Implicit authorizations are authorizations automatically given to users based on certain criteria such as if they are on the local console."
655 msgstr "隱含授權是指使用者在特定條件下(像是當他們使用本地端主控台時)可以自動獲得的授權。"
656
657 #: ../tools/polkit-gnome-authorization.c:2002
658 msgid "_Edit..."
659 msgstr "編輯(_E)..."
660
661 #: ../tools/polkit-gnome-authorization.c:2009
662 msgid "Revert To _Defaults..."
663 msgstr "重置為預設值(_D)..."
664
665 #: ../tools/polkit-gnome-authorization.c:2032
666 msgid "<b>Explicit Authorizations</b>"
667 msgstr "<b>明確授權</b>"
668
669 #: ../tools/polkit-gnome-authorization.c:2043
670 msgid "This list displays authorizations that are either obtained through authentication or specifically given to the entity in question. Blocked authorizations are marked with a STOP sign."
671 msgstr "這個清單顯示了通過驗證獲得或特別考慮給實體的授權。被阻擋的授權會以 STOP 符號標記。"
672
673 #: ../tools/polkit-gnome-authorization.c:2073
674 msgid "Entity"
675 msgstr "實體"
676
677 #: ../tools/polkit-gnome-authorization.c:2081
678 msgid "Scope"
679 msgstr "範圍"
680
681 #: ../tools/polkit-gnome-authorization.c:2089
682 msgid "Obtained"
683 msgstr "獲得的"
684
685 #: ../tools/polkit-gnome-authorization.c:2097
686 msgid "How"
687 msgstr "如何"
688
689 #: ../tools/polkit-gnome-authorization.c:2105
690 msgid "Constraints"
691 msgstr "條件"
692
693 #: ../tools/polkit-gnome-authorization.c:2147
694 #: ../tools/polkit-gnome-authorization.c:2161
695 msgid "_Revoke"
696 msgstr "註銷(_R)"
697
698 #: ../tools/polkit-gnome-authorization.c:2154
699 msgid "_Revoke..."
700 msgstr "註銷(_R)..."
701
702 #: ../tools/polkit-gnome-authorization.c:2174
703 msgid "_Show authorizations from all users..."
704 msgstr "顯示所有使用者的授權(_S)..."
705
706 #: ../tools/polkit-gnome-authorization.c:2175
707 msgid "_Show authorizations from all users"
708 msgstr "顯示所有使用者的授權(_S)"
709
710 #: ../tools/polkit-gnome-authorization.c:2417
711 msgid "Select an action"
712 msgstr "選擇一個動作"
713
+0
-51
polkit-gnome/Makefile.am less more
0 ## Process this file with automake to produce Makefile.in
1
2 INCLUDES = \
3 -I$(top_builddir) -I$(top_srcdir) \
4 -DPACKAGE_LIBEXECDIR=\""$(libexecdir)"\" \
5 -DPACKAGE_SYSCONFDIR=\""$(sysconfdir)"\" \
6 -DPACKAGE_DATADIR=\""$(datadir)"\" \
7 -DPACKAGE_BINDIR=\""$(bindir)"\" \
8 -DPACKAGE_LOCALSTATEDIR=\""$(localstatedir)"\" \
9 -DPACKAGE_LOCALEDIR=\""$(localedir)"\" \
10 -DPACKAGE_LIBDIR=\""$(libdir)"\" \
11 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
12 -DPOLKIT_GNOME_COMPILATION
13
14 lib_LTLIBRARIES=libpolkit-gnome.la
15
16 libpolkit_gnomeincludedir=$(includedir)/PolicyKit/polkit-gnome
17
18 libpolkit_gnomeinclude_HEADERS = \
19 polkit-gnome.h \
20 polkit-gnome-context.h \
21 polkit-gnome-action.h \
22 polkit-gnome-toggle-action.h \
23 polkit-gnome-auth.h
24
25 libpolkit_gnome_la_SOURCES = \
26 polkit-gnome-context.h polkit-gnome-context.c \
27 polkit-gnome-action.h polkit-gnome-action.c \
28 polkit-gnome-toggle-action.h polkit-gnome-toggle-action.c \
29 polkit-gnome-auth.h polkit-gnome-auth.c
30
31 libpolkit_gnome_la_CFLAGS = \
32 $(GTK_CFLAGS) \
33 $(DBUS_GLIB_CFLAGS) \
34 $(POLKIT_DBUS_CFLAGS) \
35 $(POLKIT_GRANT_CFLAGS) \
36 $(WARN_CFLAGS) \
37 $(AM_CFLAGS)
38
39 libpolkit_gnome_la_LIBADD = \
40 $(GTK_LIBS) \
41 $(DBUS_GLIB_LIBS) \
42 $(POLKIT_DBUS_LIBS) \
43 $(POLKIT_GRANT_LIBS) \
44 $(INTLLIBS)
45
46 libpolkit_gnome_la_LDFLAGS = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
47
48 clean-local :
49 rm -f *~ $(BUILT_SOURCES)
50
+0
-648
polkit-gnome/Makefile.in less more
0 # Makefile.in generated by automake 1.10.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16
17 VPATH = @srcdir@
18 pkgdatadir = $(datadir)/@PACKAGE@
19 pkglibdir = $(libdir)/@PACKAGE@
20 pkgincludedir = $(includedir)/@PACKAGE@
21 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
22 install_sh_DATA = $(install_sh) -c -m 644
23 install_sh_PROGRAM = $(install_sh) -c
24 install_sh_SCRIPT = $(install_sh) -c
25 INSTALL_HEADER = $(INSTALL_DATA)
26 transform = $(program_transform_name)
27 NORMAL_INSTALL = :
28 PRE_INSTALL = :
29 POST_INSTALL = :
30 NORMAL_UNINSTALL = :
31 PRE_UNINSTALL = :
32 POST_UNINSTALL = :
33 build_triplet = @build@
34 host_triplet = @host@
35 subdir = polkit-gnome
36 DIST_COMMON = $(libpolkit_gnomeinclude_HEADERS) $(srcdir)/Makefile.am \
37 $(srcdir)/Makefile.in
38 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
39 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
40 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
41 $(ACLOCAL_M4)
42 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
43 CONFIG_HEADER = $(top_builddir)/config.h
44 CONFIG_CLEAN_FILES =
45 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
46 am__vpath_adj = case $$p in \
47 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
48 *) f=$$p;; \
49 esac;
50 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
51 am__installdirs = "$(DESTDIR)$(libdir)" \
52 "$(DESTDIR)$(libpolkit_gnomeincludedir)"
53 libLTLIBRARIES_INSTALL = $(INSTALL)
54 LTLIBRARIES = $(lib_LTLIBRARIES)
55 am__DEPENDENCIES_1 =
56 libpolkit_gnome_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
57 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
58 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
59 am_libpolkit_gnome_la_OBJECTS = \
60 libpolkit_gnome_la-polkit-gnome-context.lo \
61 libpolkit_gnome_la-polkit-gnome-action.lo \
62 libpolkit_gnome_la-polkit-gnome-toggle-action.lo \
63 libpolkit_gnome_la-polkit-gnome-auth.lo
64 libpolkit_gnome_la_OBJECTS = $(am_libpolkit_gnome_la_OBJECTS)
65 libpolkit_gnome_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
66 $(LIBTOOLFLAGS) --mode=link $(CCLD) \
67 $(libpolkit_gnome_la_CFLAGS) $(CFLAGS) \
68 $(libpolkit_gnome_la_LDFLAGS) $(LDFLAGS) -o $@
69 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
70 depcomp = $(SHELL) $(top_srcdir)/depcomp
71 am__depfiles_maybe = depfiles
72 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
73 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
74 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
75 --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
76 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
77 CCLD = $(CC)
78 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
79 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
80 $(LDFLAGS) -o $@
81 SOURCES = $(libpolkit_gnome_la_SOURCES)
82 DIST_SOURCES = $(libpolkit_gnome_la_SOURCES)
83 libpolkit_gnomeincludeHEADERS_INSTALL = $(INSTALL_HEADER)
84 HEADERS = $(libpolkit_gnomeinclude_HEADERS)
85 ETAGS = etags
86 CTAGS = ctags
87 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
88 ACLOCAL = @ACLOCAL@
89 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
90 ALL_LINGUAS = @ALL_LINGUAS@
91 AMTAR = @AMTAR@
92 AM_CFLAGS = @AM_CFLAGS@
93 AM_CPPFLAGS = @AM_CPPFLAGS@
94 AM_CXXFLAGS = @AM_CXXFLAGS@
95 AM_LDFLAGS = @AM_LDFLAGS@
96 AR = @AR@
97 AUTOCONF = @AUTOCONF@
98 AUTOHEADER = @AUTOHEADER@
99 AUTOMAKE = @AUTOMAKE@
100 AWK = @AWK@
101 CATALOGS = @CATALOGS@
102 CATOBJEXT = @CATOBJEXT@
103 CC = @CC@
104 CCDEPMODE = @CCDEPMODE@
105 CFLAGS = @CFLAGS@
106 CPP = @CPP@
107 CPPFLAGS = @CPPFLAGS@
108 CXX = @CXX@
109 CXXCPP = @CXXCPP@
110 CXXDEPMODE = @CXXDEPMODE@
111 CXXFLAGS = @CXXFLAGS@
112 CYGPATH_W = @CYGPATH_W@
113 DATADIRNAME = @DATADIRNAME@
114 DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@
115 DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@
116 DEFS = @DEFS@
117 DEPDIR = @DEPDIR@
118 DISABLE_DEPRECATED = @DISABLE_DEPRECATED@
119 DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
120 DOC_USER_FORMATS = @DOC_USER_FORMATS@
121 DSYMUTIL = @DSYMUTIL@
122 ECHO = @ECHO@
123 ECHO_C = @ECHO_C@
124 ECHO_N = @ECHO_N@
125 ECHO_T = @ECHO_T@
126 EGREP = @EGREP@
127 EXEEXT = @EXEEXT@
128 F77 = @F77@
129 FFLAGS = @FFLAGS@
130 GCONFTOOL = @GCONFTOOL@
131 GCONF_CFLAGS = @GCONF_CFLAGS@
132 GCONF_LIBS = @GCONF_LIBS@
133 GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
134 GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
135 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
136 GMOFILES = @GMOFILES@
137 GMSGFMT = @GMSGFMT@
138 GREP = @GREP@
139 GTKDOC_CHECK = @GTKDOC_CHECK@
140 GTK_CFLAGS = @GTK_CFLAGS@
141 GTK_LIBS = @GTK_LIBS@
142 HELP_DIR = @HELP_DIR@
143 HTML_DIR = @HTML_DIR@
144 INSTALL = @INSTALL@
145 INSTALL_DATA = @INSTALL_DATA@
146 INSTALL_PROGRAM = @INSTALL_PROGRAM@
147 INSTALL_SCRIPT = @INSTALL_SCRIPT@
148 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
149 INSTOBJEXT = @INSTOBJEXT@
150 INTLLIBS = @INTLLIBS@
151 INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
152 INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
153 INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
154 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
155 INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@
156 INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
157 INTLTOOL_MERGE = @INTLTOOL_MERGE@
158 INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
159 INTLTOOL_PERL = @INTLTOOL_PERL@
160 INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@
161 INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
162 INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
163 INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
164 INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
165 INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
166 INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
167 INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
168 INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
169 INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
170 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
171 INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
172 INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@
173 INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
174 LDFLAGS = @LDFLAGS@
175 LIBOBJS = @LIBOBJS@
176 LIBS = @LIBS@
177 LIBTOOL = @LIBTOOL@
178 LN_S = @LN_S@
179 LTLIBOBJS = @LTLIBOBJS@
180 LT_AGE = @LT_AGE@
181 LT_CURRENT = @LT_CURRENT@
182 LT_REVISION = @LT_REVISION@
183 MAINT = @MAINT@
184 MAKEINFO = @MAKEINFO@
185 MKDIR_P = @MKDIR_P@
186 MKINSTALLDIRS = @MKINSTALLDIRS@
187 MSGFMT = @MSGFMT@
188 MSGFMT_OPTS = @MSGFMT_OPTS@
189 MSGMERGE = @MSGMERGE@
190 NMEDIT = @NMEDIT@
191 OBJEXT = @OBJEXT@
192 OMF_DIR = @OMF_DIR@
193 PACKAGE = @PACKAGE@
194 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
195 PACKAGE_NAME = @PACKAGE_NAME@
196 PACKAGE_STRING = @PACKAGE_STRING@
197 PACKAGE_TARNAME = @PACKAGE_TARNAME@
198 PACKAGE_VERSION = @PACKAGE_VERSION@
199 PATH_SEPARATOR = @PATH_SEPARATOR@
200 PKG_CONFIG = @PKG_CONFIG@
201 POFILES = @POFILES@
202 POLKIT_DBUS_CFLAGS = @POLKIT_DBUS_CFLAGS@
203 POLKIT_DBUS_LIBS = @POLKIT_DBUS_LIBS@
204 POLKIT_GRANT_CFLAGS = @POLKIT_GRANT_CFLAGS@
205 POLKIT_GRANT_LIBS = @POLKIT_GRANT_LIBS@
206 POLKIT_POLICY_FILE_VALIDATE = @POLKIT_POLICY_FILE_VALIDATE@
207 POSUB = @POSUB@
208 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
209 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
210 RANLIB = @RANLIB@
211 SED = @SED@
212 SET_MAKE = @SET_MAKE@
213 SHELL = @SHELL@
214 STRIP = @STRIP@
215 USE_NLS = @USE_NLS@
216 VERSION = @VERSION@
217 WARN_CFLAGS = @WARN_CFLAGS@
218 XGETTEXT = @XGETTEXT@
219 abs_builddir = @abs_builddir@
220 abs_srcdir = @abs_srcdir@
221 abs_top_builddir = @abs_top_builddir@
222 abs_top_srcdir = @abs_top_srcdir@
223 ac_ct_CC = @ac_ct_CC@
224 ac_ct_CXX = @ac_ct_CXX@
225 ac_ct_F77 = @ac_ct_F77@
226 am__include = @am__include@
227 am__leading_dot = @am__leading_dot@
228 am__quote = @am__quote@
229 am__tar = @am__tar@
230 am__untar = @am__untar@
231 bindir = @bindir@
232 build = @build@
233 build_alias = @build_alias@
234 build_cpu = @build_cpu@
235 build_os = @build_os@
236 build_vendor = @build_vendor@
237 builddir = @builddir@
238 datadir = @datadir@
239 datarootdir = @datarootdir@
240 docdir = @docdir@
241 dvidir = @dvidir@
242 exec_prefix = @exec_prefix@
243 host = @host@
244 host_alias = @host_alias@
245 host_cpu = @host_cpu@
246 host_os = @host_os@
247 host_vendor = @host_vendor@
248 htmldir = @htmldir@
249 includedir = @includedir@
250 infodir = @infodir@
251 install_sh = @install_sh@
252 libdir = @libdir@
253 libexecdir = @libexecdir@
254 localedir = @localedir@
255 localstatedir = @localstatedir@
256 mandir = @mandir@
257 mkdir_p = @mkdir_p@
258 oldincludedir = @oldincludedir@
259 pdfdir = @pdfdir@
260 prefix = @prefix@
261 program_transform_name = @program_transform_name@
262 psdir = @psdir@
263 sbindir = @sbindir@
264 sharedstatedir = @sharedstatedir@
265 srcdir = @srcdir@
266 sysconfdir = @sysconfdir@
267 target_alias = @target_alias@
268 top_build_prefix = @top_build_prefix@
269 top_builddir = @top_builddir@
270 top_srcdir = @top_srcdir@
271 INCLUDES = \
272 -I$(top_builddir) -I$(top_srcdir) \
273 -DPACKAGE_LIBEXECDIR=\""$(libexecdir)"\" \
274 -DPACKAGE_SYSCONFDIR=\""$(sysconfdir)"\" \
275 -DPACKAGE_DATADIR=\""$(datadir)"\" \
276 -DPACKAGE_BINDIR=\""$(bindir)"\" \
277 -DPACKAGE_LOCALSTATEDIR=\""$(localstatedir)"\" \
278 -DPACKAGE_LOCALEDIR=\""$(localedir)"\" \
279 -DPACKAGE_LIBDIR=\""$(libdir)"\" \
280 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
281 -DPOLKIT_GNOME_COMPILATION
282
283 lib_LTLIBRARIES = libpolkit-gnome.la
284 libpolkit_gnomeincludedir = $(includedir)/PolicyKit/polkit-gnome
285 libpolkit_gnomeinclude_HEADERS = \
286 polkit-gnome.h \
287 polkit-gnome-context.h \
288 polkit-gnome-action.h \
289 polkit-gnome-toggle-action.h \
290 polkit-gnome-auth.h
291
292 libpolkit_gnome_la_SOURCES = \
293 polkit-gnome-context.h polkit-gnome-context.c \
294 polkit-gnome-action.h polkit-gnome-action.c \
295 polkit-gnome-toggle-action.h polkit-gnome-toggle-action.c \
296 polkit-gnome-auth.h polkit-gnome-auth.c
297
298 libpolkit_gnome_la_CFLAGS = \
299 $(GTK_CFLAGS) \
300 $(DBUS_GLIB_CFLAGS) \
301 $(POLKIT_DBUS_CFLAGS) \
302 $(POLKIT_GRANT_CFLAGS) \
303 $(WARN_CFLAGS) \
304 $(AM_CFLAGS)
305
306 libpolkit_gnome_la_LIBADD = \
307 $(GTK_LIBS) \
308 $(DBUS_GLIB_LIBS) \
309 $(POLKIT_DBUS_LIBS) \
310 $(POLKIT_GRANT_LIBS) \
311 $(INTLLIBS)
312
313 libpolkit_gnome_la_LDFLAGS = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
314 all: all-am
315
316 .SUFFIXES:
317 .SUFFIXES: .c .lo .o .obj
318 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
319 @for dep in $?; do \
320 case '$(am__configure_deps)' in \
321 *$$dep*) \
322 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
323 && exit 0; \
324 exit 1;; \
325 esac; \
326 done; \
327 echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign polkit-gnome/Makefile'; \
328 cd $(top_srcdir) && \
329 $(AUTOMAKE) --foreign polkit-gnome/Makefile
330 .PRECIOUS: Makefile
331 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
332 @case '$?' in \
333 *config.status*) \
334 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
335 *) \
336 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
337 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
338 esac;
339
340 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
341 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
342
343 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
344 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
345 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
346 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
347 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
348 @$(NORMAL_INSTALL)
349 test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
350 @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
351 if test -f $$p; then \
352 f=$(am__strip_dir) \
353 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
354 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
355 else :; fi; \
356 done
357
358 uninstall-libLTLIBRARIES:
359 @$(NORMAL_UNINSTALL)
360 @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
361 p=$(am__strip_dir) \
362 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
363 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
364 done
365
366 clean-libLTLIBRARIES:
367 -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
368 @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
369 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
370 test "$$dir" != "$$p" || dir=.; \
371 echo "rm -f \"$${dir}/so_locations\""; \
372 rm -f "$${dir}/so_locations"; \
373 done
374 libpolkit-gnome.la: $(libpolkit_gnome_la_OBJECTS) $(libpolkit_gnome_la_DEPENDENCIES)
375 $(libpolkit_gnome_la_LINK) -rpath $(libdir) $(libpolkit_gnome_la_OBJECTS) $(libpolkit_gnome_la_LIBADD) $(LIBS)
376
377 mostlyclean-compile:
378 -rm -f *.$(OBJEXT)
379
380 distclean-compile:
381 -rm -f *.tab.c
382
383 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpolkit_gnome_la-polkit-gnome-action.Plo@am__quote@
384 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpolkit_gnome_la-polkit-gnome-auth.Plo@am__quote@
385 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpolkit_gnome_la-polkit-gnome-context.Plo@am__quote@
386 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpolkit_gnome_la-polkit-gnome-toggle-action.Plo@am__quote@
387
388 .c.o:
389 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
390 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
391 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
392 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
393 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
394
395 .c.obj:
396 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
397 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
398 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
399 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
400 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
401
402 .c.lo:
403 @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
404 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
405 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
406 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
407 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
408
409 libpolkit_gnome_la-polkit-gnome-context.lo: polkit-gnome-context.c
410 @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpolkit_gnome_la_CFLAGS) $(CFLAGS) -MT libpolkit_gnome_la-polkit-gnome-context.lo -MD -MP -MF $(DEPDIR)/libpolkit_gnome_la-polkit-gnome-context.Tpo -c -o libpolkit_gnome_la-polkit-gnome-context.lo `test -f 'polkit-gnome-context.c' || echo '$(srcdir)/'`polkit-gnome-context.c
411 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpolkit_gnome_la-polkit-gnome-context.Tpo $(DEPDIR)/libpolkit_gnome_la-polkit-gnome-context.Plo
412 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkit-gnome-context.c' object='libpolkit_gnome_la-polkit-gnome-context.lo' libtool=yes @AMDEPBACKSLASH@
413 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
414 @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpolkit_gnome_la_CFLAGS) $(CFLAGS) -c -o libpolkit_gnome_la-polkit-gnome-context.lo `test -f 'polkit-gnome-context.c' || echo '$(srcdir)/'`polkit-gnome-context.c
415
416 libpolkit_gnome_la-polkit-gnome-action.lo: polkit-gnome-action.c
417 @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpolkit_gnome_la_CFLAGS) $(CFLAGS) -MT libpolkit_gnome_la-polkit-gnome-action.lo -MD -MP -MF $(DEPDIR)/libpolkit_gnome_la-polkit-gnome-action.Tpo -c -o libpolkit_gnome_la-polkit-gnome-action.lo `test -f 'polkit-gnome-action.c' || echo '$(srcdir)/'`polkit-gnome-action.c
418 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpolkit_gnome_la-polkit-gnome-action.Tpo $(DEPDIR)/libpolkit_gnome_la-polkit-gnome-action.Plo
419 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkit-gnome-action.c' object='libpolkit_gnome_la-polkit-gnome-action.lo' libtool=yes @AMDEPBACKSLASH@
420 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
421 @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpolkit_gnome_la_CFLAGS) $(CFLAGS) -c -o libpolkit_gnome_la-polkit-gnome-action.lo `test -f 'polkit-gnome-action.c' || echo '$(srcdir)/'`polkit-gnome-action.c
422
423 libpolkit_gnome_la-polkit-gnome-toggle-action.lo: polkit-gnome-toggle-action.c
424 @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpolkit_gnome_la_CFLAGS) $(CFLAGS) -MT libpolkit_gnome_la-polkit-gnome-toggle-action.lo -MD -MP -MF $(DEPDIR)/libpolkit_gnome_la-polkit-gnome-toggle-action.Tpo -c -o libpolkit_gnome_la-polkit-gnome-toggle-action.lo `test -f 'polkit-gnome-toggle-action.c' || echo '$(srcdir)/'`polkit-gnome-toggle-action.c
425 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpolkit_gnome_la-polkit-gnome-toggle-action.Tpo $(DEPDIR)/libpolkit_gnome_la-polkit-gnome-toggle-action.Plo
426 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkit-gnome-toggle-action.c' object='libpolkit_gnome_la-polkit-gnome-toggle-action.lo' libtool=yes @AMDEPBACKSLASH@
427 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
428 @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpolkit_gnome_la_CFLAGS) $(CFLAGS) -c -o libpolkit_gnome_la-polkit-gnome-toggle-action.lo `test -f 'polkit-gnome-toggle-action.c' || echo '$(srcdir)/'`polkit-gnome-toggle-action.c
429
430 libpolkit_gnome_la-polkit-gnome-auth.lo: polkit-gnome-auth.c
431 @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpolkit_gnome_la_CFLAGS) $(CFLAGS) -MT libpolkit_gnome_la-polkit-gnome-auth.lo -MD -MP -MF $(DEPDIR)/libpolkit_gnome_la-polkit-gnome-auth.Tpo -c -o libpolkit_gnome_la-polkit-gnome-auth.lo `test -f 'polkit-gnome-auth.c' || echo '$(srcdir)/'`polkit-gnome-auth.c
432 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libpolkit_gnome_la-polkit-gnome-auth.Tpo $(DEPDIR)/libpolkit_gnome_la-polkit-gnome-auth.Plo
433 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkit-gnome-auth.c' object='libpolkit_gnome_la-polkit-gnome-auth.lo' libtool=yes @AMDEPBACKSLASH@
434 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
435 @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpolkit_gnome_la_CFLAGS) $(CFLAGS) -c -o libpolkit_gnome_la-polkit-gnome-auth.lo `test -f 'polkit-gnome-auth.c' || echo '$(srcdir)/'`polkit-gnome-auth.c
436
437 mostlyclean-libtool:
438 -rm -f *.lo
439
440 clean-libtool:
441 -rm -rf .libs _libs
442 install-libpolkit_gnomeincludeHEADERS: $(libpolkit_gnomeinclude_HEADERS)
443 @$(NORMAL_INSTALL)
444 test -z "$(libpolkit_gnomeincludedir)" || $(MKDIR_P) "$(DESTDIR)$(libpolkit_gnomeincludedir)"
445 @list='$(libpolkit_gnomeinclude_HEADERS)'; for p in $$list; do \
446 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
447 f=$(am__strip_dir) \
448 echo " $(libpolkit_gnomeincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(libpolkit_gnomeincludedir)/$$f'"; \
449 $(libpolkit_gnomeincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(libpolkit_gnomeincludedir)/$$f"; \
450 done
451
452 uninstall-libpolkit_gnomeincludeHEADERS:
453 @$(NORMAL_UNINSTALL)
454 @list='$(libpolkit_gnomeinclude_HEADERS)'; for p in $$list; do \
455 f=$(am__strip_dir) \
456 echo " rm -f '$(DESTDIR)$(libpolkit_gnomeincludedir)/$$f'"; \
457 rm -f "$(DESTDIR)$(libpolkit_gnomeincludedir)/$$f"; \
458 done
459
460 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
461 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
462 unique=`for i in $$list; do \
463 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
464 done | \
465 $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
466 END { if (nonempty) { for (i in files) print i; }; }'`; \
467 mkid -fID $$unique
468 tags: TAGS
469
470 TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
471 $(TAGS_FILES) $(LISP)
472 tags=; \
473 here=`pwd`; \
474 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
475 unique=`for i in $$list; do \
476 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
477 done | \
478 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
479 END { if (nonempty) { for (i in files) print i; }; }'`; \
480 if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
481 test -n "$$unique" || unique=$$empty_fix; \
482 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
483 $$tags $$unique; \
484 fi
485 ctags: CTAGS
486 CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
487 $(TAGS_FILES) $(LISP)
488 tags=; \
489 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
490 unique=`for i in $$list; do \
491 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
492 done | \
493 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
494 END { if (nonempty) { for (i in files) print i; }; }'`; \
495 test -z "$(CTAGS_ARGS)$$tags$$unique" \
496 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
497 $$tags $$unique
498
499 GTAGS:
500 here=`$(am__cd) $(top_builddir) && pwd` \
501 && cd $(top_srcdir) \
502 && gtags -i $(GTAGS_ARGS) $$here
503
504 distclean-tags:
505 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
506
507 distdir: $(DISTFILES)
508 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
509 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
510 list='$(DISTFILES)'; \
511 dist_files=`for file in $$list; do echo $$file; done | \
512 sed -e "s|^$$srcdirstrip/||;t" \
513 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
514 case $$dist_files in \
515 */*) $(MKDIR_P) `echo "$$dist_files" | \
516 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
517 sort -u` ;; \
518 esac; \
519 for file in $$dist_files; do \
520 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
521 if test -d $$d/$$file; then \
522 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
523 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
524 cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
525 fi; \
526 cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
527 else \
528 test -f $(distdir)/$$file \
529 || cp -p $$d/$$file $(distdir)/$$file \
530 || exit 1; \
531 fi; \
532 done
533 check-am: all-am
534 check: check-am
535 all-am: Makefile $(LTLIBRARIES) $(HEADERS)
536 installdirs:
537 for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libpolkit_gnomeincludedir)"; do \
538 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
539 done
540 install: install-am
541 install-exec: install-exec-am
542 install-data: install-data-am
543 uninstall: uninstall-am
544
545 install-am: all-am
546 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
547
548 installcheck: installcheck-am
549 install-strip:
550 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
551 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
552 `test -z '$(STRIP)' || \
553 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
554 mostlyclean-generic:
555
556 clean-generic:
557
558 distclean-generic:
559 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
560
561 maintainer-clean-generic:
562 @echo "This command is intended for maintainers to use"
563 @echo "it deletes files that may require special tools to rebuild."
564 clean: clean-am
565
566 clean-am: clean-generic clean-libLTLIBRARIES clean-libtool clean-local \
567 mostlyclean-am
568
569 distclean: distclean-am
570 -rm -rf ./$(DEPDIR)
571 -rm -f Makefile
572 distclean-am: clean-am distclean-compile distclean-generic \
573 distclean-tags
574
575 dvi: dvi-am
576
577 dvi-am:
578
579 html: html-am
580
581 info: info-am
582
583 info-am:
584
585 install-data-am: install-libpolkit_gnomeincludeHEADERS
586
587 install-dvi: install-dvi-am
588
589 install-exec-am: install-libLTLIBRARIES
590
591 install-html: install-html-am
592
593 install-info: install-info-am
594
595 install-man:
596
597 install-pdf: install-pdf-am
598
599 install-ps: install-ps-am
600
601 installcheck-am:
602
603 maintainer-clean: maintainer-clean-am
604 -rm -rf ./$(DEPDIR)
605 -rm -f Makefile
606 maintainer-clean-am: distclean-am maintainer-clean-generic
607
608 mostlyclean: mostlyclean-am
609
610 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
611 mostlyclean-libtool
612
613 pdf: pdf-am
614
615 pdf-am:
616
617 ps: ps-am
618
619 ps-am:
620
621 uninstall-am: uninstall-libLTLIBRARIES \
622 uninstall-libpolkit_gnomeincludeHEADERS
623
624 .MAKE: install-am install-strip
625
626 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
627 clean-libLTLIBRARIES clean-libtool clean-local ctags distclean \
628 distclean-compile distclean-generic distclean-libtool \
629 distclean-tags distdir dvi dvi-am html html-am info info-am \
630 install install-am install-data install-data-am install-dvi \
631 install-dvi-am install-exec install-exec-am install-html \
632 install-html-am install-info install-info-am \
633 install-libLTLIBRARIES install-libpolkit_gnomeincludeHEADERS \
634 install-man install-pdf install-pdf-am install-ps \
635 install-ps-am install-strip installcheck installcheck-am \
636 installdirs maintainer-clean maintainer-clean-generic \
637 mostlyclean mostlyclean-compile mostlyclean-generic \
638 mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
639 uninstall-am uninstall-libLTLIBRARIES \
640 uninstall-libpolkit_gnomeincludeHEADERS
641
642
643 clean-local :
644 rm -f *~ $(BUILT_SOURCES)
645 # Tell versions [3.59,3.63) of GNU make to not export all variables.
646 # Otherwise a system limit (for SysV at least) may be exceeded.
647 .NOEXPORT:
+0
-2125
polkit-gnome/polkit-gnome-action.c less more
0 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
1 /***************************************************************************
2 *
3 * polkit-gnome-action.c :
4 *
5 * Copyright (C) 2007 David Zeuthen, <david@fubar.dk>
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public License
9 * as published by the Free Software Foundation; either version 2 of
10 * the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
20 * 02111-1307, USA.
21 *
22 **************************************************************************/
23
24 #ifdef HAVE_CONFIG_H
25 # include "config.h"
26 #endif
27
28 #include <stdlib.h>
29 #include <stdio.h>
30 #include <unistd.h>
31 #include <signal.h>
32 #include <errno.h>
33 #include <string.h>
34 #include <sys/types.h>
35 #include <sys/stat.h>
36 #include <sys/wait.h>
37 #include <fcntl.h>
38
39 #include <glib.h>
40 #include <glib/gi18n-lib.h>
41 #include <glib-object.h>
42
43 #include <gtk/gtk.h>
44 #include <gdk/gdkx.h>
45
46 #define DBUS_API_SUBJECT_TO_CHANGE
47 #include <dbus/dbus-glib.h>
48 #include <dbus/dbus-glib-lowlevel.h>
49
50 #include <polkit/polkit.h>
51 #include <polkit-dbus/polkit-dbus.h>
52
53 #include "polkit-gnome-context.h"
54 #include "polkit-gnome-action.h"
55 #include "polkit-gnome-auth.h"
56
57 /**
58 * SECTION:polkit-gnome-action
59 * @short_description: A GtkAction subclass where instances can be tied to a specific PolicyKit action.
60 *
61 * Actions in GTK+ represent operations that the user can be perform,
62 * along with some information how it should be presented in the
63 * interface. Each action provides methods to create icons, menu items
64 * and toolbar items representing itself. Each action can have one or
65 * more proxy menu item, toolbar button or other proxy
66 * widgets. Proxies mirror the state of the action (text label,
67 * tooltip, icon, visible, sensitive, etc), and should change when the
68 * action's state changes. When the proxy is activated, it should
69 * activate its action.
70 *
71 * Instances of #PolKitGnomeAction class updates the label, tooltip,
72 * icon-name, visible and properties of the parent #GtkAction instance
73 * according to what result PolicyKit gives about a given
74 * #PolKitAction object. The #PolKitGnomeContext class is used
75 * internally to track changes. This means that external events (such
76 * as the editing of the /etc/PolicyKit/PolicyKit.conf file,
77 * ConsoleKit session activity changes or if the user gains a
78 * privilege via authentication) will trigger the action, and thus
79 * connected proxy widgets, to be updated.
80 *
81 * In addition, the #PolKitGnomeAction class intercepts the ::activate
82 * signal defined in #GtkAction. When the result from PolicyKit is
83 * yes, the signal is propagated. If the result is auth,
84 * polkit_gnome_auth_show_dialog() will be used to bring up an
85 * authentication dialog for the given #PolKitAction. If the user
86 * succesfully gained the privilege, a ::activate signal will be
87 * synthesized. If the result is no, the signal is also propagated.
88 *
89 * As a result, everything happens under the covers; the application
90 * programmer using #PolKitGnomeAction will only get the ::activate
91 * signal when the answer from PolicyKit is yes and as such don't have
92 * to worry about bringing up authentication dialogs if the property
93 * "no-sensitive" is set to #FALSE.
94 *
95 * When an authentication dialog is show, the #PolKitGnomeAction class
96 * will pass the XID of the top-level window that the proxy widget
97 * causing the activation to polkit_gnome_auth_show_dialog().
98 *
99 * An example of how to use #PolKitGnomeAction follows. First, build
100 * the following program
101 *
102 * <programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../examples/polkit-gnome-example.c" parse="text"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting>
103 *
104 * with
105 *
106 * <programlisting>gcc -o polkit-gnome-example `pkg-config --cflags --libs polkit-gnome` polkit-gnome-example.c</programlisting>
107 *
108 * Then, put the following content
109 *
110 * <programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../../examples/polkit-gnome-example.policy" parse="text"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting>
111 *
112 * into a file
113 * <literal>/usr/share/PolicyKit/policy/polkit-gnome-example.policy</literal>. Finally,
114 * run <literal>polkit-gnome-example</literal>. It should display a
115 * window like this:
116 *
117 * <inlinegraphic fileref="polkit-gnome-example-screenshot.png" format="PNG"/>
118 *
119 * If the "Twiddle!" button is pressed, an authentication dialog
120 * should pop up
121 *
122 * <inlinegraphic fileref="polkit-gnome-example-auth-dialog-twiddle.png" format="PNG"/>
123 *
124 * Here is how what the application looks like if the user gains
125 * authorization for all the actions:
126 *
127 * <inlinegraphic fileref="polkit-gnome-example-screenshot-authorized.png" format="PNG"/>
128 *
129 * Regarding how to build an example mechanism that this GTK+
130 * application can take advantage of, please refer to the
131 * #PolKitContext class for examples.
132 **/
133
134 #define POLKIT_GNOME_ACTION_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), POLKIT_GNOME_TYPE_ACTION, PolKitGnomeActionPrivate))
135
136 static void polkit_gnome_action_activate (PolKitGnomeAction *action);
137 static void _auth_start (PolKitGnomeAction *action);
138
139 static void polkit_gnome_action_set_polkit_action (PolKitGnomeAction *action, PolKitAction *pk_action);
140 static void polkit_gnome_action_set_polkit_action_sufficient (PolKitGnomeAction *action, const GValue *pk_action_array);
141
142 static void polkit_gnome_action_set_self_blocked_visible (PolKitGnomeAction *action, gboolean visible);
143 static void polkit_gnome_action_set_self_blocked_sensitive (PolKitGnomeAction *action, gboolean sensitive);
144 static void polkit_gnome_action_set_self_blocked_short_label (PolKitGnomeAction *action, const gchar *short_label);
145 static void polkit_gnome_action_set_self_blocked_label (PolKitGnomeAction *action, const gchar *label);
146 static void polkit_gnome_action_set_self_blocked_tooltip (PolKitGnomeAction *action, const gchar *tooltip);
147 static void polkit_gnome_action_set_self_blocked_icon_name (PolKitGnomeAction *action, const gchar *icon_name);
148
149 static void polkit_gnome_action_set_no_visible (PolKitGnomeAction *action, gboolean visible);
150 static void polkit_gnome_action_set_no_sensitive (PolKitGnomeAction *action, gboolean sensitive);
151 static void polkit_gnome_action_set_no_short_label (PolKitGnomeAction *action, const gchar *short_label);
152 static void polkit_gnome_action_set_no_label (PolKitGnomeAction *action, const gchar *label);
153 static void polkit_gnome_action_set_no_tooltip (PolKitGnomeAction *action, const gchar *tooltip);
154 static void polkit_gnome_action_set_no_icon_name (PolKitGnomeAction *action, const gchar *icon_name);
155
156 static void polkit_gnome_action_set_auth_visible (PolKitGnomeAction *action, gboolean visible);
157 static void polkit_gnome_action_set_auth_sensitive (PolKitGnomeAction *action, gboolean sensitive);
158 static void polkit_gnome_action_set_auth_short_label (PolKitGnomeAction *action, const gchar *short_label);
159 static void polkit_gnome_action_set_auth_label (PolKitGnomeAction *action, const gchar *label);
160 static void polkit_gnome_action_set_auth_tooltip (PolKitGnomeAction *action, const gchar *tooltip);
161 static void polkit_gnome_action_set_auth_icon_name (PolKitGnomeAction *action, const gchar *icon_name);
162
163 static void polkit_gnome_action_set_yes_visible (PolKitGnomeAction *action, gboolean visible);
164 static void polkit_gnome_action_set_yes_sensitive (PolKitGnomeAction *action, gboolean sensitive);
165 static void polkit_gnome_action_set_yes_short_label (PolKitGnomeAction *action, const gchar *short_label);
166 static void polkit_gnome_action_set_yes_label (PolKitGnomeAction *action, const gchar *label);
167 static void polkit_gnome_action_set_yes_tooltip (PolKitGnomeAction *action, const gchar *tooltip);
168 static void polkit_gnome_action_set_yes_icon_name (PolKitGnomeAction *action, const gchar *icon_name);
169
170 static void polkit_gnome_action_set_target_pid (PolKitGnomeAction *action, guint target_pid);
171
172 static void _pk_config_changed (PolKitGnomeContext *pk_g_context, PolKitGnomeAction *action);
173 static void _pk_console_kit_db_changed (PolKitGnomeContext *pk_g_context, PolKitGnomeAction *action);
174
175 struct _PolKitGnomeActionPrivate
176 {
177 gboolean self_blocked_visible;
178 gboolean self_blocked_sensitive;
179 gchar *self_blocked_short_label;
180 gchar *self_blocked_label;
181 gchar *self_blocked_tooltip;
182 gchar *self_blocked_icon_name;
183
184 gboolean no_visible;
185 gboolean no_sensitive;
186 gchar *no_short_label;
187 gchar *no_label;
188 gchar *no_tooltip;
189 gchar *no_icon_name;
190
191 gboolean auth_visible;
192 gboolean auth_sensitive;
193 gchar *auth_short_label;
194 gchar *auth_label;
195 gchar *auth_tooltip;
196 gchar *auth_icon_name;
197
198 gboolean yes_visible;
199 gboolean yes_sensitive;
200 gchar *yes_short_label;
201 gchar *yes_label;
202 gchar *yes_tooltip;
203 gchar *yes_icon_name;
204
205 gboolean master_visible;
206 gboolean master_sensitive;
207
208 PolKitAction *polkit_action;
209 GSList *polkit_action_sufficient;
210
211 gboolean polkit_action_set_once;
212
213 guint target_pid;
214
215 /* the current PolicyKit result for the given polkit_action_id */
216 PolKitResult pk_result;
217
218 PolKitGnomeContext *pk_g_context;
219
220 gulong config_changed_handler_id;
221 gulong console_kit_db_changed_handler_id;
222 };
223
224 enum
225 {
226 AUTH_START_SIGNAL,
227 AUTH_END_SIGNAL,
228 POLKIT_RESULT_CHANGED_SIGNAL,
229 LAST_SIGNAL
230 };
231
232 enum
233 {
234 PROP_0,
235 PROP_POLKIT_ACTION_OBJ,
236 PROP_POLKIT_ACTION_OBJ_SUFFICIENT,
237
238 PROP_POLKIT_SELF_BLOCKED_VISIBLE,
239 PROP_POLKIT_SELF_BLOCKED_SENSITIVE,
240 PROP_POLKIT_SELF_BLOCKED_SHORT_LABEL,
241 PROP_POLKIT_SELF_BLOCKED_LABEL,
242 PROP_POLKIT_SELF_BLOCKED_TOOLTIP,
243 PROP_POLKIT_SELF_BLOCKED_ICON_NAME,
244
245 PROP_POLKIT_NO_VISIBLE,
246 PROP_POLKIT_NO_SENSITIVE,
247 PROP_POLKIT_NO_SHORT_LABEL,
248 PROP_POLKIT_NO_LABEL,
249 PROP_POLKIT_NO_TOOLTIP,
250 PROP_POLKIT_NO_ICON_NAME,
251
252 PROP_POLKIT_AUTH_VISIBLE,
253 PROP_POLKIT_AUTH_SENSITIVE,
254 PROP_POLKIT_AUTH_SHORT_LABEL,
255 PROP_POLKIT_AUTH_LABEL,
256 PROP_POLKIT_AUTH_TOOLTIP,
257 PROP_POLKIT_AUTH_ICON_NAME,
258
259 PROP_POLKIT_YES_VISIBLE,
260 PROP_POLKIT_YES_SENSITIVE,
261 PROP_POLKIT_YES_SHORT_LABEL,
262 PROP_POLKIT_YES_LABEL,
263 PROP_POLKIT_YES_TOOLTIP,
264 PROP_POLKIT_YES_ICON_NAME,
265
266 PROP_POLKIT_MASTER_VISIBLE,
267 PROP_POLKIT_MASTER_SENSITIVE,
268
269 PROP_POLKIT_TARGET_PID,
270 };
271
272 G_DEFINE_TYPE (PolKitGnomeAction, polkit_gnome_action, GTK_TYPE_ACTION)
273
274 static void set_property (GObject *object,
275 guint prop_id,
276 const GValue *value,
277 GParamSpec *pspec);
278 static void get_property (GObject *object,
279 guint prop_id,
280 GValue *value,
281 GParamSpec *pspec);
282
283 static GObjectClass *parent_class = NULL;
284 static guint signals[LAST_SIGNAL] = { 0 };
285
286 static void
287 polkit_gnome_action_init (PolKitGnomeAction *action)
288 {
289 action->priv = POLKIT_GNOME_ACTION_GET_PRIVATE (action);
290
291
292 }
293
294
295 static void
296 free_pk_action_sufficient (PolKitGnomeAction *action)
297 {
298 if (action->priv->polkit_action_sufficient != NULL) {
299 GSList *l;
300
301 for (l = action->priv->polkit_action_sufficient; l != NULL; l = g_slist_next (l)) {
302 polkit_action_unref ((PolKitAction *) l->data);
303 }
304 g_slist_free (action->priv->polkit_action_sufficient);
305 action->priv->polkit_action_sufficient = NULL;
306 }
307 }
308
309 static void
310 polkit_gnome_action_finalize (GObject *object)
311 {
312 PolKitGnomeAction *action;
313
314 action = POLKIT_GNOME_ACTION (object);
315
316 if (action->priv->polkit_action != NULL)
317 polkit_action_unref (action->priv->polkit_action);
318
319 g_free (action->priv->self_blocked_short_label);
320 g_free (action->priv->self_blocked_label);
321 g_free (action->priv->self_blocked_tooltip);
322 g_free (action->priv->self_blocked_icon_name);
323
324 g_free (action->priv->no_short_label);
325 g_free (action->priv->no_label);
326 g_free (action->priv->no_tooltip);
327 g_free (action->priv->no_icon_name);
328
329 g_free (action->priv->auth_short_label);
330 g_free (action->priv->auth_label);
331 g_free (action->priv->auth_tooltip);
332 g_free (action->priv->auth_icon_name);
333
334 g_free (action->priv->yes_short_label);
335 g_free (action->priv->yes_label);
336 g_free (action->priv->yes_tooltip);
337 g_free (action->priv->yes_icon_name);
338
339 free_pk_action_sufficient (action);
340
341 if (action->priv->pk_g_context != NULL) {
342 g_signal_handler_disconnect (action->priv->pk_g_context, action->priv->config_changed_handler_id);
343 g_signal_handler_disconnect (action->priv->pk_g_context, action->priv->console_kit_db_changed_handler_id);
344 g_object_unref (action->priv->pk_g_context);
345 }
346
347 G_OBJECT_CLASS (polkit_gnome_action_parent_class)->finalize (object);
348 }
349
350 static void
351 _ensure_pk_g_context (PolKitGnomeAction *action)
352 {
353 if (action->priv->pk_g_context == NULL) {
354 action->priv->pk_g_context = polkit_gnome_context_get (NULL);
355
356 action->priv->config_changed_handler_id = g_signal_connect (
357 action->priv->pk_g_context,
358 "config-changed",
359 G_CALLBACK (_pk_config_changed),
360 action);
361
362 action->priv->console_kit_db_changed_handler_id = g_signal_connect (
363 action->priv->pk_g_context,
364 "console-kit-db-changed",
365 G_CALLBACK (_pk_console_kit_db_changed),
366 action);
367 }
368 }
369
370 static GObject *
371 polkit_gnome_action_constructor (GType type,
372 guint n_construct_properties,
373 GObjectConstructParam *construct_properties)
374 {
375 PolKitGnomeAction *action;
376 PolKitGnomeActionClass *klass;
377
378 klass = POLKIT_GNOME_ACTION_CLASS (g_type_class_peek (POLKIT_GNOME_TYPE_ACTION));
379
380 action = POLKIT_GNOME_ACTION (G_OBJECT_CLASS (parent_class)->constructor (type,
381 n_construct_properties,
382 construct_properties));
383
384 action->priv->master_visible = TRUE;
385 action->priv->master_sensitive = TRUE;
386
387 return G_OBJECT (action);
388 }
389
390
391 static void
392 polkit_gnome_action_class_init (PolKitGnomeActionClass *klass)
393 {
394 GObjectClass *gobject_class;
395 GtkActionClass *action_class;
396
397 parent_class = g_type_class_peek_parent (klass);
398 gobject_class = G_OBJECT_CLASS (klass);
399 action_class = GTK_ACTION_CLASS (klass);
400
401 gobject_class->constructor = polkit_gnome_action_constructor;
402 gobject_class->set_property = set_property;
403 gobject_class->get_property = get_property;
404 gobject_class->finalize = polkit_gnome_action_finalize;
405
406 action_class->activate = (void (*)(GtkAction*)) polkit_gnome_action_activate;
407
408 klass->auth_start = _auth_start;
409
410 g_object_class_install_property (gobject_class,
411 PROP_POLKIT_ACTION_OBJ,
412 g_param_spec_pointer ("polkit-action",
413 "The PolKitAction object this GTK+ action is tracking",
414 "The PolKitAction object this GTK+ action is tracking",
415 G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
416
417 g_object_class_install_property (gobject_class,
418 PROP_POLKIT_ACTION_OBJ_SUFFICIENT,
419 g_param_spec_value_array (
420 "polkit-action-sufficient",
421 "An array of PolKitAction objects that are sufficient to have authorizations for.",
422 "An array of PolKitAction objects that are sufficient to have authorizations for.",
423 g_param_spec_pointer (
424 "polkit-action-sufficient-member",
425 "PolKitAction member of polkit-action-sufficient",
426 "PolKitAction member of polkit-action-sufficient",
427 G_PARAM_READWRITE | G_PARAM_CONSTRUCT),
428 G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
429
430 /*------------------------------*/
431
432 g_object_class_install_property (
433 gobject_class,
434 PROP_POLKIT_SELF_BLOCKED_VISIBLE,
435 g_param_spec_boolean (
436 "self-blocked-visible",
437 "If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, whether the action will be visible",
438 "If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, whether the action will be visible",
439 TRUE,
440 G_PARAM_READWRITE));
441
442 g_object_class_install_property (
443 gobject_class,
444 PROP_POLKIT_SELF_BLOCKED_SENSITIVE,
445 g_param_spec_boolean (
446 "self-blocked-sensitive",
447 "If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, whether the action will be sensitive",
448 "If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, whether the action will be sensitive",
449 FALSE,
450 G_PARAM_READWRITE));
451
452 g_object_class_install_property (
453 gobject_class,
454 PROP_POLKIT_SELF_BLOCKED_SHORT_LABEL,
455 g_param_spec_string (
456 "self-blocked-short-label",
457 "If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this short-label",
458 "If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this short-label",
459 NULL,
460 G_PARAM_READWRITE));
461
462 g_object_class_install_property (
463 gobject_class,
464 PROP_POLKIT_SELF_BLOCKED_LABEL,
465 g_param_spec_string (
466 "self-blocked-label",
467 "If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this label",
468 "If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this label",
469 NULL,
470 G_PARAM_READWRITE));
471
472 g_object_class_install_property (
473 gobject_class,
474 PROP_POLKIT_SELF_BLOCKED_TOOLTIP,
475 g_param_spec_string (
476 "self-blocked-tooltip",
477 "If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this tooltip",
478 "If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this tooltip",
479 NULL,
480 G_PARAM_READWRITE));
481
482 g_object_class_install_property (
483 gobject_class,
484 PROP_POLKIT_SELF_BLOCKED_ICON_NAME,
485 g_param_spec_string (
486 "self-blocked-icon-name",
487 "If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this icon-name",
488 "If PolicyKit evaluates the result as 'no' and the reason is that the user has a self-granted negative authorization, use this icon-name",
489 NULL,
490 G_PARAM_READWRITE));
491
492 /*------------------------------*/
493
494 g_object_class_install_property (
495 gobject_class,
496 PROP_POLKIT_NO_VISIBLE,
497 g_param_spec_boolean (
498 "no-visible",
499 "If PolicyKit evaluates the result as 'no', whether the action will be visible",
500 "If PolicyKit evaluates the result as 'no', whether the action will be visible",
501 TRUE,
502 G_PARAM_READWRITE));
503
504 g_object_class_install_property (
505 gobject_class,
506 PROP_POLKIT_NO_SENSITIVE,
507 g_param_spec_boolean (
508 "no-sensitive",
509 "If PolicyKit evaluates the result as 'no', whether the action will be sensitive",
510 "If PolicyKit evaluates the result as 'no', whether the action will be sensitive",
511 FALSE,
512 G_PARAM_READWRITE));
513
514 g_object_class_install_property (
515 gobject_class,
516 PROP_POLKIT_NO_SHORT_LABEL,
517 g_param_spec_string (
518 "no-short-label",
519 "If PolicyKit evaluates the result as 'no', use this short-label",
520 "If PolicyKit evaluates the result as 'no', use this short-label",
521 NULL,
522 G_PARAM_READWRITE));
523
524 g_object_class_install_property (
525 gobject_class,
526 PROP_POLKIT_NO_LABEL,
527 g_param_spec_string (
528 "no-label",
529 "If PolicyKit evaluates the result as 'no', use this label",
530 "If PolicyKit evaluates the result as 'no', use this label",
531 NULL,
532 G_PARAM_READWRITE));
533
534 g_object_class_install_property (
535 gobject_class,
536 PROP_POLKIT_NO_TOOLTIP,
537 g_param_spec_string (
538 "no-tooltip",
539 "If PolicyKit evaluates the result as 'no', use this tooltip",
540 "If PolicyKit evaluates the result as 'no', use this tooltip",
541 NULL,
542 G_PARAM_READWRITE));
543
544 g_object_class_install_property (
545 gobject_class,
546 PROP_POLKIT_NO_ICON_NAME,
547 g_param_spec_string (
548 "no-icon-name",
549 "If PolicyKit evaluates the result as 'no', use this icon-name",
550 "If PolicyKit evaluates the result as 'no', use this icon-name",
551 NULL,
552 G_PARAM_READWRITE));
553
554 /*------------------------------*/
555
556 g_object_class_install_property (
557 gobject_class,
558 PROP_POLKIT_AUTH_VISIBLE,
559 g_param_spec_boolean (
560 "auth-visible",
561 "If PolicyKit evaluates the result as 'auth', whether the action will be visible",
562 "If PolicyKit evaluates the result as 'auth', whether the action will be visible",
563 TRUE,
564 G_PARAM_READWRITE));
565
566 g_object_class_install_property (
567 gobject_class,
568 PROP_POLKIT_AUTH_SENSITIVE,
569 g_param_spec_boolean (
570 "auth-sensitive",
571 "If PolicyKit evaluates the result as 'auth', whether the action will be sensitive",
572 "If PolicyKit evaluates the result as 'auth', whether the action will be sensitive",
573 TRUE,
574 G_PARAM_READWRITE));
575
576 g_object_class_install_property (
577 gobject_class,
578 PROP_POLKIT_AUTH_SHORT_LABEL,
579 g_param_spec_string (
580 "auth-short-label",
581 "If PolicyKit evaluates the result as 'auth', use this short-label",
582 "If PolicyKit evaluates the result as 'auth', use this short-label",
583 NULL,
584 G_PARAM_READWRITE));
585
586 g_object_class_install_property (
587 gobject_class,
588 PROP_POLKIT_AUTH_LABEL,
589 g_param_spec_string (
590 "auth-label",
591 "If PolicyKit evaluates the result as 'auth', use this label",
592 "If PolicyKit evaluates the result as 'auth', use this label",
593 NULL,
594 G_PARAM_READWRITE));
595
596 g_object_class_install_property (
597 gobject_class,
598 PROP_POLKIT_AUTH_TOOLTIP,
599 g_param_spec_string (
600 "auth-tooltip",
601 "If PolicyKit evaluates the result as 'auth', use this tooltip",
602 "If PolicyKit evaluates the result as 'auth', use this tooltip",
603 NULL,
604 G_PARAM_READWRITE));
605
606 g_object_class_install_property (
607 gobject_class,
608 PROP_POLKIT_AUTH_ICON_NAME,
609 g_param_spec_string (
610 "auth-icon-name",
611 "If PolicyKit evaluates the result as 'auth', use this icon-name",
612 "If PolicyKit evaluates the result as 'auth', use this icon-name",
613 NULL,
614 G_PARAM_READWRITE));
615
616 /*------------------------------*/
617
618 g_object_class_install_property (
619 gobject_class,
620 PROP_POLKIT_YES_VISIBLE,
621 g_param_spec_boolean (
622 "yes-visible",
623 "If PolicyKit evaluates the result as 'yes', whether the action will be visible",
624 "If PolicyKit evaluates the result as 'yes', whether the action will be visible",
625 TRUE,
626 G_PARAM_READWRITE));
627
628 g_object_class_install_property (
629 gobject_class,
630 PROP_POLKIT_YES_SENSITIVE,
631 g_param_spec_boolean (
632 "yes-sensitive",
633 "If PolicyKit evaluates the result as 'yes', whether the action will be sensitive",
634 "If PolicyKit evaluates the result as 'yes', whether the action will be sensitive",
635 TRUE,
636 G_PARAM_READWRITE));
637
638 g_object_class_install_property (
639 gobject_class,
640 PROP_POLKIT_YES_SHORT_LABEL,
641 g_param_spec_string (
642 "yes-short-label",
643 "If PolicyKit evaluates the result as 'yes', use this short-label",
644 "If PolicyKit evaluates the result as 'yes', use this short-label",
645 NULL,
646 G_PARAM_READWRITE));
647
648 g_object_class_install_property (
649 gobject_class,
650 PROP_POLKIT_YES_LABEL,
651 g_param_spec_string (
652 "yes-label",
653 "If PolicyKit evaluates the result as 'yes', use this label",
654 "If PolicyKit evaluates the result as 'yes', use this label",
655 NULL,
656 G_PARAM_READWRITE));
657
658 g_object_class_install_property (
659 gobject_class,
660 PROP_POLKIT_YES_TOOLTIP,
661 g_param_spec_string (
662 "yes-tooltip",
663 "If PolicyKit evaluates the result as 'yes', use this tooltip",
664 "If PolicyKit evaluates the result as 'yes', use this tooltip",
665 NULL,
666 G_PARAM_READWRITE));
667
668 g_object_class_install_property (
669 gobject_class,
670 PROP_POLKIT_YES_ICON_NAME,
671 g_param_spec_string (
672 "yes-icon-name",
673 "If PolicyKit evaluates the result as 'yes', use this icon-name",
674 "If PolicyKit evaluates the result as 'yes', use this icon-name",
675 NULL,
676 G_PARAM_READWRITE));
677
678 /*------------------------------*/
679
680 g_object_class_install_property (
681 gobject_class,
682 PROP_POLKIT_MASTER_VISIBLE,
683 g_param_spec_boolean (
684 "master-visible",
685 "Can be set to FALSE to force invisibility no matter what PolicyKit reports",
686 "Can be set to FALSE to force invisibility no matter what PolicyKit reports",
687 TRUE,
688 G_PARAM_READWRITE));
689
690 g_object_class_install_property (
691 gobject_class,
692 PROP_POLKIT_MASTER_SENSITIVE,
693 g_param_spec_boolean (
694 "master-sensitive",
695 "Can be set to FALSE to force insensitivity no matter what PolicyKit reports",
696 "Can be set to FALSE to force insensitivity no matter what PolicyKit reports",
697 TRUE,
698 G_PARAM_READWRITE));
699
700 g_object_class_install_property (
701 gobject_class,
702 PROP_POLKIT_TARGET_PID,
703 g_param_spec_uint (
704 "target-pid",
705 "The target process id to receive the authorization; if 0 it is the current process",
706 "The target process id to receive the authorization; if 0 it is the current process",
707 0,
708 G_MAXUINT,
709 0,
710 G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
711
712 /**
713 * PolKitGnomeAction::auth-start:
714 * @action: the object
715 *
716 * The ::auth-start signal is emitted when an authentication
717 * session starts.
718 **/
719 signals [AUTH_START_SIGNAL] =
720 g_signal_new ("auth-start",
721 G_TYPE_FROM_CLASS (gobject_class),
722 G_SIGNAL_RUN_LAST,
723 G_STRUCT_OFFSET (PolKitGnomeActionClass, auth_start),
724 NULL,
725 NULL,
726 g_cclosure_marshal_VOID__VOID,
727 G_TYPE_NONE,
728 0);
729
730 /**
731 * PolKitGnomeAction::auth-end:
732 * @action: the object
733 * @gained_privilege: whether the privilege was gained
734 *
735 * The ::auth-end signal is emitted when the an authentication
736 * session ends and carries information about whether the
737 * privilege was obtained or not.
738 **/
739 signals [AUTH_END_SIGNAL] =
740 g_signal_new ("auth-end",
741 G_TYPE_FROM_CLASS (gobject_class),
742 G_SIGNAL_RUN_LAST,
743 G_STRUCT_OFFSET (PolKitGnomeActionClass, auth_end),
744 NULL,
745 NULL,
746 g_cclosure_marshal_VOID__BOOLEAN,
747 G_TYPE_NONE,
748 1, G_TYPE_BOOLEAN);
749
750 /**
751 * PolKitGnomeAction::polkit-result-changed:
752 * @action: the object
753 * @current_result: current #PolKitResult from PolicyKit regarding given #PolKitAction object
754 *
755 * The ::polkit-result-changed signal is emitted when the
756 * PolicyKit result changes. This can happen when external
757 * factors (config file, ConsoleKit, privilege granted /
758 * revoked) change since the #PolKitGnomeAction class listens
759 * for events using the #PolKitGnomeContext class.
760 **/
761 signals [POLKIT_RESULT_CHANGED_SIGNAL] =
762 g_signal_new ("polkit-result-changed",
763 G_TYPE_FROM_CLASS (gobject_class),
764 G_SIGNAL_RUN_LAST,
765 G_STRUCT_OFFSET (PolKitGnomeActionClass, polkit_result_changed),
766 NULL,
767 NULL,
768 g_cclosure_marshal_VOID__INT,
769 G_TYPE_NONE,
770 1, G_TYPE_INT);
771
772
773 g_type_class_add_private (gobject_class, sizeof (PolKitGnomeActionPrivate));
774 }
775
776 static pid_t
777 _get_target_pid (PolKitGnomeAction *action)
778 {
779 pid_t pid;
780
781 if (action != NULL && action->priv->target_pid != 0)
782 pid = action->priv->target_pid;
783 else
784 pid = getpid ();
785
786 return pid;
787 }
788
789 static PolKitResult
790 _compute_polkit_result_direct (PolKitGnomeAction *action)
791 {
792 PolKitCaller *pk_caller;
793 PolKitResult pk_result;
794 DBusError dbus_error;
795
796 _ensure_pk_g_context (action);
797
798 dbus_error_init (&dbus_error);
799 pk_caller = polkit_tracker_get_caller_from_pid (action->priv->pk_g_context->pk_tracker,
800 _get_target_pid (action),
801 &dbus_error);
802 if (pk_caller == NULL) {
803 g_warning ("Cannot get PolKitCaller object for target (pid=%d): %s: %s",
804 _get_target_pid (action), dbus_error.name, dbus_error.message);
805 dbus_error_free (&dbus_error);
806
807 /* this is bad so cop-out to UKNOWN */
808 pk_result = POLKIT_RESULT_UNKNOWN;
809 } else {
810 pk_result = polkit_context_is_caller_authorized (action->priv->pk_g_context->pk_context,
811 action->priv->polkit_action,
812 pk_caller,
813 FALSE,
814 NULL);
815 if (pk_result != POLKIT_RESULT_YES) {
816 GSList *i;
817
818 /* no dice.. see if one if the sufficient actions, if any, yields a YES */
819 for (i = action->priv->polkit_action_sufficient; i != NULL; i = g_slist_next (i)) {
820 PolKitResult r;
821 PolKitAction *a = (PolKitAction *) i->data;
822
823 r = polkit_context_is_caller_authorized (action->priv->pk_g_context->pk_context,
824 a,
825 pk_caller,
826 FALSE,
827 NULL);
828
829 if (r == POLKIT_RESULT_YES) {
830 pk_result = r;
831 break;
832 }
833 }
834 }
835 }
836
837 if (pk_caller != NULL)
838 polkit_caller_unref (pk_caller);
839
840 return pk_result;
841 }
842
843 /* returns TRUE if the result changed */
844 static gboolean
845 _compute_polkit_result (PolKitGnomeAction *action)
846 {
847 PolKitResult old_result;
848
849 old_result = action->priv->pk_result;
850 action->priv->pk_result = POLKIT_RESULT_UNKNOWN;
851
852 if (action->priv->polkit_action == NULL) {
853 action->priv->pk_result = POLKIT_RESULT_YES;
854 } else {
855 action->priv->pk_result = _compute_polkit_result_direct (action);
856 }
857
858 return old_result != action->priv->pk_result;
859 }
860
861 static void
862 _update_action (PolKitGnomeAction *action)
863 {
864 PolKitGnomeContext *pkgc;
865 PolKitAuthorizationDB *authdb;
866
867 pkgc = polkit_gnome_context_get (NULL);
868 authdb = polkit_context_get_authorization_db (pkgc->pk_context);
869
870 switch (action->priv->pk_result) {
871 default:
872 case POLKIT_RESULT_UNKNOWN:
873 case POLKIT_RESULT_NO:
874 /* TODO: see if we're self-blocked */
875
876 if (action->priv->polkit_action != NULL &&
877 polkit_authorization_db_is_uid_blocked_by_self (authdb,
878 action->priv->polkit_action,
879 getuid (),
880 NULL)) {
881 g_object_set (action,
882 "visible", action->priv->self_blocked_visible && action->priv->master_visible,
883 "sensitive", action->priv->self_blocked_sensitive && action->priv->master_sensitive,
884 "short-label", action->priv->self_blocked_short_label,
885 "label", action->priv->self_blocked_label,
886 "tooltip", action->priv->self_blocked_tooltip,
887 "icon-name", action->priv->self_blocked_icon_name,
888 NULL);
889 } else {
890 g_object_set (action,
891 "visible", action->priv->no_visible && action->priv->master_visible,
892 "sensitive", action->priv->no_sensitive && action->priv->master_sensitive,
893 "short-label", action->priv->no_short_label,
894 "label", action->priv->no_label,
895 "tooltip", action->priv->no_tooltip,
896 "icon-name", action->priv->no_icon_name,
897 NULL);
898 }
899 break;
900
901 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_ONE_SHOT:
902 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH:
903 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_SESSION:
904 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_ALWAYS:
905 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_ONE_SHOT:
906 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH:
907 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_SESSION:
908 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_ALWAYS:
909 g_object_set (action,
910 "visible", action->priv->auth_visible && action->priv->master_visible,
911 "sensitive", action->priv->auth_sensitive && action->priv->master_sensitive,
912 "short-label", action->priv->auth_short_label,
913 "label", action->priv->auth_label,
914 "tooltip", action->priv->auth_tooltip,
915 "icon-name", action->priv->auth_icon_name,
916 NULL);
917 break;
918
919 case POLKIT_RESULT_YES:
920 g_object_set (action,
921 "visible", action->priv->yes_visible && action->priv->master_visible,
922 "sensitive", action->priv->yes_sensitive && action->priv->master_sensitive,
923 "short-label", action->priv->yes_short_label,
924 "label", action->priv->yes_label,
925 "tooltip", action->priv->yes_tooltip,
926 "icon-name", action->priv->yes_icon_name,
927 NULL);
928 break;
929 }
930 }
931
932 static void
933 _pk_config_changed (PolKitGnomeContext *pk_g_context, PolKitGnomeAction *action)
934 {
935 gboolean result_changed;
936 result_changed = _compute_polkit_result (action);
937 _update_action (action);
938 if (result_changed) {
939 g_signal_emit (action, signals [POLKIT_RESULT_CHANGED_SIGNAL], 0, action->priv->pk_result);
940 }
941 }
942
943 static void
944 _pk_console_kit_db_changed (PolKitGnomeContext *pk_g_context, PolKitGnomeAction *action)
945 {
946 /* for now, just use the same code as above... */
947 _pk_config_changed (pk_g_context, action);
948 }
949
950
951 /**
952 * polkit_gnome_action_new:
953 * @name: A unique name for the action
954 *
955 * Creates a new #PolKitGnomeAction object. The typical use for this
956 * function is for specialized use where
957 * polkit_gnome_action_new_default() does not meet the needs of the
958 * application. A short example of the usage of this contructor
959 * follows.
960 *
961 * If the 'polkit-action' property is #NULL the behavior is similar to
962 * as if a #PolKitAction returned #POLKIT_RESULT_YES.
963 *
964 * One can set the 'polkit-action-sufficient' property to a
965 * #GValueArray of pointers to #PolKitAction objects. The semantics of
966 * this property is that if the user is authorized for any of the
967 * given actions in 'polkit-action-sufficient' then the behavior is
968 * the same as if they're authorized for the action denoted by
969 * 'polkit-action'. This is useful in a setup where you have two
970 * similar actions and one implies the other. For example, in
971 * gnome-system-monitor there are two actions
972 * <literal>org.gnome.system-monitor.increase-own-priority</literal>
973 * (Increase the priority of a process owned by yourself) and
974 * <literal>org.gnome.system-monitor.change-priorty</literal> (Change
975 * priority of any process). As the latter clearly implies the former,
976 * one would set the latter in the 'polkit-action-sufficient'
977 * property when constructing a #PolKitAction for the former.
978 *
979 * <programlisting>
980 * PolKitAction *polkit_action;
981 * PolKitGnomeAction *action;
982 *
983 * polkit_action = polkit_action_new ();
984 * polkit_action_set_action_id (polkit_action, "org.example.some-policykit-action");
985 *
986 * action = polkit_gnome_action_new ("blabla", NULL);
987 * g_object_set (action,
988 * "polkit-action", polkit_action,
989 * "no-visible", TRUE,
990 * "no-sensitive", FALSE,
991 * "no-short-label", "The Action no can do!",
992 * "no-label", "The Action is not permitted!",
993 * "no-tooltip", "The Tooltip (no)",
994 * "no-icon-name", GTK_STOCK_NO,
995 *
996 * "auth-visible", TRUE,
997 * "auth-sensitive", TRUE,
998 * "auth-short-label", "The Action requires auth...",
999 * "auth-label", "The Action requires auth...",
1000 * "auth-tooltip", "The Tooltip (auth)",
1001 * "auth-icon-name", GTK_STOCK_DIALOG_AUTHENTICATION,
1002 *
1003 * "yes-visible", TRUE,
1004 * "yes-sensitive", TRUE,
1005 * "yes-short-label", "Action!",
1006 * "yes-label", "Just do the Action!",
1007 * "yes-tooltip", "The Tooltip (yes)",
1008 * "yes-icon-name", GTK_STOCK_YES,
1009 * NULL);
1010 * </programlisting>
1011 *
1012 * Returns: a new #PolKitGnomeAction or #NULL if error is set
1013 */
1014 PolKitGnomeAction *
1015 polkit_gnome_action_new (const gchar *name)
1016 {
1017 PolKitGnomeAction *action = NULL;
1018
1019 action = g_object_new (POLKIT_GNOME_TYPE_ACTION,
1020 "name", name,
1021 NULL);
1022
1023 return action;
1024 }
1025
1026 /**
1027 * polkit_gnome_action_new_default:
1028 * @name: A unique name for the action
1029 * @polkit_action: the #PolKitAction to track
1030 * @label: the label to use (will also apply to short-label)
1031 * @tooltip: the tool tip to use
1032 *
1033 * Creates a new #PolKitGnomeAction object with the default
1034 * behavior for a given #PolKitAction object.
1035 *
1036 * Default behavior is defined by the label and tooltip being
1037 * identical across all three four states, the action being visible in
1038 * all four states, and the action being insensitive only in the state
1039 * where the result from PolicyKit is no and self-blocked. Only when
1040 * PolicyKit returns one of the 'auth*' results, the icon_name
1041 * property will be set to #GTK_STOCK_DIALOG_AUTHENTICATION.
1042 *
1043 * The caller can always modify individual aspects of the action after
1044 * creation, e.g. change the tooltip for the self-blocked, no, auth
1045 * and yes states.
1046 *
1047 * If the given polkit_action is #NULL the behavior is similar to as
1048 * if a #PolKitAction returned #POLKIT_RESULT_YES.
1049 *
1050 * Returns: a new #PolKitGnomeAction or #NULL if error is set
1051 */
1052 PolKitGnomeAction *
1053 polkit_gnome_action_new_default (const gchar *name,
1054 PolKitAction *polkit_action,
1055 const gchar *label,
1056 const gchar *tooltip)
1057 {
1058 PolKitGnomeAction *action;
1059
1060 action = g_object_new (POLKIT_GNOME_TYPE_ACTION,
1061 "name", name,
1062 "polkit-action", polkit_action,
1063
1064 "self-blocked-visible", TRUE,
1065 "self-blocked-sensitive", FALSE,
1066 "self-blocked-short-label", label,
1067 "self-blocked-label", label,
1068 "self-blocked-tooltip", tooltip,
1069 "self-blocked-icon-name", NULL,
1070
1071 "no-visible", TRUE,
1072 "no-sensitive", FALSE,
1073 "no-short-label", label,
1074 "no-label", label,
1075 "no-tooltip", tooltip,
1076 "no-icon-name", NULL,
1077
1078 "auth-visible", TRUE,
1079 "auth-sensitive", TRUE,
1080 "auth-short-label", label,
1081 "auth-label", label,
1082 "auth-tooltip", tooltip,
1083 "auth-icon-name", GTK_STOCK_DIALOG_AUTHENTICATION,
1084
1085 "yes-visible", TRUE,
1086 "yes-sensitive", TRUE,
1087 "yes-short-label", label,
1088 "yes-label", label,
1089 "yes-tooltip", tooltip,
1090 "yes-icon-name", NULL,
1091
1092 "master-visible", TRUE,
1093 "master-sensitive", TRUE,
1094 NULL);
1095
1096 return action;
1097 }
1098
1099 /*----------------------------------------------------------------------------------------------------*/
1100
1101 /**
1102 * polkit_gnome_action_set_polkit_action:
1103 * @action: The #PolKitGnomeAction object
1104 * @pk_action: The #PolKitAction object
1105 *
1106 * Sets the #PolKitAction object to track for updating the GTK+ action.
1107 */
1108 static void
1109 polkit_gnome_action_set_polkit_action (PolKitGnomeAction *action, PolKitAction *pk_action)
1110 {
1111
1112 /* Don't bother updating polkit_action if it's the same
1113 * value.. it will just cause a lot of unnecessary work as
1114 * we'll recompute the answer via PolicyKit..
1115 *
1116 * unless it's on the initial call (where priv->polkit_action
1117 * is alread NULL) because we need that initial update;
1118 */
1119 if (!action->priv->polkit_action_set_once || action->priv->polkit_action != pk_action) {
1120
1121 action->priv->polkit_action_set_once = TRUE;
1122
1123 if (action->priv->polkit_action != NULL)
1124 polkit_action_unref (action->priv->polkit_action);
1125
1126 action->priv->polkit_action = pk_action != NULL ? polkit_action_ref (pk_action) : NULL;
1127
1128 _compute_polkit_result (action);
1129 _update_action (action);
1130 }
1131 }
1132
1133 static void
1134 polkit_gnome_action_set_polkit_action_sufficient (PolKitGnomeAction *action, const GValue *pk_action_array)
1135 {
1136 unsigned int n;
1137 GValueArray *value_array;
1138
1139 free_pk_action_sufficient (action);
1140
1141 if (pk_action_array == NULL)
1142 goto out;
1143
1144 value_array = g_value_get_boxed (pk_action_array);
1145 if (value_array == NULL)
1146 goto out;
1147
1148 for (n = 0; n < value_array->n_values; n++) {
1149 PolKitAction *pk_action;
1150
1151 pk_action = (PolKitAction *) g_value_get_pointer (& (value_array->values[n]));
1152 action->priv->polkit_action_sufficient = g_slist_prepend (action->priv->polkit_action_sufficient,
1153 polkit_action_ref (pk_action));
1154 char *s;
1155 polkit_action_get_action_id (pk_action, &s);
1156 g_warning ("Setting sufficient %d: %s", n, s);
1157 }
1158
1159 out:
1160 _compute_polkit_result (action);
1161 _update_action (action);
1162 }
1163
1164
1165 /**
1166 * polkit_gnome_action_get_polkit_result:
1167 * @action: The #PolKitGnomeAction object
1168 *
1169 * Gets the #PolKitResult that indicates whether the user is
1170 * privileged to do the #PolKitAction associated with this
1171 * #PolKitGnomeAction object.
1172 *
1173 * Returns: The #PolKitAction object. The caller shall not unref this object.
1174 */
1175 PolKitResult
1176 polkit_gnome_action_get_polkit_result (PolKitGnomeAction *action)
1177 {
1178 _compute_polkit_result (action);
1179 _update_action (action);
1180 return action->priv->pk_result;
1181 }
1182
1183 /**
1184 * polkit_gnome_action_get_sensitive:
1185 * @action: The #PolKitGnomeAction object
1186 *
1187 * Get the master sensitivity, see PolKitGnomeAction:master-sensitive:
1188 * for details.
1189 *
1190 * Returns: the master sensitivity
1191 */
1192 gboolean
1193 polkit_gnome_action_get_sensitive (PolKitGnomeAction *action)
1194 {
1195 return action->priv->master_sensitive;
1196 }
1197
1198 /**
1199 * polkit_gnome_action_set_sensitive:
1200 * @action: The #PolKitGnomeAction object
1201 * @sensitive: master sensitivity
1202 *
1203 * Set the master sensitivity, see PolKitGnomeAction:master-sensitive:
1204 * for details.
1205 */
1206 void
1207 polkit_gnome_action_set_sensitive (PolKitGnomeAction *action, gboolean sensitive)
1208 {
1209 if (action->priv->master_sensitive == sensitive)
1210 return;
1211 action->priv->master_sensitive = sensitive;
1212 _update_action (action);
1213 }
1214
1215 static void
1216 polkit_gnome_action_set_target_pid (PolKitGnomeAction *action, guint target_pid)
1217 {
1218 action->priv->target_pid = target_pid;
1219 _compute_polkit_result (action);
1220 _update_action (action);
1221 }
1222
1223 /**
1224 * polkit_gnome_action_get_visible:
1225 * @action: The #PolKitGnomeAction object
1226 *
1227 * Get the master visibility, see PolKitGnomeAction:master-visible:
1228 * for details.
1229 *
1230 * Returns: the master visibility
1231 */
1232 gboolean
1233 polkit_gnome_action_get_visible (PolKitGnomeAction *action)
1234 {
1235 return action->priv->master_visible;
1236 }
1237
1238 /**
1239 * polkit_gnome_action_set_visible:
1240 * @action: The #PolKitGnomeAction object
1241 * @visible: master visibility
1242 *
1243 * Set the master visibility, see PolKitGnomeAction:master-visible:
1244 * for details.
1245 */
1246 void
1247 polkit_gnome_action_set_visible (PolKitGnomeAction *action, gboolean visible)
1248 {
1249 if (action->priv->master_visible == visible)
1250 return;
1251 action->priv->master_visible = visible;
1252 _update_action (action);
1253 }
1254
1255 /*----------------------------------------------------------------------------------------------------*/
1256
1257 /**
1258 * polkit_gnome_action_set_self_blocked_visible:
1259 * @action: The #PolKitGnomeAction object
1260 * @visible: new value
1261 *
1262 * Sets the value of visible to use when PolicyKit returns the answer
1263 * no (and the reason is that the user has a self-granted negative
1264 * authorization) for the current #PolKitAction being tracked.
1265 */
1266 static void
1267 polkit_gnome_action_set_self_blocked_visible (PolKitGnomeAction *action, gboolean visible)
1268 {
1269 action->priv->self_blocked_visible = visible;
1270 _update_action (action);
1271 }
1272
1273 /**
1274 * polkit_gnome_action_set_self_blocked_sensitive:
1275 * @action: The #PolKitGnomeAction object
1276 * @sensitive: new value
1277 *
1278 * Sets the value of sensitive to use when PolicyKit returns the
1279 * answer no (and the reason is that the user has a self-granted
1280 * negative authorization) for the current #PolKitAction being
1281 * tracked.
1282 */
1283 static void
1284 polkit_gnome_action_set_self_blocked_sensitive (PolKitGnomeAction *action, gboolean sensitive)
1285 {
1286 action->priv->self_blocked_sensitive = sensitive;
1287 _update_action (action);
1288 }
1289
1290 /**
1291 * polkit_gnome_action_set_self_blocked_short_label:
1292 * @action: The #PolKitGnomeAction object
1293 * @short_label: new value
1294 *
1295 * Sets the value of short-label to use when PolicyKit returns the
1296 * answer no (and the reason is that the user has a self-granted
1297 * negative authorization) for the current #PolKitAction being
1298 * tracked.
1299 */
1300 static void
1301 polkit_gnome_action_set_self_blocked_short_label (PolKitGnomeAction *action, const gchar *short_label)
1302 {
1303 g_free (action->priv->self_blocked_short_label);
1304 action->priv->self_blocked_short_label = g_strdup (short_label);
1305 _update_action (action);
1306 }
1307
1308 /**
1309 * polkit_gnome_action_set_self_blocked_label:
1310 * @action: The #PolKitGnomeAction object
1311 * @label: new value
1312 *
1313 * Sets the value of label to use when PolicyKit returns the answer
1314 * no (and the reason is that the user has a self-granted
1315 * negative authorization) for the current #PolKitAction being
1316 * tracked.
1317 */
1318 static void
1319 polkit_gnome_action_set_self_blocked_label (PolKitGnomeAction *action, const gchar *label)
1320 {
1321 g_free (action->priv->self_blocked_label);
1322 action->priv->self_blocked_label = g_strdup (label);
1323 _update_action (action);
1324 }
1325
1326 /**
1327 * polkit_gnome_action_set_self_blocked_tooltip:
1328 * @action: The #PolKitGnomeAction object
1329 * @tooltip: new value
1330 *
1331 * Sets the value of tooltip to use when PolicyKit returns the answer
1332 * no (and the reason is that the user has a self-granted negative
1333 * authorization) for the current #PolKitAction being tracked.
1334 */
1335 static void
1336 polkit_gnome_action_set_self_blocked_tooltip (PolKitGnomeAction *action, const gchar *tooltip)
1337 {
1338 g_free (action->priv->self_blocked_tooltip);
1339 action->priv->self_blocked_tooltip = g_strdup (tooltip);
1340 _update_action (action);
1341 }
1342
1343 /**
1344 * polkit_gnome_action_set_self_blocked_icon_name:
1345 * @action: The #PolKitGnomeAction object
1346 * @icon_name: new value
1347 *
1348 * Sets the value of icon_name to use when PolicyKit returns the
1349 * answer no (and the reason is that the user has a self-granted
1350 * negative authorization) for the current #PolKitAction being
1351 * tracked.
1352 */
1353 static void
1354 polkit_gnome_action_set_self_blocked_icon_name (PolKitGnomeAction *action, const gchar *icon_name)
1355 {
1356 g_free (action->priv->self_blocked_icon_name);
1357 action->priv->self_blocked_icon_name = g_strdup (icon_name);
1358 _update_action (action);
1359 }
1360
1361 /*----------------------------------------------------------------------------------------------------*/
1362
1363 /**
1364 * polkit_gnome_action_set_no_visible:
1365 * @action: The #PolKitGnomeAction object
1366 * @visible: new value
1367 *
1368 * Sets the value of visible to use when PolicyKit returns the answer
1369 * no for the current #PolKitAction being tracked.
1370 */
1371 static void
1372 polkit_gnome_action_set_no_visible (PolKitGnomeAction *action, gboolean visible)
1373 {
1374 action->priv->no_visible = visible;
1375 _update_action (action);
1376 }
1377
1378 /**
1379 * polkit_gnome_action_set_no_sensitive:
1380 * @action: The #PolKitGnomeAction object
1381 * @sensitive: new value
1382 *
1383 * Sets the value of sensitive to use when PolicyKit returns the answer
1384 * no for the current #PolKitAction being tracked.
1385 */
1386 static void
1387 polkit_gnome_action_set_no_sensitive (PolKitGnomeAction *action, gboolean sensitive)
1388 {
1389 action->priv->no_sensitive = sensitive;
1390 _update_action (action);
1391 }
1392
1393 /**
1394 * polkit_gnome_action_set_no_short_label:
1395 * @action: The #PolKitGnomeAction object
1396 * @short_label: new value
1397 *
1398 * Sets the value of short-label to use when PolicyKit returns the
1399 * answer no for the current #PolKitAction being tracked.
1400 */
1401 static void
1402 polkit_gnome_action_set_no_short_label (PolKitGnomeAction *action, const gchar *short_label)
1403 {
1404 g_free (action->priv->no_short_label);
1405 action->priv->no_short_label = g_strdup (short_label);
1406 _update_action (action);
1407 }
1408
1409 /**
1410 * polkit_gnome_action_set_no_label:
1411 * @action: The #PolKitGnomeAction object
1412 * @label: new value
1413 *
1414 * Sets the value of label to use when PolicyKit returns the answer no
1415 * for the current #PolKitAction being tracked.
1416 */
1417 static void
1418 polkit_gnome_action_set_no_label (PolKitGnomeAction *action, const gchar *label)
1419 {
1420 g_free (action->priv->no_label);
1421 action->priv->no_label = g_strdup (label);
1422 _update_action (action);
1423 }
1424
1425 /**
1426 * polkit_gnome_action_set_no_tooltip:
1427 * @action: The #PolKitGnomeAction object
1428 * @tooltip: new value
1429 *
1430 * Sets the value of tooltip to use when PolicyKit returns the answer
1431 * no for the current #PolKitAction being tracked.
1432 */
1433 static void
1434 polkit_gnome_action_set_no_tooltip (PolKitGnomeAction *action, const gchar *tooltip)
1435 {
1436 g_free (action->priv->no_tooltip);
1437 action->priv->no_tooltip = g_strdup (tooltip);
1438 _update_action (action);
1439 }
1440
1441 /**
1442 * polkit_gnome_action_set_no_icon_name:
1443 * @action: The #PolKitGnomeAction object
1444 * @icon_name: new value
1445 *
1446 * Sets the value of icon_name to use when PolicyKit returns the
1447 * answer no for the current #PolKitAction being tracked.
1448 */
1449 static void
1450 polkit_gnome_action_set_no_icon_name (PolKitGnomeAction *action, const gchar *icon_name)
1451 {
1452 g_free (action->priv->no_icon_name);
1453 action->priv->no_icon_name = g_strdup (icon_name);
1454 _update_action (action);
1455 }
1456
1457 /*----------------------------------------------------------------------------------------------------*/
1458
1459 /**
1460 * polkit_gnome_action_set_auth_visible:
1461 * @action: The #PolKitGnomeAction object
1462 * @visible: new value
1463 *
1464 * Sets the value of visible to use when PolicyKit returns the answer
1465 * auth* for the current #PolKitAction being tracked.
1466 */
1467 static void
1468 polkit_gnome_action_set_auth_visible (PolKitGnomeAction *action, gboolean visible)
1469 {
1470 action->priv->auth_visible = visible;
1471 _update_action (action);
1472 }
1473
1474 /**
1475 * polkit_gnome_action_set_auth_sensitive:
1476 * @action: The #PolKitGnomeAction object
1477 * @sensitive: new value
1478 *
1479 * Sets the value of sensitive to use when PolicyKit returns the answer
1480 * auth* for the current #PolKitAction being tracked.
1481 */
1482 static void
1483 polkit_gnome_action_set_auth_sensitive (PolKitGnomeAction *action, gboolean sensitive)
1484 {
1485 action->priv->auth_sensitive = sensitive;
1486 _update_action (action);
1487 }
1488
1489 /**
1490 * polkit_gnome_action_set_auth_short_label:
1491 * @action: The #PolKitGnomeAction object
1492 * @short_label: new value
1493 *
1494 * Sets the value of short-label to use when PolicyKit returns the
1495 * answer auth for the current #PolKitAction being tracked.
1496 */
1497 static void
1498 polkit_gnome_action_set_auth_short_label (PolKitGnomeAction *action, const gchar *short_label)
1499 {
1500 g_free (action->priv->auth_short_label);
1501 action->priv->auth_short_label = g_strdup (short_label);
1502 _update_action (action);
1503 }
1504
1505 /**
1506 * polkit_gnome_action_set_auth_label:
1507 * @action: The #PolKitGnomeAction object
1508 * @label: new value
1509 *
1510 * Sets the value of label to use when PolicyKit returns the answer auth*
1511 * for the current #PolKitAction being tracked.
1512 */
1513 static void
1514 polkit_gnome_action_set_auth_label (PolKitGnomeAction *action, const gchar *label)
1515 {
1516 g_free (action->priv->auth_label);
1517 action->priv->auth_label = g_strdup (label);
1518 _update_action (action);
1519 }
1520
1521 /**
1522 * polkit_gnome_action_set_auth_tooltip:
1523 * @action: The #PolKitGnomeAction object
1524 * @tooltip: new value
1525 *
1526 * Sets the value of tooltip to use when PolicyKit returns the answer
1527 * auth* for the current #PolKitAction being tracked.
1528 */
1529 static void
1530 polkit_gnome_action_set_auth_tooltip (PolKitGnomeAction *action, const gchar *tooltip)
1531 {
1532 g_free (action->priv->auth_tooltip);
1533 action->priv->auth_tooltip = g_strdup (tooltip);
1534 _update_action (action);
1535 }
1536
1537 /**
1538 * polkit_gnome_action_set_auth_icon_name:
1539 * @action: The #PolKitGnomeAction object
1540 * @icon_name: new value
1541 *
1542 * Sets the value of icon_name to use when PolicyKit returns the
1543 * answer auth* for the current #PolKitAction being tracked.
1544 */
1545 static void
1546 polkit_gnome_action_set_auth_icon_name (PolKitGnomeAction *action, const gchar *icon_name)
1547 {
1548 g_free (action->priv->auth_icon_name);
1549 action->priv->auth_icon_name = g_strdup (icon_name);
1550 _update_action (action);
1551 }
1552
1553 /*----------------------------------------------------------------------------------------------------*/
1554
1555 /**
1556 * polkit_gnome_action_set_yes_visible:
1557 * @action: The #PolKitGnomeAction object
1558 * @visible: new value
1559 *
1560 * Sets the value of visible to use when PolicyKit returns the answer
1561 * yes for the current #PolKitAction being tracked.
1562 */
1563 static void
1564 polkit_gnome_action_set_yes_visible (PolKitGnomeAction *action, gboolean visible)
1565 {
1566 action->priv->yes_visible = visible;
1567 _update_action (action);
1568 }
1569
1570 /**
1571 * polkit_gnome_action_set_yes_sensitive:
1572 * @action: The #PolKitGnomeAction object
1573 * @sensitive: new value
1574 *
1575 * Sets the value of sensitive to use when PolicyKit returns the answer
1576 * yes for the current #PolKitAction being tracked.
1577 */
1578 static void
1579 polkit_gnome_action_set_yes_sensitive (PolKitGnomeAction *action, gboolean sensitive)
1580 {
1581 action->priv->yes_sensitive = sensitive;
1582 _update_action (action);
1583 }
1584
1585 /**
1586 * polkit_gnome_action_set_yes_short_label:
1587 * @action: The #PolKitGnomeAction object
1588 * @short_label: new value
1589 *
1590 * Sets the value of short-label to use when PolicyKit returns the
1591 * answer yes for the current #PolKitAction being tracked.
1592 */
1593 static void
1594 polkit_gnome_action_set_yes_short_label (PolKitGnomeAction *action, const gchar *short_label)
1595 {
1596 g_free (action->priv->yes_short_label);
1597 action->priv->yes_short_label = g_strdup (short_label);
1598 _update_action (action);
1599 }
1600
1601 /**
1602 * polkit_gnome_action_set_yes_label:
1603 * @action: The #PolKitGnomeAction object
1604 * @label: new value
1605 *
1606 * Sets the value of label to use when PolicyKit returns the answer yes
1607 * for the current #PolKitAction being tracked.
1608 */
1609 static void
1610 polkit_gnome_action_set_yes_label (PolKitGnomeAction *action, const gchar *label)
1611 {
1612 g_free (action->priv->yes_label);
1613 action->priv->yes_label = g_strdup (label);
1614 _update_action (action);
1615 }
1616
1617 /**
1618 * polkit_gnome_action_set_yes_tooltip:
1619 * @action: The #PolKitGnomeAction object
1620 * @tooltip: new value
1621 *
1622 * Sets the value of tooltip to use when PolicyKit returns the answer
1623 * yes for the current #PolKitAction being tracked.
1624 */
1625 static void
1626 polkit_gnome_action_set_yes_tooltip (PolKitGnomeAction *action, const gchar *tooltip)
1627 {
1628 g_free (action->priv->yes_tooltip);
1629 action->priv->yes_tooltip = g_strdup (tooltip);
1630 _update_action (action);
1631 }
1632
1633 /**
1634 * polkit_gnome_action_set_yes_icon_name:
1635 * @action: The #PolKitGnomeAction object
1636 * @icon_name: new value
1637 *
1638 * Sets the value of icon_name to use when PolicyKit returns the
1639 * answer yes for the current #PolKitAction being tracked.
1640 */
1641 static void
1642 polkit_gnome_action_set_yes_icon_name (PolKitGnomeAction *action, const gchar *icon_name)
1643 {
1644 g_free (action->priv->yes_icon_name);
1645 action->priv->yes_icon_name = g_strdup (icon_name);
1646 _update_action (action);
1647 }
1648
1649 /*----------------------------------------------------------------------------------------------------*/
1650
1651 static void
1652 get_property (GObject *object,
1653 guint prop_id,
1654 GValue *value,
1655 GParamSpec *pspec)
1656 {
1657 PolKitGnomeAction *action = POLKIT_GNOME_ACTION (object);
1658
1659 switch (prop_id)
1660 {
1661 case PROP_POLKIT_ACTION_OBJ:
1662 g_value_set_pointer (value, action->priv->polkit_action != NULL ? polkit_action_ref (action->priv->polkit_action) : NULL);
1663 break;
1664
1665 case PROP_POLKIT_ACTION_OBJ_SUFFICIENT:
1666 //TODO: g_value_set_pointer (value, action->priv->polkit_action != NULL ? polkit_action_ref (action->priv->polkit_action) : NULL);
1667 break;
1668
1669 case PROP_POLKIT_SELF_BLOCKED_VISIBLE:
1670 g_value_set_boolean (value, action->priv->self_blocked_visible);
1671 break;
1672 case PROP_POLKIT_SELF_BLOCKED_SENSITIVE:
1673 g_value_set_boolean (value, action->priv->self_blocked_sensitive);
1674 break;
1675 case PROP_POLKIT_SELF_BLOCKED_SHORT_LABEL:
1676 g_value_set_string (value, action->priv->self_blocked_short_label);
1677 break;
1678 case PROP_POLKIT_SELF_BLOCKED_LABEL:
1679 g_value_set_string (value, action->priv->self_blocked_label);
1680 break;
1681 case PROP_POLKIT_SELF_BLOCKED_TOOLTIP:
1682 g_value_set_string (value, action->priv->self_blocked_tooltip);
1683 break;
1684 case PROP_POLKIT_SELF_BLOCKED_ICON_NAME:
1685 g_value_set_string (value, action->priv->self_blocked_icon_name);
1686 break;
1687
1688 case PROP_POLKIT_NO_VISIBLE:
1689 g_value_set_boolean (value, action->priv->no_visible);
1690 break;
1691 case PROP_POLKIT_NO_SENSITIVE:
1692 g_value_set_boolean (value, action->priv->no_sensitive);
1693 break;
1694 case PROP_POLKIT_NO_SHORT_LABEL:
1695 g_value_set_string (value, action->priv->no_short_label);
1696 break;
1697 case PROP_POLKIT_NO_LABEL:
1698 g_value_set_string (value, action->priv->no_label);
1699 break;
1700 case PROP_POLKIT_NO_TOOLTIP:
1701 g_value_set_string (value, action->priv->no_tooltip);
1702 break;
1703 case PROP_POLKIT_NO_ICON_NAME:
1704 g_value_set_string (value, action->priv->no_icon_name);
1705 break;
1706
1707 case PROP_POLKIT_AUTH_VISIBLE:
1708 g_value_set_boolean (value, action->priv->auth_visible);
1709 break;
1710 case PROP_POLKIT_AUTH_SENSITIVE:
1711 g_value_set_boolean (value, action->priv->auth_sensitive);
1712 break;
1713 case PROP_POLKIT_AUTH_SHORT_LABEL:
1714 g_value_set_string (value, action->priv->auth_short_label);
1715 break;
1716 case PROP_POLKIT_AUTH_LABEL:
1717 g_value_set_string (value, action->priv->auth_label);
1718 break;
1719 case PROP_POLKIT_AUTH_TOOLTIP:
1720 g_value_set_string (value, action->priv->auth_tooltip);
1721 break;
1722 case PROP_POLKIT_AUTH_ICON_NAME:
1723 g_value_set_string (value, action->priv->auth_icon_name);
1724 break;
1725
1726 case PROP_POLKIT_YES_VISIBLE:
1727 g_value_set_boolean (value, action->priv->yes_visible);
1728 break;
1729 case PROP_POLKIT_YES_SENSITIVE:
1730 g_value_set_boolean (value, action->priv->yes_sensitive);
1731 break;
1732 case PROP_POLKIT_YES_SHORT_LABEL:
1733 g_value_set_string (value, action->priv->yes_short_label);
1734 break;
1735 case PROP_POLKIT_YES_LABEL:
1736 g_value_set_string (value, action->priv->yes_label);
1737 break;
1738 case PROP_POLKIT_YES_TOOLTIP:
1739 g_value_set_string (value, action->priv->yes_tooltip);
1740 break;
1741 case PROP_POLKIT_YES_ICON_NAME:
1742 g_value_set_string (value, action->priv->yes_icon_name);
1743 break;
1744
1745 case PROP_POLKIT_MASTER_VISIBLE:
1746 g_value_set_boolean (value, action->priv->master_visible);
1747 break;
1748 case PROP_POLKIT_MASTER_SENSITIVE:
1749 g_value_set_boolean (value, action->priv->master_sensitive);
1750 break;
1751
1752 case PROP_POLKIT_TARGET_PID:
1753 g_value_set_uint (value, action->priv->target_pid);
1754 break;
1755
1756 default:
1757 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
1758 break;
1759 }
1760 }
1761
1762 static void
1763 set_property (GObject *object,
1764 guint prop_id,
1765 const GValue *value,
1766 GParamSpec *pspec)
1767 {
1768 PolKitGnomeAction *action = POLKIT_GNOME_ACTION (object);
1769
1770 switch (prop_id)
1771 {
1772 case PROP_POLKIT_ACTION_OBJ:
1773 polkit_gnome_action_set_polkit_action (action, g_value_get_pointer (value));
1774 break;
1775
1776 case PROP_POLKIT_ACTION_OBJ_SUFFICIENT:
1777 polkit_gnome_action_set_polkit_action_sufficient (action, value);
1778 break;
1779
1780 case PROP_POLKIT_SELF_BLOCKED_VISIBLE:
1781 polkit_gnome_action_set_self_blocked_visible (action, g_value_get_boolean (value));
1782 break;
1783 case PROP_POLKIT_SELF_BLOCKED_SENSITIVE:
1784 polkit_gnome_action_set_self_blocked_sensitive (action, g_value_get_boolean (value));
1785 break;
1786 case PROP_POLKIT_SELF_BLOCKED_SHORT_LABEL:
1787 polkit_gnome_action_set_self_blocked_short_label (action, g_value_get_string (value));
1788 break;
1789 case PROP_POLKIT_SELF_BLOCKED_LABEL:
1790 polkit_gnome_action_set_self_blocked_label (action, g_value_get_string (value));
1791 break;
1792 case PROP_POLKIT_SELF_BLOCKED_TOOLTIP:
1793 polkit_gnome_action_set_self_blocked_tooltip (action, g_value_get_string (value));
1794 break;
1795 case PROP_POLKIT_SELF_BLOCKED_ICON_NAME:
1796 polkit_gnome_action_set_self_blocked_icon_name (action, g_value_get_string (value));
1797 break;
1798
1799 case PROP_POLKIT_NO_VISIBLE:
1800 polkit_gnome_action_set_no_visible (action, g_value_get_boolean (value));
1801 break;
1802 case PROP_POLKIT_NO_SENSITIVE:
1803 polkit_gnome_action_set_no_sensitive (action, g_value_get_boolean (value));
1804 break;
1805 case PROP_POLKIT_NO_SHORT_LABEL:
1806 polkit_gnome_action_set_no_short_label (action, g_value_get_string (value));
1807 break;
1808 case PROP_POLKIT_NO_LABEL:
1809 polkit_gnome_action_set_no_label (action, g_value_get_string (value));
1810 break;
1811 case PROP_POLKIT_NO_TOOLTIP:
1812 polkit_gnome_action_set_no_tooltip (action, g_value_get_string (value));
1813 break;
1814 case PROP_POLKIT_NO_ICON_NAME:
1815 polkit_gnome_action_set_no_icon_name (action, g_value_get_string (value));
1816 break;
1817
1818 case PROP_POLKIT_AUTH_VISIBLE:
1819 polkit_gnome_action_set_auth_visible (action, g_value_get_boolean (value));
1820 break;
1821 case PROP_POLKIT_AUTH_SENSITIVE:
1822 polkit_gnome_action_set_auth_sensitive (action, g_value_get_boolean (value));
1823 break;
1824 case PROP_POLKIT_AUTH_SHORT_LABEL:
1825 polkit_gnome_action_set_auth_short_label (action, g_value_get_string (value));
1826 break;
1827 case PROP_POLKIT_AUTH_LABEL:
1828 polkit_gnome_action_set_auth_label (action, g_value_get_string (value));
1829 break;
1830 case PROP_POLKIT_AUTH_TOOLTIP:
1831 polkit_gnome_action_set_auth_tooltip (action, g_value_get_string (value));
1832 break;
1833 case PROP_POLKIT_AUTH_ICON_NAME:
1834 polkit_gnome_action_set_auth_icon_name (action, g_value_get_string (value));
1835 break;
1836
1837 case PROP_POLKIT_YES_VISIBLE:
1838 polkit_gnome_action_set_yes_visible (action, g_value_get_boolean (value));
1839 break;
1840 case PROP_POLKIT_YES_SENSITIVE:
1841 polkit_gnome_action_set_yes_sensitive (action, g_value_get_boolean (value));
1842 break;
1843 case PROP_POLKIT_YES_SHORT_LABEL:
1844 polkit_gnome_action_set_yes_short_label (action, g_value_get_string (value));
1845 break;
1846 case PROP_POLKIT_YES_LABEL:
1847 polkit_gnome_action_set_yes_label (action, g_value_get_string (value));
1848 break;
1849 case PROP_POLKIT_YES_TOOLTIP:
1850 polkit_gnome_action_set_yes_tooltip (action, g_value_get_string (value));
1851 break;
1852 case PROP_POLKIT_YES_ICON_NAME:
1853 polkit_gnome_action_set_yes_icon_name (action, g_value_get_string (value));
1854 break;
1855
1856 case PROP_POLKIT_MASTER_VISIBLE:
1857 polkit_gnome_action_set_visible (action, g_value_get_boolean (value));
1858 break;
1859 case PROP_POLKIT_MASTER_SENSITIVE:
1860 polkit_gnome_action_set_sensitive (action, g_value_get_boolean (value));
1861 break;
1862
1863 case PROP_POLKIT_TARGET_PID:
1864 polkit_gnome_action_set_target_pid (action, g_value_get_uint (value));
1865 break;
1866
1867 default:
1868 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
1869 break;
1870 }
1871 }
1872
1873 static XID
1874 _get_xid_from_proxy_widgets (PolKitGnomeAction *action)
1875 {
1876 XID xid;
1877 GSList *i;
1878 GSList *proxies;
1879
1880 /* unfortunately there's no way to get the proxy that caused
1881 * the ::activate signal.. so go through proxies and pick the
1882 * first one.. */
1883
1884 /* TODO: this won't work for menus (mclasen) */
1885
1886 xid = 0;
1887
1888 proxies = gtk_action_get_proxies (GTK_ACTION (action));
1889
1890 for (i = proxies; i != NULL; i = i->next) {
1891 GtkWidget *top_level;
1892 GtkWidget *proxy = i->data;
1893
1894 top_level = gtk_widget_get_toplevel (proxy);
1895
1896 if (top_level == NULL)
1897 continue;
1898
1899 if (! (GTK_WIDGET_TOPLEVEL (top_level) && GTK_IS_WINDOW (top_level)))
1900 continue;
1901
1902 if (top_level->window == NULL)
1903 continue;
1904
1905 xid = gdk_x11_drawable_get_xid (GDK_WINDOW (top_level->window));
1906
1907 if (xid != 0)
1908 break;
1909 }
1910
1911 return xid;
1912 }
1913
1914 static void
1915 _show_dialog_cb (PolKitAction *pk_action,
1916 gboolean gained_privilege,
1917 GError *error,
1918 gpointer user_data)
1919 {
1920 PolKitGnomeAction *action = POLKIT_GNOME_ACTION (user_data);
1921
1922 if (gained_privilege) {
1923 /* better make sure our local pk_result is up-to-date.. */
1924 _compute_polkit_result (action);
1925
1926 //g_debug ("end auth, obtained it");
1927
1928 /* now emit the 'activate' signal again.. */
1929 gtk_action_activate (GTK_ACTION (action));
1930
1931 } else {
1932 //g_debug ("end auth, didn't obtain it");
1933
1934 if (error != NULL) {
1935 g_warning ("Caught error: %s", error->message);
1936 g_error_free (error);
1937 }
1938 }
1939
1940 g_signal_emit (action, signals [AUTH_END_SIGNAL], 0, gained_privilege);
1941 }
1942
1943 static void
1944 _auth_start (PolKitGnomeAction *action)
1945 {
1946 GError *error = NULL;
1947
1948 //g_debug ("starting auth");
1949 if (!polkit_gnome_auth_obtain (action->priv->polkit_action,
1950 (guint) _get_xid_from_proxy_widgets (action),
1951 (guint) _get_target_pid (action),
1952 _show_dialog_cb,
1953 action,
1954 &error)) {
1955 g_warning ("Caught error: %s", error->message);
1956 g_error_free (error);
1957 }
1958 }
1959
1960 static void
1961 polkit_gnome_action_activate (PolKitGnomeAction *action)
1962 {
1963 switch (action->priv->pk_result) {
1964 case POLKIT_RESULT_YES:
1965 /* If PolicyKit says yes.. then let 'activate' signal
1966 * propagate
1967 */
1968 break;
1969
1970 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_ONE_SHOT:
1971 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH:
1972 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_SESSION:
1973 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_ALWAYS:
1974 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_ONE_SHOT:
1975 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH:
1976 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_SESSION:
1977 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_ALWAYS:
1978 /* Otherwise, if the action needs auth.. stop the emission
1979 * and start auth process..
1980 */
1981
1982 g_signal_stop_emission_by_name (action, "activate");
1983
1984 if (action->priv->polkit_action != NULL) {
1985 g_signal_emit (action, signals [AUTH_START_SIGNAL], 0);
1986 }
1987 break;
1988
1989 default:
1990 case POLKIT_RESULT_NO:
1991 /* If PolicyKit says no... and we got here.. it means
1992 * that the user set the property "no-sensitive" to
1993 * TRUE.. Otherwise we couldn't be handling this signal.
1994 *
1995 * Hence, they probably have a good reason for doing
1996 * this so do let the 'activate' signal propagate..
1997 */
1998 break;
1999 }
2000 }
2001
2002 static void
2003 _update_tooltips (PolKitGnomeAction *action, GParamSpec *arg1, GtkWidget *widget)
2004 {
2005 GtkTooltips *tips;
2006 GtkTooltipsData *ttd;
2007 gchar *tip_str;
2008
2009 ttd = gtk_tooltips_data_get (widget);
2010
2011 if (ttd == NULL) {
2012 tips = gtk_tooltips_new ();
2013 } else {
2014 tips = ttd->tooltips;
2015 }
2016
2017 tip_str = NULL;
2018 g_object_get (action, "tooltip", &tip_str, NULL);
2019
2020 /* TODO: if there is no tooltip the tip_str is NULL.
2021 * Unfortunately it seems that the tooltip isn't
2022 * cleared.. mmm.. gtk+ bug?
2023 */
2024 gtk_tooltips_set_tip (tips, widget, tip_str, tip_str);
2025 g_free (tip_str);
2026 }
2027
2028 static void
2029 _update_label (PolKitGnomeAction *action, GParamSpec *arg1, GtkWidget *widget)
2030 {
2031 char *label;
2032
2033 label = NULL;
2034 g_object_get (action, "label", &label, NULL);
2035 gtk_button_set_label (GTK_BUTTON (widget), label);
2036 g_free (label);
2037 }
2038
2039 static void
2040 _update_icon_name (PolKitGnomeAction *action, GParamSpec *arg1, GtkWidget *widget)
2041 {
2042 gtk_button_set_image (GTK_BUTTON (widget), gtk_action_create_icon (GTK_ACTION (action), GTK_ICON_SIZE_BUTTON));
2043 }
2044
2045 static void
2046 _button_clicked (GtkButton *button, PolKitGnomeAction *action)
2047 {
2048 /* g_debug ("in _button_clicked"); */
2049
2050 switch (action->priv->pk_result) {
2051 case POLKIT_RESULT_YES:
2052 break;
2053
2054 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_ONE_SHOT:
2055 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH:
2056 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_SESSION:
2057 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_ALWAYS:
2058 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_ONE_SHOT:
2059 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH:
2060 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_SESSION:
2061 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_ALWAYS:
2062 /* g_debug ("blocking clicked"); */
2063 g_signal_stop_emission_by_name (button, "clicked");
2064 break;
2065
2066 default:
2067 case POLKIT_RESULT_NO:
2068 break;
2069 }
2070 }
2071
2072 static void
2073 _button_auth_end (PolKitGnomeAction *action, gboolean gained_privilege, GtkWidget *button)
2074 {
2075 /* g_debug ("in _button_auth_end gained_privilege=%d", gained_privilege); */
2076 if (gained_privilege) {
2077 /* g_debug ("emitting clicked"); */
2078 gtk_action_block_activate_from (GTK_ACTION (action), button);
2079 g_signal_emit_by_name (button, "clicked");
2080 gtk_action_unblock_activate_from (GTK_ACTION (action), button);
2081 }
2082 }
2083
2084 /**
2085 * polkit_gnome_action_create_button:
2086 * @action: The #PolKitGnomeAction object
2087 *
2088 * Create a button for the given action that displays the label,
2089 * tooltip and icon_name corresponding to whether the state, according
2090 * to PolicyKit, is no, auth or yes.
2091 *
2092 * Returns: A #GtkButton instance connected to the action
2093 */
2094 GtkWidget *
2095 polkit_gnome_action_create_button (PolKitGnomeAction *action)
2096 {
2097 GtkWidget *button;
2098
2099 button = gtk_button_new ();
2100
2101 gtk_action_connect_proxy (GTK_ACTION (action), button);
2102
2103 _update_label (action, NULL, button);
2104 _update_tooltips (action, NULL, button);
2105 _update_icon_name (action, NULL, button);
2106
2107 g_signal_connect (action, "notify::tooltip", G_CALLBACK (_update_tooltips), button);
2108 g_signal_connect (action, "notify::label", G_CALLBACK (_update_label), button);
2109 g_signal_connect (action, "notify::icon-name", G_CALLBACK (_update_icon_name), button);
2110
2111 /* hook into the ::clicked signal and block it unless
2112 * PolicyKit says it's good to go. This is necessary when the
2113 * button is embedded in e.g. a GtkDialog since that class
2114 * hooks in ::clicked signals from GtkButton instances...
2115 *
2116 * Also, hook into ::auth_end signal from the
2117 * PolKitGnomeAction and synthesize ::clicked the signal if
2118 * the privilege was gained..
2119 */
2120 g_signal_connect (button, "clicked", G_CALLBACK (_button_clicked), action);
2121 g_signal_connect (action, "auth-end", G_CALLBACK (_button_auth_end), button);
2122
2123 return button;
2124 }
+0
-96
polkit-gnome/polkit-gnome-action.h less more
0 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
1 /***************************************************************************
2 *
3 * polkit-gnome-action.h :
4 *
5 * Copyright (C) 2007 David Zeuthen, <david@fubar.dk>
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public License
9 * as published by the Free Software Foundation; either version 2 of
10 * the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
20 * 02111-1307, USA.
21 *
22 **************************************************************************/
23
24 #if !defined (POLKIT_GNOME_COMPILATION) && !defined(_POLKIT_GNOME_INSIDE_POLKIT_GNOME_H)
25 #error "Only <polkit-gnome/polkit-gnome.h> can be included directly, this file may disappear or change contents."
26 #endif
27
28 #ifndef __POLKIT_GNOME_ACTION_H__
29 #define __POLKIT_GNOME_ACTION_H__
30
31 #include <gtk/gtk.h>
32 #include <polkit/polkit.h>
33
34 G_BEGIN_DECLS
35
36 #define POLKIT_GNOME_TYPE_ACTION (polkit_gnome_action_get_type ())
37 #define POLKIT_GNOME_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POLKIT_GNOME_TYPE_ACTION, PolKitGnomeAction))
38 #define POLKIT_GNOME_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), POLKIT_GNOME_TYPE_ACTION, PolKitGnomeActionClass))
39 #define POLKIT_GNOME_IS_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POLKIT_GNOME_TYPE_ACTION))
40 #define POLKIT_GNOME_IS_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), POLKIT_GNOME_TYPE_ACTION))
41 #define POLKIT_GNOME_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), POLKIT_GNOME_TYPE_ACTION, PolKitGnomeActionClass))
42
43 typedef struct _PolKitGnomeAction PolKitGnomeAction;
44 typedef struct _PolKitGnomeActionPrivate PolKitGnomeActionPrivate;
45 typedef struct _PolKitGnomeActionClass PolKitGnomeActionClass;
46
47 /**
48 * PolKitGnomeAction:
49 *
50 * The PolKitGnomeAction struct contains only private data members and should not be accessed directly.
51 */
52 struct _PolKitGnomeAction
53 {
54 /*< private >*/
55 GtkAction parent;
56 PolKitGnomeActionPrivate *priv;
57 };
58
59 struct _PolKitGnomeActionClass
60 {
61 GtkActionClass parent_class;
62
63 /* Signals */
64 void (* auth_start) (PolKitGnomeAction *action);
65 void (* auth_end) (PolKitGnomeAction *action, gboolean gained_privilege);
66 void (* polkit_result_changed) (PolKitGnomeAction *action, PolKitResult current_result);
67
68 /* Padding for future expansion */
69 void (*_reserved1) (void);
70 void (*_reserved2) (void);
71 void (*_reserved3) (void);
72 void (*_reserved4) (void);
73 };
74
75 GType polkit_gnome_action_get_type (void) G_GNUC_CONST;
76 PolKitGnomeAction *polkit_gnome_action_new (const gchar *name);
77 PolKitGnomeAction *polkit_gnome_action_new_default (const gchar *name,
78 PolKitAction *polkit_action,
79 const gchar *label,
80 const gchar *tooltip);
81 PolKitResult polkit_gnome_action_get_polkit_result (PolKitGnomeAction *action);
82
83 gboolean polkit_gnome_action_get_sensitive (PolKitGnomeAction *action);
84 void polkit_gnome_action_set_sensitive (PolKitGnomeAction *action,
85 gboolean sensitive);
86
87 gboolean polkit_gnome_action_get_visible (PolKitGnomeAction *action);
88 void polkit_gnome_action_set_visible (PolKitGnomeAction *action,
89 gboolean visible);
90
91 GtkWidget *polkit_gnome_action_create_button (PolKitGnomeAction *action);
92
93 G_END_DECLS
94
95 #endif /* __POLKIT_GNOME_ACTION_H__ */
+0
-167
polkit-gnome/polkit-gnome-auth.c less more
0 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
1 /***************************************************************************
2 *
3 * polkit-gnome-auth.c : Show authentication dialogs to gain privileges
4 *
5 * Copyright (C) 2007 David Zeuthen, <david@fubar.dk>
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public License
9 * as published by the Free Software Foundation; either version 2 of
10 * the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
20 * 02111-1307, USA.
21 *
22 **************************************************************************/
23
24 #ifdef HAVE_CONFIG_H
25 # include "config.h"
26 #endif
27
28 #include <stdlib.h>
29 #include <stdio.h>
30 #include <unistd.h>
31 #include <signal.h>
32 #include <errno.h>
33 #include <string.h>
34 #include <sys/types.h>
35 #include <sys/stat.h>
36 #include <sys/wait.h>
37 #include <fcntl.h>
38
39 #include <glib.h>
40 #include <glib/gi18n-lib.h>
41 #include <glib-object.h>
42
43 #include <gtk/gtk.h>
44 #include <gdk/gdkx.h>
45
46 #define DBUS_API_SUBJECT_TO_CHANGE
47 #include <dbus/dbus-glib.h>
48 #include <dbus/dbus-glib-lowlevel.h>
49
50 #include "polkit-gnome-auth.h"
51
52 /**
53 * SECTION:polkit-gnome-auth
54 * @title: Authentication Dialogs
55 * @short_description: Show authentication dialogs to gain privileges
56 *
57 * Show authentication dialogs to gain privileges.
58 *
59 **/
60
61
62 typedef struct {
63 PolKitAction *action;
64 PolKitGnomeAuthCB callback;
65 gpointer user_data;
66 } CallClosure;
67
68 static void
69 _notify_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
70 {
71 GError *error;
72 CallClosure *c = (CallClosure *) user_data;
73 gboolean gained_privilege;
74
75 error = NULL;
76 if (!dbus_g_proxy_end_call (proxy, call, &error, G_TYPE_BOOLEAN, &gained_privilege, G_TYPE_INVALID)) {
77 gained_privilege = FALSE;
78 }
79
80 /* perform the callback */
81 c->callback (c->action, gained_privilege, error, c->user_data);
82
83 g_object_unref (proxy);
84 polkit_action_unref (c->action);
85 }
86
87 /**
88 * polkit_gnome_auth_obtain:
89 * @action: The #PolKitAction to make the user authenticate for
90 * @xid: X11 window ID for the window that the dialog will be transient for. If there is no window, pass 0.
91 * @pid: Process ID of process to grant authorization to. Normally one wants to pass result of getpid().
92 * @callback: Function to call when authentication is done
93 * @user_data: Data to pass to the callback function
94 * @error: Return location for error
95 *
96 * Applications can use this function to show a dialog for the user
97 * asking her to authenticate in order to gain privileges to do the
98 * given action. The authentication, for security reasons, happens in
99 * a separate process; this function is merely a wrapper around a
100 * D-Bus call across the session message bus to the
101 * <literal>org.freedesktop.PolicyKit.AuthenticationAgent</literal>
102 * service. Depending on the setup, this may be the Authentication
103 * Agent shipped with PolicyKit-gnome or it may be another
104 * implementation. For example, if the user is in KDE it may be an
105 * Authentication Agent using the Qt toolkit.
106 *
107 * The Authentication Agent shipped with PolicyKit-gnome is described
108 * in <link linkend="ref-auth-daemon">this section</link>.
109 *
110 * This function is similar to the polkit_auth_obtain() function
111 * supplied in <literal>libpolkit-dbus</literal> except that this
112 * function is asynchronous.
113 *
114 * Returns: #TRUE if the authentication session was scheduled to
115 * start. #FALSE if error is set (and no callback will be made).
116 */
117 gboolean
118 polkit_gnome_auth_obtain (PolKitAction *action,
119 guint xid,
120 pid_t pid,
121 PolKitGnomeAuthCB callback,
122 gpointer user_data,
123 GError **error)
124 {
125 char *polkit_action_id;
126 gboolean ret;
127 CallClosure *c;
128 DBusGConnection *session_bus;
129 DBusGProxy *polkit_gnome_proxy;
130
131 ret = FALSE;
132
133 if ((session_bus = dbus_g_bus_get (DBUS_BUS_SESSION, error)) == NULL) {
134 goto error;
135 }
136
137 /* TODO: this can fail.. */
138 polkit_action_get_action_id (action, &polkit_action_id);
139
140 polkit_gnome_proxy = dbus_g_proxy_new_for_name (session_bus,
141 "org.freedesktop.PolicyKit.AuthenticationAgent", /* bus name */
142 "/", /* object */
143 "org.freedesktop.PolicyKit.AuthenticationAgent");/* interface */
144
145 c = g_new0 (CallClosure, 1);
146 c->action = polkit_action_ref (action);
147 c->callback = callback;
148 c->user_data = user_data;
149
150 dbus_g_proxy_begin_call_with_timeout (polkit_gnome_proxy,
151 "ObtainAuthorization",
152 _notify_callback,
153 c,
154 g_free,
155 INT_MAX,
156 /* parameters: */
157 G_TYPE_STRING, polkit_action_id, /* action_id */
158 G_TYPE_UINT, xid, /* X11 window ID */
159 G_TYPE_UINT, pid, /* process id */
160 G_TYPE_INVALID);
161
162 ret = TRUE;
163 error:
164 return ret;
165 }
166
+0
-55
polkit-gnome/polkit-gnome-auth.h less more
0 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
1 /***************************************************************************
2 *
3 * polkit-gnome-auth.h : Show authentication dialogs to gain privileges
4 *
5 * Copyright (C) 2007 David Zeuthen, <david@fubar.dk>
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public License
9 * as published by the Free Software Foundation; either version 2 of
10 * the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
20 * 02111-1307, USA.
21 *
22 **************************************************************************/
23
24 #if !defined (POLKIT_GNOME_COMPILATION) && !defined(_POLKIT_GNOME_INSIDE_POLKIT_GNOME_H)
25 #error "Only <polkit-gnome/polkit-gnome.h> can be included directly, this file may disappear or change contents."
26 #endif
27
28 #ifndef __POLKIT_GNOME_AUTH_H
29 #define __POLKIT_GNOME_AUTH_H
30
31 #include <polkit/polkit.h>
32
33 /**
34 * PolKitGnomeAuthCB:
35 * @action: the #PolKitAction passed in polkit_gnome_auth_show_dialog()
36 * @gained_privilege: whether the user gained the privilege. Set to
37 * #FALSE if error is set. If set to #TRUE, error will not be set.
38 * @error: if the call failed, this parameter will be non-#NULL. The
39 * callee shall free the error.
40 * @user_data: user data
41 *
42 * The type of the callback function for
43 * polkit_gnome_auth_show_dialog().
44 */
45 typedef void (*PolKitGnomeAuthCB) (PolKitAction *action, gboolean gained_privilege, GError *error, gpointer user_data);
46
47 gboolean polkit_gnome_auth_obtain (PolKitAction *action,
48 guint xid,
49 pid_t pid,
50 PolKitGnomeAuthCB callback,
51 gpointer user_data,
52 GError **error);
53
54 #endif /* __POLKIT_GNOME_AUTH_H */
+0
-370
polkit-gnome/polkit-gnome-context.c less more
0 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
1 /***************************************************************************
2 *
3 * polkit-gnome-context.c : Convenience functions for using PolicyKit
4 * from GTK+ and GNOME applications.
5 *
6 * Copyright (C) 2007 David Zeuthen, <david@fubar.dk>
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
21 * 02111-1307, USA.
22 *
23 **************************************************************************/
24
25 #ifdef HAVE_CONFIG_H
26 # include "config.h"
27 #endif
28
29 #include <stdlib.h>
30 #include <stdio.h>
31 #include <unistd.h>
32 #include <signal.h>
33 #include <errno.h>
34 #include <string.h>
35 #include <sys/types.h>
36 #include <sys/stat.h>
37 #include <sys/wait.h>
38 #include <fcntl.h>
39
40 #include <glib.h>
41 #include <glib/gi18n-lib.h>
42 #include <glib-object.h>
43
44 #include <gtk/gtk.h>
45 #include <gdk/gdkx.h>
46
47 #define DBUS_API_SUBJECT_TO_CHANGE
48 #include <dbus/dbus-glib.h>
49 #include <dbus/dbus-glib-lowlevel.h>
50
51 #include <polkit/polkit.h>
52 #include <polkit-dbus/polkit-dbus.h>
53
54 #include "polkit-gnome-context.h"
55
56 /**
57 * SECTION:polkit-gnome-context
58 * @short_description: Convenience functions for using PolicyKit from GTK+ and GNOME applications.
59 *
60 * This class provides convenience functions for using PolicyKit from
61 * GTK+ and GNOME applications including setting up main loop
62 * integration and system bus connections. Rather than using
63 * callbacks, GObject signals are provided when external factors
64 * change (e.g. the PolicyKit.conf configuration file changes or
65 * ConsoleKit reports activity changes).
66 *
67 * Actual usage of PolicyKit is still through the main PolicyKit API
68 * through the public pk_context and pk_tracker variables.
69 *
70 * This class is implemented as a singleton meaning that several
71 * callers will share the underlying #PolKitContext and #PolKitTracker
72 * objects. Do not use any of the life cycle methods of these objects;
73 * only use them to gather information.
74 **/
75
76 #define POLKIT_GNOME_CONTEXT_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), POLKIT_GNOME_TYPE_CONTEXT, PolKitGnomeContextPrivate))
77
78 struct _PolKitGnomeContextPrivate
79 {
80 DBusGConnection *system_bus;
81 };
82
83 enum
84 {
85 CONFIG_CHANGED,
86 CONSOLE_KIT_DB_CHANGED,
87 LAST_SIGNAL
88 };
89
90 /* our static singleton instance */
91 static PolKitGnomeContext *_singleton = NULL;
92
93 G_DEFINE_TYPE (PolKitGnomeContext, polkit_gnome_context, G_TYPE_OBJECT)
94
95 static GObjectClass *parent_class = NULL;
96 static guint signals[LAST_SIGNAL] = { 0 };
97
98 static void
99 polkit_gnome_context_init (PolKitGnomeContext *context)
100 {
101 context->priv = POLKIT_GNOME_CONTEXT_GET_PRIVATE (context);
102 }
103
104 static void
105 polkit_gnome_context_finalize (GObject *object)
106 {
107 PolKitGnomeContext *context;
108
109 context = POLKIT_GNOME_CONTEXT (object);
110
111 /* Remove the match rules we added; pass NULL for error so we
112 * don't block; we can't really properly handle the error
113 * anyway...
114 */
115 dbus_bus_remove_match (dbus_g_connection_get_connection (_singleton->priv->system_bus),
116 "type='signal'"
117 ",interface='"DBUS_INTERFACE_DBUS"'"
118 ",sender='"DBUS_SERVICE_DBUS"'"
119 ",member='NameOwnerChanged'",
120 NULL);
121 dbus_bus_remove_match (dbus_g_connection_get_connection (_singleton->priv->system_bus),
122 "type='signal',sender='org.freedesktop.ConsoleKit'",
123 NULL);
124
125 if (context->pk_context != NULL) {
126 polkit_context_unref (context->pk_context);
127 }
128
129 if (context->pk_tracker != NULL) {
130 polkit_tracker_unref (context->pk_tracker);
131 }
132
133 _singleton = NULL;
134
135 G_OBJECT_CLASS (polkit_gnome_context_parent_class)->finalize (object);
136 }
137
138 static void
139 polkit_gnome_context_class_init (PolKitGnomeContextClass *klass)
140 {
141 GObjectClass *gobject_class;
142
143 parent_class = g_type_class_peek_parent (klass);
144 gobject_class = G_OBJECT_CLASS (klass);
145
146 gobject_class->finalize = polkit_gnome_context_finalize;
147
148 /**
149 * PolKitGnomeContext::config-changed:
150 * @context: the object
151 *
152 * The ::config-changed signal is emitted when PolicyKit
153 * configuration (e.g. /etc/PolicyKit/PolicyKit.conf or
154 * .policy files) changes content.
155 *
156 * As this is one contributing factor to what answer PolicyKit
157 * will return, the caller should act on this signal and query
158 * PolicyKit for any actions it cares about.
159 **/
160 signals [CONFIG_CHANGED] =
161 g_signal_new ("config-changed",
162 G_TYPE_FROM_CLASS (gobject_class),
163 G_SIGNAL_RUN_LAST,
164 G_STRUCT_OFFSET (PolKitGnomeContextClass, config_changed),
165 NULL,
166 NULL,
167 g_cclosure_marshal_VOID__VOID,
168 G_TYPE_NONE,
169 0);
170
171 /**
172 * PolKitGnomeContext::console-kit-db-changed:
173 * @context: the object
174 *
175 * The ::console-kit-db-changed signal is emitted when
176 * ConsoleKit configuration changes; e.g. when a session
177 * becomes active or inactive.
178 *
179 * As this is one contributing factor to what answer PolicyKit
180 * will return, the caller should act on this signal and query
181 * PolicyKit for any actions it cares about.
182 **/
183 signals [CONSOLE_KIT_DB_CHANGED] =
184 g_signal_new ("console-kit-db-changed",
185 G_TYPE_FROM_CLASS (gobject_class),
186 G_SIGNAL_RUN_LAST,
187 G_STRUCT_OFFSET (PolKitGnomeContextClass, console_kit_db_changed),
188 NULL,
189 NULL,
190 g_cclosure_marshal_VOID__VOID,
191 G_TYPE_NONE,
192 0);
193
194 g_type_class_add_private (gobject_class, sizeof (PolKitGnomeContextPrivate));
195 }
196
197
198 static gboolean
199 io_watch_have_data (GIOChannel *channel, GIOCondition condition, gpointer user_data)
200 {
201 int fd;
202 PolKitContext *pk_context = user_data;
203 fd = g_io_channel_unix_get_fd (channel);
204 polkit_context_io_func (pk_context, fd);
205 return TRUE;
206 }
207
208 static int
209 io_add_watch (PolKitContext *pk_context, int fd)
210 {
211 guint id = 0;
212 GIOChannel *channel;
213 channel = g_io_channel_unix_new (fd);
214 if (channel == NULL)
215 goto out;
216 id = g_io_add_watch (channel, G_IO_IN, io_watch_have_data, pk_context);
217 if (id == 0) {
218 g_io_channel_unref (channel);
219 goto out;
220 }
221 g_io_channel_unref (channel);
222 out:
223 return id;
224 }
225
226 static void
227 io_remove_watch (PolKitContext *pk_context, int watch_id)
228 {
229 g_source_remove (watch_id);
230 }
231
232
233 static void
234 pk_config_changed (PolKitContext *pk_context, void *user_data)
235 {
236 PolKitGnomeContext *context = POLKIT_GNOME_CONTEXT (user_data);
237
238 /* g_debug ("ggg PolicyKit config changed"); */
239 g_signal_emit (context, signals [CONFIG_CHANGED], 0);
240 }
241
242
243 static DBusHandlerResult
244 _filter (DBusConnection *connection, DBusMessage *message, void *user_data)
245 {
246 PolKitGnomeContext *context = POLKIT_GNOME_CONTEXT (user_data);
247
248 /* pass NameOwnerChanged signals from the bus and ConsoleKit to PolKitTracker */
249 if (dbus_message_is_signal (message, DBUS_INTERFACE_DBUS, "NameOwnerChanged") ||
250 (dbus_message_get_interface (message) != NULL &&
251 g_str_has_prefix (dbus_message_get_interface (message), "org.freedesktop.ConsoleKit"))) {
252 if (polkit_tracker_dbus_func (context->pk_tracker, message)) {
253 /* The ConsoleKit database has changed */
254 /* g_debug ("ggg ConsoleKit database changed"); */
255 g_signal_emit (context, signals [CONSOLE_KIT_DB_CHANGED], 0);
256 }
257 }
258
259 /* other filters might want to process this message too */
260 return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
261 }
262
263 /**
264 * polkit_gnome_context_get:
265 * @error: return location for error
266 *
267 * Returns a #PolKitGnomeContext object. The context is a global
268 * singleton that may be shared with other callers of this function.
269 *
270 * This operation can fail if the system message bus is not available.
271 *
272 * When done with using this object, call g_object_unref(). This is
273 * such that resources can be freed when all callers have unreffed it.
274 *
275 * Returns: a new #PolKitGnomeContext or NULL if error is set
276 */
277 PolKitGnomeContext *
278 polkit_gnome_context_get (GError **error)
279 {
280 DBusError dbus_error;
281 PolKitError *pk_error;
282
283 if (_singleton != NULL)
284 return g_object_ref (_singleton);
285
286 /* g_debug ("Constructing singleton"); */
287
288 _singleton = g_object_new (POLKIT_GNOME_TYPE_CONTEXT, NULL);
289
290 if ((_singleton->priv->system_bus = dbus_g_bus_get (DBUS_BUS_SYSTEM, error)) == NULL) {
291 goto error;
292 }
293
294 _singleton->pk_context = polkit_context_new ();
295 polkit_context_set_io_watch_functions (_singleton->pk_context, io_add_watch, io_remove_watch);
296 polkit_context_set_config_changed (_singleton->pk_context, pk_config_changed, _singleton);
297
298 pk_error = NULL;
299 if (!polkit_context_init (_singleton->pk_context, &pk_error)) {
300 g_warning ("Failed to initialize PolicyKit context: %s", polkit_error_get_error_message (pk_error));
301 if (error != NULL) {
302 *error = g_error_new_literal (POLKIT_GNOME_CONTEXT_ERROR,
303 POLKIT_GNOME_CONTEXT_ERROR_FAILED,
304 polkit_error_get_error_message (pk_error));
305 }
306 polkit_error_free (pk_error);
307 goto error;
308 }
309
310 /* TODO FIXME: I'm pretty sure dbus-glib blows in a way that
311 * we can't say we're interested in all signals from all
312 * members on all interfaces for a given service... So we do
313 * this..
314 */
315
316 dbus_error_init (&dbus_error);
317
318 /* need to listen to NameOwnerChanged */
319 dbus_bus_add_match (dbus_g_connection_get_connection (_singleton->priv->system_bus),
320 "type='signal'"
321 ",interface='"DBUS_INTERFACE_DBUS"'"
322 ",sender='"DBUS_SERVICE_DBUS"'"
323 ",member='NameOwnerChanged'",
324 &dbus_error);
325
326 if (dbus_error_is_set (&dbus_error)) {
327 dbus_set_g_error (error, &dbus_error);
328 dbus_error_free (&dbus_error);
329 goto error;
330 }
331
332 /* need to listen to ConsoleKit signals */
333 dbus_bus_add_match (dbus_g_connection_get_connection (_singleton->priv->system_bus),
334 "type='signal',sender='org.freedesktop.ConsoleKit'",
335 &dbus_error);
336
337 if (dbus_error_is_set (&dbus_error)) {
338 dbus_set_g_error (error, &dbus_error);
339 dbus_error_free (&dbus_error);
340 goto error;
341 }
342
343 if (!dbus_connection_add_filter (dbus_g_connection_get_connection (_singleton->priv->system_bus),
344 _filter,
345 _singleton,
346 NULL)) {
347 *error = g_error_new_literal (POLKIT_GNOME_CONTEXT_ERROR,
348 POLKIT_GNOME_CONTEXT_ERROR_FAILED,
349 "Cannot add D-Bus filter");
350 goto error;
351 }
352
353 _singleton->pk_tracker = polkit_tracker_new ();
354 polkit_tracker_set_system_bus_connection (_singleton->pk_tracker,
355 dbus_g_connection_get_connection (_singleton->priv->system_bus));
356 polkit_tracker_init (_singleton->pk_tracker);
357
358 return _singleton;
359
360 error:
361 g_object_unref (_singleton);
362 return NULL;
363 }
364
365 GQuark
366 polkit_gnome_context_error_quark (void)
367 {
368 return g_quark_from_static_string ("polkit-gnome-context-error-quark");
369 }
+0
-111
polkit-gnome/polkit-gnome-context.h less more
0 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
1 /***************************************************************************
2 *
3 * polkit-gnome-context.h : Convenience functions for using PolicyKit
4 * from GTK+ and GNOME applications.
5 *
6 * Copyright (C) 2007 David Zeuthen, <david@fubar.dk>
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
21 * 02111-1307, USA.
22 *
23 **************************************************************************/
24
25 #if !defined (POLKIT_GNOME_COMPILATION) && !defined(_POLKIT_GNOME_INSIDE_POLKIT_GNOME_H)
26 #error "Only <polkit-gnome/polkit-gnome.h> can be included directly, this file may disappear or change contents."
27 #endif
28
29 #ifndef __POLKIT_GNOME_CONTEXT_H__
30 #define __POLKIT_GNOME_CONTEXT_H__
31
32 #include <glib-object.h>
33 #include <polkit-dbus/polkit-dbus.h>
34
35 G_BEGIN_DECLS
36
37 #define POLKIT_GNOME_TYPE_CONTEXT (polkit_gnome_context_get_type ())
38 #define POLKIT_GNOME_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POLKIT_GNOME_TYPE_CONTEXT, PolKitGnomeContext))
39 #define POLKIT_GNOME_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), POLKIT_GNOME_TYPE_CONTEXT, PolKitGnomeContextClass))
40 #define POLKIT_GNOME_IS_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POLKIT_GNOME_TYPE_CONTEXT))
41 #define POLKIT_GNOME_IS_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), POLKIT_GNOME_TYPE_CONTEXT))
42 #define POLKIT_GNOME_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), POLKIT_GNOME_TYPE_CONTEXT, PolKitGnomeContextClass))
43
44 /**
45 * POLKIT_GNOME_CONTEXT_ERROR:
46 *
47 * Error domain for using the GNOME PolicyKit context. Errors in this
48 * domain will be from the #PolKitGnomeContextError enumeration. See
49 * #GError for information on error domains.
50 */
51 #define POLKIT_GNOME_CONTEXT_ERROR polkit_gnome_context_error_quark ()
52
53 /**
54 * PolKitGnomeContextError:
55 * @POLKIT_GNOME_CONTEXT_ERROR_FAILED: General error
56 *
57 * Error codes describing how #PolKitGnomeContext can fail.
58 */
59 typedef enum
60 {
61 POLKIT_GNOME_CONTEXT_ERROR_FAILED
62 } PolKitGnomeContextError;
63
64
65 typedef struct _PolKitGnomeContext PolKitGnomeContext;
66 typedef struct _PolKitGnomeContextPrivate PolKitGnomeContextPrivate;
67 typedef struct _PolKitGnomeContextClass PolKitGnomeContextClass;
68
69 /**
70 * PolKitGnomeContext:
71 * @pk_context: for interfacing with PolicyKit; e.g. typically polkit_context_can_caller_do_action()
72 * @pk_tracker: this is used for effieciently obtaining #PolKitCaller objects
73 *
74 * Provide access to #PolKitContext and #PolKitTracker instances
75 * shared among many callers.
76 */
77 struct _PolKitGnomeContext
78 {
79 /*< private >*/
80 GObject parent;
81
82 PolKitGnomeContextPrivate *priv;
83
84 /*< public >*/
85 PolKitContext *pk_context;
86 PolKitTracker *pk_tracker;
87 };
88
89 struct _PolKitGnomeContextClass
90 {
91 GObjectClass parent_class;
92
93 void (* config_changed) (PolKitGnomeContext *context);
94 void (* console_kit_db_changed) (PolKitGnomeContext *context);
95
96 /* Padding for future expansion */
97 void (*_reserved1) (void);
98 void (*_reserved2) (void);
99 void (*_reserved3) (void);
100 void (*_reserved4) (void);
101 };
102
103 GType polkit_gnome_context_get_type (void) G_GNUC_CONST;
104 PolKitGnomeContext *polkit_gnome_context_get (GError **error);
105
106 GQuark polkit_gnome_context_error_quark (void);
107
108 G_END_DECLS
109
110 #endif /* __POLKIT_GNOME_CONTEXT_H__ */
+0
-929
polkit-gnome/polkit-gnome-toggle-action.c less more
0 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
1 /***************************************************************************
2 *
3 * polkit-gnome-toggle-action.c :
4 *
5 * Copyright (C) 2007 David Zeuthen, <david@fubar.dk>
6 *
7 * Based loosely on gtk/gtktoggleaction.c from GTK+ written by James
8 * Henstridge <james@daa.com.au>.
9 *
10 * This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU Lesser General Public License
12 * as published by the Free Software Foundation; either version 2 of
13 * the License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful, but
16 * WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * Lesser General Public License for more details.
19 *
20 * You should have received a copy of the GNU Lesser General Public
21 * License along with this library; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
23 * 02111-1307, USA.
24 *
25 **************************************************************************/
26
27 #ifdef HAVE_CONFIG_H
28 # include "config.h"
29 #endif
30
31 #include <stdlib.h>
32 #include <stdio.h>
33 #include <unistd.h>
34 #include <signal.h>
35 #include <errno.h>
36 #include <string.h>
37 #include <sys/types.h>
38 #include <sys/stat.h>
39 #include <sys/wait.h>
40 #include <fcntl.h>
41
42 #include <glib.h>
43 #include <glib/gi18n-lib.h>
44 #include <glib-object.h>
45
46 #include <gtk/gtk.h>
47 #include <gdk/gdkx.h>
48
49 #define DBUS_API_SUBJECT_TO_CHANGE
50 #include <dbus/dbus-glib.h>
51 #include <dbus/dbus-glib-lowlevel.h>
52
53 #include <polkit/polkit.h>
54 #include <polkit-dbus/polkit-dbus.h>
55
56 #include "polkit-gnome-toggle-action.h"
57
58 /**
59 * SECTION:polkit-gnome-toggle-action
60 * @short_description: A GtkAction that can be toggled to
61 * obtain and give up PolicyKit authorizations.
62 *
63 * For an example of how to use this class, see the documentation for
64 * #PolKitGnomeAction.
65 **/
66
67 #define POLKIT_GNOME_TOGGLE_ACTION_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), POLKIT_GNOME_TYPE_TOGGLE_ACTION, PolKitGnomeToggleActionPrivate))
68
69 struct _PolKitGnomeToggleActionPrivate
70 {
71 gboolean active;
72 gboolean am_authenticating;
73
74 gboolean auth_underway_visible;
75 gboolean auth_underway_sensitive;
76 gchar *auth_underway_short_label;
77 gchar *auth_underway_label;
78 gchar *auth_underway_tooltip;
79 gchar *auth_underway_icon_name;
80 };
81
82 enum
83 {
84 TOGGLED_SIGNAL,
85 LAST_SIGNAL
86 };
87
88 enum
89 {
90 PROP_0,
91 PROP_POLKIT_AUTH_UNDERWAY_VISIBLE,
92 PROP_POLKIT_AUTH_UNDERWAY_SENSITIVE,
93 PROP_POLKIT_AUTH_UNDERWAY_SHORT_LABEL,
94 PROP_POLKIT_AUTH_UNDERWAY_LABEL,
95 PROP_POLKIT_AUTH_UNDERWAY_TOOLTIP,
96 PROP_POLKIT_AUTH_UNDERWAY_ICON_NAME,
97 };
98
99 G_DEFINE_TYPE (PolKitGnomeToggleAction, polkit_gnome_toggle_action, POLKIT_GNOME_TYPE_ACTION)
100
101 static void set_property (GObject *object,
102 guint prop_id,
103 const GValue *value,
104 GParamSpec *pspec);
105 static void get_property (GObject *object,
106 guint prop_id,
107 GValue *value,
108 GParamSpec *pspec);
109
110 static GObjectClass *parent_class = NULL;
111 static guint signals[LAST_SIGNAL] = { 0 };
112
113 static void
114 polkit_gnome_toggle_action_init (PolKitGnomeToggleAction *toggle_action)
115 {
116 toggle_action->priv = POLKIT_GNOME_TOGGLE_ACTION_GET_PRIVATE (toggle_action);
117
118 }
119
120 static void
121 polkit_gnome_toggle_action_finalize (GObject *object)
122 {
123 PolKitGnomeToggleAction *toggle_action;
124
125 toggle_action = POLKIT_GNOME_TOGGLE_ACTION (object);
126
127 G_OBJECT_CLASS (polkit_gnome_toggle_action_parent_class)->finalize (object);
128 }
129
130 static GObject *
131 polkit_gnome_toggle_action_constructor (GType type,
132 guint n_construct_properties,
133 GObjectConstructParam *construct_properties)
134 {
135 PolKitGnomeToggleAction *toggle_action;
136 PolKitGnomeToggleActionClass *klass;
137
138 klass = POLKIT_GNOME_TOGGLE_ACTION_CLASS (g_type_class_peek (POLKIT_GNOME_TYPE_TOGGLE_ACTION));
139
140 toggle_action = POLKIT_GNOME_TOGGLE_ACTION (G_OBJECT_CLASS (parent_class)->constructor (type,
141 n_construct_properties,
142 construct_properties));
143
144 if (polkit_gnome_action_get_polkit_result (POLKIT_GNOME_ACTION (toggle_action)) == POLKIT_RESULT_YES)
145 toggle_action->priv->active = TRUE;
146 else
147 toggle_action->priv->active = FALSE;
148
149 return G_OBJECT (toggle_action);
150 }
151
152 static void polkit_gnome_toggle_action_auth_end (PolKitGnomeToggleAction *toggle_action, gboolean gained_privilege);
153 static void polkit_gnome_toggle_polkit_result_changed (PolKitGnomeToggleAction *toggle_action, PolKitResult current_result);
154 static void polkit_gnome_toggle_action_activate (PolKitGnomeToggleAction *toggle_action);
155 static void polkit_gnome_toggle_action_real_toggled (PolKitGnomeToggleAction *action);
156 static void connect_proxy (GtkAction *action,
157 GtkWidget *proxy);
158 static void disconnect_proxy (GtkAction *action,
159 GtkWidget *proxy);
160
161
162 static void
163 polkit_gnome_toggle_action_class_init (PolKitGnomeToggleActionClass *klass)
164 {
165 GObjectClass *gobject_class;
166 GtkActionClass *action_class;
167 PolKitGnomeActionClass *polkit_gnome_action_class;
168
169 parent_class = g_type_class_peek_parent (klass);
170 gobject_class = G_OBJECT_CLASS (klass);
171 action_class = GTK_ACTION_CLASS (klass);
172 polkit_gnome_action_class = POLKIT_GNOME_ACTION_CLASS (klass);
173
174 gobject_class->constructor = polkit_gnome_toggle_action_constructor;
175 gobject_class->set_property = set_property;
176 gobject_class->get_property = get_property;
177 gobject_class->finalize = polkit_gnome_toggle_action_finalize;
178
179 action_class->menu_item_type = GTK_TYPE_CHECK_MENU_ITEM;
180 action_class->toolbar_item_type = GTK_TYPE_TOGGLE_TOOL_BUTTON;
181
182 action_class->connect_proxy = connect_proxy;
183 action_class->disconnect_proxy = disconnect_proxy;
184
185 klass->toggled = polkit_gnome_toggle_action_real_toggled;
186
187 action_class->activate = (void (*)(GtkAction*)) polkit_gnome_toggle_action_activate;
188
189 polkit_gnome_action_class->auth_end =
190 (void (*)(PolKitGnomeAction *, gboolean)) polkit_gnome_toggle_action_auth_end;
191
192 polkit_gnome_action_class->polkit_result_changed =
193 (void (*) (PolKitGnomeAction *, PolKitResult)) polkit_gnome_toggle_polkit_result_changed;
194
195 /*------------------------------*/
196
197 g_object_class_install_property (
198 gobject_class,
199 PROP_POLKIT_AUTH_UNDERWAY_VISIBLE,
200 g_param_spec_boolean (
201 "auth-underway-visible",
202 "When authentication is underway, whether the action will be visible",
203 "When authentication is underway, whether the action will be visible",
204 TRUE,
205 G_PARAM_READWRITE));
206
207 g_object_class_install_property (
208 gobject_class,
209 PROP_POLKIT_AUTH_UNDERWAY_SENSITIVE,
210 g_param_spec_boolean (
211 "auth-underway-sensitive",
212 "When authentication is underway, whether the action will be sensitive",
213 "When authentication is underway, whether the action will be sensitive",
214 TRUE,
215 G_PARAM_READWRITE));
216
217 g_object_class_install_property (
218 gobject_class,
219 PROP_POLKIT_AUTH_UNDERWAY_SHORT_LABEL,
220 g_param_spec_string (
221 "auth-underway-short-label",
222 "When authentication is underway, use this short-label",
223 "When authentication is underway, use this short-label",
224 NULL,
225 G_PARAM_READWRITE));
226
227 g_object_class_install_property (
228 gobject_class,
229 PROP_POLKIT_AUTH_UNDERWAY_LABEL,
230 g_param_spec_string (
231 "auth-underway-label",
232 "When authentication is underway, use this label",
233 "When authentication is underway, use this label",
234 NULL,
235 G_PARAM_READWRITE));
236
237 g_object_class_install_property (
238 gobject_class,
239 PROP_POLKIT_AUTH_UNDERWAY_TOOLTIP,
240 g_param_spec_string (
241 "auth-underway-tooltip",
242 "When authentication is underway, use this tooltip",
243 "When authentication is underway, use this tooltip",
244 NULL,
245 G_PARAM_READWRITE));
246
247 g_object_class_install_property (
248 gobject_class,
249 PROP_POLKIT_AUTH_UNDERWAY_ICON_NAME,
250 g_param_spec_string (
251 "auth-underway-icon-name",
252 "When authentication is underway, use this icon-name",
253 "When authentication is underway, use this icon-name",
254 NULL,
255 G_PARAM_READWRITE));
256
257 /*------------------------------*/
258
259
260 /**
261 * PolKitGnomeToggleAction::toggled:
262 * @toggle_action: the object
263 *
264 * The ::toggled signal is emitted when the button is toggled.
265 **/
266 signals [TOGGLED_SIGNAL] =
267 g_signal_new ("toggled",
268 G_TYPE_FROM_CLASS (gobject_class),
269 G_SIGNAL_RUN_LAST,
270 G_STRUCT_OFFSET (PolKitGnomeToggleActionClass, toggled),
271 NULL,
272 NULL,
273 g_cclosure_marshal_VOID__VOID,
274 G_TYPE_NONE,
275 0);
276
277 g_type_class_add_private (gobject_class, sizeof (PolKitGnomeToggleActionPrivate));
278 }
279
280
281 /**
282 * polkit_gnome_toggle_action_new:
283 * @name: A unique name for the toggle_action
284 * @error: Return location for error
285 *
286 * Creates a new #PolKitGnomeToggleAction object. The typical use for
287 * this function is for specialized use where
288 * polkit_gnome_toggle_action_new_default() does not meet the needs of
289 * the application.
290 *
291 * If the 'polkit-toggle_action' property is #NULL the behavior is similar to
292 * as if a #PolKitAction returned #POLKIT_RESULT_YES.
293 *
294 * Returns: a new #PolKitGnomeToggleAction or #NULL if error is set
295 */
296 PolKitGnomeToggleAction *
297 polkit_gnome_toggle_action_new (const gchar *name)
298 {
299 PolKitGnomeToggleAction *toggle_action = NULL;
300
301 toggle_action = g_object_new (POLKIT_GNOME_TYPE_TOGGLE_ACTION,
302 "name", name,
303 NULL);
304 return toggle_action;
305 }
306
307 /**
308 * polkit_gnome_toggle_action_new_default:
309 * @name: A unique name for the toggle_action
310 * @polkit_action: the #PolKitAction to track
311 * @locked_label: The label to show when the user do not possess the
312 * authorization, e.g. "Click to make changes"
313 * @unlocked_label: The label to show when the user does posses the
314 * authorization; e.g. "Click to prevent changes"
315 *
316 * Creates a new #PolKitGnomeToggleAction object with the default
317 * behavior for a given #PolKitAction object. The toggle represents
318 * whether the user is authorized for the given #PolKitAction. If the
319 * user is not authorized, clicking on a proxy widget (if it's
320 * sensitive) will cause an authentication dialog to appear. If the
321 * user is authorized, clicking on a proxy widget will cause all
322 * authorizations to be given up (aka revoked). The ::toggled signal
323 * is only emitted when such transitions occur. Thus, the user of this
324 * class will never have to deal with bringing up authentication
325 * dialogs; it's all handled behind the scenes.
326 *
327 * As such, the typical use case for this action is an UI where the
328 * user is encouraged to give up authorizations.
329 *
330 * There's also support for the corner case where the user is
331 * authorized because of implicit authorizations. In this case,
332 * toggling the action will "grant" a negative authorization for the
333 * user. By toggling the action again, the negative authorization will
334 * be revoked.
335 *
336 * Default behavior is defined as having the icon_name be 'security-medium'
337 * by default except for the YES PolicyKit answer where it's set to
338 * 'security-low'. No tooltips are set. The label and short-label
339 * will be 'locked_label' everywhere except in the YES state where
340 * it's set to 'unlocked-label'. When authentication is underway, the
341 * label will be "Authenticating..." and icon_name is untouched. If
342 * the PolicyKit answer is NO, sensitivity is set to
343 * #FALSE. Visibility is always set to #TRUE.
344 *
345 * The caller can always modify individual aspects of the
346 * toggle_action after creation, e.g. change the tooltip for the no,
347 * auth and yes states; see the parent class #PolKitGnomeAction. In
348 * addition to the properties in the parent class, this subclass
349 * sports six new properties, "auth-underway-*" to control the look
350 * of proxy widgets when authentication is underway.
351 *
352 * If the given polkit_toggle_action is #NULL the behavior is similar to as
353 * if a #PolKitAction returned #POLKIT_RESULT_YES.
354 *
355 * Returns: a new #PolKitGnomeToggleAction or #NULL if error is set
356 */
357 PolKitGnomeToggleAction *
358 polkit_gnome_toggle_action_new_default (const gchar *name,
359 PolKitAction *polkit_action,
360 const gchar *locked_label,
361 const gchar *unlocked_label)
362 {
363 PolKitGnomeToggleAction *toggle_action;
364
365 toggle_action = g_object_new (POLKIT_GNOME_TYPE_TOGGLE_ACTION,
366 "name", name,
367 "polkit-action", polkit_action,
368
369 "self-blocked-visible", TRUE,
370 "self-blocked-sensitive", TRUE,
371 "self-blocked-short-label", locked_label,
372 "self-blocked-label", locked_label,
373 "self-blocked-tooltip", NULL,
374 "self-blocked-icon-name", "security-medium",
375
376 "no-visible", TRUE,
377 "no-sensitive", FALSE,
378 "no-short-label", locked_label,
379 "no-label", locked_label,
380 "no-tooltip", NULL,
381 "no-icon-name", "security-medium",
382
383 "auth-visible", TRUE,
384 "auth-sensitive", TRUE,
385 "auth-short-label", locked_label,
386 "auth-label", locked_label,
387 "auth-tooltip", NULL,
388 "auth-icon-name", "security-medium",
389
390 "yes-visible", TRUE,
391 "yes-sensitive", TRUE,
392 "yes-short-label", unlocked_label,
393 "yes-label", unlocked_label,
394 "yes-tooltip", NULL,
395 "yes-icon-name", "security-low",
396
397 "auth-underway-visible", TRUE,
398 "auth-underway-sensitive", TRUE,
399 "auth-underway-short-label", _("Authenticating..."),
400 "auth-underway-label", _("Authenticating..."),
401 "auth-underway-tooltip", NULL,
402 "auth-underway-icon-name", "security-medium",
403
404 "master-visible", TRUE,
405 "master-sensitive", TRUE,
406 NULL);
407 return toggle_action;
408 }
409
410 /*---------------------------------------------------------------------------------security-medium-------------------*/
411
412 static void
413 polkit_gnome_toggle_action_set_auth_underway_visible (PolKitGnomeToggleAction *action, gboolean visible)
414 {
415 action->priv->auth_underway_visible = visible;
416 }
417
418 static void
419 polkit_gnome_toggle_action_set_auth_underway_sensitive (PolKitGnomeToggleAction *action, gboolean sensitive)
420 {
421 action->priv->auth_underway_sensitive = sensitive;
422 }
423
424 static void
425 polkit_gnome_toggle_action_set_auth_underway_short_label (PolKitGnomeToggleAction *action, const gchar *short_label)
426 {
427 g_free (action->priv->auth_underway_short_label);
428 action->priv->auth_underway_short_label = g_strdup (short_label);
429 }
430
431 static void
432 polkit_gnome_toggle_action_set_auth_underway_label (PolKitGnomeToggleAction *action, const gchar *label)
433 {
434 g_free (action->priv->auth_underway_label);
435 action->priv->auth_underway_label = g_strdup (label);
436 }
437
438 static void
439 polkit_gnome_toggle_action_set_auth_underway_tooltip (PolKitGnomeToggleAction *action, const gchar *tooltip)
440 {
441 g_free (action->priv->auth_underway_tooltip);
442 action->priv->auth_underway_tooltip = g_strdup (tooltip);
443 }
444
445 static void
446 polkit_gnome_toggle_action_set_auth_underway_icon_name (PolKitGnomeToggleAction *action, const gchar *icon_name)
447 {
448 g_free (action->priv->auth_underway_icon_name);
449 action->priv->auth_underway_icon_name = g_strdup (icon_name);
450 }
451
452 static void
453 get_property (GObject *object,
454 guint prop_id,
455 GValue *value,
456 GParamSpec *pspec)
457 {
458 PolKitGnomeToggleAction *action = POLKIT_GNOME_TOGGLE_ACTION (object);
459
460 switch (prop_id)
461 {
462
463 case PROP_POLKIT_AUTH_UNDERWAY_VISIBLE:
464 g_value_set_boolean (value, action->priv->auth_underway_visible);
465 break;
466 case PROP_POLKIT_AUTH_UNDERWAY_SENSITIVE:
467 g_value_set_boolean (value, action->priv->auth_underway_sensitive);
468 break;
469 case PROP_POLKIT_AUTH_UNDERWAY_SHORT_LABEL:
470 g_value_set_string (value, action->priv->auth_underway_short_label);
471 break;
472 case PROP_POLKIT_AUTH_UNDERWAY_LABEL:
473 g_value_set_string (value, action->priv->auth_underway_label);
474 break;
475 case PROP_POLKIT_AUTH_UNDERWAY_TOOLTIP:
476 g_value_set_string (value, action->priv->auth_underway_tooltip);
477 break;
478 case PROP_POLKIT_AUTH_UNDERWAY_ICON_NAME:
479 g_value_set_string (value, action->priv->auth_underway_icon_name);
480 break;
481
482 default:
483 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
484 break;
485 }
486 }
487
488 static void
489 set_property (GObject *object,
490 guint prop_id,
491 const GValue *value,
492 GParamSpec *pspec)
493 {
494 PolKitGnomeToggleAction *action = POLKIT_GNOME_TOGGLE_ACTION (object);
495
496 switch (prop_id)
497 {
498
499 case PROP_POLKIT_AUTH_UNDERWAY_VISIBLE:
500 polkit_gnome_toggle_action_set_auth_underway_visible (action, g_value_get_boolean (value));
501 break;
502 case PROP_POLKIT_AUTH_UNDERWAY_SENSITIVE:
503 polkit_gnome_toggle_action_set_auth_underway_sensitive (action, g_value_get_boolean (value));
504 break;
505 case PROP_POLKIT_AUTH_UNDERWAY_SHORT_LABEL:
506 polkit_gnome_toggle_action_set_auth_underway_short_label (action, g_value_get_string (value));
507 break;
508 case PROP_POLKIT_AUTH_UNDERWAY_LABEL:
509 polkit_gnome_toggle_action_set_auth_underway_label (action, g_value_get_string (value));
510 break;
511 case PROP_POLKIT_AUTH_UNDERWAY_TOOLTIP:
512 polkit_gnome_toggle_action_set_auth_underway_tooltip (action, g_value_get_string (value));
513 break;
514 case PROP_POLKIT_AUTH_UNDERWAY_ICON_NAME:
515 polkit_gnome_toggle_action_set_auth_underway_icon_name (action, g_value_get_string (value));
516 break;
517
518 default:
519 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
520 break;
521 }
522 }
523
524 static void
525 _set_proxy_state (PolKitGnomeToggleAction *toggle_action)
526 {
527 GSList *i;
528
529 for (i = gtk_action_get_proxies (GTK_ACTION (toggle_action)); i; i = i->next) {
530 GtkWidget *proxy = i->data;
531
532 gtk_action_block_activate_from (GTK_ACTION (toggle_action), proxy);
533 if (GTK_IS_CHECK_MENU_ITEM (proxy))
534 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (proxy),
535 toggle_action->priv->active);
536 else if (GTK_IS_TOGGLE_TOOL_BUTTON (proxy))
537 gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (proxy),
538 toggle_action->priv->active);
539 else if (GTK_IS_TOGGLE_BUTTON (proxy))
540 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (proxy),
541 toggle_action->priv->active);
542 else {
543 g_warning ("Don't know how to toggle `%s' widgets",
544 G_OBJECT_TYPE_NAME (proxy));
545 }
546 gtk_action_unblock_activate_from (GTK_ACTION (toggle_action), proxy);
547 }
548 }
549
550 static void
551 _update_toggled (PolKitGnomeToggleAction *toggle_action)
552 {
553 gboolean is_active;
554
555 g_return_if_fail (POLKIT_GNOME_IS_TOGGLE_ACTION (toggle_action));
556
557 if (polkit_gnome_action_get_polkit_result (POLKIT_GNOME_ACTION (toggle_action)) == POLKIT_RESULT_YES)
558 is_active = TRUE;
559 else
560 is_active = FALSE;
561
562 if (toggle_action->priv->active != is_active) {
563 toggle_action->priv->active = is_active;
564
565 _set_proxy_state (toggle_action);
566
567 g_signal_emit (toggle_action, signals[TOGGLED_SIGNAL], 0);
568 }
569 }
570
571 static void
572 polkit_gnome_toggle_polkit_result_changed (PolKitGnomeToggleAction *toggle_action, PolKitResult current_result)
573 {
574 _update_toggled (toggle_action);
575 }
576
577 static void
578 polkit_gnome_toggle_action_auth_end (PolKitGnomeToggleAction *toggle_action, gboolean gained_privilege)
579 {
580 _update_toggled (toggle_action);
581 toggle_action->priv->am_authenticating = FALSE;
582 }
583
584 static polkit_bool_t
585 _auth_foreach_revoke (PolKitAuthorizationDB *authdb,
586 PolKitAuthorization *auth,
587 void *user_data)
588 {
589 PolKitError *pk_error;
590 int *num_auths_revoked = (int *) user_data;
591
592 pk_error = NULL;
593 if (!polkit_authorization_db_revoke_entry (authdb, auth, &pk_error)) {
594 g_warning ("Error revoking authorization: %s: %s\n",
595 polkit_error_get_error_name (pk_error),
596 polkit_error_get_error_message (pk_error));
597 polkit_error_free (pk_error);
598 }
599
600 if (num_auths_revoked != NULL)
601 *num_auths_revoked += 1;
602
603 return FALSE;
604 }
605
606 static void
607 polkit_gnome_toggle_action_activate (PolKitGnomeToggleAction *toggle_action)
608 {
609 PolKitError *pk_error;
610 PolKitAction *pk_action;
611 PolKitGnomeContext *pkgc;
612 PolKitAuthorizationDB *authdb;
613 PolKitResult pk_result;
614 polkit_bool_t do_not_grant_negative;
615
616 pkgc = polkit_gnome_context_get (NULL);
617 authdb = polkit_context_get_authorization_db (pkgc->pk_context);
618
619 pk_action = NULL;
620 g_object_get (toggle_action, "polkit-action", &pk_action, NULL);
621
622 g_return_if_fail (POLKIT_GNOME_IS_TOGGLE_ACTION (toggle_action));
623
624 pk_result = polkit_gnome_action_get_polkit_result (POLKIT_GNOME_ACTION (toggle_action));
625
626 do_not_grant_negative = FALSE;
627 reevaluate:
628
629 switch (pk_result) {
630 case POLKIT_RESULT_YES:
631
632 if (!toggle_action->priv->am_authenticating) {
633 /* If we already got the authorization.. revoke it! */
634
635 if (pk_action != NULL && authdb != NULL) {
636 int num_auths_revoked;
637
638 pk_error = NULL;
639 num_auths_revoked = 0;
640 polkit_authorization_db_foreach_for_action_for_uid (authdb,
641 pk_action,
642 getuid (),
643 _auth_foreach_revoke,
644 &num_auths_revoked,
645 &pk_error);
646 if (pk_error != NULL) {
647 g_warning ("Error removing authorizations: code=%d: %s",
648 polkit_error_get_error_code (pk_error),
649 polkit_error_get_error_message (pk_error));
650 polkit_error_free (pk_error);
651 }
652
653 if (pk_error == NULL && num_auths_revoked == 0 && !do_not_grant_negative) {
654 /* no authorizations, yet we are authorized.. "grant" a
655 * negative authorization...
656 */
657
658 if (!polkit_authorization_db_grant_negative_to_uid (
659 authdb,
660 pk_action,
661 getuid (),
662 NULL, /* no constraints */
663 &pk_error)) {
664 g_warning ("Error granting negative auth: %s: %s\n",
665 polkit_error_get_error_name (pk_error),
666 polkit_error_get_error_message (pk_error));
667 polkit_error_free (pk_error);
668 }
669 }
670
671 }
672
673 _update_toggled (toggle_action);
674 }
675 break;
676
677 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_ONE_SHOT:
678 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH:
679 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_SESSION:
680 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_ALWAYS:
681 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_ONE_SHOT:
682 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH:
683 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_SESSION:
684 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_ALWAYS:
685
686 g_signal_stop_emission_by_name (toggle_action, "activate");
687
688 if (pk_action != NULL) {
689 toggle_action->priv->am_authenticating = TRUE;
690
691 g_object_set (
692 toggle_action,
693 "visible", toggle_action->priv->auth_underway_visible &&
694 polkit_gnome_action_get_visible (POLKIT_GNOME_ACTION (toggle_action)),
695 "sensitive", toggle_action->priv->auth_underway_sensitive &&
696 polkit_gnome_action_get_sensitive (POLKIT_GNOME_ACTION (toggle_action)),
697 "short-label", toggle_action->priv->auth_underway_short_label,
698 "label", toggle_action->priv->auth_underway_label,
699 "tooltip", toggle_action->priv->auth_underway_tooltip,
700 "icon-name", toggle_action->priv->auth_underway_icon_name,
701 NULL);
702
703 g_signal_emit_by_name (toggle_action, "auth-start", 0);
704 }
705 break;
706
707 default:
708 case POLKIT_RESULT_NO:
709 if (pk_action != NULL && authdb != NULL) {
710 if (polkit_authorization_db_is_uid_blocked_by_self (authdb,
711 pk_action,
712 getuid (),
713 NULL)) {
714 int num_auths_revoked;
715
716 /* block granted by self.. revoke it then.. */
717 pk_error = NULL;
718 num_auths_revoked = 0;
719 polkit_authorization_db_foreach_for_action_for_uid (authdb,
720 pk_action,
721 getuid (),
722 _auth_foreach_revoke,
723 &num_auths_revoked,
724 &pk_error);
725 if (pk_error != NULL) {
726 g_warning ("Error removing authorizations: code=%d: %s",
727 polkit_error_get_error_code (pk_error),
728 polkit_error_get_error_message (pk_error));
729 polkit_error_free (pk_error);
730 }
731
732 if (pk_error == NULL && num_auths_revoked > 0) {
733 PolKitResult pk_result_new;
734
735 /* we managed to revoke something... so with this change the
736 * result should now change to AUTH_*... so go ahead and just
737 * reevaluate the result... also remember to avoid granting
738 * another negative auth!
739 */
740
741 polkit_context_force_reload (pkgc->pk_context);
742 pk_result_new = polkit_gnome_action_get_polkit_result (POLKIT_GNOME_ACTION (toggle_action));
743 if (pk_result_new != pk_result) {
744 pk_result = pk_result_new;
745 do_not_grant_negative = TRUE;
746 goto reevaluate;
747 }
748
749 }
750
751 }
752 }
753
754 /* If PolicyKit says no... and we got here.. it means
755 * that the user set the property "no-sensitive" to
756 * TRUE.. Otherwise we couldn't be handling this signal.
757 *
758 * Hence, they probably have a good reason for doing
759 * this so do let the 'activate' signal propagate..
760 */
761 break;
762 }
763
764 _set_proxy_state (toggle_action);
765
766 if (pk_action != NULL)
767 polkit_action_unref (pk_action);
768 }
769
770 static void
771 polkit_gnome_toggle_action_real_toggled (PolKitGnomeToggleAction *action)
772 {
773 GSList *i;
774
775 g_return_if_fail (POLKIT_GNOME_IS_TOGGLE_ACTION (action));
776
777 for (i = gtk_action_get_proxies (GTK_ACTION (action)); i; i = i->next) {
778 GtkWidget *proxy = i->data;
779
780 gtk_action_block_activate_from (GTK_ACTION (action), proxy);
781 if (GTK_IS_CHECK_MENU_ITEM (proxy))
782 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (proxy),
783 action->priv->active);
784 else if (GTK_IS_TOGGLE_TOOL_BUTTON (proxy))
785 gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (proxy),
786 action->priv->active);
787 else if (GTK_IS_TOGGLE_BUTTON (proxy))
788 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (proxy),
789 action->priv->active);
790 else {
791 g_warning ("Don't know how to toggle `%s' widgets",
792 G_OBJECT_TYPE_NAME (proxy));
793 }
794 gtk_action_unblock_activate_from (GTK_ACTION (action), proxy);
795 }
796 }
797
798 static void
799 connect_proxy (GtkAction *action, GtkWidget *proxy)
800 {
801 PolKitGnomeToggleAction *toggle_action;
802
803 toggle_action = POLKIT_GNOME_TOGGLE_ACTION (action);
804
805 /* do this before hand, so that we don't call the "activate" handler */
806 if (GTK_IS_CHECK_MENU_ITEM (proxy))
807 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (proxy),
808 toggle_action->priv->active);
809 else if (GTK_IS_TOGGLE_TOOL_BUTTON (proxy))
810 gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (proxy),
811 toggle_action->priv->active);
812 else if (GTK_IS_TOGGLE_BUTTON (proxy))
813 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (proxy),
814 toggle_action->priv->active);
815
816 (* GTK_ACTION_CLASS (parent_class)->connect_proxy) (action, proxy);
817 }
818
819 static void
820 disconnect_proxy (GtkAction *action, GtkWidget *proxy)
821 {
822 (* GTK_ACTION_CLASS (parent_class)->disconnect_proxy) (action, proxy);
823 }
824
825 static void
826 _update_tooltips (PolKitGnomeToggleAction *action, GParamSpec *arg1, GtkWidget *widget)
827 {
828 GtkTooltips *tips;
829 GtkTooltipsData *ttd;
830 gchar *tip_str;
831
832 ttd = gtk_tooltips_data_get (widget);
833
834 if (ttd == NULL) {
835 tips = gtk_tooltips_new ();
836 } else {
837 tips = ttd->tooltips;
838 }
839
840 tip_str = NULL;
841 g_object_get (action, "tooltip", &tip_str, NULL);
842
843 /* TODO: if there is no tooltip the tip_str is NULL.
844 * Unfortunately it seems that the tooltip isn't
845 * cleared.. mmm.. gtk+ bug?
846 */
847 gtk_tooltips_set_tip (tips, widget, tip_str, tip_str);
848 g_free (tip_str);
849 }
850
851 static void
852 _update_label (PolKitGnomeToggleAction *action, GParamSpec *arg1, GtkWidget *widget)
853 {
854 char *label;
855
856 label = NULL;
857 g_object_get (action, "label", &label, NULL);
858 gtk_button_set_label (GTK_BUTTON (widget), label);
859 g_free (label);
860 }
861
862 static void
863 _update_icon_name (PolKitGnomeToggleAction *action, GParamSpec *arg1, GtkWidget *widget)
864 {
865 gtk_button_set_image (GTK_BUTTON (widget), gtk_action_create_icon (GTK_ACTION (action), GTK_ICON_SIZE_BUTTON));
866 }
867
868 static void
869 _button_toggled (GtkToggleButton *button, PolKitGnomeToggleAction *action)
870 {
871 /* g_debug ("in _button_toggled"); */
872
873 switch (polkit_gnome_action_get_polkit_result (POLKIT_GNOME_ACTION (action))) {
874 case POLKIT_RESULT_YES:
875 break;
876
877 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_ONE_SHOT:
878 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH:
879 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_SESSION:
880 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_ALWAYS:
881 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_ONE_SHOT:
882 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH:
883 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_SESSION:
884 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_ALWAYS:
885 /* g_debug ("blocking toggled"); */
886 g_signal_stop_emission_by_name (button, "toggled");
887 break;
888
889 default:
890 case POLKIT_RESULT_NO:
891 break;
892 }
893 }
894
895 /**
896 * polkit_gnome_toggle_action_create_toggle_button:
897 * @action: The #PolKitGnomeToggleAction object
898 *
899 * Create a toggle button for the given action that displays the
900 * label, tooltip and icon_name corresponding to whether the state,
901 * according to PolicyKit, is no, auth or yes.
902 *
903 * Returns: A #GtkToggleButton instance connected to the action
904 */
905 GtkWidget *
906 polkit_gnome_toggle_action_create_toggle_button (PolKitGnomeToggleAction *action)
907 {
908 GtkWidget *button;
909
910 button = gtk_toggle_button_new ();
911
912 gtk_action_connect_proxy (GTK_ACTION (action), button);
913
914 _update_label (action, NULL, button);
915 _update_tooltips (action, NULL, button);
916 _update_icon_name (action, NULL, button);
917
918 g_signal_connect (action, "notify::tooltip", G_CALLBACK (_update_tooltips), button);
919 g_signal_connect (action, "notify::label", G_CALLBACK (_update_label), button);
920 g_signal_connect (action, "notify::icon-name", G_CALLBACK (_update_icon_name), button);
921
922 /* hook into the ::toggled signal and block it unless
923 * PolicyKit says it's good to go.
924 */
925 g_signal_connect (button, "toggled", G_CALLBACK (_button_toggled), action);
926
927 return button;
928 }
+0
-85
polkit-gnome/polkit-gnome-toggle-action.h less more
0 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
1 /***************************************************************************
2 *
3 * polkit-gnome-action.h :
4 *
5 * Copyright (C) 2007 David Zeuthen, <david@fubar.dk>
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public License
9 * as published by the Free Software Foundation; either version 2 of
10 * the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
20 * 02111-1307, USA.
21 *
22 **************************************************************************/
23
24 #if !defined (POLKIT_GNOME_COMPILATION) && !defined(_POLKIT_GNOME_INSIDE_POLKIT_GNOME_H)
25 #error "Only <polkit-gnome/polkit-gnome.h> can be included directly, this file may disappear or change contents."
26 #endif
27
28 #ifndef __POLKIT_GNOME_TOGGLE_ACTION_H__
29 #define __POLKIT_GNOME_TOGGLE_ACTION_H__
30
31 #include <gtk/gtk.h>
32 #include <polkit/polkit.h>
33 #include <polkit-gnome/polkit-gnome.h>
34
35 G_BEGIN_DECLS
36
37 #define POLKIT_GNOME_TYPE_TOGGLE_ACTION (polkit_gnome_toggle_action_get_type ())
38 #define POLKIT_GNOME_TOGGLE_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POLKIT_GNOME_TYPE_TOGGLE_ACTION, PolKitGnomeToggleAction))
39 #define POLKIT_GNOME_TOGGLE_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), POLKIT_GNOME_TYPE_TOGGLE_ACTION, PolKitGnomeToggleActionClass))
40 #define POLKIT_GNOME_IS_TOGGLE_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POLKIT_GNOME_TYPE_TOGGLE_ACTION))
41 #define POLKIT_GNOME_IS_TOGGLE_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), POLKIT_GNOME_TYPE_TOGGLE_ACTION))
42 #define POLKIT_GNOME_TOGGLE_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), POLKIT_GNOME_TYPE_TOGGLE_ACTION, PolKitGnomeToggleActionClass))
43
44 typedef struct _PolKitGnomeToggleAction PolKitGnomeToggleAction;
45 typedef struct _PolKitGnomeToggleActionPrivate PolKitGnomeToggleActionPrivate;
46 typedef struct _PolKitGnomeToggleActionClass PolKitGnomeToggleActionClass;
47
48 /**
49 * PolKitGnomeToggleAction:
50 *
51 * The PolKitGnomeToggleAction struct contains only private data members and should not be accessed directly.
52 */
53 struct _PolKitGnomeToggleAction
54 {
55 /*< private >*/
56 PolKitGnomeAction parent;
57 PolKitGnomeToggleActionPrivate *priv;
58 };
59
60 struct _PolKitGnomeToggleActionClass
61 {
62 PolKitGnomeActionClass parent_class;
63
64 void (* toggled) (PolKitGnomeToggleAction *toggle_action);
65
66 /* Padding for future expansion */
67 void (*_reserved1) (void);
68 void (*_reserved2) (void);
69 void (*_reserved3) (void);
70 void (*_reserved4) (void);
71 };
72
73 GType polkit_gnome_toggle_action_get_type (void) G_GNUC_CONST;
74 PolKitGnomeToggleAction *polkit_gnome_toggle_action_new (const gchar *name);
75 PolKitGnomeToggleAction *polkit_gnome_toggle_action_new_default (const gchar *name,
76 PolKitAction *polkit_action,
77 const gchar *locked_label,
78 const gchar *unlocked_label);
79
80 GtkWidget *polkit_gnome_toggle_action_create_toggle_button (PolKitGnomeToggleAction *action);
81
82 G_END_DECLS
83
84 #endif /* __POLKIT_GNOME_TOGGLE_ACTION_H__ */
+0
-37
polkit-gnome/polkit-gnome.h less more
0 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
1 /***************************************************************************
2 *
3 * polkit-gnome.h : PolicyKit add-on library to make it easy to use
4 * PolicyKit from GNOME and GTK+ applications.
5 *
6 * Copyright (C) 2007 David Zeuthen, <david@fubar.dk>
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
21 * 02111-1307, USA.
22 *
23 **************************************************************************/
24
25 #ifndef __POLKIT_GNOME_H
26 #define __POLKIT_GNOME_H
27
28 #define _POLKIT_GNOME_INSIDE_POLKIT_GNOME_H 1
29 #include <polkit-gnome/polkit-gnome-context.h>
30 #include <polkit-gnome/polkit-gnome-action.h>
31 #include <polkit-gnome/polkit-gnome-toggle-action.h>
32 #include <polkit-gnome/polkit-gnome-auth.h>
33 #undef _POLKIT_GNOME_INSIDE_POLKIT_GNOME_H
34
35
36 #endif /* __POLKIT_GNOME_H */
0
1 NULL =
2
3 lib_LTLIBRARIES=libpolkit-gtk-1.la
4
5 libpolkit_gtk_1includedir=$(includedir)/polkit-gtk-1/polkitgtk
6
7 libpolkit_gtk_1include_HEADERS = \
8 polkitgtk.h \
9 polkitgtktypes.h \
10 polkitlockbutton.h \
11 $(NULL)
12
13 libpolkit_gtk_1_la_SOURCES = \
14 polkitgtk.h \
15 polkitgtktypes.h \
16 polkitlockbutton.h polkitlockbutton.c \
17 $(NULL)
18
19 libpolkit_gtk_1_la_CPPFLAGS = \
20 -I$(top_srcdir) \
21 -I$(top_builddir) \
22 -I$(top_srcdir)/polkitgtk \
23 -I$(top_builddir)/polkitgtk \
24 -DG_LOG_DOMAIN=\"polkitgtk\" \
25 -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
26 $(DISABLE_DEPRECATED) \
27 $(AM_CPPFLAGS) \
28 -DPOLKIT_GTK_COMPILATION \
29 $(NULL)
30
31 libpolkit_gtk_1_la_CFLAGS = \
32 $(POLKIT_GOBJECT_CFLAGS) \
33 $(GTK_CFLAGS) \
34 $(WARN_CFLAGS) \
35 $(AM_CFLAGS) \
36 $(NULL)
37
38 libpolkit_gtk_1_la_LIBADD = \
39 $(POLKIT_GOBJECT_LIBS) \
40 $(GTK_LIBS) \
41 $(INTLLIBS) \
42 $(NULL)
43
44
45 libpolkit_gtk_1_la_LDFLAGS = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
46 -export-dynamic -no-undefined -export-symbols-regex '(^polkit_.*)'
47
48 pkgconfigdir = $(libdir)/pkgconfig
49 pkgconfig_DATA = polkit-gtk-1.pc
50
51 noinst_PROGRAMS = example
52
53 example_SOURCES = example.c
54 example_CFLAGS = \
55 -I$(top_srcdir) \
56 -I$(top_builddir) \
57 $(POLKIT_GOBJECT_CFLAGS) \
58 $(GTK_CFLAGS) \
59 $(WARN_CFLAGS) \
60 $(AM_CFLAGS) \
61 $(NULL)
62
63 example_LDADD = \
64 $(POLKIT_GOBJECT_LIBS) \
65 $(GTK_LIBS) \
66 $(INTLLIBS) \
67 libpolkit-gtk-1.la \
68 $(NULL)
69
70 CLEANFILES = $(BUILT_SOURCES) $(pkgconfig_DATA)
71
72 clean-local :
73 rm -f *~ $(BUILT_SOURCES)
74
0 # Makefile.in generated by automake 1.11 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17
18
19
20 VPATH = @srcdir@
21 pkgdatadir = $(datadir)/@PACKAGE@
22 pkgincludedir = $(includedir)/@PACKAGE@
23 pkglibdir = $(libdir)/@PACKAGE@
24 pkglibexecdir = $(libexecdir)/@PACKAGE@
25 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
26 install_sh_DATA = $(install_sh) -c -m 644
27 install_sh_PROGRAM = $(install_sh) -c
28 install_sh_SCRIPT = $(install_sh) -c
29 INSTALL_HEADER = $(INSTALL_DATA)
30 transform = $(program_transform_name)
31 NORMAL_INSTALL = :
32 PRE_INSTALL = :
33 POST_INSTALL = :
34 NORMAL_UNINSTALL = :
35 PRE_UNINSTALL = :
36 POST_UNINSTALL = :
37 build_triplet = @build@
38 host_triplet = @host@
39 noinst_PROGRAMS = example$(EXEEXT)
40 subdir = polkitgtk
41 DIST_COMMON = $(libpolkit_gtk_1include_HEADERS) $(srcdir)/Makefile.am \
42 $(srcdir)/Makefile.in $(srcdir)/polkit-gtk-1.pc.in
43 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
44 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
45 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
46 $(ACLOCAL_M4)
47 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
48 CONFIG_HEADER = $(top_builddir)/config.h
49 CONFIG_CLEAN_FILES = polkit-gtk-1.pc
50 CONFIG_CLEAN_VPATH_FILES =
51 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
52 am__vpath_adj = case $$p in \
53 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
54 *) f=$$p;; \
55 esac;
56 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
57 am__install_max = 40
58 am__nobase_strip_setup = \
59 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
60 am__nobase_strip = \
61 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
62 am__nobase_list = $(am__nobase_strip_setup); \
63 for p in $$list; do echo "$$p $$p"; done | \
64 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
65 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
66 if (++n[$$2] == $(am__install_max)) \
67 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
68 END { for (dir in files) print dir, files[dir] }'
69 am__base_list = \
70 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
71 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
72 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \
73 "$(DESTDIR)$(libpolkit_gtk_1includedir)"
74 LTLIBRARIES = $(lib_LTLIBRARIES)
75 am__DEPENDENCIES_1 =
76 libpolkit_gtk_1_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
77 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
78 $(am__DEPENDENCIES_1)
79 am__objects_1 =
80 am_libpolkit_gtk_1_la_OBJECTS = \
81 libpolkit_gtk_1_la-polkitlockbutton.lo $(am__objects_1)
82 libpolkit_gtk_1_la_OBJECTS = $(am_libpolkit_gtk_1_la_OBJECTS)
83 libpolkit_gtk_1_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
84 $(LIBTOOLFLAGS) --mode=link $(CCLD) \
85 $(libpolkit_gtk_1_la_CFLAGS) $(CFLAGS) \
86 $(libpolkit_gtk_1_la_LDFLAGS) $(LDFLAGS) -o $@
87 PROGRAMS = $(noinst_PROGRAMS)
88 am_example_OBJECTS = example-example.$(OBJEXT)
89 example_OBJECTS = $(am_example_OBJECTS)
90 example_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
91 $(am__DEPENDENCIES_1) libpolkit-gtk-1.la $(am__DEPENDENCIES_1)
92 example_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
93 --mode=link $(CCLD) $(example_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
94 $(LDFLAGS) -o $@
95 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
96 depcomp = $(SHELL) $(top_srcdir)/depcomp
97 am__depfiles_maybe = depfiles
98 am__mv = mv -f
99 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
100 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
101 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
102 --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
103 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
104 CCLD = $(CC)
105 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
106 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
107 $(LDFLAGS) -o $@
108 SOURCES = $(libpolkit_gtk_1_la_SOURCES) $(example_SOURCES)
109 DIST_SOURCES = $(libpolkit_gtk_1_la_SOURCES) $(example_SOURCES)
110 DATA = $(pkgconfig_DATA)
111 HEADERS = $(libpolkit_gtk_1include_HEADERS)
112 ETAGS = etags
113 CTAGS = ctags
114 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
115 ACLOCAL = @ACLOCAL@
116 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
117 ALL_LINGUAS = @ALL_LINGUAS@
118 AMTAR = @AMTAR@
119 AM_CFLAGS = @AM_CFLAGS@
120 AM_CPPFLAGS = @AM_CPPFLAGS@
121 AM_CXXFLAGS = @AM_CXXFLAGS@
122 AM_LDFLAGS = @AM_LDFLAGS@
123 AR = @AR@
124 AUTOCONF = @AUTOCONF@
125 AUTOHEADER = @AUTOHEADER@
126 AUTOMAKE = @AUTOMAKE@
127 AWK = @AWK@
128 CATALOGS = @CATALOGS@
129 CATOBJEXT = @CATOBJEXT@
130 CC = @CC@
131 CCDEPMODE = @CCDEPMODE@
132 CFLAGS = @CFLAGS@
133 CPP = @CPP@
134 CPPFLAGS = @CPPFLAGS@
135 CYGPATH_W = @CYGPATH_W@
136 DATADIRNAME = @DATADIRNAME@
137 DEFS = @DEFS@
138 DEPDIR = @DEPDIR@
139 DISABLE_DEPRECATED = @DISABLE_DEPRECATED@
140 DSYMUTIL = @DSYMUTIL@
141 DUMPBIN = @DUMPBIN@
142 ECHO_C = @ECHO_C@
143 ECHO_N = @ECHO_N@
144 ECHO_T = @ECHO_T@
145 EGREP = @EGREP@
146 EXEEXT = @EXEEXT@
147 FGREP = @FGREP@
148 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
149 GMOFILES = @GMOFILES@
150 GMSGFMT = @GMSGFMT@
151 GREP = @GREP@
152 GTKDOC_CHECK = @GTKDOC_CHECK@
153 GTK_CFLAGS = @GTK_CFLAGS@
154 GTK_LIBS = @GTK_LIBS@
155 HTML_DIR = @HTML_DIR@
156 INSTALL = @INSTALL@
157 INSTALL_DATA = @INSTALL_DATA@
158 INSTALL_PROGRAM = @INSTALL_PROGRAM@
159 INSTALL_SCRIPT = @INSTALL_SCRIPT@
160 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
161 INSTOBJEXT = @INSTOBJEXT@
162 INTLLIBS = @INTLLIBS@
163 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
164 INTLTOOL_MERGE = @INTLTOOL_MERGE@
165 INTLTOOL_PERL = @INTLTOOL_PERL@
166 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
167 LD = @LD@
168 LDFLAGS = @LDFLAGS@
169 LIBOBJS = @LIBOBJS@
170 LIBS = @LIBS@
171 LIBTOOL = @LIBTOOL@
172 LIPO = @LIPO@
173 LN_S = @LN_S@
174 LTLIBOBJS = @LTLIBOBJS@
175 LT_AGE = @LT_AGE@
176 LT_CURRENT = @LT_CURRENT@
177 LT_REVISION = @LT_REVISION@
178 MAINT = @MAINT@
179 MAKEINFO = @MAKEINFO@
180 MKDIR_P = @MKDIR_P@
181 MKINSTALLDIRS = @MKINSTALLDIRS@
182 MSGFMT = @MSGFMT@
183 MSGFMT_OPTS = @MSGFMT_OPTS@
184 MSGMERGE = @MSGMERGE@
185 NM = @NM@
186 NMEDIT = @NMEDIT@
187 OBJDUMP = @OBJDUMP@
188 OBJEXT = @OBJEXT@
189 OTOOL = @OTOOL@
190 OTOOL64 = @OTOOL64@
191 PACKAGE = @PACKAGE@
192 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
193 PACKAGE_NAME = @PACKAGE_NAME@
194 PACKAGE_STRING = @PACKAGE_STRING@
195 PACKAGE_TARNAME = @PACKAGE_TARNAME@
196 PACKAGE_VERSION = @PACKAGE_VERSION@
197 PATH_SEPARATOR = @PATH_SEPARATOR@
198 PKG_CONFIG = @PKG_CONFIG@
199 POFILES = @POFILES@
200 POLKIT_AGENT_CFLAGS = @POLKIT_AGENT_CFLAGS@
201 POLKIT_AGENT_LIBS = @POLKIT_AGENT_LIBS@
202 POLKIT_GOBJECT_CFLAGS = @POLKIT_GOBJECT_CFLAGS@
203 POLKIT_GOBJECT_LIBS = @POLKIT_GOBJECT_LIBS@
204 POSUB = @POSUB@
205 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
206 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
207 RANLIB = @RANLIB@
208 SED = @SED@
209 SET_MAKE = @SET_MAKE@
210 SHELL = @SHELL@
211 STRIP = @STRIP@
212 USE_NLS = @USE_NLS@
213 VERSION = @VERSION@
214 WARN_CFLAGS = @WARN_CFLAGS@
215 XGETTEXT = @XGETTEXT@
216 abs_builddir = @abs_builddir@
217 abs_srcdir = @abs_srcdir@
218 abs_top_builddir = @abs_top_builddir@
219 abs_top_srcdir = @abs_top_srcdir@
220 ac_ct_CC = @ac_ct_CC@
221 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
222 am__include = @am__include@
223 am__leading_dot = @am__leading_dot@
224 am__quote = @am__quote@
225 am__tar = @am__tar@
226 am__untar = @am__untar@
227 bindir = @bindir@
228 build = @build@
229 build_alias = @build_alias@
230 build_cpu = @build_cpu@
231 build_os = @build_os@
232 build_vendor = @build_vendor@
233 builddir = @builddir@
234 datadir = @datadir@
235 datarootdir = @datarootdir@
236 docdir = @docdir@
237 dvidir = @dvidir@
238 exec_prefix = @exec_prefix@
239 host = @host@
240 host_alias = @host_alias@
241 host_cpu = @host_cpu@
242 host_os = @host_os@
243 host_vendor = @host_vendor@
244 htmldir = @htmldir@
245 includedir = @includedir@
246 infodir = @infodir@
247 install_sh = @install_sh@
248 libdir = @libdir@
249 libexecdir = @libexecdir@
250 localedir = @localedir@
251 localstatedir = @localstatedir@
252 lt_ECHO = @lt_ECHO@
253 mandir = @mandir@
254 mkdir_p = @mkdir_p@
255 oldincludedir = @oldincludedir@
256 pdfdir = @pdfdir@
257 prefix = @prefix@
258 program_transform_name = @program_transform_name@
259 psdir = @psdir@
260 sbindir = @sbindir@
261 sharedstatedir = @sharedstatedir@
262 srcdir = @srcdir@
263 sysconfdir = @sysconfdir@
264 target_alias = @target_alias@
265 top_build_prefix = @top_build_prefix@
266 top_builddir = @top_builddir@
267 top_srcdir = @top_srcdir@
268 NULL =
269 lib_LTLIBRARIES = libpolkit-gtk-1.la
270 libpolkit_gtk_1includedir = $(includedir)/polkit-gtk-1/polkitgtk
271 libpolkit_gtk_1include_HEADERS = \
272 polkitgtk.h \
273 polkitgtktypes.h \
274 polkitlockbutton.h \
275 $(NULL)
276
277 libpolkit_gtk_1_la_SOURCES = \
278 polkitgtk.h \
279 polkitgtktypes.h \
280 polkitlockbutton.h polkitlockbutton.c \
281 $(NULL)
282
283 libpolkit_gtk_1_la_CPPFLAGS = \
284 -I$(top_srcdir) \
285 -I$(top_builddir) \
286 -I$(top_srcdir)/polkitgtk \
287 -I$(top_builddir)/polkitgtk \
288 -DG_LOG_DOMAIN=\"polkitgtk\" \
289 -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
290 $(DISABLE_DEPRECATED) \
291 $(AM_CPPFLAGS) \
292 -DPOLKIT_GTK_COMPILATION \
293 $(NULL)
294
295 libpolkit_gtk_1_la_CFLAGS = \
296 $(POLKIT_GOBJECT_CFLAGS) \
297 $(GTK_CFLAGS) \
298 $(WARN_CFLAGS) \
299 $(AM_CFLAGS) \
300 $(NULL)
301
302 libpolkit_gtk_1_la_LIBADD = \
303 $(POLKIT_GOBJECT_LIBS) \
304 $(GTK_LIBS) \
305 $(INTLLIBS) \
306 $(NULL)
307
308 libpolkit_gtk_1_la_LDFLAGS = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
309 -export-dynamic -no-undefined -export-symbols-regex '(^polkit_.*)'
310
311 pkgconfigdir = $(libdir)/pkgconfig
312 pkgconfig_DATA = polkit-gtk-1.pc
313 example_SOURCES = example.c
314 example_CFLAGS = \
315 -I$(top_srcdir) \
316 -I$(top_builddir) \
317 $(POLKIT_GOBJECT_CFLAGS) \
318 $(GTK_CFLAGS) \
319 $(WARN_CFLAGS) \
320 $(AM_CFLAGS) \
321 $(NULL)
322
323 example_LDADD = \
324 $(POLKIT_GOBJECT_LIBS) \
325 $(GTK_LIBS) \
326 $(INTLLIBS) \
327 libpolkit-gtk-1.la \
328 $(NULL)
329
330 CLEANFILES = $(BUILT_SOURCES) $(pkgconfig_DATA)
331 all: all-am
332
333 .SUFFIXES:
334 .SUFFIXES: .c .lo .o .obj
335 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
336 @for dep in $?; do \
337 case '$(am__configure_deps)' in \
338 *$$dep*) \
339 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
340 && { if test -f $@; then exit 0; else break; fi; }; \
341 exit 1;; \
342 esac; \
343 done; \
344 echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign polkitgtk/Makefile'; \
345 $(am__cd) $(top_srcdir) && \
346 $(AUTOMAKE) --foreign polkitgtk/Makefile
347 .PRECIOUS: Makefile
348 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
349 @case '$?' in \
350 *config.status*) \
351 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
352 *) \
353 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
354 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
355 esac;
356
357 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
358 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
359
360 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
361 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
362 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
363 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
364 $(am__aclocal_m4_deps):
365 polkit-gtk-1.pc: $(top_builddir)/config.status $(srcdir)/polkit-gtk-1.pc.in
366 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
367 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
368 @$(NORMAL_INSTALL)
369 test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
370 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
371 list2=; for p in $$list; do \
372 if test -f $$p; then \
373 list2="$$list2 $$p"; \
374 else :; fi; \
375 done; \
376 test -z "$$list2" || { \
377 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
378 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
379 }
380
381 uninstall-libLTLIBRARIES:
382 @$(NORMAL_UNINSTALL)
383 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
384 for p in $$list; do \
385 $(am__strip_dir) \
386 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
387 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
388 done
389
390 clean-libLTLIBRARIES:
391 -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
392 @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
393 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
394 test "$$dir" != "$$p" || dir=.; \
395 echo "rm -f \"$${dir}/so_locations\""; \
396 rm -f "$${dir}/so_locations"; \
397 done
398 libpolkit-gtk-1.la: $(libpolkit_gtk_1_la_OBJECTS) $(libpolkit_gtk_1_la_DEPENDENCIES)
399 $(libpolkit_gtk_1_la_LINK) -rpath $(libdir) $(libpolkit_gtk_1_la_OBJECTS) $(libpolkit_gtk_1_la_LIBADD) $(LIBS)
400
401 clean-noinstPROGRAMS:
402 @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
403 echo " rm -f" $$list; \
404 rm -f $$list || exit $$?; \
405 test -n "$(EXEEXT)" || exit 0; \
406 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
407 echo " rm -f" $$list; \
408 rm -f $$list
409 example$(EXEEXT): $(example_OBJECTS) $(example_DEPENDENCIES)
410 @rm -f example$(EXEEXT)
411 $(example_LINK) $(example_OBJECTS) $(example_LDADD) $(LIBS)
412
413 mostlyclean-compile:
414 -rm -f *.$(OBJEXT)
415
416 distclean-compile:
417 -rm -f *.tab.c
418
419 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/example-example.Po@am__quote@
420 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpolkit_gtk_1_la-polkitlockbutton.Plo@am__quote@
421
422 .c.o:
423 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
424 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
425 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
426 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
427 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
428
429 .c.obj:
430 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
431 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
432 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
433 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
434 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
435
436 .c.lo:
437 @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
438 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
439 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
440 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
441 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
442
443 libpolkit_gtk_1_la-polkitlockbutton.lo: polkitlockbutton.c
444 @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpolkit_gtk_1_la_CPPFLAGS) $(CPPFLAGS) $(libpolkit_gtk_1_la_CFLAGS) $(CFLAGS) -MT libpolkit_gtk_1_la-polkitlockbutton.lo -MD -MP -MF $(DEPDIR)/libpolkit_gtk_1_la-polkitlockbutton.Tpo -c -o libpolkit_gtk_1_la-polkitlockbutton.lo `test -f 'polkitlockbutton.c' || echo '$(srcdir)/'`polkitlockbutton.c
445 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libpolkit_gtk_1_la-polkitlockbutton.Tpo $(DEPDIR)/libpolkit_gtk_1_la-polkitlockbutton.Plo
446 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkitlockbutton.c' object='libpolkit_gtk_1_la-polkitlockbutton.lo' libtool=yes @AMDEPBACKSLASH@
447 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
448 @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpolkit_gtk_1_la_CPPFLAGS) $(CPPFLAGS) $(libpolkit_gtk_1_la_CFLAGS) $(CFLAGS) -c -o libpolkit_gtk_1_la-polkitlockbutton.lo `test -f 'polkitlockbutton.c' || echo '$(srcdir)/'`polkitlockbutton.c
449
450 example-example.o: example.c
451 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(example_CFLAGS) $(CFLAGS) -MT example-example.o -MD -MP -MF $(DEPDIR)/example-example.Tpo -c -o example-example.o `test -f 'example.c' || echo '$(srcdir)/'`example.c
452 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/example-example.Tpo $(DEPDIR)/example-example.Po
453 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='example.c' object='example-example.o' libtool=no @AMDEPBACKSLASH@
454 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
455 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(example_CFLAGS) $(CFLAGS) -c -o example-example.o `test -f 'example.c' || echo '$(srcdir)/'`example.c
456
457 example-example.obj: example.c
458 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(example_CFLAGS) $(CFLAGS) -MT example-example.obj -MD -MP -MF $(DEPDIR)/example-example.Tpo -c -o example-example.obj `if test -f 'example.c'; then $(CYGPATH_W) 'example.c'; else $(CYGPATH_W) '$(srcdir)/example.c'; fi`
459 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/example-example.Tpo $(DEPDIR)/example-example.Po
460 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='example.c' object='example-example.obj' libtool=no @AMDEPBACKSLASH@
461 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
462 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(example_CFLAGS) $(CFLAGS) -c -o example-example.obj `if test -f 'example.c'; then $(CYGPATH_W) 'example.c'; else $(CYGPATH_W) '$(srcdir)/example.c'; fi`
463
464 mostlyclean-libtool:
465 -rm -f *.lo
466
467 clean-libtool:
468 -rm -rf .libs _libs
469 install-pkgconfigDATA: $(pkgconfig_DATA)
470 @$(NORMAL_INSTALL)
471 test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
472 @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
473 for p in $$list; do \
474 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
475 echo "$$d$$p"; \
476 done | $(am__base_list) | \
477 while read files; do \
478 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
479 $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
480 done
481
482 uninstall-pkgconfigDATA:
483 @$(NORMAL_UNINSTALL)
484 @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
485 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
486 test -n "$$files" || exit 0; \
487 echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
488 cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
489 install-libpolkit_gtk_1includeHEADERS: $(libpolkit_gtk_1include_HEADERS)
490 @$(NORMAL_INSTALL)
491 test -z "$(libpolkit_gtk_1includedir)" || $(MKDIR_P) "$(DESTDIR)$(libpolkit_gtk_1includedir)"
492 @list='$(libpolkit_gtk_1include_HEADERS)'; test -n "$(libpolkit_gtk_1includedir)" || list=; \
493 for p in $$list; do \
494 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
495 echo "$$d$$p"; \
496 done | $(am__base_list) | \
497 while read files; do \
498 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libpolkit_gtk_1includedir)'"; \
499 $(INSTALL_HEADER) $$files "$(DESTDIR)$(libpolkit_gtk_1includedir)" || exit $$?; \
500 done
501
502 uninstall-libpolkit_gtk_1includeHEADERS:
503 @$(NORMAL_UNINSTALL)
504 @list='$(libpolkit_gtk_1include_HEADERS)'; test -n "$(libpolkit_gtk_1includedir)" || list=; \
505 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
506 test -n "$$files" || exit 0; \
507 echo " ( cd '$(DESTDIR)$(libpolkit_gtk_1includedir)' && rm -f" $$files ")"; \
508 cd "$(DESTDIR)$(libpolkit_gtk_1includedir)" && rm -f $$files
509
510 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
511 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
512 unique=`for i in $$list; do \
513 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
514 done | \
515 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
516 END { if (nonempty) { for (i in files) print i; }; }'`; \
517 mkid -fID $$unique
518 tags: TAGS
519
520 TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
521 $(TAGS_FILES) $(LISP)
522 set x; \
523 here=`pwd`; \
524 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
525 unique=`for i in $$list; do \
526 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
527 done | \
528 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
529 END { if (nonempty) { for (i in files) print i; }; }'`; \
530 shift; \
531 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
532 test -n "$$unique" || unique=$$empty_fix; \
533 if test $$# -gt 0; then \
534 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
535 "$$@" $$unique; \
536 else \
537 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
538 $$unique; \
539 fi; \
540 fi
541 ctags: CTAGS
542 CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
543 $(TAGS_FILES) $(LISP)
544 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
545 unique=`for i in $$list; do \
546 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
547 done | \
548 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
549 END { if (nonempty) { for (i in files) print i; }; }'`; \
550 test -z "$(CTAGS_ARGS)$$unique" \
551 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
552 $$unique
553
554 GTAGS:
555 here=`$(am__cd) $(top_builddir) && pwd` \
556 && $(am__cd) $(top_srcdir) \
557 && gtags -i $(GTAGS_ARGS) "$$here"
558
559 distclean-tags:
560 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
561
562 distdir: $(DISTFILES)
563 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
564 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
565 list='$(DISTFILES)'; \
566 dist_files=`for file in $$list; do echo $$file; done | \
567 sed -e "s|^$$srcdirstrip/||;t" \
568 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
569 case $$dist_files in \
570 */*) $(MKDIR_P) `echo "$$dist_files" | \
571 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
572 sort -u` ;; \
573 esac; \
574 for file in $$dist_files; do \
575 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
576 if test -d $$d/$$file; then \
577 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
578 if test -d "$(distdir)/$$file"; then \
579 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
580 fi; \
581 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
582 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
583 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
584 fi; \
585 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
586 else \
587 test -f "$(distdir)/$$file" \
588 || cp -p $$d/$$file "$(distdir)/$$file" \
589 || exit 1; \
590 fi; \
591 done
592 check-am: all-am
593 check: check-am
594 all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS)
595 installdirs:
596 for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(libpolkit_gtk_1includedir)"; do \
597 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
598 done
599 install: install-am
600 install-exec: install-exec-am
601 install-data: install-data-am
602 uninstall: uninstall-am
603
604 install-am: all-am
605 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
606
607 installcheck: installcheck-am
608 install-strip:
609 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
610 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
611 `test -z '$(STRIP)' || \
612 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
613 mostlyclean-generic:
614
615 clean-generic:
616 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
617
618 distclean-generic:
619 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
620 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
621
622 maintainer-clean-generic:
623 @echo "This command is intended for maintainers to use"
624 @echo "it deletes files that may require special tools to rebuild."
625 clean: clean-am
626
627 clean-am: clean-generic clean-libLTLIBRARIES clean-libtool clean-local \
628 clean-noinstPROGRAMS mostlyclean-am
629
630 distclean: distclean-am
631 -rm -rf ./$(DEPDIR)
632 -rm -f Makefile
633 distclean-am: clean-am distclean-compile distclean-generic \
634 distclean-tags
635
636 dvi: dvi-am
637
638 dvi-am:
639
640 html: html-am
641
642 html-am:
643
644 info: info-am
645
646 info-am:
647
648 install-data-am: install-libpolkit_gtk_1includeHEADERS \
649 install-pkgconfigDATA
650
651 install-dvi: install-dvi-am
652
653 install-dvi-am:
654
655 install-exec-am: install-libLTLIBRARIES
656
657 install-html: install-html-am
658
659 install-html-am:
660
661 install-info: install-info-am
662
663 install-info-am:
664
665 install-man:
666
667 install-pdf: install-pdf-am
668
669 install-pdf-am:
670
671 install-ps: install-ps-am
672
673 install-ps-am:
674
675 installcheck-am:
676
677 maintainer-clean: maintainer-clean-am
678 -rm -rf ./$(DEPDIR)
679 -rm -f Makefile
680 maintainer-clean-am: distclean-am maintainer-clean-generic
681
682 mostlyclean: mostlyclean-am
683
684 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
685 mostlyclean-libtool
686
687 pdf: pdf-am
688
689 pdf-am:
690
691 ps: ps-am
692
693 ps-am:
694
695 uninstall-am: uninstall-libLTLIBRARIES \
696 uninstall-libpolkit_gtk_1includeHEADERS \
697 uninstall-pkgconfigDATA
698
699 .MAKE: install-am install-strip
700
701 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
702 clean-libLTLIBRARIES clean-libtool clean-local \
703 clean-noinstPROGRAMS ctags distclean distclean-compile \
704 distclean-generic distclean-libtool distclean-tags distdir dvi \
705 dvi-am html html-am info info-am install install-am \
706 install-data install-data-am install-dvi install-dvi-am \
707 install-exec install-exec-am install-html install-html-am \
708 install-info install-info-am install-libLTLIBRARIES \
709 install-libpolkit_gtk_1includeHEADERS install-man install-pdf \
710 install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
711 install-strip installcheck installcheck-am installdirs \
712 maintainer-clean maintainer-clean-generic mostlyclean \
713 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
714 pdf pdf-am ps ps-am tags uninstall uninstall-am \
715 uninstall-libLTLIBRARIES \
716 uninstall-libpolkit_gtk_1includeHEADERS \
717 uninstall-pkgconfigDATA
718
719
720 clean-local :
721 rm -f *~ $(BUILT_SOURCES)
722
723 # Tell versions [3.59,3.63) of GNU make to not export all variables.
724 # Otherwise a system limit (for SysV at least) may be exceeded.
725 .NOEXPORT:
0 /*
1 * Copyright (C) 2009 Red Hat, Inc.
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General
14 * Public License along with this library; if not, write to the
15 * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
16 * Boston, MA 02111-1307, USA.
17 *
18 * Author: David Zeuthen <davidz@redhat.com>
19 */
20
21 #include <polkitgtk/polkitgtk.h>
22
23 static void
24 on_button_changed (PolkitLockButton *button,
25 gpointer user_data)
26 {
27 GtkWidget *entry = GTK_WIDGET (user_data);
28
29 gtk_widget_set_sensitive (entry,
30 polkit_lock_button_get_is_authorized (button));
31 }
32
33 int
34 main (int argc, char *argv[])
35 {
36 GtkWidget *window;
37 GtkWidget *label;
38 GtkWidget *button;
39 GtkWidget *entry;
40 GtkWidget *vbox;
41 gchar *s;
42
43 gtk_init (&argc, &argv);
44
45 if (argc != 2)
46 {
47 g_printerr ("usage: %s <action_id>\n", argv[0]);
48 goto out;
49 }
50
51 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
52 gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
53
54 vbox = gtk_vbox_new (FALSE, 12);
55 gtk_container_set_border_width (GTK_CONTAINER (window), 12);
56 gtk_container_add (GTK_CONTAINER (window), vbox);
57
58 s = g_strdup_printf ("Showing PolkitLockButton for action id: %s", argv[1]);
59 label = gtk_label_new (s);
60 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
61 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
62 g_free (s);
63
64 entry = gtk_entry_new ();
65 gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0);
66
67 button = polkit_lock_button_new (argv[1]);
68 g_signal_connect (button,
69 "changed",
70 G_CALLBACK (on_button_changed),
71 entry);
72 gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
73
74 gtk_widget_set_sensitive (entry,
75 polkit_lock_button_get_is_authorized (POLKIT_LOCK_BUTTON (button)));
76
77 gtk_widget_show_all (window);
78 gtk_window_present (GTK_WINDOW (window));
79
80 gtk_main ();
81
82 out:
83 return 0;
84 }
0 prefix=@prefix@
1 exec_prefix=@exec_prefix@
2 libdir=@libdir@
3 includedir=@includedir@
4
5 Name: polkit-gtk-1
6 Description: PolicyKit GTK+ widgets
7 Version: @VERSION@
8 Libs: -L${libdir} -lpolkit-gtk-1
9 Cflags: -I${includedir}/polkit-gtk-1
10 Requires: polkit-gobject-1
0 /*
1 * Copyright (C) 2009 Red Hat, Inc.
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General
14 * Public License along with this library; if not, write to the
15 * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
16 * Boston, MA 02111-1307, USA.
17 *
18 * Author: David Zeuthen <davidz@redhat.com>
19 */
20
21 #ifndef __POLKIT_GTK_H
22 #define __POLKIT_GTK_H
23
24 #define _POLKIT_GTK_INSIDE_POLKIT_GTK_H 1
25
26 #include <polkitgtk/polkitgtktypes.h>
27 #include <polkitgtk/polkitlockbutton.h>
28
29 #undef _POLKIT_GTK_INSIDE_POLKIT_GTK_H
30
31 #endif /* __POLKIT_GTK_H */
0 /*
1 * Copyright (C) 2009 Red Hat, Inc.
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General
14 * Public License along with this library; if not, write to the
15 * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
16 * Boston, MA 02111-1307, USA.
17 *
18 * Author: David Zeuthen <davidz@redhat.com>
19 */
20
21 #if !defined (_POLKIT_GTK_INSIDE_POLKIT_GTK_H) && !defined (POLKIT_GTK_COMPILATION)
22 #error "Only <polkitgtk/polkitgtk.h> can be included directly, this file may disappear or change contents."
23 #endif
24
25 #ifndef __POLKIT_GTK_TYPES_H
26 #define __POLKIT_GTK_TYPES_H
27
28 #include <gtk/gtk.h>
29
30 struct _PolkitLockButton;
31 typedef struct _PolkitLockButton PolkitLockButton;
32
33 #endif /* __POLKIT_GTK_TYPES_H */
0 /*
1 * Copyright (C) 2009 Red Hat, Inc.
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General
14 * Public License along with this library; if not, write to the
15 * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
16 * Boston, MA 02111-1307, USA.
17 *
18 * Author: David Zeuthen <davidz@redhat.com>
19 */
20
21 #include "config.h"
22
23 #include <glib/gi18n-lib.h>
24 #include <string.h>
25 #include <polkit/polkit.h>
26
27 #include "polkitlockbutton.h"
28
29 /**
30 * SECTION:polkitlockbutton
31 * @title: PolkitLockButton
32 * @short_description: Toggle button for obtaining/revoking authorizations
33 * @stability: Stable
34 *
35 * #PolkitLockButton is a widget that can be used in control panels to
36 * allow users to obtain and revoke authorizations needed for the
37 * control panel UI to function.
38 *
39 * If the user lacks the authorization but authorization can be
40 * obtained through authentication, the widget looks like this
41 * <mediaobject id="lock-button-locked">
42 * <imageobject>
43 * <imagedata fileref="polkit-lock-button-locked.png" format="PNG"/>
44 * </imageobject>
45 * </mediaobject>
46 * and the user can click the button to obtain the authorization. This
47 * will pop up an authentication dialog.
48 * Once authorization is obtained, the widget changes to this
49 * <mediaobject id="lock-button-unlocked">
50 * <imageobject>
51 * <imagedata fileref="polkit-lock-button-unlocked.png" format="PNG"/>
52 * </imageobject>
53 * </mediaobject>
54 * and the authorization can be dropped by clicking the button.
55 * If the user is not able to obtain authorization at all, the widget
56 * looks like this
57 * <mediaobject id="lock-button-unlocked-not-authorized">
58 * <imageobject>
59 * <imagedata fileref="polkit-lock-button-not-authorized.png" format="PNG"/>
60 * </imageobject>
61 * </mediaobject>
62 * If the user is authorized (either implicitly via the .policy file
63 * defaults or through e.g. Local Authority configuration) and no
64 * authentication is necessary, the widget will be hidden.
65 *
66 * Finally, if the user is not authorized but authorization can be
67 * obtained and the obtained authorization will be a one-shot
68 * authorization, the widget will be hidden as well. This
69 * means that any attempt to use the Mechanism that requires authorization
70 * for the specified action will always prompt for authentication. This
71 * condition happens exactly when
72 * (!polkit_lock_button_get_is_authorized() && polkit_lock_button_get_can_obtain() && !polkit_lock_button_get_is_visible())
73 * is %TRUE.
74 *
75 * Typically #PolkitLockButton is only useful for actions where authorization
76 * is retained (cf. the defaults specified in the <literal>.policy</literal>
77 * file for the action) but note that this behavior can be overridden by the
78 * Authority implementation.
79 *
80 * The typical usage of this widget is like this:
81 * <programlisting>
82 * static void
83 * update_sensitivity_according_to_lock_button (FooBar *bar)
84 * {
85 * gboolean make_sensitive;
86 *
87 * make_sensitive = FALSE;
88 * if (polkit_lock_button_get_is_authorized (POLKIT_LOCK_BUTTON (bar->priv->lock_button)))
89 * {
90 * make_sensitive = TRUE;
91 * }
92 * else
93 * {
94 * /<!-- -->* Catch the case where authorization is one-shot - this means
95 * * an authentication dialog will be shown every time a widget the user
96 * * manipulates calls into the Mechanism.
97 * *<!-- -->/
98 * if (polkit_lock_button_get_can_obtain (POLKIT_LOCK_BUTTON (bar->priv->lock_button)) &&
99 * !polkit_lock_button_get_is_visible (POLKIT_LOCK_BUTTON (bar->priv->lock_button)))
100 * make_sensitive = TRUE;
101 * }
102 *
103 *
104 * /<!-- -->* Make all widgets relying on authorization sensitive according to
105 * * the value of make_sensitive.
106 * *<!-- -->/
107 * }
108 *
109 * static void
110 * on_lock_button_changed (PolkitLockButton *button,
111 * gpointer user_data)
112 * {
113 * FooBar *bar = FOO_BAR (user_data);
114 *
115 * update_sensitivity_according_to_lock_button (bar);
116 * }
117 *
118 * static void
119 * foo_bar_init (FooBar *bar)
120 * {
121 * /<!-- -->* Construct other widgets *<!-- -->/
122 *
123 * bar->priv->lock_button = polkit_lock_button_new ("org.project.mechanism.action-name");
124 * g_signal_connect (bar->priv->lock_button,
125 * "changed",
126 * G_CALLBACK (on_lock_button_changed),
127 * bar);
128 * update_sensitity_according_to_lock_button (bar);
129 *
130 * /<!-- -->* Pack bar->priv->lock_button into widget hierarchy *<!-- -->/
131 * }
132 * </programlisting>
133 */
134
135 struct _PolkitLockButtonPrivate
136 {
137 PolkitAuthority *authority;
138 PolkitSubject *subject;
139 gchar *action_id;
140
141 gchar *text_unlock;
142 gchar *text_lock;
143 gchar *text_not_authorized;
144
145 GtkWidget *toggle_button;
146 GtkWidget *label;
147 gboolean ignore_toggled_signal;
148
149 gboolean can_obtain;
150 gboolean retains_after_challenge;
151 gboolean authorized;
152 gboolean hidden;
153
154 /* is non-NULL exactly when we are authorized and have a temporary authorization */
155 gchar *tmp_authz_id;
156
157 /* This is non-NULL exactly when we have a non-interactive check outstanding */
158 GCancellable *check_cancellable;
159
160 /* This is non-NULL exactly when we have an interactive check outstanding */
161 GCancellable *interactive_check_cancellable;
162
163 };
164
165 enum
166 {
167 PROP_0,
168 PROP_ACTION_ID,
169 PROP_IS_AUTHORIZED,
170 PROP_IS_VISIBLE,
171 PROP_CAN_OBTAIN,
172 PROP_TEXT_UNLOCK,
173 PROP_TEXT_LOCK,
174 PROP_TEXT_NOT_AUTHORIZED,
175 };
176
177 enum
178 {
179 CHANGED_SIGNAL,
180 LAST_SIGNAL,
181 };
182
183 static guint signals[LAST_SIGNAL] = {0, };
184
185 static void initiate_check (PolkitLockButton *button);
186 static void do_sync_check (PolkitLockButton *button);
187 static void update_state (PolkitLockButton *button);
188
189 static void on_authority_changed (PolkitAuthority *authority,
190 gpointer user_data);
191
192 static void on_toggled (GtkToggleButton *toggle_button,
193 gpointer user_data);
194
195 G_DEFINE_TYPE (PolkitLockButton, polkit_lock_button, GTK_TYPE_HBOX);
196
197 static void
198 polkit_lock_button_finalize (GObject *object)
199 {
200 PolkitLockButton *button = POLKIT_LOCK_BUTTON (object);
201
202 g_free (button->priv->action_id);
203 g_free (button->priv->tmp_authz_id);
204 g_object_unref (button->priv->subject);
205
206 if (button->priv->check_cancellable != NULL)
207 {
208 g_cancellable_cancel (button->priv->check_cancellable);
209 g_object_unref (button->priv->check_cancellable);
210 }
211
212 if (button->priv->interactive_check_cancellable != NULL)
213 {
214 g_cancellable_cancel (button->priv->interactive_check_cancellable);
215 g_object_unref (button->priv->interactive_check_cancellable);
216 }
217
218 g_signal_handlers_disconnect_by_func (button->priv->authority,
219 on_authority_changed,
220 button);
221 g_object_unref (button->priv->authority);
222
223 if (G_OBJECT_CLASS (polkit_lock_button_parent_class)->finalize != NULL)
224 G_OBJECT_CLASS (polkit_lock_button_parent_class)->finalize (object);
225 }
226
227 static void
228 polkit_lock_button_get_property (GObject *object,
229 guint property_id,
230 GValue *value,
231 GParamSpec *pspec)
232 {
233 PolkitLockButton *button = POLKIT_LOCK_BUTTON (object);
234
235 switch (property_id)
236 {
237 case PROP_ACTION_ID:
238 g_value_set_string (value, button->priv->action_id);
239 break;
240
241 case PROP_IS_AUTHORIZED:
242 g_value_set_boolean (value, button->priv->authorized);
243 break;
244
245 case PROP_IS_VISIBLE:
246 g_value_set_boolean (value, !button->priv->hidden);
247 break;
248
249 case PROP_CAN_OBTAIN:
250 g_value_set_boolean (value, button->priv->can_obtain);
251 break;
252
253 case PROP_TEXT_UNLOCK:
254 g_value_set_string (value, button->priv->text_unlock);
255 break;
256
257 case PROP_TEXT_LOCK:
258 g_value_set_string (value, button->priv->text_lock);
259 break;
260
261 case PROP_TEXT_NOT_AUTHORIZED:
262 g_value_set_string (value, button->priv->text_not_authorized);
263 break;
264
265 default:
266 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
267 break;
268 }
269 }
270
271 static void
272 polkit_lock_button_set_property (GObject *object,
273 guint property_id,
274 const GValue *value,
275 GParamSpec *pspec)
276 {
277 PolkitLockButton *button = POLKIT_LOCK_BUTTON (object);
278
279 switch (property_id)
280 {
281 case PROP_ACTION_ID:
282 button->priv->action_id = g_value_dup_string (value);
283 break;
284
285 case PROP_TEXT_UNLOCK:
286 polkit_lock_button_set_unlock_text (button, g_value_get_string (value));
287 break;
288
289 case PROP_TEXT_LOCK:
290 polkit_lock_button_set_lock_text (button, g_value_get_string (value));
291 break;
292
293 case PROP_TEXT_NOT_AUTHORIZED:
294 polkit_lock_button_set_not_authorized_text (button, g_value_get_string (value));
295 break;
296
297 default:
298 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
299 break;
300 }
301 }
302
303
304 static void
305 polkit_lock_button_init (PolkitLockButton *button)
306 {
307 button->priv = G_TYPE_INSTANCE_GET_PRIVATE (button,
308 POLKIT_TYPE_LOCK_BUTTON,
309 PolkitLockButtonPrivate);
310
311 }
312
313 static void
314 polkit_lock_button_constructed (GObject *object)
315 {
316 PolkitLockButton *button = POLKIT_LOCK_BUTTON (object);
317 GtkWidget *image;
318
319 gtk_box_set_spacing (GTK_BOX (button), 6);
320
321 button->priv->authority = polkit_authority_get ();
322 g_signal_connect (button->priv->authority,
323 "changed",
324 G_CALLBACK (on_authority_changed),
325 button);
326
327 button->priv->toggle_button = gtk_toggle_button_new ();
328 image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_AUTHENTICATION,
329 GTK_ICON_SIZE_BUTTON);
330 gtk_button_set_image (GTK_BUTTON (button->priv->toggle_button), image);
331 g_signal_connect (button->priv->toggle_button,
332 "toggled",
333 G_CALLBACK (on_toggled),
334 button);
335
336 gtk_box_pack_start (GTK_BOX (button),
337 button->priv->toggle_button,
338 FALSE,
339 FALSE,
340 0);
341
342 button->priv->label = gtk_label_new ("");
343 gtk_box_pack_start (GTK_BOX (button),
344 button->priv->label,
345 FALSE,
346 FALSE,
347 0);
348
349 /* take control of visibility of child widgets */
350 gtk_widget_set_no_show_all (button->priv->toggle_button, TRUE);
351 gtk_widget_set_no_show_all (button->priv->label, TRUE);
352
353 if (button->priv->subject == NULL)
354 {
355 button->priv->subject = polkit_unix_process_new (getpid ());
356 }
357
358 /* synchronously check on construction - TODO: we could implement GAsyncInitable
359 * in the future to avoid this sync check
360 */
361 do_sync_check (button);
362
363 update_state (button);
364
365 if (G_OBJECT_CLASS (polkit_lock_button_parent_class)->constructed != NULL)
366 G_OBJECT_CLASS (polkit_lock_button_parent_class)->constructed (object);
367 }
368
369 static void
370 polkit_lock_button_class_init (PolkitLockButtonClass *klass)
371 {
372 GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
373
374 gobject_class->finalize = polkit_lock_button_finalize;
375 gobject_class->get_property = polkit_lock_button_get_property;
376 gobject_class->set_property = polkit_lock_button_set_property;
377 gobject_class->constructed = polkit_lock_button_constructed;
378
379 g_type_class_add_private (klass, sizeof (PolkitLockButtonPrivate));
380
381 /**
382 * PolkitLockButton:action-id:
383 *
384 * The action identifier to use for the button.
385 */
386 g_object_class_install_property (gobject_class,
387 PROP_ACTION_ID,
388 g_param_spec_string ("action-id",
389 _("Action Identifier"),
390 _("The action identifier to use for the button"),
391 NULL,
392 G_PARAM_READWRITE |
393 G_PARAM_CONSTRUCT_ONLY |
394 G_PARAM_STATIC_NAME |
395 G_PARAM_STATIC_NICK |
396 G_PARAM_STATIC_BLURB));
397
398 /**
399 * PolkitLockButton:is-authorized:
400 *
401 * Whether the process is authorized.
402 */
403 g_object_class_install_property (gobject_class,
404 PROP_IS_AUTHORIZED,
405 g_param_spec_boolean ("is-authorized",
406 _("Is Authorized"),
407 _("Whether the process is authorized"),
408 FALSE,
409 G_PARAM_READABLE |
410 G_PARAM_STATIC_NAME |
411 G_PARAM_STATIC_NICK |
412 G_PARAM_STATIC_BLURB));
413
414 /**
415 * PolkitLockButton:is-visible:
416 *
417 * Whether the widget is visible.
418 */
419 g_object_class_install_property (gobject_class,
420 PROP_IS_VISIBLE,
421 g_param_spec_boolean ("is-visible",
422 _("Is Visible"),
423 _("Whether the widget is visible"),
424 TRUE,
425 G_PARAM_READABLE |
426 G_PARAM_STATIC_NAME |
427 G_PARAM_STATIC_NICK |
428 G_PARAM_STATIC_BLURB));
429
430 /**
431 * PolkitLockButton:can-obtain:
432 *
433 * Whether authorization can be obtained.
434 */
435 g_object_class_install_property (gobject_class,
436 PROP_CAN_OBTAIN,
437 g_param_spec_boolean ("can-obtain",
438 _("Can Obtain"),
439 _("Whether authorization can be obtained"),
440 FALSE,
441 G_PARAM_READABLE |
442 G_PARAM_STATIC_NAME |
443 G_PARAM_STATIC_NICK |
444 G_PARAM_STATIC_BLURB));
445
446 /**
447 * PolkitLockButton:text-unlock:
448 *
449 * The text to display when prompting the user to unlock.
450 */
451 g_object_class_install_property (gobject_class,
452 PROP_TEXT_UNLOCK,
453 g_param_spec_string ("text-unlock",
454 _("Unlock Text"),
455 _("The text to display when prompting the user to unlock."),
456 _("Click to make changes"),
457 G_PARAM_READWRITE |
458 G_PARAM_CONSTRUCT |
459 G_PARAM_STATIC_NAME |
460 G_PARAM_STATIC_NICK |
461 G_PARAM_STATIC_BLURB));
462
463 /**
464 * PolkitLockButton:text-lock:
465 *
466 * The text to display when prompting the user to lock.
467 */
468 g_object_class_install_property (gobject_class,
469 PROP_TEXT_LOCK,
470 g_param_spec_string ("text-lock",
471 _("Lock Text"),
472 _("The text to display when prompting the user to lock."),
473 _("Click to prevent changes"),
474 G_PARAM_READWRITE |
475 G_PARAM_CONSTRUCT |
476 G_PARAM_STATIC_NAME |
477 G_PARAM_STATIC_NICK |
478 G_PARAM_STATIC_BLURB));
479
480 /**
481 * PolkitLockButton:text-not-authorized:
482 *
483 * The text to display when the user cannot obtain authorization through authentication.
484 */
485 g_object_class_install_property (gobject_class,
486 PROP_TEXT_NOT_AUTHORIZED,
487 g_param_spec_string ("text-not-authorized",
488 _("Unlock Text"),
489 _("The text to display when the user cannot obtain authorization through authentication."),
490 _("Not authorized to make changes"),
491 G_PARAM_READWRITE |
492 G_PARAM_CONSTRUCT |
493 G_PARAM_STATIC_NAME |
494 G_PARAM_STATIC_NICK |
495 G_PARAM_STATIC_BLURB));
496
497 /**
498 * PolkitLockButton::changed:
499 * @button: A #PolkitLockButton.
500 *
501 * Emitted when something on @button changes.
502 */
503 signals[CHANGED_SIGNAL] = g_signal_new ("changed",
504 G_TYPE_FROM_CLASS (klass),
505 G_SIGNAL_RUN_LAST,
506 G_STRUCT_OFFSET (PolkitLockButtonClass, changed),
507 NULL,
508 NULL,
509 g_cclosure_marshal_VOID__VOID,
510 G_TYPE_NONE,
511 0);
512
513 }
514
515 /**
516 * polkit_lock_button_new:
517 * @action_id: An action identifer.
518 *
519 * Constructs a #PolkitLockButton for @action_id.
520 *
521 * Returns: A #PolkitLockButton.
522 */
523 GtkWidget *
524 polkit_lock_button_new (const gchar *action_id)
525 {
526 g_return_val_if_fail (action_id != NULL, NULL);
527
528 return GTK_WIDGET (g_object_new (POLKIT_TYPE_LOCK_BUTTON,
529 "action-id", action_id,
530 NULL));
531 }
532
533 static void
534 update_state (PolkitLockButton *button)
535 {
536 const gchar *text;
537 gboolean active;
538 gboolean sensitive;
539 gboolean old_hidden;
540
541 old_hidden = button->priv->hidden;
542 button->priv->hidden = FALSE;
543
544 if (button->priv->authorized)
545 {
546 text = button->priv->text_lock;
547 active = TRUE;
548 sensitive = TRUE;
549 /* if the authorization isn't temporary => hidden */
550 if (button->priv->tmp_authz_id == NULL)
551 button->priv->hidden = TRUE;
552 }
553 else
554 {
555 active = FALSE;
556 if (button->priv->can_obtain && button->priv->retains_after_challenge)
557 {
558 /* can retain and obtain authorization => show the unlock button */
559 text = button->priv->text_unlock;
560 g_free (button->priv->tmp_authz_id);
561 button->priv->tmp_authz_id = NULL;
562 sensitive = TRUE;
563 }
564 else
565 {
566 if (button->priv->can_obtain)
567 {
568 /* we can obtain authorization, we just can't retain it => hidden */
569 button->priv->hidden = TRUE;
570 }
571 else
572 {
573 /* cannot even obtain authorization => tell user he can't have a pony */
574 text = button->priv->text_not_authorized;
575 g_free (button->priv->tmp_authz_id);
576 button->priv->tmp_authz_id = NULL;
577 sensitive = FALSE;
578 }
579 }
580 }
581
582 gtk_label_set_text (GTK_LABEL (button->priv->label), text);
583 button->priv->ignore_toggled_signal = TRUE;
584 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button->priv->toggle_button), active);
585 button->priv->ignore_toggled_signal = FALSE;
586 gtk_widget_set_sensitive (button->priv->toggle_button, sensitive);
587
588 if (button->priv->hidden)
589 {
590 gtk_widget_hide (button->priv->toggle_button);
591 gtk_widget_hide (button->priv->label);
592 }
593 else
594 {
595 gtk_widget_show (button->priv->toggle_button);
596 gtk_widget_show (button->priv->label);
597 }
598
599 if (old_hidden != button->priv->hidden)
600 g_object_notify (G_OBJECT (button), "is-visible");
601 }
602
603 static void
604 on_authority_changed (PolkitAuthority *authority,
605 gpointer user_data)
606 {
607 PolkitLockButton *button = POLKIT_LOCK_BUTTON (user_data);
608 initiate_check (button);
609 }
610
611 static void
612 process_result (PolkitLockButton *button,
613 PolkitAuthorizationResult *result)
614 {
615 gboolean old_can_obtain;
616 gboolean old_authorized;
617
618 old_can_obtain = button->priv->can_obtain;
619 old_authorized = button->priv->authorized;
620 button->priv->can_obtain = polkit_authorization_result_get_is_challenge (result);
621 button->priv->authorized = polkit_authorization_result_get_is_authorized (result);
622
623 /* save the temporary authorization id */
624 g_free (button->priv->tmp_authz_id);
625 button->priv->tmp_authz_id = g_strdup (polkit_authorization_result_get_temporary_authorization_id (result));
626 button->priv->retains_after_challenge = polkit_authorization_result_get_retains_authorization (result);
627
628 update_state (button);
629
630 if (old_can_obtain != button->priv->can_obtain ||
631 old_authorized != button->priv->authorized)
632 {
633 g_signal_emit (button,
634 signals[CHANGED_SIGNAL],
635 0);
636 }
637
638 if (old_can_obtain != button->priv->can_obtain)
639 g_object_notify (G_OBJECT (button), "can-obtain");
640
641 if (old_authorized != button->priv->authorized)
642 g_object_notify (G_OBJECT (button), "is-authorized");
643 }
644
645 static void
646 check_cb (GObject *source_object,
647 GAsyncResult *res,
648 gpointer user_data)
649 {
650 PolkitAuthority *authority = POLKIT_AUTHORITY (source_object);
651 PolkitLockButton *button = POLKIT_LOCK_BUTTON (user_data);
652 PolkitAuthorizationResult *result;
653 GError *error;
654
655 error = NULL;
656 result = polkit_authority_check_authorization_finish (authority,
657 res,
658 &error);
659 if (error != NULL)
660 {
661 g_warning ("Error checking authorization for action id `%s': %s",
662 button->priv->action_id,
663 error->message);
664 g_error_free (error);
665 }
666 else
667 {
668 process_result (button, result);
669 }
670
671 if (result != NULL)
672 g_object_unref (result);
673
674 if (button->priv->check_cancellable != NULL)
675 {
676 g_object_unref (button->priv->check_cancellable);
677 button->priv->check_cancellable = NULL;
678 }
679 }
680
681 static void
682 initiate_check (PolkitLockButton *button)
683 {
684
685 /* if we have a check pending already, then do nothing */
686 if (button->priv->check_cancellable != NULL)
687 goto out;
688
689 button->priv->check_cancellable = g_cancellable_new ();
690
691 polkit_authority_check_authorization (button->priv->authority,
692 button->priv->subject,
693 button->priv->action_id,
694 NULL, /* PolkitDetails */
695 POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE,
696 button->priv->check_cancellable,
697 check_cb,
698 button);
699
700 out:
701 ;
702 }
703
704 static void
705 do_sync_check (PolkitLockButton *button)
706 {
707 GError *error;
708 PolkitAuthorizationResult *result;
709
710 error = NULL;
711 result = polkit_authority_check_authorization_sync (button->priv->authority,
712 button->priv->subject,
713 button->priv->action_id,
714 NULL, /* PolkitDetails */
715 POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE,
716 NULL, /* cancellable */
717 &error);
718 if (error != NULL)
719 {
720 g_warning ("Error sync-checking authorization for action id `%s': %s",
721 button->priv->action_id,
722 error->message);
723 g_error_free (error);
724 }
725 else
726 {
727 process_result (button, result);
728 }
729
730 if (result != NULL)
731 g_object_unref (result);
732 }
733
734 static void
735 interactive_check_cb (GObject *source_object,
736 GAsyncResult *res,
737 gpointer user_data)
738 {
739 PolkitAuthority *authority = POLKIT_AUTHORITY (source_object);
740 PolkitLockButton *button = POLKIT_LOCK_BUTTON (user_data);
741 PolkitAuthorizationResult *result;
742 PolkitDetails *details;
743 GError *error;
744
745 error = NULL;
746 result = polkit_authority_check_authorization_finish (authority,
747 res,
748 &error);
749 if (error != NULL)
750 {
751 g_warning ("Error obtaining authorization for action id `%s': %s",
752 button->priv->action_id,
753 error->message);
754 g_error_free (error);
755 goto out;
756 }
757
758 /* state is updated in the ::changed signal handler */
759
760 /* save the temporary authorization id */
761 details = polkit_authorization_result_get_details (result);
762 if (details != NULL)
763 {
764 button->priv->tmp_authz_id = g_strdup (polkit_details_lookup (details,
765 "polkit.temporary_authorization_id"));
766 }
767
768 out:
769 if (result != NULL)
770 g_object_unref (result);
771
772 if (button->priv->interactive_check_cancellable != NULL)
773 {
774 g_object_unref (button->priv->interactive_check_cancellable);
775 button->priv->interactive_check_cancellable = NULL;
776 }
777 }
778
779 static void
780 on_toggled (GtkToggleButton *toggle_button,
781 gpointer user_data)
782 {
783 PolkitLockButton *button = POLKIT_LOCK_BUTTON (user_data);
784
785 if (button->priv->ignore_toggled_signal)
786 goto out;
787
788 if (!button->priv->authorized && button->priv->can_obtain)
789 {
790 /* if we already have a pending interactive check, then do nothing */
791 if (button->priv->interactive_check_cancellable != NULL)
792 goto out;
793
794 button->priv->interactive_check_cancellable = g_cancellable_new ();
795
796 polkit_authority_check_authorization (button->priv->authority,
797 button->priv->subject,
798 button->priv->action_id,
799 NULL, /* PolkitDetails */
800 POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION,
801 button->priv->interactive_check_cancellable,
802 interactive_check_cb,
803 button);
804 }
805 else if (button->priv->authorized && button->priv->tmp_authz_id != NULL)
806 {
807 polkit_authority_revoke_temporary_authorization_by_id (button->priv->authority,
808 button->priv->tmp_authz_id,
809 NULL, /* cancellable */
810 NULL, /* callback */
811 NULL); /* user_data */
812 }
813
814 out:
815
816 update_state (button);
817 }
818
819 /**
820 * polkit_lock_button_get_is_authorized:
821 * @button: A #PolkitLockButton.
822 *
823 * Gets whether the process is authorized.
824 *
825 * Returns: %TRUE if authorized.
826 */
827 gboolean
828 polkit_lock_button_get_is_authorized (PolkitLockButton *button)
829 {
830 g_return_val_if_fail (POLKIT_IS_LOCK_BUTTON (button), FALSE);
831 return button->priv->authorized;
832 }
833
834 /**
835 * polkit_lock_button_get_can_obtain:
836 * @button: A #PolkitLockButton.
837 *
838 * Gets whether the user can obtain an authorization through
839 * authentication.
840 *
841 * Returns: Whether the authorization is obtainable.
842 */
843 gboolean
844 polkit_lock_button_get_can_obtain (PolkitLockButton *button)
845 {
846 g_return_val_if_fail (POLKIT_IS_LOCK_BUTTON (button), FALSE);
847 return button->priv->can_obtain;
848 }
849
850 /**
851 * polkit_lock_button_get_is_visible:
852 * @button: A #PolkitLockButton.
853 *
854 * Gets whether @button is currently being shown.
855 *
856 * Returns: %TRUE if @button has visible UI elements.
857 */
858 gboolean
859 polkit_lock_button_get_is_visible (PolkitLockButton *button)
860 {
861 g_return_val_if_fail (POLKIT_IS_LOCK_BUTTON (button), FALSE);
862 return ! button->priv->hidden;
863 }
864
865 /**
866 * polkit_lock_button_set_unlock_text:
867 * @button: A #PolkitLockButton.
868 * @text: The text to set.
869 *
870 * Makes @button display @text when the prompting the user to unlock.
871 */
872 void
873 polkit_lock_button_set_unlock_text (PolkitLockButton *button,
874 const gchar *text)
875 {
876 g_return_if_fail (POLKIT_IS_LOCK_BUTTON (button));
877 g_return_if_fail (text != NULL);
878
879 if (button->priv->text_unlock != NULL)
880 {
881 button->priv->text_unlock = g_strdup (text);
882 update_state (button);
883 }
884 else
885 {
886 button->priv->text_unlock = g_strdup (text);
887 }
888 }
889
890 /**
891 * polkit_lock_button_set_lock_text:
892 * @button: A #PolkitLockButton.
893 * @text: The text to set.
894 *
895 * Makes @button display @text when the prompting the user to unlock.
896 */
897 void
898 polkit_lock_button_set_lock_text (PolkitLockButton *button,
899 const gchar *text)
900 {
901 g_return_if_fail (POLKIT_IS_LOCK_BUTTON (button));
902 g_return_if_fail (text != NULL);
903
904 if (button->priv->text_lock != NULL)
905 {
906 button->priv->text_lock = g_strdup (text);
907 update_state (button);
908 }
909 else
910 {
911 button->priv->text_lock = g_strdup (text);
912 }
913 }
914
915 /**
916 * polkit_lock_button_set_not_authorized_text:
917 * @button: A #PolkitLockButton.
918 * @text: The text to set.
919 *
920 * Makes @button display @text when the prompting the user to unlock.
921 */
922 void
923 polkit_lock_button_set_not_authorized_text (PolkitLockButton *button,
924 const gchar *text)
925 {
926 g_return_if_fail (POLKIT_IS_LOCK_BUTTON (button));
927 g_return_if_fail (text != NULL);
928
929 if (button->priv->text_not_authorized != NULL)
930 {
931 button->priv->text_not_authorized = g_strdup (text);
932 update_state (button);
933 }
934 else
935 {
936 button->priv->text_not_authorized = g_strdup (text);
937 }
938 }
0 /*
1 * Copyright (C) 2009 Red Hat, Inc.
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General
14 * Public License along with this library; if not, write to the
15 * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
16 * Boston, MA 02111-1307, USA.
17 *
18 * Author: David Zeuthen <davidz@redhat.com>
19 */
20
21 #if !defined (_POLKIT_GTK_INSIDE_POLKIT_GTK_H) && !defined (POLKIT_GTK_COMPILATION)
22 #error "Only <polkitgtk/polkitgtk.h> can be included directly, this file may disappear or change contents."
23 #endif
24
25 #ifndef POLKIT_LOCK_BUTTON_H
26 #define POLKIT_LOCK_BUTTON_H
27
28 #include <polkitgtk/polkitgtktypes.h>
29
30 #define POLKIT_TYPE_LOCK_BUTTON (polkit_lock_button_get_type ())
31 #define POLKIT_LOCK_BUTTON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), POLKIT_TYPE_LOCK_BUTTON, PolkitLockButton))
32 #define POLKIT_LOCK_BUTTON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), POLKIT_LOCK_BUTTON, PolkitLockButtonClass))
33 #define POLKIT_IS_LOCK_BUTTON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), POLKIT_TYPE_LOCK_BUTTON))
34 #define POLKIT_IS_LOCK_BUTTON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), POLKIT_TYPE_LOCK_BUTTON))
35 #define POLKIT_LOCK_BUTTON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), POLKIT_TYPE_LOCK_BUTTON, PolkitLockButtonClass))
36
37 typedef struct _PolkitLockButtonClass PolkitLockButtonClass;
38 typedef struct _PolkitLockButtonPrivate PolkitLockButtonPrivate;
39
40 /**
41 * PolkitLockButton:
42 * @parent: The parent instance.
43 *
44 * The #PolkitLockButton structure contains only private data and
45 * should be accessed using the provided API.
46 */
47 struct _PolkitLockButton
48 {
49 GtkHBox parent;
50
51 /*< private >*/
52 PolkitLockButtonPrivate *priv;
53 };
54
55 /**
56 * PolkitLockButtonClass:
57 * @parent_class: The parent class structure.
58 * @changed: Signal class handler for the #PolkitLockButton::changed signal.
59 *
60 * Class structure for #PolkitLockButton.
61 */
62 struct _PolkitLockButtonClass
63 {
64 GtkHBoxClass parent_class;
65
66 /* Signals */
67 void (*changed) (PolkitLockButton *button);
68
69 /*< private >*/
70 /* Padding for future expansion */
71 void (*_polkit_reserved0) (void);
72 void (*_polkit_reserved1) (void);
73 void (*_polkit_reserved2) (void);
74 void (*_polkit_reserved3) (void);
75 void (*_polkit_reserved4) (void);
76 void (*_polkit_reserved5) (void);
77 void (*_polkit_reserved6) (void);
78 void (*_polkit_reserved7) (void);
79 void (*_polkit_reserved8) (void);
80 void (*_polkit_reserved9) (void);
81 void (*_polkit_reserved10) (void);
82 void (*_polkit_reserved11) (void);
83 void (*_polkit_reserved12) (void);
84 void (*_polkit_reserved13) (void);
85 void (*_polkit_reserved14) (void);
86 void (*_polkit_reserved15) (void);
87 };
88
89
90 GType polkit_lock_button_get_type ( void) G_GNUC_CONST;
91 GtkWidget *polkit_lock_button_new (const gchar *action_id);
92 gboolean polkit_lock_button_get_is_authorized (PolkitLockButton *button);
93 gboolean polkit_lock_button_get_is_visible (PolkitLockButton *button);
94 gboolean polkit_lock_button_get_can_obtain (PolkitLockButton *button);
95 void polkit_lock_button_set_unlock_text (PolkitLockButton *button,
96 const gchar *text);
97 void polkit_lock_button_set_lock_text (PolkitLockButton *button,
98 const gchar *text);
99 void polkit_lock_button_set_not_authorized_text (PolkitLockButton *button,
100 const gchar *text);
101
102 #endif /* POLKIT_LOCK_BUTTON_H */
00
1 BUILT_SOURCES = \
2 polkit-gnome-manager-glue.h
1 FULL_LIBEXECDIR=$(libexecdir)
32
4 polkit-gnome-manager-glue.h: polkit-gnome-manager.xml Makefile.am
5 dbus-binding-tool --prefix=polkit_gnome_manager --mode=glib-server --output=polkit-gnome-manager-glue.h polkit-gnome-manager.xml
3 desktopdir = $(sysconfdir)/xdg/autostart
4 desktop_DATA = polkit-gnome-authentication-agent-1.desktop
65
7 libexec_PROGRAMS = polkit-gnome-manager
6 @INTLTOOL_DESKTOP_RULE@
87
9 polkit_gnome_manager_SOURCES = \
10 polkit-gnome-manager.h polkit-gnome-manager.c \
11 polkit-gnome-auth-dialog.h polkit-gnome-auth-dialog.c \
12 sexy-url-label.h sexy-url-label.c \
13 main.c \
8 polkit-gnome-authentication-agent-1.desktop.in : polkit-gnome-authentication-agent-1.desktop.in.in
9 cat polkit-gnome-authentication-agent-1.desktop.in.in | sed 's,@FULL_LIBEXECDIR@,$(FULL_LIBEXECDIR),' > $@
10
11 libexec_PROGRAMS = polkit-gnome-authentication-agent-1
12
13 polkit_gnome_authentication_agent_1_SOURCES = \
14 polkitgnomelistener.h polkitgnomelistener.c \
15 polkitgnomeauthenticator.h polkitgnomeauthenticator.c \
16 polkitgnomeauthenticationdialog.h polkitgnomeauthenticationdialog.c \
17 main.c \
1418 $(BUILT_SOURCES)
1519
16 polkit_gnome_manager_CPPFLAGS = \
20 polkit_gnome_authentication_agent_1_CPPFLAGS = \
1721 -I$(top_srcdir) \
18 -DG_LOG_DOMAIN=\"PolicyKitGnome\" \
22 -DG_LOG_DOMAIN=\"polkit-gnome-1\" \
1923 -DDATADIR=\""$(pkgdatadir)"\" \
2024 -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
25 -DPOLKIT_AGENT_I_KNOW_API_IS_SUBJECT_TO_CHANGE \
2126 $(DISABLE_DEPRECATED) \
2227 $(AM_CPPFLAGS)
2328
24 polkit_gnome_manager_CFLAGS = \
29 polkit_gnome_authentication_agent_1_CFLAGS = \
2530 $(GTK_CFLAGS) \
2631 $(GCONF_CFLAGS) \
27 $(DBUS_GLIB_CFLAGS) \
28 $(POLKIT_DBUS_CFLAGS) \
29 $(POLKIT_GRANT_CFLAGS) \
32 $(POLKIT_AGENT_CFLAGS) \
33 $(POLKIT_GOBJECT_CFLAGS) \
3034 $(WARN_CFLAGS) \
3135 $(AM_CFLAGS)
3236
33 polkit_gnome_manager_LDFLAGS = \
37 polkit_gnome_authentication_agent_1_LDFLAGS = \
3438 $(AM_LDFLAGS)
3539
36 polkit_gnome_manager_LDADD = \
40 polkit_gnome_authentication_agent_1_LDADD = \
3741 $(GTK_LIBS) \
3842 $(GCONF_LIBS) \
39 $(DBUS_GLIB_LIBS) \
40 $(POLKIT_DBUS_LIBS) \
41 $(POLKIT_GRANT_LIBS) \
43 $(POLKIT_AGENT_LIBS) \
44 $(POLKIT_GOBJECT_LIBS) \
4245 $(INTLLIBS)
4346
44 CLEANFILES = $(BUILT_SOURCES)
45
46 EXTRA_DIST = polkit-gnome-manager.xml
47 EXTRA_DIST = polkit-gnome-authentication-agent-1.desktop.in.in
4748
4849 clean-local :
49 rm -f *~
50 rm -f *~ polkit-gnome-authentication-agent-1.desktop polkit-gnome-authentication-agent-1.desktop.in
0 # Makefile.in generated by automake 1.10.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
56 # This Makefile.in is free software; the Free Software Foundation
67 # gives unlimited permission to copy and/or distribute it,
78 # with or without modifications, as long as this notice is preserved.
1314
1415 @SET_MAKE@
1516
17
1618 VPATH = @srcdir@
1719 pkgdatadir = $(datadir)/@PACKAGE@
20 pkgincludedir = $(includedir)/@PACKAGE@
1821 pkglibdir = $(libdir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
22 pkglibexecdir = $(libexecdir)/@PACKAGE@
2023 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
2124 install_sh_DATA = $(install_sh) -c -m 644
2225 install_sh_PROGRAM = $(install_sh) -c
3134 POST_UNINSTALL = :
3235 build_triplet = @build@
3336 host_triplet = @host@
34 libexec_PROGRAMS = polkit-gnome-manager$(EXEEXT)
37 libexec_PROGRAMS = polkit-gnome-authentication-agent-1$(EXEEXT)
3538 subdir = src
3639 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
3740 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
4144 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
4245 CONFIG_HEADER = $(top_builddir)/config.h
4346 CONFIG_CLEAN_FILES =
44 am__installdirs = "$(DESTDIR)$(libexecdir)"
45 libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
47 CONFIG_CLEAN_VPATH_FILES =
48 am__installdirs = "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(desktopdir)"
4649 PROGRAMS = $(libexec_PROGRAMS)
47 am__objects_1 =
48 am_polkit_gnome_manager_OBJECTS = \
49 polkit_gnome_manager-polkit-gnome-manager.$(OBJEXT) \
50 polkit_gnome_manager-polkit-gnome-auth-dialog.$(OBJEXT) \
51 polkit_gnome_manager-sexy-url-label.$(OBJEXT) \
52 polkit_gnome_manager-main.$(OBJEXT) $(am__objects_1)
53 polkit_gnome_manager_OBJECTS = $(am_polkit_gnome_manager_OBJECTS)
50 am_polkit_gnome_authentication_agent_1_OBJECTS = polkit_gnome_authentication_agent_1-polkitgnomelistener.$(OBJEXT) \
51 polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.$(OBJEXT) \
52 polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.$(OBJEXT) \
53 polkit_gnome_authentication_agent_1-main.$(OBJEXT)
54 polkit_gnome_authentication_agent_1_OBJECTS = \
55 $(am_polkit_gnome_authentication_agent_1_OBJECTS)
5456 am__DEPENDENCIES_1 =
55 polkit_gnome_manager_DEPENDENCIES = $(am__DEPENDENCIES_1) \
57 polkit_gnome_authentication_agent_1_DEPENDENCIES = \
5658 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
57 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
58 $(am__DEPENDENCIES_1)
59 polkit_gnome_manager_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
60 $(LIBTOOLFLAGS) --mode=link $(CCLD) \
61 $(polkit_gnome_manager_CFLAGS) $(CFLAGS) \
62 $(polkit_gnome_manager_LDFLAGS) $(LDFLAGS) -o $@
59 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
60 polkit_gnome_authentication_agent_1_LINK = $(LIBTOOL) --tag=CC \
61 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
62 $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) \
63 $(polkit_gnome_authentication_agent_1_LDFLAGS) $(LDFLAGS) -o \
64 $@
6365 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
6466 depcomp = $(SHELL) $(top_srcdir)/depcomp
6567 am__depfiles_maybe = depfiles
68 am__mv = mv -f
6669 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
6770 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
6871 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
7275 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
7376 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
7477 $(LDFLAGS) -o $@
75 SOURCES = $(polkit_gnome_manager_SOURCES)
76 DIST_SOURCES = $(polkit_gnome_manager_SOURCES)
78 SOURCES = $(polkit_gnome_authentication_agent_1_SOURCES)
79 DIST_SOURCES = $(polkit_gnome_authentication_agent_1_SOURCES)
80 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
81 am__vpath_adj = case $$p in \
82 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
83 *) f=$$p;; \
84 esac;
85 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
86 am__install_max = 40
87 am__nobase_strip_setup = \
88 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
89 am__nobase_strip = \
90 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
91 am__nobase_list = $(am__nobase_strip_setup); \
92 for p in $$list; do echo "$$p $$p"; done | \
93 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
94 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
95 if (++n[$$2] == $(am__install_max)) \
96 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
97 END { for (dir in files) print dir, files[dir] }'
98 am__base_list = \
99 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
100 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
101 DATA = $(desktop_DATA)
77102 ETAGS = etags
78103 CTAGS = ctags
79104 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
97122 CFLAGS = @CFLAGS@
98123 CPP = @CPP@
99124 CPPFLAGS = @CPPFLAGS@
100 CXX = @CXX@
101 CXXCPP = @CXXCPP@
102 CXXDEPMODE = @CXXDEPMODE@
103 CXXFLAGS = @CXXFLAGS@
104125 CYGPATH_W = @CYGPATH_W@
105126 DATADIRNAME = @DATADIRNAME@
106 DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@
107 DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@
108127 DEFS = @DEFS@
109128 DEPDIR = @DEPDIR@
110129 DISABLE_DEPRECATED = @DISABLE_DEPRECATED@
111 DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
112 DOC_USER_FORMATS = @DOC_USER_FORMATS@
113130 DSYMUTIL = @DSYMUTIL@
114 ECHO = @ECHO@
131 DUMPBIN = @DUMPBIN@
115132 ECHO_C = @ECHO_C@
116133 ECHO_N = @ECHO_N@
117134 ECHO_T = @ECHO_T@
118135 EGREP = @EGREP@
119136 EXEEXT = @EXEEXT@
120 F77 = @F77@
121 FFLAGS = @FFLAGS@
122 GCONFTOOL = @GCONFTOOL@
123 GCONF_CFLAGS = @GCONF_CFLAGS@
124 GCONF_LIBS = @GCONF_LIBS@
125 GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
126 GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
137 FGREP = @FGREP@
127138 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
128139 GMOFILES = @GMOFILES@
129140 GMSGFMT = @GMSGFMT@
131142 GTKDOC_CHECK = @GTKDOC_CHECK@
132143 GTK_CFLAGS = @GTK_CFLAGS@
133144 GTK_LIBS = @GTK_LIBS@
134 HELP_DIR = @HELP_DIR@
135145 HTML_DIR = @HTML_DIR@
136146 INSTALL = @INSTALL@
137147 INSTALL_DATA = @INSTALL_DATA@
140150 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
141151 INSTOBJEXT = @INSTOBJEXT@
142152 INTLLIBS = @INTLLIBS@
143 INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
144 INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
145 INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
146153 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
147 INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@
148 INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
149154 INTLTOOL_MERGE = @INTLTOOL_MERGE@
150 INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
151155 INTLTOOL_PERL = @INTLTOOL_PERL@
152 INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@
153 INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
154 INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
155 INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
156 INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
157 INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
158 INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
159 INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
160 INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
161 INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
162156 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
163 INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
164 INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@
165 INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
157 LD = @LD@
166158 LDFLAGS = @LDFLAGS@
167159 LIBOBJS = @LIBOBJS@
168160 LIBS = @LIBS@
169161 LIBTOOL = @LIBTOOL@
162 LIPO = @LIPO@
170163 LN_S = @LN_S@
171164 LTLIBOBJS = @LTLIBOBJS@
172165 LT_AGE = @LT_AGE@
179172 MSGFMT = @MSGFMT@
180173 MSGFMT_OPTS = @MSGFMT_OPTS@
181174 MSGMERGE = @MSGMERGE@
175 NM = @NM@
182176 NMEDIT = @NMEDIT@
177 OBJDUMP = @OBJDUMP@
183178 OBJEXT = @OBJEXT@
184 OMF_DIR = @OMF_DIR@
179 OTOOL = @OTOOL@
180 OTOOL64 = @OTOOL64@
185181 PACKAGE = @PACKAGE@
186182 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
187183 PACKAGE_NAME = @PACKAGE_NAME@
191187 PATH_SEPARATOR = @PATH_SEPARATOR@
192188 PKG_CONFIG = @PKG_CONFIG@
193189 POFILES = @POFILES@
194 POLKIT_DBUS_CFLAGS = @POLKIT_DBUS_CFLAGS@
195 POLKIT_DBUS_LIBS = @POLKIT_DBUS_LIBS@
196 POLKIT_GRANT_CFLAGS = @POLKIT_GRANT_CFLAGS@
197 POLKIT_GRANT_LIBS = @POLKIT_GRANT_LIBS@
198 POLKIT_POLICY_FILE_VALIDATE = @POLKIT_POLICY_FILE_VALIDATE@
190 POLKIT_AGENT_CFLAGS = @POLKIT_AGENT_CFLAGS@
191 POLKIT_AGENT_LIBS = @POLKIT_AGENT_LIBS@
192 POLKIT_GOBJECT_CFLAGS = @POLKIT_GOBJECT_CFLAGS@
193 POLKIT_GOBJECT_LIBS = @POLKIT_GOBJECT_LIBS@
199194 POSUB = @POSUB@
200195 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
201196 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
213208 abs_top_builddir = @abs_top_builddir@
214209 abs_top_srcdir = @abs_top_srcdir@
215210 ac_ct_CC = @ac_ct_CC@
216 ac_ct_CXX = @ac_ct_CXX@
217 ac_ct_F77 = @ac_ct_F77@
211 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
218212 am__include = @am__include@
219213 am__leading_dot = @am__leading_dot@
220214 am__quote = @am__quote@
245239 libexecdir = @libexecdir@
246240 localedir = @localedir@
247241 localstatedir = @localstatedir@
242 lt_ECHO = @lt_ECHO@
248243 mandir = @mandir@
249244 mkdir_p = @mkdir_p@
250245 oldincludedir = @oldincludedir@
260255 top_build_prefix = @top_build_prefix@
261256 top_builddir = @top_builddir@
262257 top_srcdir = @top_srcdir@
263 BUILT_SOURCES = \
264 polkit-gnome-manager-glue.h
265
266 polkit_gnome_manager_SOURCES = \
267 polkit-gnome-manager.h polkit-gnome-manager.c \
268 polkit-gnome-auth-dialog.h polkit-gnome-auth-dialog.c \
269 sexy-url-label.h sexy-url-label.c \
270 main.c \
258 FULL_LIBEXECDIR = $(libexecdir)
259 desktopdir = $(sysconfdir)/xdg/autostart
260 desktop_DATA = polkit-gnome-authentication-agent-1.desktop
261 polkit_gnome_authentication_agent_1_SOURCES = \
262 polkitgnomelistener.h polkitgnomelistener.c \
263 polkitgnomeauthenticator.h polkitgnomeauthenticator.c \
264 polkitgnomeauthenticationdialog.h polkitgnomeauthenticationdialog.c \
265 main.c \
271266 $(BUILT_SOURCES)
272267
273 polkit_gnome_manager_CPPFLAGS = \
268 polkit_gnome_authentication_agent_1_CPPFLAGS = \
274269 -I$(top_srcdir) \
275 -DG_LOG_DOMAIN=\"PolicyKitGnome\" \
270 -DG_LOG_DOMAIN=\"polkit-gnome-1\" \
276271 -DDATADIR=\""$(pkgdatadir)"\" \
277272 -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
273 -DPOLKIT_AGENT_I_KNOW_API_IS_SUBJECT_TO_CHANGE \
278274 $(DISABLE_DEPRECATED) \
279275 $(AM_CPPFLAGS)
280276
281 polkit_gnome_manager_CFLAGS = \
277 polkit_gnome_authentication_agent_1_CFLAGS = \
282278 $(GTK_CFLAGS) \
283279 $(GCONF_CFLAGS) \
284 $(DBUS_GLIB_CFLAGS) \
285 $(POLKIT_DBUS_CFLAGS) \
286 $(POLKIT_GRANT_CFLAGS) \
280 $(POLKIT_AGENT_CFLAGS) \
281 $(POLKIT_GOBJECT_CFLAGS) \
287282 $(WARN_CFLAGS) \
288283 $(AM_CFLAGS)
289284
290 polkit_gnome_manager_LDFLAGS = \
285 polkit_gnome_authentication_agent_1_LDFLAGS = \
291286 $(AM_LDFLAGS)
292287
293 polkit_gnome_manager_LDADD = \
288 polkit_gnome_authentication_agent_1_LDADD = \
294289 $(GTK_LIBS) \
295290 $(GCONF_LIBS) \
296 $(DBUS_GLIB_LIBS) \
297 $(POLKIT_DBUS_LIBS) \
298 $(POLKIT_GRANT_LIBS) \
291 $(POLKIT_AGENT_LIBS) \
292 $(POLKIT_GOBJECT_LIBS) \
299293 $(INTLLIBS)
300294
301 CLEANFILES = $(BUILT_SOURCES)
302 EXTRA_DIST = polkit-gnome-manager.xml
303 all: $(BUILT_SOURCES)
304 $(MAKE) $(AM_MAKEFLAGS) all-am
295 EXTRA_DIST = polkit-gnome-authentication-agent-1.desktop.in.in
296 all: all-am
305297
306298 .SUFFIXES:
307299 .SUFFIXES: .c .lo .o .obj
309301 @for dep in $?; do \
310302 case '$(am__configure_deps)' in \
311303 *$$dep*) \
312 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
313 && exit 0; \
304 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
305 && { if test -f $@; then exit 0; else break; fi; }; \
314306 exit 1;; \
315307 esac; \
316308 done; \
317 echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
318 cd $(top_srcdir) && \
319 $(AUTOMAKE) --foreign src/Makefile
309 echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
310 $(am__cd) $(top_srcdir) && \
311 $(AUTOMAKE) --foreign src/Makefile
320312 .PRECIOUS: Makefile
321313 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
322314 @case '$?' in \
334326 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
335327 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
336328 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
329 $(am__aclocal_m4_deps):
337330 install-libexecPROGRAMS: $(libexec_PROGRAMS)
338331 @$(NORMAL_INSTALL)
339332 test -z "$(libexecdir)" || $(MKDIR_P) "$(DESTDIR)$(libexecdir)"
340 @list='$(libexec_PROGRAMS)'; for p in $$list; do \
341 p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
342 if test -f $$p \
343 || test -f $$p1 \
344 ; then \
345 f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
346 echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libexecPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(libexecdir)/$$f'"; \
347 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libexecPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(libexecdir)/$$f" || exit 1; \
348 else :; fi; \
349 done
333 @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
334 for p in $$list; do echo "$$p $$p"; done | \
335 sed 's/$(EXEEXT)$$//' | \
336 while read p p1; do if test -f $$p || test -f $$p1; \
337 then echo "$$p"; echo "$$p"; else :; fi; \
338 done | \
339 sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
340 -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
341 sed 'N;N;N;s,\n, ,g' | \
342 $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
343 { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
344 if ($$2 == $$4) files[d] = files[d] " " $$1; \
345 else { print "f", $$3 "/" $$4, $$1; } } \
346 END { for (d in files) print "f", d, files[d] }' | \
347 while read type dir files; do \
348 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
349 test -z "$$files" || { \
350 echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \
351 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \
352 } \
353 ; done
350354
351355 uninstall-libexecPROGRAMS:
352356 @$(NORMAL_UNINSTALL)
353 @list='$(libexec_PROGRAMS)'; for p in $$list; do \
354 f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
355 echo " rm -f '$(DESTDIR)$(libexecdir)/$$f'"; \
356 rm -f "$(DESTDIR)$(libexecdir)/$$f"; \
357 done
357 @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
358 files=`for p in $$list; do echo "$$p"; done | \
359 sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
360 -e 's/$$/$(EXEEXT)/' `; \
361 test -n "$$list" || exit 0; \
362 echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \
363 cd "$(DESTDIR)$(libexecdir)" && rm -f $$files
358364
359365 clean-libexecPROGRAMS:
360 @list='$(libexec_PROGRAMS)'; for p in $$list; do \
361 f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
362 echo " rm -f $$p $$f"; \
363 rm -f $$p $$f ; \
364 done
365 polkit-gnome-manager$(EXEEXT): $(polkit_gnome_manager_OBJECTS) $(polkit_gnome_manager_DEPENDENCIES)
366 @rm -f polkit-gnome-manager$(EXEEXT)
367 $(polkit_gnome_manager_LINK) $(polkit_gnome_manager_OBJECTS) $(polkit_gnome_manager_LDADD) $(LIBS)
366 @list='$(libexec_PROGRAMS)'; test -n "$$list" || exit 0; \
367 echo " rm -f" $$list; \
368 rm -f $$list || exit $$?; \
369 test -n "$(EXEEXT)" || exit 0; \
370 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
371 echo " rm -f" $$list; \
372 rm -f $$list
373 polkit-gnome-authentication-agent-1$(EXEEXT): $(polkit_gnome_authentication_agent_1_OBJECTS) $(polkit_gnome_authentication_agent_1_DEPENDENCIES)
374 @rm -f polkit-gnome-authentication-agent-1$(EXEEXT)
375 $(polkit_gnome_authentication_agent_1_LINK) $(polkit_gnome_authentication_agent_1_OBJECTS) $(polkit_gnome_authentication_agent_1_LDADD) $(LIBS)
368376
369377 mostlyclean-compile:
370378 -rm -f *.$(OBJEXT)
372380 distclean-compile:
373381 -rm -f *.tab.c
374382
375 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polkit_gnome_manager-main.Po@am__quote@
376 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polkit_gnome_manager-polkit-gnome-auth-dialog.Po@am__quote@
377 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polkit_gnome_manager-polkit-gnome-manager.Po@am__quote@
378 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polkit_gnome_manager-sexy-url-label.Po@am__quote@
383 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polkit_gnome_authentication_agent_1-main.Po@am__quote@
384 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.Po@am__quote@
385 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.Po@am__quote@
386 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomelistener.Po@am__quote@
379387
380388 .c.o:
381389 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
382 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
390 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
383391 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
384392 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
385393 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
386394
387395 .c.obj:
388396 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
389 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
397 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
390398 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
391399 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
392400 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
393401
394402 .c.lo:
395403 @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
396 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
404 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
397405 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
398406 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
399407 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
400408
401 polkit_gnome_manager-polkit-gnome-manager.o: polkit-gnome-manager.c
402 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -MT polkit_gnome_manager-polkit-gnome-manager.o -MD -MP -MF $(DEPDIR)/polkit_gnome_manager-polkit-gnome-manager.Tpo -c -o polkit_gnome_manager-polkit-gnome-manager.o `test -f 'polkit-gnome-manager.c' || echo '$(srcdir)/'`polkit-gnome-manager.c
403 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/polkit_gnome_manager-polkit-gnome-manager.Tpo $(DEPDIR)/polkit_gnome_manager-polkit-gnome-manager.Po
404 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkit-gnome-manager.c' object='polkit_gnome_manager-polkit-gnome-manager.o' libtool=no @AMDEPBACKSLASH@
405 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
406 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -c -o polkit_gnome_manager-polkit-gnome-manager.o `test -f 'polkit-gnome-manager.c' || echo '$(srcdir)/'`polkit-gnome-manager.c
407
408 polkit_gnome_manager-polkit-gnome-manager.obj: polkit-gnome-manager.c
409 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -MT polkit_gnome_manager-polkit-gnome-manager.obj -MD -MP -MF $(DEPDIR)/polkit_gnome_manager-polkit-gnome-manager.Tpo -c -o polkit_gnome_manager-polkit-gnome-manager.obj `if test -f 'polkit-gnome-manager.c'; then $(CYGPATH_W) 'polkit-gnome-manager.c'; else $(CYGPATH_W) '$(srcdir)/polkit-gnome-manager.c'; fi`
410 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/polkit_gnome_manager-polkit-gnome-manager.Tpo $(DEPDIR)/polkit_gnome_manager-polkit-gnome-manager.Po
411 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkit-gnome-manager.c' object='polkit_gnome_manager-polkit-gnome-manager.obj' libtool=no @AMDEPBACKSLASH@
412 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
413 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -c -o polkit_gnome_manager-polkit-gnome-manager.obj `if test -f 'polkit-gnome-manager.c'; then $(CYGPATH_W) 'polkit-gnome-manager.c'; else $(CYGPATH_W) '$(srcdir)/polkit-gnome-manager.c'; fi`
414
415 polkit_gnome_manager-polkit-gnome-auth-dialog.o: polkit-gnome-auth-dialog.c
416 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -MT polkit_gnome_manager-polkit-gnome-auth-dialog.o -MD -MP -MF $(DEPDIR)/polkit_gnome_manager-polkit-gnome-auth-dialog.Tpo -c -o polkit_gnome_manager-polkit-gnome-auth-dialog.o `test -f 'polkit-gnome-auth-dialog.c' || echo '$(srcdir)/'`polkit-gnome-auth-dialog.c
417 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/polkit_gnome_manager-polkit-gnome-auth-dialog.Tpo $(DEPDIR)/polkit_gnome_manager-polkit-gnome-auth-dialog.Po
418 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkit-gnome-auth-dialog.c' object='polkit_gnome_manager-polkit-gnome-auth-dialog.o' libtool=no @AMDEPBACKSLASH@
419 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
420 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -c -o polkit_gnome_manager-polkit-gnome-auth-dialog.o `test -f 'polkit-gnome-auth-dialog.c' || echo '$(srcdir)/'`polkit-gnome-auth-dialog.c
421
422 polkit_gnome_manager-polkit-gnome-auth-dialog.obj: polkit-gnome-auth-dialog.c
423 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -MT polkit_gnome_manager-polkit-gnome-auth-dialog.obj -MD -MP -MF $(DEPDIR)/polkit_gnome_manager-polkit-gnome-auth-dialog.Tpo -c -o polkit_gnome_manager-polkit-gnome-auth-dialog.obj `if test -f 'polkit-gnome-auth-dialog.c'; then $(CYGPATH_W) 'polkit-gnome-auth-dialog.c'; else $(CYGPATH_W) '$(srcdir)/polkit-gnome-auth-dialog.c'; fi`
424 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/polkit_gnome_manager-polkit-gnome-auth-dialog.Tpo $(DEPDIR)/polkit_gnome_manager-polkit-gnome-auth-dialog.Po
425 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkit-gnome-auth-dialog.c' object='polkit_gnome_manager-polkit-gnome-auth-dialog.obj' libtool=no @AMDEPBACKSLASH@
426 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
427 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -c -o polkit_gnome_manager-polkit-gnome-auth-dialog.obj `if test -f 'polkit-gnome-auth-dialog.c'; then $(CYGPATH_W) 'polkit-gnome-auth-dialog.c'; else $(CYGPATH_W) '$(srcdir)/polkit-gnome-auth-dialog.c'; fi`
428
429 polkit_gnome_manager-sexy-url-label.o: sexy-url-label.c
430 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -MT polkit_gnome_manager-sexy-url-label.o -MD -MP -MF $(DEPDIR)/polkit_gnome_manager-sexy-url-label.Tpo -c -o polkit_gnome_manager-sexy-url-label.o `test -f 'sexy-url-label.c' || echo '$(srcdir)/'`sexy-url-label.c
431 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/polkit_gnome_manager-sexy-url-label.Tpo $(DEPDIR)/polkit_gnome_manager-sexy-url-label.Po
432 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sexy-url-label.c' object='polkit_gnome_manager-sexy-url-label.o' libtool=no @AMDEPBACKSLASH@
433 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
434 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -c -o polkit_gnome_manager-sexy-url-label.o `test -f 'sexy-url-label.c' || echo '$(srcdir)/'`sexy-url-label.c
435
436 polkit_gnome_manager-sexy-url-label.obj: sexy-url-label.c
437 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -MT polkit_gnome_manager-sexy-url-label.obj -MD -MP -MF $(DEPDIR)/polkit_gnome_manager-sexy-url-label.Tpo -c -o polkit_gnome_manager-sexy-url-label.obj `if test -f 'sexy-url-label.c'; then $(CYGPATH_W) 'sexy-url-label.c'; else $(CYGPATH_W) '$(srcdir)/sexy-url-label.c'; fi`
438 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/polkit_gnome_manager-sexy-url-label.Tpo $(DEPDIR)/polkit_gnome_manager-sexy-url-label.Po
439 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sexy-url-label.c' object='polkit_gnome_manager-sexy-url-label.obj' libtool=no @AMDEPBACKSLASH@
440 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
441 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -c -o polkit_gnome_manager-sexy-url-label.obj `if test -f 'sexy-url-label.c'; then $(CYGPATH_W) 'sexy-url-label.c'; else $(CYGPATH_W) '$(srcdir)/sexy-url-label.c'; fi`
442
443 polkit_gnome_manager-main.o: main.c
444 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -MT polkit_gnome_manager-main.o -MD -MP -MF $(DEPDIR)/polkit_gnome_manager-main.Tpo -c -o polkit_gnome_manager-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
445 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/polkit_gnome_manager-main.Tpo $(DEPDIR)/polkit_gnome_manager-main.Po
446 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='polkit_gnome_manager-main.o' libtool=no @AMDEPBACKSLASH@
447 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
448 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -c -o polkit_gnome_manager-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
449
450 polkit_gnome_manager-main.obj: main.c
451 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -MT polkit_gnome_manager-main.obj -MD -MP -MF $(DEPDIR)/polkit_gnome_manager-main.Tpo -c -o polkit_gnome_manager-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
452 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/polkit_gnome_manager-main.Tpo $(DEPDIR)/polkit_gnome_manager-main.Po
453 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='polkit_gnome_manager-main.obj' libtool=no @AMDEPBACKSLASH@
454 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
455 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_manager_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_manager_CFLAGS) $(CFLAGS) -c -o polkit_gnome_manager-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
409 polkit_gnome_authentication_agent_1-polkitgnomelistener.o: polkitgnomelistener.c
410 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -MT polkit_gnome_authentication_agent_1-polkitgnomelistener.o -MD -MP -MF $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomelistener.Tpo -c -o polkit_gnome_authentication_agent_1-polkitgnomelistener.o `test -f 'polkitgnomelistener.c' || echo '$(srcdir)/'`polkitgnomelistener.c
411 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomelistener.Tpo $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomelistener.Po
412 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkitgnomelistener.c' object='polkit_gnome_authentication_agent_1-polkitgnomelistener.o' libtool=no @AMDEPBACKSLASH@
413 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
414 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -c -o polkit_gnome_authentication_agent_1-polkitgnomelistener.o `test -f 'polkitgnomelistener.c' || echo '$(srcdir)/'`polkitgnomelistener.c
415
416 polkit_gnome_authentication_agent_1-polkitgnomelistener.obj: polkitgnomelistener.c
417 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -MT polkit_gnome_authentication_agent_1-polkitgnomelistener.obj -MD -MP -MF $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomelistener.Tpo -c -o polkit_gnome_authentication_agent_1-polkitgnomelistener.obj `if test -f 'polkitgnomelistener.c'; then $(CYGPATH_W) 'polkitgnomelistener.c'; else $(CYGPATH_W) '$(srcdir)/polkitgnomelistener.c'; fi`
418 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomelistener.Tpo $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomelistener.Po
419 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkitgnomelistener.c' object='polkit_gnome_authentication_agent_1-polkitgnomelistener.obj' libtool=no @AMDEPBACKSLASH@
420 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
421 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -c -o polkit_gnome_authentication_agent_1-polkitgnomelistener.obj `if test -f 'polkitgnomelistener.c'; then $(CYGPATH_W) 'polkitgnomelistener.c'; else $(CYGPATH_W) '$(srcdir)/polkitgnomelistener.c'; fi`
422
423 polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.o: polkitgnomeauthenticator.c
424 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -MT polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.o -MD -MP -MF $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.Tpo -c -o polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.o `test -f 'polkitgnomeauthenticator.c' || echo '$(srcdir)/'`polkitgnomeauthenticator.c
425 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.Tpo $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.Po
426 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkitgnomeauthenticator.c' object='polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.o' libtool=no @AMDEPBACKSLASH@
427 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
428 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -c -o polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.o `test -f 'polkitgnomeauthenticator.c' || echo '$(srcdir)/'`polkitgnomeauthenticator.c
429
430 polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.obj: polkitgnomeauthenticator.c
431 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -MT polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.obj -MD -MP -MF $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.Tpo -c -o polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.obj `if test -f 'polkitgnomeauthenticator.c'; then $(CYGPATH_W) 'polkitgnomeauthenticator.c'; else $(CYGPATH_W) '$(srcdir)/polkitgnomeauthenticator.c'; fi`
432 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.Tpo $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.Po
433 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkitgnomeauthenticator.c' object='polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.obj' libtool=no @AMDEPBACKSLASH@
434 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
435 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -c -o polkit_gnome_authentication_agent_1-polkitgnomeauthenticator.obj `if test -f 'polkitgnomeauthenticator.c'; then $(CYGPATH_W) 'polkitgnomeauthenticator.c'; else $(CYGPATH_W) '$(srcdir)/polkitgnomeauthenticator.c'; fi`
436
437 polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.o: polkitgnomeauthenticationdialog.c
438 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -MT polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.o -MD -MP -MF $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.Tpo -c -o polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.o `test -f 'polkitgnomeauthenticationdialog.c' || echo '$(srcdir)/'`polkitgnomeauthenticationdialog.c
439 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.Tpo $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.Po
440 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkitgnomeauthenticationdialog.c' object='polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.o' libtool=no @AMDEPBACKSLASH@
441 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
442 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -c -o polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.o `test -f 'polkitgnomeauthenticationdialog.c' || echo '$(srcdir)/'`polkitgnomeauthenticationdialog.c
443
444 polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.obj: polkitgnomeauthenticationdialog.c
445 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -MT polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.obj -MD -MP -MF $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.Tpo -c -o polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.obj `if test -f 'polkitgnomeauthenticationdialog.c'; then $(CYGPATH_W) 'polkitgnomeauthenticationdialog.c'; else $(CYGPATH_W) '$(srcdir)/polkitgnomeauthenticationdialog.c'; fi`
446 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.Tpo $(DEPDIR)/polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.Po
447 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkitgnomeauthenticationdialog.c' object='polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.obj' libtool=no @AMDEPBACKSLASH@
448 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
449 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -c -o polkit_gnome_authentication_agent_1-polkitgnomeauthenticationdialog.obj `if test -f 'polkitgnomeauthenticationdialog.c'; then $(CYGPATH_W) 'polkitgnomeauthenticationdialog.c'; else $(CYGPATH_W) '$(srcdir)/polkitgnomeauthenticationdialog.c'; fi`
450
451 polkit_gnome_authentication_agent_1-main.o: main.c
452 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -MT polkit_gnome_authentication_agent_1-main.o -MD -MP -MF $(DEPDIR)/polkit_gnome_authentication_agent_1-main.Tpo -c -o polkit_gnome_authentication_agent_1-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
453 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/polkit_gnome_authentication_agent_1-main.Tpo $(DEPDIR)/polkit_gnome_authentication_agent_1-main.Po
454 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='polkit_gnome_authentication_agent_1-main.o' libtool=no @AMDEPBACKSLASH@
455 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
456 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -c -o polkit_gnome_authentication_agent_1-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
457
458 polkit_gnome_authentication_agent_1-main.obj: main.c
459 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -MT polkit_gnome_authentication_agent_1-main.obj -MD -MP -MF $(DEPDIR)/polkit_gnome_authentication_agent_1-main.Tpo -c -o polkit_gnome_authentication_agent_1-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
460 @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/polkit_gnome_authentication_agent_1-main.Tpo $(DEPDIR)/polkit_gnome_authentication_agent_1-main.Po
461 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='polkit_gnome_authentication_agent_1-main.obj' libtool=no @AMDEPBACKSLASH@
462 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
463 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authentication_agent_1_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authentication_agent_1_CFLAGS) $(CFLAGS) -c -o polkit_gnome_authentication_agent_1-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
456464
457465 mostlyclean-libtool:
458466 -rm -f *.lo
459467
460468 clean-libtool:
461469 -rm -rf .libs _libs
470 install-desktopDATA: $(desktop_DATA)
471 @$(NORMAL_INSTALL)
472 test -z "$(desktopdir)" || $(MKDIR_P) "$(DESTDIR)$(desktopdir)"
473 @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \
474 for p in $$list; do \
475 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
476 echo "$$d$$p"; \
477 done | $(am__base_list) | \
478 while read files; do \
479 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \
480 $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \
481 done
482
483 uninstall-desktopDATA:
484 @$(NORMAL_UNINSTALL)
485 @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \
486 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
487 test -n "$$files" || exit 0; \
488 echo " ( cd '$(DESTDIR)$(desktopdir)' && rm -f" $$files ")"; \
489 cd "$(DESTDIR)$(desktopdir)" && rm -f $$files
462490
463491 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
464492 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
465493 unique=`for i in $$list; do \
466494 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
467495 done | \
468 $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
496 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
469497 END { if (nonempty) { for (i in files) print i; }; }'`; \
470498 mkid -fID $$unique
471499 tags: TAGS
472500
473501 TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
474502 $(TAGS_FILES) $(LISP)
475 tags=; \
503 set x; \
476504 here=`pwd`; \
477505 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
478506 unique=`for i in $$list; do \
480508 done | \
481509 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
482510 END { if (nonempty) { for (i in files) print i; }; }'`; \
483 if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
511 shift; \
512 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
484513 test -n "$$unique" || unique=$$empty_fix; \
485 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
486 $$tags $$unique; \
514 if test $$# -gt 0; then \
515 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
516 "$$@" $$unique; \
517 else \
518 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
519 $$unique; \
520 fi; \
487521 fi
488522 ctags: CTAGS
489523 CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
490524 $(TAGS_FILES) $(LISP)
491 tags=; \
492525 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
493526 unique=`for i in $$list; do \
494527 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
495528 done | \
496529 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
497530 END { if (nonempty) { for (i in files) print i; }; }'`; \
498 test -z "$(CTAGS_ARGS)$$tags$$unique" \
531 test -z "$(CTAGS_ARGS)$$unique" \
499532 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
500 $$tags $$unique
533 $$unique
501534
502535 GTAGS:
503536 here=`$(am__cd) $(top_builddir) && pwd` \
504 && cd $(top_srcdir) \
505 && gtags -i $(GTAGS_ARGS) $$here
537 && $(am__cd) $(top_srcdir) \
538 && gtags -i $(GTAGS_ARGS) "$$here"
506539
507540 distclean-tags:
508541 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
523556 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
524557 if test -d $$d/$$file; then \
525558 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
559 if test -d "$(distdir)/$$file"; then \
560 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
561 fi; \
526562 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
527 cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
563 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
564 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
528565 fi; \
529 cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
566 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
530567 else \
531 test -f $(distdir)/$$file \
532 || cp -p $$d/$$file $(distdir)/$$file \
568 test -f "$(distdir)/$$file" \
569 || cp -p $$d/$$file "$(distdir)/$$file" \
533570 || exit 1; \
534571 fi; \
535572 done
536573 check-am: all-am
537 check: $(BUILT_SOURCES)
538 $(MAKE) $(AM_MAKEFLAGS) check-am
539 all-am: Makefile $(PROGRAMS)
574 check: check-am
575 all-am: Makefile $(PROGRAMS) $(DATA)
540576 installdirs:
541 for dir in "$(DESTDIR)$(libexecdir)"; do \
577 for dir in "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(desktopdir)"; do \
542578 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
543579 done
544 install: $(BUILT_SOURCES)
545 $(MAKE) $(AM_MAKEFLAGS) install-am
580 install: install-am
546581 install-exec: install-exec-am
547582 install-data: install-data-am
548583 uninstall: uninstall-am
559594 mostlyclean-generic:
560595
561596 clean-generic:
562 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
563597
564598 distclean-generic:
565599 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
600 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
566601
567602 maintainer-clean-generic:
568603 @echo "This command is intended for maintainers to use"
569604 @echo "it deletes files that may require special tools to rebuild."
570 -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
571605 clean: clean-am
572606
573607 clean-am: clean-generic clean-libexecPROGRAMS clean-libtool \
585619
586620 html: html-am
587621
622 html-am:
623
588624 info: info-am
589625
590626 info-am:
591627
592 install-data-am:
628 install-data-am: install-desktopDATA
593629
594630 install-dvi: install-dvi-am
595631
632 install-dvi-am:
633
596634 install-exec-am: install-libexecPROGRAMS
597635
598636 install-html: install-html-am
599637
638 install-html-am:
639
600640 install-info: install-info-am
601641
642 install-info-am:
643
602644 install-man:
603645
604646 install-pdf: install-pdf-am
605647
648 install-pdf-am:
649
606650 install-ps: install-ps-am
651
652 install-ps-am:
607653
608654 installcheck-am:
609655
625671
626672 ps-am:
627673
628 uninstall-am: uninstall-libexecPROGRAMS
674 uninstall-am: uninstall-desktopDATA uninstall-libexecPROGRAMS
629675
630676 .MAKE: install-am install-strip
631677
634680 distclean distclean-compile distclean-generic \
635681 distclean-libtool distclean-tags distdir dvi dvi-am html \
636682 html-am info info-am install install-am install-data \
637 install-data-am install-dvi install-dvi-am install-exec \
638 install-exec-am install-html install-html-am install-info \
639 install-info-am install-libexecPROGRAMS install-man \
640 install-pdf install-pdf-am install-ps install-ps-am \
641 install-strip installcheck installcheck-am installdirs \
642 maintainer-clean maintainer-clean-generic mostlyclean \
643 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
644 pdf pdf-am ps ps-am tags uninstall uninstall-am \
645 uninstall-libexecPROGRAMS
646
647
648 polkit-gnome-manager-glue.h: polkit-gnome-manager.xml Makefile.am
649 dbus-binding-tool --prefix=polkit_gnome_manager --mode=glib-server --output=polkit-gnome-manager-glue.h polkit-gnome-manager.xml
683 install-data-am install-desktopDATA install-dvi install-dvi-am \
684 install-exec install-exec-am install-html install-html-am \
685 install-info install-info-am install-libexecPROGRAMS \
686 install-man install-pdf install-pdf-am install-ps \
687 install-ps-am install-strip installcheck installcheck-am \
688 installdirs maintainer-clean maintainer-clean-generic \
689 mostlyclean mostlyclean-compile mostlyclean-generic \
690 mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
691 uninstall-am uninstall-desktopDATA uninstall-libexecPROGRAMS
692
693
694 @INTLTOOL_DESKTOP_RULE@
695
696 polkit-gnome-authentication-agent-1.desktop.in : polkit-gnome-authentication-agent-1.desktop.in.in
697 cat polkit-gnome-authentication-agent-1.desktop.in.in | sed 's,@FULL_LIBEXECDIR@,$(FULL_LIBEXECDIR),' > $@
650698
651699 clean-local :
652 rm -f *~
700 rm -f *~ polkit-gnome-authentication-agent-1.desktop polkit-gnome-authentication-agent-1.desktop.in
701
653702 # Tell versions [3.59,3.63) of GNU make to not export all variables.
654703 # Otherwise a system limit (for SysV at least) may be exceeded.
655704 .NOEXPORT:
0 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
1 *
2 * Copyright (C) 2007 David Zeuthen <david@fubar.dk>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
0 /*
1 * Copyright (C) 2009 Red Hat, Inc.
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
109 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 *
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General
14 * Public License along with this library; if not, write to the
15 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 * Boston, MA 02110-1301, USA.
17 *
18 * Author: David Zeuthen <davidz@redhat.com>
1819 */
1920
2021 #ifdef HAVE_CONFIG_H
2122 # include "config.h"
2223 #endif
2324
24 #include <stdlib.h>
25 #include <stdio.h>
26 #include <unistd.h>
27 #include <signal.h>
28 #include <errno.h>
2925 #include <string.h>
30 #include <sys/types.h>
31 #include <sys/stat.h>
32 #include <fcntl.h>
33
34 #include <glib.h>
35 #include <glib/gi18n-lib.h>
36 #include <glib-object.h>
37
3826 #include <gtk/gtk.h>
39
40 #define DBUS_API_SUBJECT_TO_CHANGE
41 #include <dbus/dbus-glib.h>
42 #include <dbus/dbus-glib-lowlevel.h>
43
44 #include "polkit-gnome-manager.h"
45
46 static DBusGProxy *
47 get_bus_proxy (DBusGConnection *connection)
48 {
49 DBusGProxy *bus_proxy;
50
51 bus_proxy = dbus_g_proxy_new_for_name (connection,
52 DBUS_SERVICE_DBUS,
53 DBUS_PATH_DBUS,
54 DBUS_INTERFACE_DBUS);
55 return bus_proxy;
56 }
57
58 static gboolean
59 acquire_name_on_proxy (DBusGProxy *bus_proxy, const char *name)
60 {
61 GError *error;
62 guint result;
63 gboolean res;
64 gboolean ret;
65
66 ret = FALSE;
67
68 if (bus_proxy == NULL) {
69 goto out;
27 #include <glib/gi18n.h>
28 #include <polkitagent/polkitagent.h>
29
30 #include "polkitgnomelistener.h"
31
32 /* the Authority */
33 static PolkitAuthority *authority = NULL;
34
35 /* the session we are servicing */
36 static PolkitSubject *session = NULL;
37
38 /* the current set of temporary authorizations */
39 static GList *current_temporary_authorizations = NULL;
40
41 static GtkStatusIcon *status_icon = NULL;
42
43 static void
44 revoke_tmp_authz_cb (GObject *source_object,
45 GAsyncResult *res,
46 gpointer user_data)
47 {
48 GError *error;
49
50 error = NULL;
51 polkit_authority_revoke_temporary_authorizations_finish (POLKIT_AUTHORITY (source_object),
52 res,
53 &error);
54 if (error != NULL)
55 {
56 g_warning ("Error revoking temporary authorizations: %s", error->message);
57 g_error_free (error);
58 }
59 }
60
61 static void
62 revoke_tmp_authz (void)
63 {
64 polkit_authority_revoke_temporary_authorizations (authority,
65 session,
66 NULL,
67 revoke_tmp_authz_cb,
68 NULL);
69 }
70
71 static void
72 on_status_icon_activate (GtkStatusIcon *status_icon,
73 gpointer user_data)
74 {
75 revoke_tmp_authz ();
76 }
77
78 static void
79 on_status_icon_popup_menu (GtkStatusIcon *status_icon,
80 guint button,
81 guint activate_time,
82 gpointer user_data)
83 {
84 revoke_tmp_authz ();
85 }
86
87 static void
88 update_temporary_authorization_icon_real (void)
89 {
90
91 #if 0
92 GList *l;
93 g_debug ("have %d tmp authorizations", g_list_length (current_temporary_authorizations));
94 for (l = current_temporary_authorizations; l != NULL; l = l->next)
95 {
96 PolkitTemporaryAuthorization *authz = POLKIT_TEMPORARY_AUTHORIZATION (l->data);
97
98 g_debug ("have tmp authz for action %s (subject %s) with id %s (obtained %d, expires %d)",
99 polkit_temporary_authorization_get_action_id (authz),
100 polkit_subject_to_string (polkit_temporary_authorization_get_subject (authz)),
101 polkit_temporary_authorization_get_id (authz),
102 (gint) polkit_temporary_authorization_get_time_obtained (authz),
103 (gint) polkit_temporary_authorization_get_time_expires (authz));
104 }
105 #endif
106
107 /* TODO:
108 *
109 * - we could do something fancy like displaying a window with the tmp authz
110 * when the icon is clicked...
111 *
112 * - we could do some work using polkit_subject_exists() to ignore tmp authz
113 * for subjects that no longer exists.. this is because temporary authorizations
114 * are only valid for the subject that trigger the authentication dialog.
115 *
116 * Maybe the authority could do this, would probably involve some polling, but
117 * it seems cleaner to do this server side.
118 */
119
120 if (current_temporary_authorizations != NULL)
121 {
122 /* show icon */
123 if (status_icon == NULL)
124 {
125 status_icon = gtk_status_icon_new_from_stock (GTK_STOCK_DIALOG_AUTHENTICATION);
126 gtk_status_icon_set_tooltip_text (status_icon,
127 _("Click the icon to drop all elevated privileges"));
128 g_signal_connect (status_icon,
129 "activate",
130 G_CALLBACK (on_status_icon_activate),
131 NULL);
132 g_signal_connect (status_icon,
133 "popup-menu",
134 G_CALLBACK (on_status_icon_popup_menu),
135 NULL);
70136 }
71
72 error = NULL;
73 res = dbus_g_proxy_call (bus_proxy,
74 "RequestName",
75 &error,
76 G_TYPE_STRING, name,
77 G_TYPE_UINT, 0,
78 G_TYPE_INVALID,
79 G_TYPE_UINT, &result,
80 G_TYPE_INVALID);
81 if (! res) {
82 if (error != NULL) {
83 g_warning ("Failed to acquire %s: %s", name, error->message);
84 g_error_free (error);
85 } else {
86 g_warning ("Failed to acquire %s", name);
87 }
88 goto out;
89 }
90
91 if (result != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) {
92 if (error != NULL) {
93 g_warning ("Failed to acquire %s: %s", name, error->message);
94 g_error_free (error);
95 } else {
96 g_warning ("Failed to acquire %s", name);
97 }
98 goto out;
137 }
138 else
139 {
140 /* hide icon */
141 if (status_icon != NULL)
142 {
143 g_object_unref (status_icon);
144 status_icon = NULL;
99145 }
100
101 ret = TRUE;
146 }
147 }
148
149 static void
150 enumerate_temporary_authorizations_cb (GObject *source_object,
151 GAsyncResult *res,
152 gpointer user_data)
153 {
154 PolkitAuthority *authority = POLKIT_AUTHORITY (source_object);
155 GList *temporary_authorizations;
156 GError *error;
157
158 temporary_authorizations = NULL;
159
160 error = NULL;
161 temporary_authorizations = polkit_authority_enumerate_temporary_authorizations_finish (authority,
162 res,
163 &error);
164 if (error != NULL)
165 {
166 g_warning ("Error enumerating temporary authorizations: %s", error->message);
167 g_error_free (error);
168 goto out;
169 }
170
171 g_list_foreach (current_temporary_authorizations, (GFunc) g_object_unref, NULL);
172 g_list_free (current_temporary_authorizations);
173
174 current_temporary_authorizations = temporary_authorizations;
175
176 update_temporary_authorization_icon_real ();
102177
103178 out:
104 return ret;
105 }
106
107 static DBusGConnection *
108 get_session_bus (void)
109 {
110 GError *error;
111 DBusGConnection *bus;
112 DBusConnection *connection;
113
114 error = NULL;
115 bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
116 if (bus == NULL) {
117 g_warning ("Couldn't connect to session bus: %s", error->message);
118 g_error_free (error);
119 goto out;
120 }
121
122 connection = dbus_g_connection_get_connection (bus);
123 out:
124 return bus;
179 ;
180 }
181
182 static void
183 update_temporary_authorization_icon (PolkitAuthority *authority)
184 {
185 polkit_authority_enumerate_temporary_authorizations (authority,
186 session,
187 NULL,
188 enumerate_temporary_authorizations_cb,
189 NULL);
190 }
191
192 static void
193 on_authority_changed (PolkitAuthority *authority,
194 gpointer user_data)
195 {
196 update_temporary_authorization_icon (authority);
125197 }
126198
127199 int
128200 main (int argc, char **argv)
129201 {
130 GMainLoop *loop;
131 PolKitGnomeManager *manager;
132 GOptionContext *context;
133 DBusGProxy *bus_proxy;
134 DBusGConnection *connection;
135 int ret;
136 static gboolean no_exit = FALSE;
137 static GOptionEntry entries [] = {
138 { "no-exit", 0, 0, G_OPTION_ARG_NONE, &no_exit, N_("Don't exit after 30 seconds of inactivity"), NULL },
139 { NULL }
140 };
141
142 ret = 1;
143
144 g_type_init ();
145 gtk_init (&argc, &argv);
146
147 context = g_option_context_new (_("PolicyKit GNOME session daemon"));
148 g_option_context_add_main_entries (context, entries, NULL);
149 g_option_context_parse (context, &argc, &argv, NULL);
150 g_option_context_free (context);
151
152 connection = get_session_bus ();
153 if (connection == NULL) {
154 goto out;
155 }
156
157 bus_proxy = get_bus_proxy (connection);
158 if (bus_proxy == NULL) {
159 g_warning ("Could not construct bus_proxy object; bailing out");
160 goto out;
161 }
162
163 if (!acquire_name_on_proxy (bus_proxy, "org.gnome.PolicyKit") ) {
164 g_warning ("Could not acquire name; bailing out");
165 goto out;
166 }
167
168 if (!acquire_name_on_proxy (bus_proxy, "org.freedesktop.PolicyKit.AuthenticationAgent") ) {
169 g_warning ("Could not acquire name; bailing out");
170 goto out;
171 }
172
173 g_debug (_("Starting PolicyKit GNOME session daemon version %s"), VERSION);
174
175 manager = polkit_gnome_manager_new (no_exit);
176
177 if (manager == NULL) {
178 goto out;
179 }
180
181 loop = g_main_loop_new (NULL, FALSE);
182
183 g_main_loop_run (loop);
184
185 g_object_unref (manager);
186 g_main_loop_unref (loop);
187 ret = 0;
188
189 out:
190 return ret;
191 }
202 gint ret;
203 GMainLoop *loop;
204 PolkitAgentListener *listener;
205 GError *error;
206
207 g_type_init ();
208 gtk_init (&argc, &argv);
209
210 loop = NULL;
211 authority = NULL;
212 listener = NULL;
213 session = NULL;
214 ret = 1;
215
216 bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
217 #if HAVE_BIND_TEXTDOMAIN_CODESET
218 bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
219 #endif
220 textdomain (GETTEXT_PACKAGE);
221
222 loop = g_main_loop_new (NULL, FALSE);
223
224 authority = polkit_authority_get ();
225 g_signal_connect (authority,
226 "changed",
227 G_CALLBACK (on_authority_changed),
228 NULL);
229
230 listener = polkit_gnome_listener_new ();
231
232 error = NULL;
233 session = polkit_unix_session_new_for_process_sync (getpid (), NULL, &error);
234 if (error != NULL)
235 {
236 g_warning ("Unable to determine the session we are in: %s", error->message);
237 g_error_free (error);
238 goto out;
239 }
240
241 error = NULL;
242 if (!polkit_agent_register_listener (listener,
243 session,
244 "/org/gnome/PolicyKit1/AuthenticationAgent",
245 &error))
246 {
247 g_printerr ("Cannot register authentication agent: %s\n", error->message);
248 g_error_free (error);
249 goto out;
250 }
251
252 update_temporary_authorization_icon (authority);
253
254 g_main_loop_run (loop);
255
256 ret = 0;
257
258 out:
259 if (authority != NULL)
260 g_object_unref (authority);
261 if (session != NULL)
262 g_object_unref (session);
263 if (listener != NULL)
264 g_object_unref (listener);
265 if (loop != NULL)
266 g_main_loop_unref (loop);
267
268 return ret;
269 }
+0
-1001
src/polkit-gnome-auth-dialog.c less more
0 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-
1 *
2 * Copyright (C) 2007 David Zeuthen <david@fubar.dk>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 *
18 */
19
20 #ifdef HAVE_CONFIG_H
21 #include "config.h"
22 #endif
23
24 #define _GNU_SOURCE
25 #include <unistd.h>
26 #include <sys/types.h>
27 #include <sys/stat.h>
28 #include <fcntl.h>
29 #include <string.h>
30 #include <stdio.h>
31 #include <stdlib.h>
32 #include <pwd.h>
33 #include <errno.h>
34 #include <gconf/gconf-client.h>
35
36 #include <glib/gi18n-lib.h>
37 #include <gtk/gtk.h>
38 #include <dbus/dbus-glib.h>
39 #include <dbus/dbus-glib-lowlevel.h>
40
41 #include "sexy-url-label.h"
42 #include "polkit-gnome-auth-dialog.h"
43
44 struct _PolkitGnomeAuthDialogPrivate
45 {
46 GtkWidget *keep_privilege_check_button;
47 GtkWidget *keep_privilege_session_only_check_button;
48 GtkWidget *message_label;
49 GtkWidget *message_label_secondary;
50 GtkWidget *user_combobox;
51 GtkWidget *app_desc_label;
52 GtkWidget *privilege_desc_label;
53 GtkWidget *privilege_vendor_label;
54 GtkWidget *prompt_label;
55 GtkWidget *password_entry;
56 GtkWidget *icon;
57 char *message;
58
59 char *vendor;
60 char *vendor_url;
61
62 gboolean can_do_always;
63 gboolean can_do_session;
64
65 GtkListStore *store;
66 };
67
68 G_DEFINE_TYPE (PolkitGnomeAuthDialog, polkit_gnome_auth_dialog, GTK_TYPE_DIALOG);
69
70 enum {
71 USER_SELECTED,
72 LAST_SIGNAL
73 };
74
75 static guint signals[LAST_SIGNAL] = { 0 };
76
77 enum {
78 PROP_0,
79 PROP_PROGRAM,
80 PROP_ACTION_ID,
81 PROP_VENDOR,
82 PROP_VENDOR_URL,
83 PROP_ICON_NAME,
84 PROP_MESSAGE,
85 };
86
87 enum {
88 PIXBUF_COL,
89 TEXT_COL,
90 USERNAME_COL,
91 N_COL
92 };
93
94 static void
95 user_combobox_set_sensitive (GtkCellLayout *cell_layout,
96 GtkCellRenderer *cell,
97 GtkTreeModel *tree_model,
98 GtkTreeIter *iter,
99 gpointer user_data)
100 {
101 GtkTreePath *path;
102 gint *indices;
103 gboolean sensitive;
104
105 path = gtk_tree_model_get_path (tree_model, iter);
106 indices = gtk_tree_path_get_indices (path);
107 if (indices[0] == 0)
108 sensitive = FALSE;
109 else
110 sensitive = TRUE;
111 gtk_tree_path_free (path);
112
113 g_object_set (cell, "sensitive", sensitive, NULL);
114 }
115
116
117 void
118 polkit_gnome_auth_dialog_select_admin_user (PolkitGnomeAuthDialog *auth_dialog, const char *admin_user)
119 {
120 GtkTreeIter iter;
121 gboolean done;
122 gboolean valid;
123
124 /* make the password and "Keep.." widgets sensitive again */
125 gtk_widget_set_sensitive (auth_dialog->priv->prompt_label, TRUE);
126 gtk_widget_set_sensitive (auth_dialog->priv->password_entry, TRUE);
127 gtk_widget_set_sensitive (auth_dialog->priv->keep_privilege_check_button, TRUE);
128 gtk_widget_set_sensitive (auth_dialog->priv->keep_privilege_session_only_check_button, TRUE);
129
130 /* select appropriate item in combobox */
131 valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (auth_dialog->priv->store), &iter);
132 done = FALSE;
133 while (valid && !done) {
134 char *str_data;
135 gtk_tree_model_get (GTK_TREE_MODEL (auth_dialog->priv->store),
136 &iter,
137 USERNAME_COL, &str_data,
138 -1);
139 if (str_data != NULL && strcmp (admin_user, str_data) == 0) {
140 gtk_combo_box_set_active_iter (GTK_COMBO_BOX (auth_dialog->priv->user_combobox),
141 &iter);
142 done = TRUE;
143 }
144 g_free (str_data);
145
146 valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (auth_dialog->priv->store), &iter);
147 }
148 }
149
150 static void
151 user_combobox_changed (GtkComboBox *widget,
152 gpointer user_data)
153 {
154 char *user_name;
155 PolkitGnomeAuthDialog *auth_dialog = POLKIT_GNOME_AUTH_DIALOG (user_data);
156 GtkTreeIter iter;
157
158 if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter)) {
159 gtk_tree_model_get (GTK_TREE_MODEL (auth_dialog->priv->store), &iter, USERNAME_COL, &user_name, -1);
160 g_signal_emit (auth_dialog, signals[USER_SELECTED], 0, user_name);
161
162 polkit_gnome_auth_dialog_select_admin_user (auth_dialog, user_name);
163
164 g_free (user_name);
165 }
166 }
167
168 static void
169 create_user_combobox (PolkitGnomeAuthDialog *auth_dialog, char **admin_users)
170 {
171 int n;
172 GtkComboBox *combo;
173 GtkTreeIter iter;
174 GtkCellRenderer *renderer;
175
176 /* if we've already built the list of admin users once, then avoid
177 * doing it again.. (this is mainly used when the user entered the
178 * wrong password and the dialog is recycled)
179 */
180 if (auth_dialog->priv->store != NULL)
181 return;
182
183 combo = GTK_COMBO_BOX (auth_dialog->priv->user_combobox);
184 auth_dialog->priv->store = gtk_list_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING);
185
186 gtk_list_store_append (auth_dialog->priv->store, &iter);
187 gtk_list_store_set (auth_dialog->priv->store, &iter,
188 PIXBUF_COL, NULL,
189 TEXT_COL, _("Select user..."),
190 USERNAME_COL, NULL,
191 -1);
192
193
194 /* For each user */
195 for (n = 0; admin_users[n] != NULL; n++) {
196 char *real_name;
197 GdkPixbuf *pixbuf;
198 struct passwd *passwd;
199
200 /* we're single threaded so this is fine */
201 errno = 0;
202 passwd = getpwnam (admin_users[n]);
203 if (passwd == NULL) {
204 g_warning ("Error doing getpwnam(\"%s\"): %s", admin_users[n], strerror (errno));
205 continue;
206 }
207
208 /* Real name */
209 if (passwd->pw_gecos != NULL && strlen (passwd->pw_gecos) > 0)
210 real_name = g_strdup_printf (_("%s (%s)"), passwd->pw_gecos, admin_users[n]);
211 else
212 real_name = g_strdup (admin_users[n]);
213
214 /* Load users face */
215 pixbuf = NULL;
216 if (passwd->pw_dir != NULL) {
217 char *path;
218 path = g_strdup_printf ("%s/.face", passwd->pw_dir);
219 /* TODO: we probably shouldn't hard-code the size to 24x24*/
220 pixbuf = gdk_pixbuf_new_from_file_at_scale (path, 24, 24, TRUE, NULL);
221 g_free (path);
222 }
223
224 /* fall back to stock_person icon */
225 if (pixbuf == NULL)
226 pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
227 "stock_person", GTK_ICON_SIZE_MENU, 0, NULL);
228
229 gtk_list_store_append (auth_dialog->priv->store, &iter);
230 gtk_list_store_set (auth_dialog->priv->store, &iter,
231 PIXBUF_COL, pixbuf,
232 TEXT_COL, real_name,
233 USERNAME_COL, admin_users[n],
234 -1);
235
236 g_free (real_name);
237 g_object_unref (pixbuf);
238
239 }
240
241 gtk_combo_box_set_model (combo, GTK_TREE_MODEL (auth_dialog->priv->store));
242
243 renderer = gtk_cell_renderer_pixbuf_new ();
244 gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, FALSE);
245 gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), renderer,
246 "pixbuf", PIXBUF_COL,
247 NULL);
248 gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combo),
249 renderer,
250 user_combobox_set_sensitive,
251 NULL, NULL);
252
253 renderer = gtk_cell_renderer_text_new ();
254 gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, TRUE);
255 gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), renderer,
256 "text", TEXT_COL,
257 NULL);
258 gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combo),
259 renderer,
260 user_combobox_set_sensitive,
261 NULL, NULL);
262
263 /* Initially select the "Select user..." ... */
264 gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
265
266 /* Listen when a new user is selected */
267 g_signal_connect (GTK_WIDGET (combo), "changed",
268 G_CALLBACK (user_combobox_changed), auth_dialog);
269
270 /* ... and make the password and "Keep.." widgets insensitive */
271 gtk_widget_set_sensitive (auth_dialog->priv->prompt_label, FALSE);
272 gtk_widget_set_sensitive (auth_dialog->priv->password_entry, FALSE);
273 gtk_widget_set_sensitive (auth_dialog->priv->keep_privilege_check_button, FALSE);
274 gtk_widget_set_sensitive (auth_dialog->priv->keep_privilege_session_only_check_button, FALSE);
275 }
276
277 void
278 polkit_gnome_auth_dialog_set_options (PolkitGnomeAuthDialog *auth_dialog,
279 gboolean session,
280 gboolean always,
281 gboolean requires_admin,
282 char **admin_users)
283 {
284 const char *message_markup_secondary;
285
286 auth_dialog->priv->can_do_always = always;
287 auth_dialog->priv->can_do_session = session;
288
289 if (auth_dialog->priv->can_do_session) {
290 gtk_button_set_label (GTK_BUTTON (auth_dialog->priv->keep_privilege_check_button),
291 _("_Remember authorization for this session"));
292
293 gtk_widget_set_no_show_all (auth_dialog->priv->keep_privilege_check_button, FALSE);
294 gtk_widget_set_no_show_all (auth_dialog->priv->keep_privilege_session_only_check_button, TRUE);
295 } else if (auth_dialog->priv->can_do_always) {
296 gtk_button_set_label (GTK_BUTTON (auth_dialog->priv->keep_privilege_check_button),
297 _("_Remember authorization"));
298
299 gtk_widget_set_no_show_all (auth_dialog->priv->keep_privilege_check_button, FALSE);
300 gtk_widget_set_no_show_all (auth_dialog->priv->keep_privilege_session_only_check_button, FALSE);
301
302 } else {
303 gtk_widget_set_no_show_all (auth_dialog->priv->keep_privilege_check_button, TRUE);
304 gtk_widget_set_no_show_all (auth_dialog->priv->keep_privilege_session_only_check_button, TRUE);
305 }
306
307 gtk_widget_set_no_show_all (auth_dialog->priv->user_combobox, TRUE);
308
309 if (requires_admin) {
310 if (admin_users != NULL) {
311 message_markup_secondary =
312 _("An application is attempting to perform an action that requires privileges. Authentication as one of the users below is required to perform this action.");
313
314 create_user_combobox (auth_dialog, admin_users);
315 gtk_widget_set_no_show_all (auth_dialog->priv->user_combobox, FALSE);
316
317 } else {
318 message_markup_secondary =
319 _("An application is attempting to perform an action that requires privileges. Authentication as the super user is required to perform this action.");
320 }
321 } else {
322 message_markup_secondary =
323 _("An application is attempting to perform an action that requires privileges. Authentication is required to perform this action.");
324 }
325 gtk_label_set_markup (GTK_LABEL (auth_dialog->priv->message_label_secondary), message_markup_secondary);
326 }
327
328 static void
329 polkit_gnome_auth_dialog_set_message (PolkitGnomeAuthDialog *auth_dialog, const char *markup)
330 {
331 char *str;
332 str = g_strdup_printf ("<big><b>%s</b></big>", markup);
333 gtk_label_set_markup (GTK_LABEL (auth_dialog->priv->message_label), str);
334 g_free (str);
335 }
336
337 static void
338 retain_checkbox_set_defaults (PolkitGnomeAuthDialog *auth_dialog, const char *action_id)
339 {
340 gboolean retain_authorization;
341 GConfClient *client;
342 GError *error;
343 GSList *action_list, *l;
344
345 client = gconf_client_get_default ();
346 retain_authorization = TRUE;
347
348 if (client == NULL) {
349 g_warning ("Error getting GConfClient");
350 goto out;
351 }
352
353 error = NULL;
354 retain_authorization = gconf_client_get_bool (client, KEY_AUTH_DIALOG_RETAIN_AUTHORIZATION, &error);
355 if (error != NULL) {
356 g_warning ("Error getting key %s: %s",
357 KEY_AUTH_DIALOG_RETAIN_AUTHORIZATION,
358 error->message);
359 g_error_free (error);
360 goto out;
361 }
362
363 /* check the blacklist */
364 if (!retain_authorization)
365 goto out;
366
367 action_list = gconf_client_get_list (client,
368 KEY_AUTH_DIALOG_RETAIN_AUTHORIZATION_BLACKLIST,
369 GCONF_VALUE_STRING,
370 &error);
371 if (error != NULL) {
372 g_warning ("Error getting key %s: %s",
373 KEY_AUTH_DIALOG_RETAIN_AUTHORIZATION_BLACKLIST,
374 error->message);
375 g_error_free (error);
376 goto out;
377 }
378
379 for (l = action_list; l != NULL; l = l->next) {
380 const char *str = l->data;
381 if (strcmp (str, action_id) == 0) {
382 retain_authorization = FALSE;
383 break;
384 }
385 }
386 g_slist_foreach (action_list, (GFunc) g_free, NULL);
387 g_slist_free (action_list);
388
389 out:
390 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (auth_dialog->priv->keep_privilege_check_button),
391 retain_authorization);
392 }
393
394 static void
395 polkit_gnome_auth_dialog_set_action_id (PolkitGnomeAuthDialog *auth_dialog, const char *action_id)
396 {
397 char *str;
398 str = g_strdup_printf ("<small><a href=\"%s\">%s</a></small>",
399 action_id,
400 action_id);
401 sexy_url_label_set_markup (SEXY_URL_LABEL (auth_dialog->priv->privilege_desc_label), str);
402 g_free (str);
403
404 str = g_strdup_printf (_("Click to edit %s"), action_id);
405 gtk_widget_set_tooltip_markup (auth_dialog->priv->privilege_desc_label, str);
406 g_free (str);
407
408 retain_checkbox_set_defaults (auth_dialog, action_id);
409 }
410
411 static void
412 update_vendor (PolkitGnomeAuthDialog *auth_dialog)
413 {
414 char *str;
415
416 if (auth_dialog->priv->vendor == NULL)
417 return;
418
419 if (auth_dialog->priv->vendor_url == NULL) {
420 str = g_strdup_printf ("<small>%s</small>", auth_dialog->priv->vendor);
421 gtk_widget_set_tooltip_markup (auth_dialog->priv->privilege_vendor_label, NULL);
422 } else {
423 char *s2;
424
425 str = g_strdup_printf ("<small><a href=\"%s\">%s</a></small>",
426 auth_dialog->priv->vendor_url,
427 auth_dialog->priv->vendor);
428
429 s2 = g_strdup_printf (_("Click to open %s"), auth_dialog->priv->vendor_url);
430 gtk_widget_set_tooltip_markup (auth_dialog->priv->privilege_vendor_label, s2);
431 g_free (s2);
432 }
433 sexy_url_label_set_markup (SEXY_URL_LABEL (auth_dialog->priv->privilege_vendor_label), str);
434 g_free (str);
435 }
436
437 static void
438 polkit_gnome_auth_dialog_set_icon_name (PolkitGnomeAuthDialog *auth_dialog, const char *icon_name)
439 {
440 GdkPixbuf *pixbuf;
441 GdkPixbuf *copy_pixbuf;
442 GdkPixbuf *vendor_pixbuf;
443
444 pixbuf = NULL;
445 copy_pixbuf = NULL;
446 vendor_pixbuf = NULL;
447
448 vendor_pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
449 icon_name,
450 48,
451 0,
452 NULL);
453 if (vendor_pixbuf == NULL)
454 goto out;
455
456 pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
457 GTK_STOCK_DIALOG_AUTHENTICATION,
458 48,
459 0,
460 NULL);
461 if (pixbuf == NULL)
462 goto out;
463
464 /* need to copy the pixbuf since we're modifying it */
465 copy_pixbuf = gdk_pixbuf_copy (pixbuf);
466 if (copy_pixbuf == NULL)
467 goto out;
468
469 /* blend the vendor icon in the bottom right quarter */
470 gdk_pixbuf_composite (vendor_pixbuf,
471 copy_pixbuf,
472 24, 24, 24, 24,
473 24, 24, 0.5, 0.5,
474 GDK_INTERP_BILINEAR,
475 255);
476
477 gtk_image_set_from_pixbuf (GTK_IMAGE (auth_dialog->priv->icon),
478 copy_pixbuf);
479
480 out:
481 if (pixbuf != NULL)
482 g_object_unref (pixbuf);
483 if (copy_pixbuf != NULL)
484 g_object_unref (copy_pixbuf);
485 if (vendor_pixbuf != NULL)
486 g_object_unref (vendor_pixbuf);
487 }
488
489 static void
490 polkit_gnome_auth_dialog_set_program (PolkitGnomeAuthDialog *auth_dialog, const char *program)
491 {
492 char *str;
493 str = g_strdup_printf ("<small>%s</small>", program);
494 gtk_label_set_markup (GTK_LABEL (auth_dialog->priv->app_desc_label), str);
495 g_free (str);
496 }
497
498
499 void
500 polkit_gnome_auth_dialog_set_prompt (PolkitGnomeAuthDialog *auth_dialog,
501 const char *prompt,
502 gboolean show_chars)
503 {
504 gtk_label_set_text_with_mnemonic (GTK_LABEL (auth_dialog->priv->prompt_label), prompt);
505 gtk_entry_set_visibility (GTK_ENTRY (auth_dialog->priv->password_entry), show_chars);
506 gtk_entry_set_text (GTK_ENTRY (auth_dialog->priv->password_entry), "");
507 gtk_widget_grab_focus (auth_dialog->priv->password_entry);
508 }
509
510 static void
511 polkit_gnome_auth_dialog_set_property (GObject *object,
512 guint prop_id,
513 const GValue *value,
514 GParamSpec *pspec)
515 {
516 PolkitGnomeAuthDialog *auth_dialog = POLKIT_GNOME_AUTH_DIALOG (object);
517 switch (prop_id)
518 {
519 case PROP_PROGRAM:
520 polkit_gnome_auth_dialog_set_program (auth_dialog, g_value_get_string (value));
521 break;
522
523 case PROP_ACTION_ID:
524 polkit_gnome_auth_dialog_set_action_id (auth_dialog, g_value_get_string (value));
525 break;
526
527 case PROP_VENDOR:
528 g_free (auth_dialog->priv->vendor);
529 auth_dialog->priv->vendor = g_strdup (g_value_get_string (value));
530 update_vendor (auth_dialog);
531 break;
532
533 case PROP_VENDOR_URL:
534 g_free (auth_dialog->priv->vendor_url);
535 auth_dialog->priv->vendor_url = g_strdup (g_value_get_string (value));
536 update_vendor (auth_dialog);
537 break;
538
539 case PROP_ICON_NAME:
540 polkit_gnome_auth_dialog_set_icon_name (auth_dialog, g_value_get_string (value));
541 break;
542
543 case PROP_MESSAGE:
544 if (auth_dialog->priv->message)
545 g_free (auth_dialog->priv->message);
546 auth_dialog->priv->message = g_strdup (g_value_get_string (value));
547 polkit_gnome_auth_dialog_set_message (auth_dialog, auth_dialog->priv->message);
548 break;
549
550 default:
551 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
552 break;
553 }
554 }
555
556 static void
557 polkit_gnome_auth_dialog_get_property (GObject *object,
558 guint prop_id,
559 GValue *value,
560 GParamSpec *pspec)
561 {
562 PolkitGnomeAuthDialog *auth_dialog = POLKIT_GNOME_AUTH_DIALOG (object);
563
564 switch (prop_id)
565 {
566 case PROP_MESSAGE:
567 g_value_set_string (value, auth_dialog->priv->message);
568 break;
569
570 default:
571 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
572 break;
573 }
574
575 }
576
577 static GtkWidget *
578 add_row (GtkWidget *table, int row, const char *label_text, GtkWidget *entry)
579 {
580 GtkWidget *label;
581
582 label = gtk_label_new_with_mnemonic (label_text);
583 gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
584 gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5);
585
586 gtk_table_attach (GTK_TABLE (table), label,
587 0, 1, row, row + 1,
588 GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
589 gtk_table_attach_defaults (GTK_TABLE (table), entry,
590 1, 2, row, row + 1);
591 gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry);
592
593 return label;
594 }
595
596 static void
597 remember_check_button_toggled (GtkWidget *widget, PolkitGnomeAuthDialog *auth_dialog)
598 {
599 gboolean toggled;
600
601 toggled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget));
602 if (auth_dialog->priv->keep_privilege_session_only_check_button != NULL) {
603 gtk_widget_set_sensitive (auth_dialog->priv->keep_privilege_session_only_check_button, toggled);
604 }
605 }
606
607 static void
608 vendor_url_activated (SexyUrlLabel *url_label, char *url, gpointer user_data)
609 {
610 if (url != NULL) {
611 gtk_show_uri (NULL, url, GDK_CURRENT_TIME, NULL);
612 }
613 }
614
615 static void
616 action_id_activated (SexyUrlLabel *url_label, char *url, gpointer user_data)
617 {
618 GError *error;
619 DBusGConnection *bus;
620 DBusGProxy *manager_proxy;
621
622 error = NULL;
623 bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
624 if (bus == NULL) {
625 g_warning ("Couldn't connect to session bus: %s", error->message);
626 g_error_free (error);
627 goto out;
628 }
629
630 manager_proxy = dbus_g_proxy_new_for_name (bus,
631 "org.gnome.PolicyKit.AuthorizationManager",
632 "/",
633 "org.gnome.PolicyKit.AuthorizationManager.SingleInstance");
634 if (manager_proxy == NULL) {
635 g_warning ("Could not construct manager_proxy object; bailing out");
636 goto out;
637 }
638
639 if (!dbus_g_proxy_call (manager_proxy,
640 "ShowAction",
641 &error,
642 G_TYPE_STRING, url,
643 G_TYPE_INVALID,
644 G_TYPE_INVALID)) {
645 if (error != NULL) {
646 g_warning ("Failed to call into manager: %s", error->message);
647 g_error_free (error);
648 } else {
649 g_warning ("Failed to call into manager");
650 }
651 goto out;
652 }
653 out:
654 ;
655 }
656
657 static void
658 polkit_gnome_auth_dialog_init (PolkitGnomeAuthDialog *auth_dialog)
659 {
660 GtkDialog *dialog = GTK_DIALOG (auth_dialog);
661 PolkitGnomeAuthDialogPrivate *priv;
662
663 priv = auth_dialog->priv = g_new0 (PolkitGnomeAuthDialogPrivate, 1);
664
665 gtk_dialog_add_button (dialog, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
666 gtk_dialog_add_button (dialog, _("_Authenticate"), GTK_RESPONSE_OK);
667 gtk_dialog_set_default_response (dialog, GTK_RESPONSE_OK);
668
669 gtk_dialog_set_has_separator (dialog, FALSE);
670 gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
671 gtk_box_set_spacing (GTK_BOX (dialog->vbox), 2); /* 2 * 5 + 2 = 12 */
672 gtk_container_set_border_width (GTK_CONTAINER (dialog->action_area), 5);
673 gtk_box_set_spacing (GTK_BOX (dialog->action_area), 6);
674 gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
675 gtk_window_set_icon_name (GTK_WINDOW (dialog), GTK_STOCK_DIALOG_AUTHENTICATION);
676
677 GtkWidget *hbox, *main_vbox, *vbox;
678
679 hbox = gtk_hbox_new (FALSE, 12);
680 gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
681 gtk_box_pack_start (GTK_BOX (dialog->vbox), hbox, TRUE, TRUE, 0);
682
683 priv->icon = gtk_image_new_from_stock (GTK_STOCK_DIALOG_AUTHENTICATION, GTK_ICON_SIZE_DIALOG);
684 gtk_misc_set_alignment (GTK_MISC (priv->icon), 0.5, 0.0);
685 gtk_box_pack_start (GTK_BOX (hbox), priv->icon, FALSE, FALSE, 0);
686
687 main_vbox = gtk_vbox_new (FALSE, 10);
688 gtk_box_pack_start (GTK_BOX (hbox), main_vbox, TRUE, TRUE, 0);
689
690 /* main message */
691 priv->message_label = gtk_label_new (NULL);
692 polkit_gnome_auth_dialog_set_message (auth_dialog, "");
693 gtk_misc_set_alignment (GTK_MISC (priv->message_label), 0.0, 0.5);
694 gtk_label_set_line_wrap (GTK_LABEL (priv->message_label), TRUE);
695 gtk_box_pack_start (GTK_BOX (main_vbox), GTK_WIDGET (priv->message_label),
696 FALSE, FALSE, 0);
697
698
699 /* secondary message */
700 priv->message_label_secondary = gtk_label_new (NULL);
701 gtk_label_set_markup (GTK_LABEL (priv->message_label_secondary), "");
702 gtk_misc_set_alignment (GTK_MISC (priv->message_label_secondary), 0.0, 0.5);
703 gtk_label_set_line_wrap (GTK_LABEL (priv->message_label_secondary), TRUE);
704 gtk_box_pack_start (GTK_BOX (main_vbox), GTK_WIDGET (priv->message_label_secondary),
705 FALSE, FALSE, 0);
706
707 /* user combobox */
708 priv->user_combobox = gtk_combo_box_new ();
709 gtk_box_pack_start (GTK_BOX (main_vbox), GTK_WIDGET (priv->user_combobox), FALSE, FALSE, 0);
710
711 /* password entry */
712 vbox = gtk_vbox_new (FALSE, 6);
713 gtk_box_pack_start (GTK_BOX (main_vbox), vbox, FALSE, FALSE, 0);
714
715 GtkWidget *table_alignment;
716 GtkWidget *table;
717 table_alignment = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
718 gtk_box_pack_start (GTK_BOX (vbox), table_alignment, FALSE, FALSE, 0);
719 table = gtk_table_new (1, 2, FALSE);
720 gtk_table_set_col_spacings (GTK_TABLE (table), 12);
721 gtk_table_set_row_spacings (GTK_TABLE (table), 6);
722 gtk_container_add (GTK_CONTAINER (table_alignment), table);
723 priv->password_entry = gtk_entry_new ();
724 gtk_entry_set_visibility (GTK_ENTRY (priv->password_entry), FALSE);
725 priv->prompt_label = add_row (table, 0, _("_Password:"), priv->password_entry);
726
727 g_signal_connect_swapped (priv->password_entry, "activate",
728 G_CALLBACK (gtk_window_activate_default),
729 dialog);
730
731 priv->keep_privilege_check_button = gtk_check_button_new_with_mnemonic ("");
732 gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->keep_privilege_check_button), TRUE);
733 gtk_box_pack_start (GTK_BOX (vbox), priv->keep_privilege_check_button, FALSE, FALSE, 0);
734 g_signal_connect (priv->keep_privilege_check_button, "toggled",
735 G_CALLBACK (remember_check_button_toggled), auth_dialog);
736
737 GtkWidget *keep_alignment;
738 keep_alignment = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
739 gtk_alignment_set_padding (GTK_ALIGNMENT (keep_alignment), 0, 0, 10, 0);
740
741 gtk_box_pack_start (GTK_BOX (vbox), keep_alignment, FALSE, FALSE, 0);
742 GtkWidget *vbox3;
743 vbox3 = gtk_vbox_new (FALSE, 6);
744 gtk_container_add (GTK_CONTAINER (keep_alignment), vbox3);
745
746 priv->keep_privilege_session_only_check_button =
747 gtk_check_button_new_with_mnemonic (_("For this _session only"));
748 gtk_box_pack_start (GTK_BOX (vbox3), priv->keep_privilege_session_only_check_button, FALSE, FALSE, 0);
749
750 gtk_widget_set_no_show_all (auth_dialog->priv->keep_privilege_check_button, TRUE);
751 gtk_widget_set_no_show_all (auth_dialog->priv->keep_privilege_session_only_check_button, TRUE);
752
753
754 GtkWidget *details_expander;
755 details_expander = gtk_expander_new_with_mnemonic (_("<small><b>_Details</b></small>"));
756 gtk_expander_set_use_markup (GTK_EXPANDER (details_expander), TRUE);
757 gtk_box_pack_start (GTK_BOX (dialog->vbox), details_expander, FALSE, FALSE, 0);
758 //gtk_box_pack_start (GTK_BOX (vbox), details_expander, FALSE, FALSE, 0);
759
760 GtkWidget *details_vbox;
761 details_vbox = gtk_vbox_new (FALSE, 10);
762 gtk_container_add (GTK_CONTAINER (details_expander), details_vbox);
763
764 //GtkWidget *table_alignment;
765 //GtkWidget *table;
766 table_alignment = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
767 gtk_box_pack_start (GTK_BOX (details_vbox), table_alignment, FALSE, FALSE, 0);
768 table = gtk_table_new (1, 3, FALSE);
769 gtk_table_set_col_spacings (GTK_TABLE (table), 12);
770 gtk_table_set_row_spacings (GTK_TABLE (table), 6);
771 gtk_container_add (GTK_CONTAINER (table_alignment), table);
772
773
774 priv->app_desc_label = gtk_label_new (NULL);
775 gtk_misc_set_alignment (GTK_MISC (priv->app_desc_label), 0, 1.0);
776 add_row (table, 0, _("<small><b>Application:</b></small>"), priv->app_desc_label);
777
778 priv->privilege_desc_label = sexy_url_label_new ();
779 gtk_misc_set_alignment (GTK_MISC (priv->privilege_desc_label), 0, 1.0);
780 add_row (table, 1, _("<small><b>Action:</b></small>"), priv->privilege_desc_label);
781 g_signal_connect (priv->privilege_desc_label, "url-activated", (GCallback) action_id_activated, NULL);
782
783 priv->privilege_vendor_label = sexy_url_label_new ();
784 gtk_misc_set_alignment (GTK_MISC (priv->privilege_vendor_label), 0, 1.0);
785 add_row (table, 2, _("<small><b>Vendor:</b></small>"), priv->privilege_vendor_label);
786 g_signal_connect (priv->privilege_vendor_label, "url-activated", (GCallback) vendor_url_activated, NULL);
787 }
788
789 static void
790 polkit_gnome_auth_dialog_finalize (GObject *object)
791 {
792 PolkitGnomeAuthDialog *auth_dialog = POLKIT_GNOME_AUTH_DIALOG (object);
793
794 g_free (auth_dialog->priv);
795
796 G_OBJECT_CLASS (polkit_gnome_auth_dialog_parent_class)->finalize (object);
797 }
798
799 #define PARAM_STATIC G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB
800
801 static void
802 polkit_gnome_auth_dialog_class_init (PolkitGnomeAuthDialogClass * klass)
803 {
804 GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
805
806 polkit_gnome_auth_dialog_parent_class = (GObjectClass *) g_type_class_peek_parent (klass);
807
808 gobject_class->finalize = polkit_gnome_auth_dialog_finalize;
809 gobject_class->get_property = polkit_gnome_auth_dialog_get_property;
810 gobject_class->set_property = polkit_gnome_auth_dialog_set_property;
811
812 g_object_class_install_property
813 (gobject_class,
814 PROP_PROGRAM,
815 g_param_spec_string ("program",
816 "program",
817 "program",
818 NULL,
819 G_PARAM_READWRITE | PARAM_STATIC));
820
821 g_object_class_install_property
822 (gobject_class,
823 PROP_ACTION_ID,
824 g_param_spec_string ("action-id",
825 "action-id",
826 "action-id",
827 NULL,
828 G_PARAM_READWRITE | PARAM_STATIC));
829
830 g_object_class_install_property
831 (gobject_class,
832 PROP_VENDOR,
833 g_param_spec_string ("vendor",
834 "vendor",
835 "vendor",
836 NULL,
837 G_PARAM_READWRITE | PARAM_STATIC));
838
839 g_object_class_install_property
840 (gobject_class,
841 PROP_VENDOR_URL,
842 g_param_spec_string ("vendor-url",
843 "vendor-url",
844 "vendor-url",
845 NULL,
846 G_PARAM_READWRITE | PARAM_STATIC));
847
848 g_object_class_install_property
849 (gobject_class,
850 PROP_ICON_NAME,
851 g_param_spec_string ("icon-name",
852 "icon-name",
853 "icon-name",
854 NULL,
855 G_PARAM_READWRITE | PARAM_STATIC));
856
857
858 g_object_class_install_property
859 (gobject_class,
860 PROP_MESSAGE,
861 g_param_spec_string ("message",
862 "message",
863 "message",
864 NULL,
865 G_PARAM_READWRITE | PARAM_STATIC));
866
867
868 signals[USER_SELECTED] =
869 g_signal_new ("user-selected",
870 G_TYPE_FROM_CLASS (klass),
871 G_SIGNAL_RUN_LAST,
872 G_STRUCT_OFFSET (PolkitGnomeAuthDialogClass,
873 user_selected),
874 NULL, NULL,
875 g_cclosure_marshal_VOID__STRING,
876 G_TYPE_NONE, 1,
877 G_TYPE_STRING);
878
879 }
880
881 /**
882 * polkit_gnome_auth_dialog_new:
883 *
884 * Yada yada yada...
885 *
886 * Returns: A new password dialog.
887 **/
888 GtkWidget *
889 polkit_gnome_auth_dialog_new (const char *path_to_program,
890 const char *action_id,
891 const char *vendor,
892 const char *vendor_url,
893 const char *icon_name,
894 const char *message_markup)
895 {
896 PolkitGnomeAuthDialog *auth_dialog;
897 GtkWindow *window;
898
899 auth_dialog = g_object_new (POLKIT_GNOME_TYPE_AUTH_DIALOG,
900 "program", path_to_program,
901 "action-id", action_id,
902 "vendor", vendor,
903 "vendor-url", vendor_url,
904 "icon-name", icon_name,
905 "message", message_markup,
906 NULL);
907
908 window = GTK_WINDOW (auth_dialog);
909
910 gtk_window_set_position (window, GTK_WIN_POS_CENTER);
911 gtk_window_set_modal (window, TRUE);
912 gtk_window_set_resizable (window, FALSE);
913 gtk_window_set_keep_above (window, TRUE);
914 gtk_window_set_title (window, _("Authenticate"));
915 g_signal_connect (auth_dialog, "close",
916 G_CALLBACK (gtk_widget_hide), NULL);
917
918 return GTK_WIDGET (auth_dialog);
919 }
920
921 const char *
922 polkit_gnome_auth_dialog_get_password (PolkitGnomeAuthDialog *auth_dialog)
923 {
924 return gtk_entry_get_text (GTK_ENTRY (auth_dialog->priv->password_entry));
925 }
926
927 gboolean
928 polkit_gnome_auth_dialog_get_remember_session (PolkitGnomeAuthDialog *auth_dialog)
929 {
930 gboolean ret;
931 gboolean remember;
932
933 remember = gtk_toggle_button_get_active (
934 GTK_TOGGLE_BUTTON (auth_dialog->priv->keep_privilege_check_button));
935
936 if (auth_dialog->priv->can_do_always) {
937 gboolean session_only;
938 session_only = gtk_toggle_button_get_active (
939 GTK_TOGGLE_BUTTON (auth_dialog->priv->keep_privilege_session_only_check_button));
940
941 ret = remember && session_only;
942 } else {
943 ret = remember;
944 }
945 return ret;
946 }
947
948 gboolean
949 polkit_gnome_auth_dialog_get_remember_always (PolkitGnomeAuthDialog *auth_dialog)
950 {
951 gboolean ret;
952 gboolean remember;
953
954 remember = gtk_toggle_button_get_active (
955 GTK_TOGGLE_BUTTON (auth_dialog->priv->keep_privilege_check_button));
956
957 if (auth_dialog->priv->can_do_always) {
958 gboolean session_only;
959 session_only = gtk_toggle_button_get_active (
960 GTK_TOGGLE_BUTTON (auth_dialog->priv->keep_privilege_session_only_check_button));
961
962 ret = remember && (!session_only);
963 } else {
964 ret = FALSE;
965 }
966 return ret;
967 }
968
969 /**
970 * polkit_gnome_auth_dialog_indicate_auth_error:
971 * @auth_dialog: the auth dialog
972 *
973 * Call this function to indicate an authentication error; typically shakes the window
974 **/
975 void
976 polkit_gnome_auth_dialog_indicate_auth_error (PolkitGnomeAuthDialog *auth_dialog)
977 {
978 int x, y;
979 int n;
980 int diff;
981
982 /* TODO: detect compositing manager and do fancy stuff here */
983
984 gtk_window_get_position (GTK_WINDOW (auth_dialog), &x, &y);
985 for (n = 0; n < 10; n++) {
986 if (n % 2 == 0)
987 diff = -15;
988 else
989 diff = 15;
990
991 gtk_window_move (GTK_WINDOW (auth_dialog), x + diff, y);
992
993 while (gtk_events_pending ()) {
994 gtk_main_iteration ();
995 }
996
997 g_usleep (10000);
998 }
999 gtk_window_move (GTK_WINDOW (auth_dialog), x, y);
1000 }
+0
-86
src/polkit-gnome-auth-dialog.h less more
0 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-
1 *
2 * Copyright (C) 2007 David Zeuthen <david@fubar.dk>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 *
18 */
19
20 #ifndef POLKIT_GNOME_AUTH_DIALOG_H
21 #define POLKIT_GNOME_AUTH_DIALOG_H
22
23 #include <gtk/gtkdialog.h>
24
25 G_BEGIN_DECLS
26
27 #define KEY_AUTH_DIALOG_RETAIN_AUTHORIZATION "/desktop/gnome/policykit/auth_dialog_retain_authorization"
28 #define KEY_AUTH_DIALOG_RETAIN_AUTHORIZATION_BLACKLIST "/desktop/gnome/policykit/auth_dialog_retain_authorization_blacklist"
29
30 #define POLKIT_GNOME_TYPE_AUTH_DIALOG (polkit_gnome_auth_dialog_get_type ())
31 #define POLKIT_GNOME_AUTH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POLKIT_GNOME_TYPE_AUTH_DIALOG, PolkitGnomeAuthDialog))
32 #define POLKIT_GNOME_AUTH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), POLKIT_GNOME_TYPE_AUTH_DIALOG, PolkitGnomeAuthDialogClass))
33 #define POLKIT_GNOME_IS_AUTH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POLKIT_GNOME_TYPE_AUTH_DIALOG))
34 #define POLKIT_GNOME_IS_AUTH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), POLKIT_GNOME_TYPE_AUTH_DIALOG))
35
36 typedef struct _PolkitGnomeAuthDialog PolkitGnomeAuthDialog;
37 typedef struct _PolkitGnomeAuthDialogClass PolkitGnomeAuthDialogClass;
38 typedef struct _PolkitGnomeAuthDialogPrivate PolkitGnomeAuthDialogPrivate;
39
40 struct _PolkitGnomeAuthDialog
41 {
42 GtkDialog gtk_dialog;
43 PolkitGnomeAuthDialogPrivate *priv;
44 };
45
46 struct _PolkitGnomeAuthDialogClass
47 {
48 GtkDialogClass parent_class;
49
50 /* Signals: */
51
52 void (*user_selected) (PolkitGnomeAuthDialog *auth_dialog, const char *user_name);
53 };
54
55 GType polkit_gnome_auth_dialog_get_type (void);
56 GtkWidget *polkit_gnome_auth_dialog_new (const char *path_to_program,
57 const char *action_id,
58 const char *vendor,
59 const char *vendor_url,
60 const char *icon_name,
61 const char *message_markup);
62
63 void polkit_gnome_auth_dialog_set_prompt (PolkitGnomeAuthDialog *auth_dialog,
64 const char *prompt,
65 gboolean show_chars);
66
67 const char *polkit_gnome_auth_dialog_get_password (PolkitGnomeAuthDialog *auth_dialog);
68
69 void polkit_gnome_auth_dialog_set_options (PolkitGnomeAuthDialog *auth_dialog,
70 gboolean session,
71 gboolean always,
72 gboolean requires_admin,
73 char **admin_users);
74
75 gboolean polkit_gnome_auth_dialog_get_remember_session (PolkitGnomeAuthDialog *auth_dialog);
76 gboolean polkit_gnome_auth_dialog_get_remember_always (PolkitGnomeAuthDialog *auth_dialog);
77 gboolean polkit_gnome_auth_dialog_get_apply_all (PolkitGnomeAuthDialog *auth_dialog);
78
79 void polkit_gnome_auth_dialog_select_admin_user (PolkitGnomeAuthDialog *auth_dialog, const char *admin_user);
80
81 void polkit_gnome_auth_dialog_indicate_auth_error (PolkitGnomeAuthDialog *auth_dialog);
82
83 G_END_DECLS
84
85 #endif /* POLKIT_GNOME_AUTH_DIALOG_H */
0 [Desktop Entry]
1 _Name=PolicyKit Authentication Agent
2 _Comment=PolicyKit Authentication Agent
3 Exec=@FULL_LIBEXECDIR@/polkit-gnome-authentication-agent-1
4 Terminal=false
5 Type=Application
6 Categories=
7 OnlyShowIn=GNOME;
+0
-168
src/polkit-gnome-manager-glue.h less more
0 /* Generated by dbus-binding-tool; do not edit! */
1
2
3 #ifndef __dbus_glib_marshal_polkit_gnome_manager_MARSHAL_H__
4 #define __dbus_glib_marshal_polkit_gnome_manager_MARSHAL_H__
5
6 #include <glib-object.h>
7
8 G_BEGIN_DECLS
9
10 #ifdef G_ENABLE_DEBUG
11 #define g_marshal_value_peek_boolean(v) g_value_get_boolean (v)
12 #define g_marshal_value_peek_char(v) g_value_get_char (v)
13 #define g_marshal_value_peek_uchar(v) g_value_get_uchar (v)
14 #define g_marshal_value_peek_int(v) g_value_get_int (v)
15 #define g_marshal_value_peek_uint(v) g_value_get_uint (v)
16 #define g_marshal_value_peek_long(v) g_value_get_long (v)
17 #define g_marshal_value_peek_ulong(v) g_value_get_ulong (v)
18 #define g_marshal_value_peek_int64(v) g_value_get_int64 (v)
19 #define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v)
20 #define g_marshal_value_peek_enum(v) g_value_get_enum (v)
21 #define g_marshal_value_peek_flags(v) g_value_get_flags (v)
22 #define g_marshal_value_peek_float(v) g_value_get_float (v)
23 #define g_marshal_value_peek_double(v) g_value_get_double (v)
24 #define g_marshal_value_peek_string(v) (char*) g_value_get_string (v)
25 #define g_marshal_value_peek_param(v) g_value_get_param (v)
26 #define g_marshal_value_peek_boxed(v) g_value_get_boxed (v)
27 #define g_marshal_value_peek_pointer(v) g_value_get_pointer (v)
28 #define g_marshal_value_peek_object(v) g_value_get_object (v)
29 #else /* !G_ENABLE_DEBUG */
30 /* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
31 * Do not access GValues directly in your code. Instead, use the
32 * g_value_get_*() functions
33 */
34 #define g_marshal_value_peek_boolean(v) (v)->data[0].v_int
35 #define g_marshal_value_peek_char(v) (v)->data[0].v_int
36 #define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint
37 #define g_marshal_value_peek_int(v) (v)->data[0].v_int
38 #define g_marshal_value_peek_uint(v) (v)->data[0].v_uint
39 #define g_marshal_value_peek_long(v) (v)->data[0].v_long
40 #define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong
41 #define g_marshal_value_peek_int64(v) (v)->data[0].v_int64
42 #define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64
43 #define g_marshal_value_peek_enum(v) (v)->data[0].v_long
44 #define g_marshal_value_peek_flags(v) (v)->data[0].v_ulong
45 #define g_marshal_value_peek_float(v) (v)->data[0].v_float
46 #define g_marshal_value_peek_double(v) (v)->data[0].v_double
47 #define g_marshal_value_peek_string(v) (v)->data[0].v_pointer
48 #define g_marshal_value_peek_param(v) (v)->data[0].v_pointer
49 #define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer
50 #define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer
51 #define g_marshal_value_peek_object(v) (v)->data[0].v_pointer
52 #endif /* !G_ENABLE_DEBUG */
53
54
55 /* NONE:STRING,UINT,POINTER (/tmp/dbus-binding-tool-c-marshallers.CF78FU:1) */
56 extern void dbus_glib_marshal_polkit_gnome_manager_VOID__STRING_UINT_POINTER (GClosure *closure,
57 GValue *return_value,
58 guint n_param_values,
59 const GValue *param_values,
60 gpointer invocation_hint,
61 gpointer marshal_data);
62 void
63 dbus_glib_marshal_polkit_gnome_manager_VOID__STRING_UINT_POINTER (GClosure *closure,
64 GValue *return_value G_GNUC_UNUSED,
65 guint n_param_values,
66 const GValue *param_values,
67 gpointer invocation_hint G_GNUC_UNUSED,
68 gpointer marshal_data)
69 {
70 typedef void (*GMarshalFunc_VOID__STRING_UINT_POINTER) (gpointer data1,
71 gpointer arg_1,
72 guint arg_2,
73 gpointer arg_3,
74 gpointer data2);
75 register GMarshalFunc_VOID__STRING_UINT_POINTER callback;
76 register GCClosure *cc = (GCClosure*) closure;
77 register gpointer data1, data2;
78
79 g_return_if_fail (n_param_values == 4);
80
81 if (G_CCLOSURE_SWAP_DATA (closure))
82 {
83 data1 = closure->data;
84 data2 = g_value_peek_pointer (param_values + 0);
85 }
86 else
87 {
88 data1 = g_value_peek_pointer (param_values + 0);
89 data2 = closure->data;
90 }
91 callback = (GMarshalFunc_VOID__STRING_UINT_POINTER) (marshal_data ? marshal_data : cc->callback);
92
93 callback (data1,
94 g_marshal_value_peek_string (param_values + 1),
95 g_marshal_value_peek_uint (param_values + 2),
96 g_marshal_value_peek_pointer (param_values + 3),
97 data2);
98 }
99 #define dbus_glib_marshal_polkit_gnome_manager_NONE__STRING_UINT_POINTER dbus_glib_marshal_polkit_gnome_manager_VOID__STRING_UINT_POINTER
100
101 /* NONE:STRING,UINT,UINT,POINTER (/tmp/dbus-binding-tool-c-marshallers.CF78FU:2) */
102 extern void dbus_glib_marshal_polkit_gnome_manager_VOID__STRING_UINT_UINT_POINTER (GClosure *closure,
103 GValue *return_value,
104 guint n_param_values,
105 const GValue *param_values,
106 gpointer invocation_hint,
107 gpointer marshal_data);
108 void
109 dbus_glib_marshal_polkit_gnome_manager_VOID__STRING_UINT_UINT_POINTER (GClosure *closure,
110 GValue *return_value G_GNUC_UNUSED,
111 guint n_param_values,
112 const GValue *param_values,
113 gpointer invocation_hint G_GNUC_UNUSED,
114 gpointer marshal_data)
115 {
116 typedef void (*GMarshalFunc_VOID__STRING_UINT_UINT_POINTER) (gpointer data1,
117 gpointer arg_1,
118 guint arg_2,
119 guint arg_3,
120 gpointer arg_4,
121 gpointer data2);
122 register GMarshalFunc_VOID__STRING_UINT_UINT_POINTER callback;
123 register GCClosure *cc = (GCClosure*) closure;
124 register gpointer data1, data2;
125
126 g_return_if_fail (n_param_values == 5);
127
128 if (G_CCLOSURE_SWAP_DATA (closure))
129 {
130 data1 = closure->data;
131 data2 = g_value_peek_pointer (param_values + 0);
132 }
133 else
134 {
135 data1 = g_value_peek_pointer (param_values + 0);
136 data2 = closure->data;
137 }
138 callback = (GMarshalFunc_VOID__STRING_UINT_UINT_POINTER) (marshal_data ? marshal_data : cc->callback);
139
140 callback (data1,
141 g_marshal_value_peek_string (param_values + 1),
142 g_marshal_value_peek_uint (param_values + 2),
143 g_marshal_value_peek_uint (param_values + 3),
144 g_marshal_value_peek_pointer (param_values + 4),
145 data2);
146 }
147 #define dbus_glib_marshal_polkit_gnome_manager_NONE__STRING_UINT_UINT_POINTER dbus_glib_marshal_polkit_gnome_manager_VOID__STRING_UINT_UINT_POINTER
148
149 G_END_DECLS
150
151 #endif /* __dbus_glib_marshal_polkit_gnome_manager_MARSHAL_H__ */
152
153 #include <dbus/dbus-glib.h>
154 static const DBusGMethodInfo dbus_glib_polkit_gnome_manager_methods[] = {
155 { (GCallback) polkit_gnome_manager_show_dialog, dbus_glib_marshal_polkit_gnome_manager_NONE__STRING_UINT_POINTER, 0 },
156 { (GCallback) polkit_gnome_manager_obtain_authorization, dbus_glib_marshal_polkit_gnome_manager_NONE__STRING_UINT_UINT_POINTER, 93 },
157 };
158
159 const DBusGObjectInfo dbus_glib_polkit_gnome_manager_object_info = {
160 0,
161 dbus_glib_polkit_gnome_manager_methods,
162 2,
163 "org.gnome.PolicyKit.Manager\0ShowDialog\0A\0action_id\0I\0s\0xid\0I\0u\0gained_authorization\0O\0F\0N\0b\0\0org.freedesktop.PolicyKit.AuthenticationAgent\0ObtainAuthorization\0A\0action_id\0I\0s\0xid\0I\0u\0pid\0I\0u\0gained_authorization\0O\0F\0N\0b\0\0\0",
164 "\0",
165 "\0"
166 };
167
+0
-1206
src/polkit-gnome-manager.c less more
0 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
1 *
2 * Copyright (C) 2007 David Zeuthen <david@fubar.dk>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 *
18 */
19
20 #ifdef HAVE_CONFIG_H
21 # include "config.h"
22 #endif
23
24 #include <stdlib.h>
25 #include <stdio.h>
26 #include <fcntl.h>
27 #include <unistd.h>
28 #include <string.h>
29 #include <sys/wait.h>
30
31 #include <glib.h>
32 #include <glib/gi18n-lib.h>
33 #include <glib-object.h>
34 #include <gdk/gdkx.h>
35 #include <gconf/gconf-client.h>
36
37 #define DBUS_API_SUBJECT_TO_CHANGE
38 #include <dbus/dbus-glib.h>
39 #include <dbus/dbus-glib-lowlevel.h>
40
41 #include <polkit/polkit.h>
42 #include <polkit-dbus/polkit-dbus.h>
43 #include <polkit-grant/polkit-grant.h>
44
45 #include "polkit-gnome-manager.h"
46 #include "polkit-gnome-manager-glue.h"
47
48 #include "polkit-gnome-auth-dialog.h"
49
50 #define KEY_AUTH_DIALOG_GRAB_KEYBOARD "/desktop/gnome/policykit/auth_dialog_grab_keyboard"
51
52 static void do_cancel_auth (void);
53
54
55 static guint kill_timer_id = 0;
56
57 static gboolean kill_timer_no_exit = FALSE;
58
59 static gboolean
60 kill_timer_exit (gpointer user_data)
61 {
62 g_debug ("Exiting because of kill timer.");
63 exit (0);
64 return FALSE;
65 }
66
67 static void
68 kill_timer_stop (void)
69 {
70
71 if (kill_timer_id > 0) {
72 g_debug ("Removing kill timer.");
73 g_source_remove (kill_timer_id);
74 kill_timer_id = 0;
75 }
76 }
77
78 static void
79 kill_timer_start (void)
80 {
81 if (kill_timer_no_exit)
82 return;
83
84 kill_timer_stop ();
85 g_debug ("Setting kill timer to 30 seconds.");
86 kill_timer_id = g_timeout_add (30 * 1000, kill_timer_exit, NULL);
87 }
88
89 static gboolean
90 do_polkit_auth (PolKitContext *pk_context,
91 DBusConnection *system_bus_connection,
92 const char *caller_exe_name,
93 const char *action_id,
94 guint32 xid,
95 pid_t caller_pid);
96
97 struct PolKitGnomeManagerPrivate
98 {
99 DBusGConnection *session_bus_connection;
100 DBusGProxy *session_bus_proxy;
101
102 DBusGConnection *system_bus_connection;
103
104 PolKitContext *pk_context;
105
106 gboolean auth_in_progress;
107 char *session_bus_unique_name_of_client;
108 };
109
110 static void polkit_gnome_manager_class_init (PolKitGnomeManagerClass *klass);
111 static void polkit_gnome_manager_init (PolKitGnomeManager *seat);
112 static void polkit_gnome_manager_finalize (GObject *object);
113
114 G_DEFINE_TYPE (PolKitGnomeManager, polkit_gnome_manager, G_TYPE_OBJECT)
115
116 #define POLKIT_GNOME_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), POLKIT_GNOME_TYPE_MANAGER, PolKitGnomeManagerPrivate))
117
118 GQuark
119 polkit_gnome_manager_error_quark (void)
120 {
121 static GQuark ret = 0;
122
123 #if 0
124 if (etype == 0) {
125 static const GEnumValue values[] = {
126 ENUM_ENTRY (POLKIT_MANAGER_ERROR_NO_SUCH_USER, "NoSuchUser"),
127 ENUM_ENTRY (POLKIT_MANAGER_ERROR_NO_SUCH_PRIVILEGE, "NoSuchPrivilege"),
128 ENUM_ENTRY (POLKIT_MANAGER_ERROR_NOT_PRIVILEGED, "NotPrivileged"),
129 ENUM_ENTRY (POLKIT_MANAGER_ERROR_CANNOT_OBTAIN_PRIVILEGE, "CannotObtainPrivilege"),
130 ENUM_ENTRY (POLKIT_MANAGER_ERROR_ERROR, "Error"),
131 { 0, 0, 0 }
132 };
133
134 g_assert (POLKIT_MANAGER_NUM_ERRORS == G_N_ELEMENTS (values) - 1);
135
136 etype = g_enum_register_static ("PolkitManagerError", values);
137 }
138 #endif
139
140 if (ret == 0) {
141 ret = g_quark_from_static_string ("polkit_gnome_manager_error");
142 }
143
144 return ret;
145 }
146
147 static GObject *
148 polkit_gnome_manager_constructor (GType type,
149 guint n_construct_properties,
150 GObjectConstructParam *construct_properties)
151 {
152 PolKitGnomeManager *manager;
153 PolKitGnomeManagerClass *klass;
154
155 klass = POLKIT_GNOME_MANAGER_CLASS (g_type_class_peek (POLKIT_GNOME_TYPE_MANAGER));
156
157 manager = POLKIT_GNOME_MANAGER (G_OBJECT_CLASS (polkit_gnome_manager_parent_class)->constructor (
158 type,
159 n_construct_properties,
160 construct_properties));
161
162 return G_OBJECT (manager);
163 }
164
165 static void
166 polkit_gnome_manager_class_init (PolKitGnomeManagerClass *klass)
167 {
168 GObjectClass *object_class = G_OBJECT_CLASS (klass);
169
170 object_class->constructor = polkit_gnome_manager_constructor;
171 object_class->finalize = polkit_gnome_manager_finalize;
172
173 g_type_class_add_private (klass, sizeof (PolKitGnomeManagerPrivate));
174
175 dbus_g_object_type_install_info (POLKIT_GNOME_TYPE_MANAGER, &dbus_glib_polkit_gnome_manager_object_info);
176 }
177
178 static void
179 polkit_gnome_manager_init (PolKitGnomeManager *manager)
180 {
181 manager->priv = POLKIT_GNOME_MANAGER_GET_PRIVATE (manager);
182
183 }
184
185 static void
186 polkit_gnome_manager_finalize (GObject *object)
187 {
188 PolKitGnomeManager *manager;
189
190 g_return_if_fail (object != NULL);
191 g_return_if_fail (POLKIT_GNOME_IS_MANAGER (object));
192
193 manager = POLKIT_GNOME_MANAGER (object);
194
195 g_return_if_fail (manager->priv != NULL);
196
197 g_object_unref (manager->priv->session_bus_proxy);
198
199 G_OBJECT_CLASS (polkit_gnome_manager_parent_class)->finalize (object);
200 }
201
202
203 static void
204 _polkit_config_changed_cb (PolKitContext *pk_context, gpointer user_data)
205 {
206 g_debug ("PolicyKit reports that the config have changed");
207 }
208
209
210 static void
211 session_bus_name_owner_changed (DBusGProxy *bus_proxy,
212 const char *service_name,
213 const char *old_service_name,
214 const char *new_service_name,
215 gpointer user_data)
216 {
217 PolKitGnomeManager *manager = user_data;
218
219 if (strlen (new_service_name) == 0 &&
220 manager->priv->auth_in_progress &&
221 manager->priv->session_bus_unique_name_of_client != NULL &&
222 strcmp (manager->priv->session_bus_unique_name_of_client, old_service_name) == 0) {
223 do_cancel_auth ();
224 }
225
226 }
227
228
229 static gboolean
230 pk_io_watch_have_data (GIOChannel *channel, GIOCondition condition, gpointer user_data)
231 {
232 int fd;
233 PolKitContext *pk_context = user_data;
234 fd = g_io_channel_unix_get_fd (channel);
235 polkit_context_io_func (pk_context, fd);
236 return TRUE;
237 }
238
239 static int
240 pk_io_add_watch (PolKitContext *pk_context, int fd)
241 {
242 guint id = 0;
243 GIOChannel *channel;
244 channel = g_io_channel_unix_new (fd);
245 if (channel == NULL)
246 goto out;
247 id = g_io_add_watch (channel, G_IO_IN, pk_io_watch_have_data, pk_context);
248 if (id == 0) {
249 g_io_channel_unref (channel);
250 goto out;
251 }
252 g_io_channel_unref (channel);
253 out:
254 return id;
255 }
256
257 static void
258 pk_io_remove_watch (PolKitContext *pk_context, int watch_id)
259 {
260 g_source_remove (watch_id);
261 }
262
263 static gboolean
264 register_manager (PolKitGnomeManager *manager)
265 {
266 GError *error = NULL;
267 PolKitError *pk_error;
268
269 error = NULL;
270 manager->priv->session_bus_connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
271 if (manager->priv->session_bus_connection == NULL) {
272 if (error != NULL) {
273 g_critical ("error getting session bus: %s", error->message);
274 g_error_free (error);
275 }
276 goto error;
277 }
278
279 manager->priv->system_bus_connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);
280 if (manager->priv->system_bus_connection == NULL) {
281 if (error != NULL) {
282 g_critical ("error getting system bus: %s", error->message);
283 g_error_free (error);
284 }
285 goto error;
286 }
287
288 dbus_g_connection_register_g_object (manager->priv->session_bus_connection,
289 "/org/gnome/PolicyKit/Manager",
290 G_OBJECT (manager));
291
292 dbus_g_connection_register_g_object (manager->priv->session_bus_connection,
293 "/",
294 G_OBJECT (manager));
295
296 manager->priv->session_bus_proxy = dbus_g_proxy_new_for_name (manager->priv->session_bus_connection,
297 DBUS_SERVICE_DBUS,
298 DBUS_PATH_DBUS,
299 DBUS_INTERFACE_DBUS);
300
301 dbus_g_proxy_add_signal (manager->priv->session_bus_proxy,
302 "NameOwnerChanged",
303 G_TYPE_STRING,
304 G_TYPE_STRING,
305 G_TYPE_STRING,
306 G_TYPE_INVALID);
307 dbus_g_proxy_connect_signal (manager->priv->session_bus_proxy,
308 "NameOwnerChanged",
309 G_CALLBACK (session_bus_name_owner_changed),
310 manager,
311 NULL);
312
313 manager->priv->pk_context = polkit_context_new ();
314 if (manager->priv->pk_context == NULL) {
315 g_critical ("error creating PK context");
316 goto error;
317 }
318 polkit_context_set_load_descriptions (manager->priv->pk_context);
319 polkit_context_set_config_changed (manager->priv->pk_context,
320 _polkit_config_changed_cb,
321 NULL);
322 polkit_context_set_io_watch_functions (manager->priv->pk_context, pk_io_add_watch, pk_io_remove_watch);
323 pk_error = NULL;
324 if (!polkit_context_init (manager->priv->pk_context, &pk_error)) {
325 g_critical ("error creating PK context: %s", polkit_error_get_error_message (pk_error));
326 polkit_error_free (pk_error);
327 goto error;
328 }
329
330 return TRUE;
331
332 error:
333 return FALSE;
334 }
335
336
337 PolKitGnomeManager *
338 polkit_gnome_manager_new (gboolean no_exit)
339 {
340 GObject *object;
341 gboolean res;
342
343 object = g_object_new (POLKIT_GNOME_TYPE_MANAGER, NULL);
344
345 res = register_manager (POLKIT_GNOME_MANAGER (object));
346 if (! res) {
347 g_object_unref (object);
348 return NULL;
349 }
350
351 kill_timer_no_exit = no_exit;
352 kill_timer_start ();
353
354 return POLKIT_GNOME_MANAGER (object);
355 }
356
357 /* TODO: this is right now Linux specific */
358
359 static char *
360 get_exe_for_pid (pid_t pid)
361 {
362 char *result;
363 char buf[PATH_MAX];
364
365 if (polkit_sysdeps_get_exe_for_pid_with_helper (pid, buf, sizeof buf) < 0) {
366 result = g_strdup (_("(unknown"));
367 } else {
368 result = g_strdup (buf);
369 }
370
371 return result;
372 }
373
374 typedef struct
375 {
376 PolKitGnomeManager *manager;
377 char *action_id;
378 guint32 xid;
379 pid_t pid;
380 DBusGMethodInvocation *context;
381 } WorkClosure;
382
383 static gboolean
384 do_auth (gpointer user_data)
385 {
386 WorkClosure *wc = user_data;
387 const char *sender;
388 pid_t caller_pid;
389 char *caller_exe;
390 gboolean gained_privilege;
391 GError *error;
392
393 kill_timer_stop ();
394
395 if (wc->manager->priv->auth_in_progress) {
396 error = g_error_new (POLKIT_GNOME_MANAGER_ERROR,
397 POLKIT_GNOME_MANAGER_ERROR_AUTH_IN_PROGRESS,
398 "Another client is already authenticating. Please try again later.");
399 dbus_g_method_return_error (wc->context, error);
400 g_error_free (error);
401 goto out;
402 }
403
404 g_debug ("in show_dialog action_id='%s'", wc->action_id);
405
406 sender = dbus_g_method_get_sender (wc->context);
407
408 if (wc->pid == -1) {
409 error = NULL;
410 if (! dbus_g_proxy_call (wc->manager->priv->session_bus_proxy, "GetConnectionUnixProcessID", &error,
411 G_TYPE_STRING, sender,
412 G_TYPE_INVALID,
413 G_TYPE_UINT, &caller_pid,
414 G_TYPE_INVALID)) {
415 g_debug ("GetConnectionUnixProcessID() failed: %s", error->message);
416 g_error_free (error);
417
418 error = g_error_new (POLKIT_GNOME_MANAGER_ERROR,
419 POLKIT_GNOME_MANAGER_ERROR_GENERAL,
420 "Unable to lookup process ID for caller");
421 dbus_g_method_return_error (wc->context, error);
422 g_error_free (error);
423 goto out;
424 }
425 } else {
426 caller_pid = wc->pid;
427 }
428
429 g_debug ("process id = %d", caller_pid);
430
431 caller_exe = get_exe_for_pid (caller_pid);
432 if (caller_exe == NULL) {
433 caller_exe = g_strdup ("(unknown)");
434 #if 0
435 error = g_error_new (POLKIT_GNOME_MANAGER_ERROR,
436 POLKIT_GNOME_MANAGER_ERROR_GENERAL,
437 "Unable to lookup exe for caller");
438 dbus_g_method_return_error (wc->context, error);
439 g_error_free (error);
440 goto out;
441 #endif
442 }
443
444 g_debug ("exe = '%s'", caller_exe);
445
446 wc->manager->priv->auth_in_progress = TRUE;
447 wc->manager->priv->session_bus_unique_name_of_client = g_strdup (sender);
448
449 gained_privilege = do_polkit_auth (wc->manager->priv->pk_context,
450 dbus_g_connection_get_connection (wc->manager->priv->system_bus_connection),
451 caller_exe,
452 wc->action_id,
453 wc->xid,
454 caller_pid);
455
456 g_free (caller_exe);
457
458 dbus_g_method_return (wc->context, gained_privilege);
459
460 wc->manager->priv->auth_in_progress = FALSE;
461 g_free (wc->manager->priv->session_bus_unique_name_of_client);
462 wc->manager->priv->session_bus_unique_name_of_client = NULL;
463 out:
464 kill_timer_start ();
465 g_free (wc->action_id);
466 g_free (wc);
467 return FALSE;
468 }
469
470 /* exported methods */
471
472
473 gboolean
474 polkit_gnome_manager_obtain_authorization (PolKitGnomeManager *manager,
475 const char *action_id,
476 guint32 xid,
477 guint32 pid,
478 DBusGMethodInvocation *context)
479 {
480 WorkClosure *wc;
481
482 wc = g_new0 (WorkClosure, 1);
483 wc->manager = manager;
484 wc->action_id = g_strdup (action_id);
485 wc->xid = xid;
486 wc->context = context;
487 wc->pid = pid;
488
489 g_idle_add (do_auth, wc);
490 return TRUE;
491 }
492
493 gboolean
494 polkit_gnome_manager_show_dialog (PolKitGnomeManager *manager,
495 const char *action_id,
496 guint32 xid,
497 DBusGMethodInvocation *context)
498 {
499 return polkit_gnome_manager_obtain_authorization (manager, action_id, xid, -1, context);
500 }
501
502
503 /*----------------------------------------------------------------------------------------------------*/
504
505 typedef struct {
506 GMainLoop *loop;
507 GtkWidget *dialog;
508 PolKitGrant *polkit_grant;
509
510 gboolean gained_privilege;
511 gboolean was_cancelled;
512 gboolean was_bogus;
513 gboolean new_user_selected;
514
515 gboolean remember_session;
516 gboolean remember_always;
517 gboolean requires_admin;
518 char **admin_users;
519
520 char *admin_user_selected;
521
522 gboolean got_keyboard_grab;
523 } UserData;
524
525 static void
526 conversation_type (PolKitGrant *polkit_grant, PolKitResult auth_type, void *user_data)
527 {
528 UserData *ud = user_data;
529
530 ud->remember_session = FALSE;
531 ud->remember_always = FALSE;
532 ud->requires_admin = FALSE;
533
534 switch (auth_type) {
535 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_ONE_SHOT:
536 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH:
537 ud->requires_admin = TRUE;
538 break;
539
540 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_SESSION:
541 ud->requires_admin = TRUE;
542 ud->remember_session = TRUE;
543 break;
544
545 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_ALWAYS:
546 ud->requires_admin = TRUE;
547 ud->remember_always = TRUE;
548 break;
549
550 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_ONE_SHOT:
551 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH:
552 break;
553
554 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_SESSION:
555 ud->remember_session = TRUE;
556 break;
557
558 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_ALWAYS:
559 ud->remember_always = TRUE;
560 break;
561 default:
562 g_assert_not_reached ();
563 break;
564 }
565
566 polkit_gnome_auth_dialog_set_options (POLKIT_GNOME_AUTH_DIALOG (ud->dialog),
567 ud->remember_session,
568 ud->remember_always,
569 ud->requires_admin,
570 ud->admin_users);
571 }
572
573 /*--------------------------------------------------------------------------------------------------------------*/
574
575 static void
576 _do_grab (GtkWidget *widget, GdkEvent *event, gpointer user_data)
577 {
578 UserData *ud = user_data;
579 GConfClient *client;
580
581 ud->got_keyboard_grab = FALSE;
582
583 client = gconf_client_get_default ();
584 if (gconf_client_get_bool (client, KEY_AUTH_DIALOG_GRAB_KEYBOARD, NULL)) { /* NULL-GError */
585 GdkGrabStatus ret;
586
587 ret = gdk_keyboard_grab (widget->window,
588 FALSE,
589 GDK_CURRENT_TIME); /* FIXME: ideally we need a real timestamp */
590 if (ret != GDK_GRAB_SUCCESS) {
591 g_warning ("Couldn't grab the keyboard; ret = %d", ret);
592 } else {
593 g_debug ("Grabbed keyboard");
594 ud->got_keyboard_grab = TRUE;
595 }
596 }
597 }
598
599 /*--------------------------------------------------------------------------------------------------------------*/
600
601 static void
602 dialog_response (GtkDialog *dialog, gint response_id, gpointer user_data)
603 {
604 UserData *ud = user_data;
605
606 g_debug ("dialog response %d", response_id);
607 if (ud->admin_user_selected == NULL)
608 ud->admin_user_selected = g_strdup ("");
609 }
610
611 static void
612 user_selected (PolkitGnomeAuthDialog *auth_dialog, const char *user_name, gpointer user_data)
613 {
614 UserData *ud = user_data;
615
616 g_debug ("In user_selected, user_name=%s", user_name);
617
618 if (ud->admin_user_selected == NULL) {
619 /* happens when we're invoked from conversation_select_admin_user() */
620 ud->admin_user_selected = g_strdup (user_name);
621 } else {
622 g_debug ("Restart auth as new user...");
623 g_free (ud->admin_user_selected);
624 ud->admin_user_selected = g_strdup (user_name);
625 ud->new_user_selected = TRUE;
626 polkit_grant_cancel_auth (ud->polkit_grant);
627 /* break out of gtk_dialog_run() ... */
628 gtk_dialog_response (GTK_DIALOG (ud->dialog), GTK_RESPONSE_OK);
629 }
630 }
631
632 static void
633 do_show_dialog (UserData *ud)
634 {
635 guint32 server_time;
636 gtk_widget_realize (ud->dialog);
637 server_time = gdk_x11_get_server_time (ud->dialog->window);
638 gtk_window_present_with_time (GTK_WINDOW (ud->dialog), server_time);
639 gtk_widget_show_all (ud->dialog);
640 }
641
642 static char *
643 conversation_select_admin_user (PolKitGrant *polkit_grant, char **admin_users, void *user_data)
644 {
645 UserData *ud = user_data;
646 gulong response_id;
647 char *result;
648 int n;
649 const char *user_name;
650
651 /* if we've already selected the admin user.. then reuse the same one (this
652 * is mainly when the user entered the wrong password)
653 */
654 if (ud->admin_user_selected != NULL) {
655 result = strdup (ud->admin_user_selected);
656 goto out;
657 }
658
659 ud->admin_users = g_strdupv (admin_users);
660
661 /* show the auth dialog with the given admin users */
662 polkit_gnome_auth_dialog_set_options (POLKIT_GNOME_AUTH_DIALOG (ud->dialog),
663 ud->remember_session,
664 ud->remember_always,
665 ud->requires_admin,
666 ud->admin_users);
667
668 /* if we are running as one of the users in admin_users then preselect that user... */
669 user_name = g_get_user_name ();
670 if (user_name != NULL) {
671 for (n = 0; admin_users[n] != NULL; n++) {
672 if (strcmp (user_name, admin_users[n]) == 0) {
673 ud->admin_user_selected = g_strdup (user_name);
674 result = strdup (ud->admin_user_selected);
675
676 polkit_gnome_auth_dialog_select_admin_user (POLKIT_GNOME_AUTH_DIALOG (ud->dialog),
677 ud->admin_user_selected);
678
679 g_debug ("Preselecting ourselves as admin_user");
680 goto out;
681 }
682 }
683 }
684
685 polkit_gnome_auth_dialog_set_prompt (POLKIT_GNOME_AUTH_DIALOG (ud->dialog), _("_Password:"), FALSE);
686 response_id = g_signal_connect (GTK_WIDGET (ud->dialog), "response", G_CALLBACK (dialog_response), ud);
687
688 do_show_dialog (ud);
689
690 /* run the mainloop waiting for the user to be selected */
691 while (ud->admin_user_selected == NULL)
692 g_main_context_iteration (g_main_loop_get_context (ud->loop), TRUE);
693
694 g_signal_handler_disconnect (GTK_WIDGET (ud->dialog), response_id);
695
696 /* if admin_user_selected is the empty string.. it means the dialog was
697 * cancelled (see dialog_response() above)
698 */
699 if (strcmp (ud->admin_user_selected, "") == 0) {
700 ud->was_cancelled = TRUE;
701 polkit_grant_cancel_auth (polkit_grant);
702 result = NULL;
703 } else {
704 result = strdup (ud->admin_user_selected);
705 }
706 out:
707 return result;
708 }
709
710 /*--------------------------------------------------------------------------------------------------------------*/
711
712 static char *
713 conversation_pam_prompt (PolKitGrant *polkit_grant, const char *request, void *user_data, gboolean echo_on)
714 {
715 UserData *ud = user_data;
716 char *password;
717 char *request2;
718 int response;
719
720 password = NULL;
721
722 g_debug ("in conversation_pam_prompt, request='%s', echo_on=%d", request, echo_on);
723
724 /* Fix up, and localize, password prompt if it's password auth */
725 printf ("request: '%s'\n", request);
726 if (g_ascii_strncasecmp (request, "password:", 9) == 0) {
727 if (ud->requires_admin) {
728 if (ud->admin_user_selected != NULL) {
729 request2 = g_strdup_printf (_("_Password for %s:"), ud->admin_user_selected);
730 } else {
731 request2 = g_strdup (_("_Password for root:"));
732 }
733 } else {
734 request2 = g_strdup (_("_Password:"));
735 }
736 } else if (g_ascii_strncasecmp (request, "password or swipe finger:", 25) == 0) {
737 if (ud->requires_admin) {
738 if (ud->admin_user_selected != NULL) {
739 request2 = g_strdup_printf (_("_Password or swipe finger for %s:"),
740 ud->admin_user_selected);
741 } else {
742 request2 = g_strdup (_("_Password or swipe finger for root:"));
743 }
744 } else {
745 request2 = g_strdup (_("_Password or swipe finger:"));
746 }
747 } else {
748 request2 = g_strdup (request);
749 }
750
751 polkit_gnome_auth_dialog_set_prompt (POLKIT_GNOME_AUTH_DIALOG (ud->dialog), request2, echo_on);
752 g_free (request2);
753
754 do_show_dialog (ud);
755
756 response = gtk_dialog_run (GTK_DIALOG (ud->dialog));
757
758 /* cancel auth unless user clicked "Authenticate" */
759 if (response != GTK_RESPONSE_OK) {
760 ud->was_cancelled = TRUE;
761 polkit_grant_cancel_auth (polkit_grant);
762 goto out;
763 }
764
765 password = strdup (polkit_gnome_auth_dialog_get_password (POLKIT_GNOME_AUTH_DIALOG (ud->dialog)));
766 out:
767 return password;
768 }
769
770 static char *
771 conversation_pam_prompt_echo_off (PolKitGrant *polkit_grant, const char *request, void *user_data)
772 {
773 return conversation_pam_prompt (polkit_grant, request, user_data, FALSE);
774 }
775
776 static char *
777 conversation_pam_prompt_echo_on (PolKitGrant *polkit_grant, const char *request, void *user_data)
778 {
779 return conversation_pam_prompt (polkit_grant, request, user_data, TRUE);
780 }
781
782 static void
783 conversation_pam_error_msg (PolKitGrant *polkit_grant, const char *msg, void *user_data)
784 {
785 g_debug ("error_msg='%s'", msg);
786 }
787
788 static void
789 conversation_pam_text_info (PolKitGrant *polkit_grant, const char *msg, void *user_data)
790 {
791 g_debug ("text_info='%s'", msg);
792 }
793
794 static PolKitResult
795 conversation_override_grant_type (PolKitGrant *polkit_grant, PolKitResult auth_type, void *user_data)
796 {
797 polkit_bool_t keep_session = FALSE;
798 polkit_bool_t keep_always = FALSE;
799 PolKitResult overridden_auth_type;
800 UserData *ud = user_data;
801
802 switch (auth_type) {
803 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_ONE_SHOT:
804 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_ONE_SHOT:
805 break;
806 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH:
807 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH:
808 break;
809 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_SESSION:
810 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_SESSION:
811 keep_session =
812 polkit_gnome_auth_dialog_get_remember_session (POLKIT_GNOME_AUTH_DIALOG (ud->dialog));
813 break;
814 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_ALWAYS:
815 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_ALWAYS:
816 keep_always =
817 polkit_gnome_auth_dialog_get_remember_always (POLKIT_GNOME_AUTH_DIALOG (ud->dialog));
818 keep_session =
819 polkit_gnome_auth_dialog_get_remember_session (POLKIT_GNOME_AUTH_DIALOG (ud->dialog));
820 break;
821 default:
822 g_assert_not_reached ();
823 }
824
825 g_debug ("keep_always = %d", keep_always);
826 g_debug ("keep_session = %d", keep_session);
827
828 switch (auth_type) {
829 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_ONE_SHOT:
830 overridden_auth_type = POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_ONE_SHOT;
831 break;
832 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH:
833 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_SESSION:
834 case POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_ALWAYS:
835 overridden_auth_type = POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH;
836 if (keep_session)
837 overridden_auth_type = POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_SESSION;
838 else if (keep_always)
839 overridden_auth_type = POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_ALWAYS;
840 break;
841
842 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_ONE_SHOT:
843 overridden_auth_type = POLKIT_RESULT_ONLY_VIA_SELF_AUTH_ONE_SHOT;
844 break;
845 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH:
846 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_SESSION:
847 case POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_ALWAYS:
848 overridden_auth_type = POLKIT_RESULT_ONLY_VIA_SELF_AUTH;
849 if (keep_session)
850 overridden_auth_type = POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_SESSION;
851 else if (keep_always)
852 overridden_auth_type = POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_ALWAYS;
853 break;
854
855 default:
856 g_assert_not_reached ();
857 }
858
859 return overridden_auth_type;
860 }
861
862
863 static void
864 conversation_done (PolKitGrant *polkit_grant,
865 polkit_bool_t gained_privilege,
866 polkit_bool_t input_was_bogus,
867 void *user_data)
868 {
869 UserData *ud = user_data;
870 ud->gained_privilege = gained_privilege;
871 ud->was_bogus = input_was_bogus;
872
873 g_debug ("in conversation_done gained=%d, bogus=%d", gained_privilege, input_was_bogus);
874
875 if ((ud->was_bogus || ud->was_cancelled) && ud->dialog != NULL) {
876 gtk_widget_destroy (ud->dialog);
877 ud->dialog = NULL;
878 }
879
880 g_main_loop_quit (ud->loop);
881 }
882
883 static void
884 child_watch_func (GPid pid,
885 gint status,
886 gpointer user_data)
887 {
888 PolKitGrant *polkit_grant = user_data;
889 polkit_grant_child_func (polkit_grant, pid, WEXITSTATUS (status));
890 }
891
892 static int
893 add_child_watch (PolKitGrant *polkit_grant, pid_t pid)
894 {
895 return g_child_watch_add (pid, child_watch_func, polkit_grant);
896 }
897
898 static gboolean
899 io_watch_have_data (GIOChannel *channel, GIOCondition condition, gpointer user_data)
900 {
901 int fd;
902 PolKitGrant *polkit_grant = user_data;
903 fd = g_io_channel_unix_get_fd (channel);
904 polkit_grant_io_func (polkit_grant, fd);
905 return TRUE;
906 }
907
908 static int
909 add_io_watch (PolKitGrant *polkit_grant, int fd)
910 {
911 guint id = 0;
912 GIOChannel *channel;
913 channel = g_io_channel_unix_new (fd);
914 if (channel == NULL)
915 goto out;
916 id = g_io_add_watch (channel, G_IO_IN, io_watch_have_data, polkit_grant);
917 if (id == 0) {
918 g_io_channel_unref (channel);
919 goto out;
920 }
921 g_io_channel_unref (channel);
922 out:
923 return id;
924 }
925
926 static void
927 remove_watch (PolKitGrant *polkit_auth, int watch_id)
928 {
929 g_source_remove (watch_id);
930 }
931
932 static PolKitGrant *grant = NULL;
933 static UserData *ud = NULL;
934
935 static void
936 add_to_blacklist (UserData *ud, const char *action_id)
937 {
938 GSList *action_list, *l;
939 GConfClient *client;
940 GError *error;
941 gboolean never_retain_authorization;
942
943 client = gconf_client_get_default ();
944 if (client == NULL) {
945 g_warning ("Error getting GConfClient");
946 goto out;
947 }
948
949 error = NULL;
950 never_retain_authorization = !gconf_client_get_bool (client, KEY_AUTH_DIALOG_RETAIN_AUTHORIZATION, &error);
951 if (error != NULL) {
952 g_warning ("Error getting key %s: %s",
953 KEY_AUTH_DIALOG_RETAIN_AUTHORIZATION,
954 error->message);
955 g_error_free (error);
956 goto out;
957 }
958
959 if (never_retain_authorization)
960 goto out;
961
962 error = NULL;
963 action_list = gconf_client_get_list (client,
964 KEY_AUTH_DIALOG_RETAIN_AUTHORIZATION_BLACKLIST,
965 GCONF_VALUE_STRING,
966 &error);
967 if (error != NULL) {
968 g_warning ("Error getting key %s: %s",
969 KEY_AUTH_DIALOG_RETAIN_AUTHORIZATION_BLACKLIST,
970 error->message);
971 g_error_free (error);
972 goto out;
973 }
974
975 for (l = action_list; l != NULL; l = l->next) {
976 const char *str = l->data;
977 if (strcmp (str, action_id) == 0) {
978 /* already there */
979 goto done;
980 }
981 }
982
983 action_list = g_slist_append (action_list, g_strdup (action_id));
984
985 if (!gconf_client_set_list (client,
986 KEY_AUTH_DIALOG_RETAIN_AUTHORIZATION_BLACKLIST,
987 GCONF_VALUE_STRING,
988 action_list,
989 &error)) {
990 g_warning ("Error setting key %s: %s",
991 KEY_AUTH_DIALOG_RETAIN_AUTHORIZATION_BLACKLIST,
992 error->message);
993 g_error_free (error);
994 error = NULL;
995 }
996
997 done:
998 g_slist_foreach (action_list, (GFunc) g_free, NULL);
999 g_slist_free (action_list);
1000
1001 out:
1002 ;
1003 }
1004
1005 static gboolean
1006 do_polkit_auth (PolKitContext *pk_context,
1007 DBusConnection *system_bus_connection,
1008 const char *caller_exe_name,
1009 const char *action_id,
1010 guint32 xid,
1011 pid_t caller_pid)
1012 {
1013 PolKitAction *action = NULL;
1014 PolKitCaller *caller = NULL;
1015 DBusError error;
1016 gboolean ret;
1017 int num_tries;
1018 PolKitPolicyCache *pk_cache;
1019 PolKitPolicyFileEntry *pfe;
1020 const char *message_markup;
1021 const char *vendor;
1022 const char *vendor_url;
1023 const char *icon_name;
1024
1025 ret = FALSE;
1026
1027 ud = g_new0 (UserData, 1);
1028
1029 ud->requires_admin = FALSE;
1030
1031 action = polkit_action_new ();
1032 polkit_action_set_action_id (action, action_id);
1033
1034 dbus_error_init (&error);
1035 caller = polkit_caller_new_from_pid (system_bus_connection,
1036 caller_pid,
1037 &error);
1038 if (caller == NULL) {
1039 if (dbus_error_is_set (&error)) {
1040 fprintf (stderr, "error: polkit_caller_new_from_pid(): %s: %s\n",
1041 error.name, error.message);
1042 goto error;
1043 }
1044 }
1045
1046 ud->dialog = NULL;
1047 ud->loop = g_main_loop_new (NULL, TRUE);
1048 ud->gained_privilege = FALSE;
1049
1050 pk_cache = polkit_context_get_policy_cache (pk_context);
1051 if (pk_cache == NULL) {
1052 g_warning ("Cannot load policy files");
1053 goto error;
1054 }
1055 pfe = polkit_policy_cache_get_entry (pk_cache, action);
1056 if (pfe == NULL) {
1057 g_warning ("No policy file entry for given action");
1058 goto error;
1059 }
1060
1061 message_markup = polkit_policy_file_entry_get_action_message (pfe);
1062 if (message_markup == NULL) {
1063 g_warning ("No message markup for given action");
1064 goto error;
1065 }
1066
1067 vendor = polkit_policy_file_entry_get_action_vendor (pfe);
1068 vendor_url = polkit_policy_file_entry_get_action_vendor_url (pfe);
1069 icon_name = polkit_policy_file_entry_get_action_icon_name (pfe);
1070
1071 ud->dialog = polkit_gnome_auth_dialog_new (
1072 caller_exe_name,
1073 action_id,
1074 vendor,
1075 vendor_url,
1076 icon_name,
1077 message_markup);
1078
1079 /* XID zero is used to mean "universal null resource or null atom" ... so if the
1080 * caller is not an X11 client he can pass in 0 and we won't even attempt to
1081 * find an X11 window that we're transient for.
1082 */
1083 if (xid != 0) {
1084 GdkWindow *foreign_window;
1085 foreign_window = gdk_window_foreign_new (xid);
1086 if (foreign_window != NULL) {
1087 gtk_widget_realize (ud->dialog);
1088 gdk_window_set_transient_for (ud->dialog->window, foreign_window);
1089 }
1090 }
1091
1092 g_signal_connect (GTK_WIDGET (ud->dialog), "user-selected", G_CALLBACK (user_selected), ud);
1093
1094 /* grab the pointer and keyboard as soon as we are mapped */
1095 g_signal_connect(ud->dialog, "map_event", G_CALLBACK(_do_grab), ud);
1096
1097 num_tries = 0;
1098 try_again:
1099 grant = polkit_grant_new ();
1100 ud->polkit_grant = grant;
1101 polkit_grant_set_functions (grant,
1102 add_io_watch,
1103 add_child_watch,
1104 remove_watch,
1105 conversation_type,
1106 conversation_select_admin_user,
1107 conversation_pam_prompt_echo_off,
1108 conversation_pam_prompt_echo_on,
1109 conversation_pam_error_msg,
1110 conversation_pam_text_info,
1111 conversation_override_grant_type,
1112 conversation_done,
1113 ud);
1114 ud->was_cancelled = FALSE;
1115 ud->was_bogus = FALSE;
1116 ud->new_user_selected = FALSE;
1117
1118 if (!polkit_grant_initiate_auth (grant,
1119 action,
1120 caller)) {
1121 g_warning ("Failed to initiate privilege grant.");
1122 ret = 1;
1123 goto error;
1124 }
1125 g_main_loop_run (ud->loop);
1126
1127 if (ud->new_user_selected) {
1128 g_debug ("new user selected so restarting auth..");
1129 polkit_grant_unref (grant);
1130 grant = NULL;
1131 goto try_again;
1132 }
1133
1134 num_tries++;
1135
1136 g_debug ("gained_privilege=%d was_cancelled=%d was_bogus=%d.",
1137 ud->gained_privilege, ud->was_cancelled, ud->was_bogus);
1138
1139 if (!ud->gained_privilege && !ud->was_cancelled && !ud->was_bogus) {
1140 if (ud->dialog != NULL) {
1141
1142 /* shake the dialog to indicate error */
1143 polkit_gnome_auth_dialog_indicate_auth_error (POLKIT_GNOME_AUTH_DIALOG (ud->dialog));
1144
1145 if (num_tries < 3) {
1146 polkit_grant_unref (grant);
1147 grant = NULL;
1148 goto try_again;
1149 }
1150 }
1151 }
1152
1153 if (ud->gained_privilege) {
1154 /* add to blacklist if the user unchecked the "remember authorization" check box */
1155 if ((ud->remember_always &&
1156 !polkit_gnome_auth_dialog_get_remember_always (POLKIT_GNOME_AUTH_DIALOG (ud->dialog))) ||
1157 (ud->remember_session &&
1158 !polkit_gnome_auth_dialog_get_remember_session (POLKIT_GNOME_AUTH_DIALOG (ud->dialog)))) {
1159 add_to_blacklist (ud, action_id);
1160 }
1161 }
1162
1163 ret = ud->gained_privilege;
1164
1165 error:
1166
1167 /* Ungrab keyboard and pointer */
1168 if (ud->got_keyboard_grab) {
1169 gdk_keyboard_ungrab (GDK_CURRENT_TIME);
1170 g_debug ("Ungrabbed keyboard");
1171 }
1172
1173 if (ud->dialog != NULL) {
1174 gtk_widget_destroy (ud->dialog);
1175 ud->dialog = NULL;
1176 }
1177 if (ud->loop != NULL)
1178 g_main_loop_unref (ud->loop);
1179 if (ud->admin_users != NULL)
1180 g_strfreev (ud->admin_users);
1181 if (ud->admin_user_selected != NULL)
1182 g_free (ud->admin_user_selected);
1183
1184 if (grant != NULL)
1185 polkit_grant_unref (grant);
1186 if (action != NULL)
1187 polkit_action_unref (action);
1188 if (caller != NULL)
1189 polkit_caller_unref (caller);
1190
1191 ud = NULL;
1192 grant = NULL;
1193
1194 return ret;
1195 }
1196
1197 static void
1198 do_cancel_auth (void)
1199 {
1200 g_return_if_fail (ud != NULL);
1201 g_return_if_fail (grant != NULL);
1202
1203 ud->was_cancelled = TRUE;
1204 polkit_grant_cancel_auth (grant);
1205 }
+0
-75
src/polkit-gnome-manager.h less more
0 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
1 *
2 * Copyright (C) 2007 David Zeuthen <david@fubar.dk>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 *
18 */
19
20 #ifndef POLKIT_GNOME_MANAGER_H
21 #define POLKIT_GNOME_MANAGER_H
22
23 #include <glib-object.h>
24 #include <dbus/dbus-glib.h>
25
26 G_BEGIN_DECLS
27
28 #define POLKIT_GNOME_TYPE_MANAGER (polkit_gnome_manager_get_type ())
29 #define POLKIT_GNOME_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), POLKIT_GNOME_TYPE_MANAGER, PolKitGnomeManager))
30 #define POLKIT_GNOME_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), POLKIT_GNOME_TYPE_MANAGER, PolKitGnomeManagerClass))
31 #define POLKIT_GNOME_IS_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), POLKIT_GNOME_TYPE_MANAGER))
32 #define POLKIT_GNOME_IS_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), POLKIT_GNOME_TYPE_MANAGER))
33 #define POLKIT_GNOME_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), POLKIT_GNOME_TYPE_MANAGER, PolKitGnomeManagerClass))
34
35 typedef struct PolKitGnomeManagerPrivate PolKitGnomeManagerPrivate;
36
37 typedef struct
38 {
39 GObject parent;
40 PolKitGnomeManagerPrivate *priv;
41 } PolKitGnomeManager;
42
43 typedef struct
44 {
45 GObjectClass parent_class;
46 } PolKitGnomeManagerClass;
47
48 typedef enum
49 {
50 POLKIT_GNOME_MANAGER_ERROR_GENERAL,
51 POLKIT_GNOME_MANAGER_ERROR_AUTH_IN_PROGRESS
52 } PolKitGnomeManagerError;
53
54 #define POLKIT_GNOME_MANAGER_ERROR polkit_gnome_manager_error_quark ()
55
56 GQuark polkit_gnome_manager_error_quark (void);
57 GType polkit_gnome_manager_get_type (void);
58 PolKitGnomeManager *polkit_gnome_manager_new (gboolean no_exit);
59
60 /* exported methods */
61 gboolean polkit_gnome_manager_show_dialog (PolKitGnomeManager *manager,
62 const char *action_id,
63 guint32 xid,
64 DBusGMethodInvocation *context);
65
66 gboolean polkit_gnome_manager_obtain_authorization (PolKitGnomeManager *manager,
67 const char *action_id,
68 guint32 xid,
69 guint32 pid,
70 DBusGMethodInvocation *context);
71
72 G_END_DECLS
73
74 #endif /* POLKIT_GNOME_MANAGER_H */
+0
-42
src/polkit-gnome-manager.xml less more
0 <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
1 "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
2
3 <node name="/">
4
5 <!-- this interface is deprecated and will be removed in a future release -->
6 <interface name="org.gnome.PolicyKit.Manager">
7 <method name="ShowDialog">
8 <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
9
10 <!-- IN: PolicyKit action identifier; see PolKitAction -->
11 <arg name="action_id" direction="in" type="s"/>
12
13 <!-- IN: X11 window ID for the top-level X11 window the dialog will be transient for. -->
14 <arg name="xid" direction="in" type="u"/>
15
16 <!-- OUT: whether the user gained the authorization -->
17 <arg name="gained_authorization" direction="out" type="b"/>
18
19 </method>
20 </interface>
21
22 <interface name="org.freedesktop.PolicyKit.AuthenticationAgent">
23 <method name="ObtainAuthorization">
24 <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
25
26 <!-- IN: PolicyKit action identifier; see PolKitAction -->
27 <arg name="action_id" direction="in" type="s"/>
28
29 <!-- IN: X11 window ID for the top-level X11 window the dialog will be transient for. -->
30 <arg name="xid" direction="in" type="u"/>
31
32 <!-- IN: Process ID to grant authorization to -->
33 <arg name="pid" direction="in" type="u"/>
34
35 <!-- OUT: whether the user gained the authorization -->
36 <arg name="gained_authorization" direction="out" type="b"/>
37
38 </method>
39 </interface>
40
41 </node>
0 /*
1 * Copyright (C) 2009 Red Hat, Inc.
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General
14 * Public License along with this library; if not, write to the
15 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 * Boston, MA 02110-1301, USA.
17 *
18 * Author: David Zeuthen <davidz@redhat.com>
19 */
20
21 #ifdef HAVE_CONFIG_H
22 #include "config.h"
23 #endif
24
25 #define _GNU_SOURCE
26 #include <unistd.h>
27 #include <sys/types.h>
28 #include <sys/stat.h>
29 #include <fcntl.h>
30 #include <string.h>
31 #include <stdio.h>
32 #include <stdlib.h>
33 #include <pwd.h>
34 #include <errno.h>
35
36 #include <glib/gi18n-lib.h>
37 #include <gtk/gtk.h>
38
39 #include "polkitgnomeauthenticationdialog.h"
40
41 #define RESPONSE_USER_SELECTED 1001
42
43 struct _PolkitGnomeAuthenticationDialogPrivate
44 {
45 GtkWidget *user_combobox;
46 GtkWidget *prompt_label;
47 GtkWidget *password_entry;
48 GtkWidget *auth_button;
49 GtkWidget *cancel_button;
50 GtkWidget *info_label;
51 GtkWidget *table_alignment;
52
53 gchar *message;
54 gchar *action_id;
55 gchar *vendor;
56 gchar *vendor_url;
57 gchar *icon_name;
58 PolkitDetails *details;
59
60 gchar **users;
61 gchar *selected_user;
62
63 gboolean is_running;
64
65 GtkListStore *store;
66 };
67
68 G_DEFINE_TYPE (PolkitGnomeAuthenticationDialog, polkit_gnome_authentication_dialog, GTK_TYPE_DIALOG);
69
70 enum {
71 PROP_0,
72 PROP_ACTION_ID,
73 PROP_VENDOR,
74 PROP_VENDOR_URL,
75 PROP_ICON_NAME,
76 PROP_MESSAGE,
77 PROP_DETAILS,
78 PROP_USERS,
79 PROP_SELECTED_USER,
80 };
81
82 enum {
83 PIXBUF_COL,
84 TEXT_COL,
85 USERNAME_COL,
86 N_COL
87 };
88
89 static void
90 user_combobox_set_sensitive (GtkCellLayout *cell_layout,
91 GtkCellRenderer *cell,
92 GtkTreeModel *tree_model,
93 GtkTreeIter *iter,
94 gpointer user_data)
95 {
96 GtkTreePath *path;
97 gint *indices;
98 gboolean sensitive;
99
100 path = gtk_tree_model_get_path (tree_model, iter);
101 indices = gtk_tree_path_get_indices (path);
102 if (indices[0] == 0)
103 sensitive = FALSE;
104 else
105 sensitive = TRUE;
106 gtk_tree_path_free (path);
107
108 g_object_set (cell, "sensitive", sensitive, NULL);
109 }
110
111 static void
112 user_combobox_changed (GtkComboBox *widget,
113 gpointer user_data)
114 {
115 PolkitGnomeAuthenticationDialog *dialog = POLKIT_GNOME_AUTHENTICATION_DIALOG (user_data);
116 GtkTreeIter iter;
117 gchar *user_name;
118
119 if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter))
120 {
121 gtk_tree_model_get (GTK_TREE_MODEL (dialog->priv->store), &iter, USERNAME_COL, &user_name, -1);
122
123 g_free (dialog->priv->selected_user);
124 dialog->priv->selected_user = user_name;
125
126 g_object_notify (G_OBJECT (dialog), "selected-user");
127
128 gtk_dialog_response (GTK_DIALOG (dialog), RESPONSE_USER_SELECTED);
129
130 /* make the password entry and Authenticate button sensitive again */
131 gtk_widget_set_sensitive (dialog->priv->prompt_label, TRUE);
132 gtk_widget_set_sensitive (dialog->priv->password_entry, TRUE);
133 gtk_widget_set_sensitive (dialog->priv->auth_button, TRUE);
134 }
135 }
136
137 static void
138 create_user_combobox (PolkitGnomeAuthenticationDialog *dialog)
139 {
140 int n;
141 GtkComboBox *combo;
142 GtkTreeIter iter;
143 GtkCellRenderer *renderer;
144
145 /* if we've already built the list of admin users once, then avoid
146 * doing it again.. (this is mainly used when the user entered the
147 * wrong password and the dialog is recycled)
148 */
149 if (dialog->priv->store != NULL)
150 return;
151
152 combo = GTK_COMBO_BOX (dialog->priv->user_combobox);
153 dialog->priv->store = gtk_list_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING);
154
155 gtk_list_store_append (dialog->priv->store, &iter);
156 gtk_list_store_set (dialog->priv->store, &iter,
157 PIXBUF_COL, NULL,
158 TEXT_COL, _("Select user..."),
159 USERNAME_COL, NULL,
160 -1);
161
162
163 /* For each user */
164 for (n = 0; dialog->priv->users[n] != NULL; n++)
165 {
166 gchar *gecos;
167 gchar *real_name;
168 GdkPixbuf *pixbuf;
169 struct passwd *passwd;
170
171 /* we're single threaded so this is fine */
172 errno = 0;
173 passwd = getpwnam (dialog->priv->users[n]);
174 if (passwd == NULL)
175 {
176 g_warning ("Error doing getpwnam(\"%s\"): %s", dialog->priv->users[n], strerror (errno));
177 continue;
178 }
179
180 if (passwd->pw_gecos != NULL)
181 gecos = g_locale_to_utf8 (passwd->pw_gecos, -1, NULL, NULL, NULL);
182 else
183 gecos = NULL;
184
185 if (gecos != NULL && strlen (gecos) > 0)
186 {
187 gchar *first_comma;
188 first_comma = strchr (gecos, ',');
189 if (first_comma != NULL)
190 *first_comma = '\0';
191 }
192 if (gecos != NULL && strlen (gecos) > 0 && strcmp (gecos, dialog->priv->users[n]) != 0)
193 real_name = g_strdup_printf (_("%s (%s)"), gecos, dialog->priv->users[n]);
194 else
195 real_name = g_strdup (dialog->priv->users[n]);
196 g_free (gecos);
197
198 /* Load users face */
199 pixbuf = NULL;
200 if (passwd->pw_dir != NULL)
201 {
202 gchar *path;
203 path = g_strdup_printf ("%s/.face", passwd->pw_dir);
204 /* TODO: we probably shouldn't hard-code the size to 16x16 */
205 pixbuf = gdk_pixbuf_new_from_file_at_scale (path, 16, 16, TRUE, NULL);
206 g_free (path);
207 }
208
209 /* fall back to stock_person icon */
210 if (pixbuf == NULL)
211 {
212 pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
213 "stock_person",
214 GTK_ICON_SIZE_MENU,
215 0,
216 NULL);
217 }
218
219 gtk_list_store_append (dialog->priv->store, &iter);
220 gtk_list_store_set (dialog->priv->store, &iter,
221 PIXBUF_COL, pixbuf,
222 TEXT_COL, real_name,
223 USERNAME_COL, dialog->priv->users[n],
224 -1);
225
226 g_free (real_name);
227 g_object_unref (pixbuf);
228 }
229
230 gtk_combo_box_set_model (combo, GTK_TREE_MODEL (dialog->priv->store));
231
232 renderer = gtk_cell_renderer_pixbuf_new ();
233 gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, FALSE);
234 gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo),
235 renderer,
236 "pixbuf", PIXBUF_COL,
237 NULL);
238 gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combo),
239 renderer,
240 user_combobox_set_sensitive,
241 NULL, NULL);
242
243 renderer = gtk_cell_renderer_text_new ();
244 gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, TRUE);
245 gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo),
246 renderer,
247 "text", TEXT_COL,
248 NULL);
249 gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combo),
250 renderer,
251 user_combobox_set_sensitive,
252 NULL, NULL);
253
254 /* Initially select the "Select user..." ... */
255 gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
256
257 /* Listen when a new user is selected */
258 g_signal_connect (GTK_WIDGET (combo),
259 "changed",
260 G_CALLBACK (user_combobox_changed),
261 dialog);
262 }
263
264 static GtkWidget *
265 get_image (PolkitGnomeAuthenticationDialog *dialog)
266 {
267 GdkPixbuf *pixbuf;
268 GdkPixbuf *copy_pixbuf;
269 GdkPixbuf *vendor_pixbuf;
270 GtkWidget *image;
271
272 pixbuf = NULL;
273 copy_pixbuf = NULL;
274 vendor_pixbuf = NULL;
275
276 if (dialog->priv->icon_name == NULL || strlen (dialog->priv->icon_name) == 0)
277 {
278 image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_AUTHENTICATION, GTK_ICON_SIZE_DIALOG);
279 goto out;
280 }
281
282 vendor_pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
283 dialog->priv->icon_name,
284 48,
285 0,
286 NULL);
287 if (vendor_pixbuf == NULL)
288 {
289 g_warning ("No icon for themed icon with name '%s'", dialog->priv->icon_name);
290 image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_AUTHENTICATION, GTK_ICON_SIZE_DIALOG);
291 goto out;
292 }
293
294
295 pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
296 GTK_STOCK_DIALOG_AUTHENTICATION,
297 48,
298 0,
299 NULL);
300 if (pixbuf == NULL)
301 goto out;
302
303 /* need to copy the pixbuf since we're modifying it */
304 copy_pixbuf = gdk_pixbuf_copy (pixbuf);
305 if (copy_pixbuf == NULL)
306 goto out;
307
308 /* blend the vendor icon in the bottom right quarter */
309 gdk_pixbuf_composite (vendor_pixbuf,
310 copy_pixbuf,
311 24, 24, 24, 24,
312 24, 24, 0.5, 0.5,
313 GDK_INTERP_BILINEAR,
314 255);
315
316 image = gtk_image_new_from_pixbuf (copy_pixbuf);
317
318 out:
319 if (pixbuf != NULL)
320 g_object_unref (pixbuf);
321
322 if (copy_pixbuf != NULL)
323 g_object_unref (copy_pixbuf);
324
325 if (vendor_pixbuf != NULL)
326 g_object_unref (vendor_pixbuf);
327
328 return image;
329 }
330
331 static void
332 polkit_gnome_authentication_dialog_set_property (GObject *object,
333 guint prop_id,
334 const GValue *value,
335 GParamSpec *pspec)
336 {
337 PolkitGnomeAuthenticationDialog *dialog = POLKIT_GNOME_AUTHENTICATION_DIALOG (object);
338
339 switch (prop_id)
340 {
341 case PROP_DETAILS:
342 dialog->priv->details = g_value_dup_object (value);
343 break;
344
345 case PROP_ACTION_ID:
346 dialog->priv->action_id = g_value_dup_string (value);
347 break;
348
349 case PROP_VENDOR:
350 dialog->priv->vendor = g_value_dup_string (value);
351 break;
352
353 case PROP_VENDOR_URL:
354 dialog->priv->vendor_url = g_value_dup_string (value);
355 break;
356
357 case PROP_ICON_NAME:
358 dialog->priv->icon_name = g_value_dup_string (value);
359 break;
360
361 case PROP_MESSAGE:
362 dialog->priv->message = g_value_dup_string (value);
363 break;
364
365 case PROP_USERS:
366 dialog->priv->users = g_value_dup_boxed (value);
367 break;
368
369 default:
370 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
371 break;
372 }
373 }
374
375 static void
376 polkit_gnome_authentication_dialog_get_property (GObject *object,
377 guint prop_id,
378 GValue *value,
379 GParamSpec *pspec)
380 {
381 PolkitGnomeAuthenticationDialog *dialog = POLKIT_GNOME_AUTHENTICATION_DIALOG (object);
382
383 switch (prop_id)
384 {
385 case PROP_MESSAGE:
386 g_value_set_string (value, dialog->priv->message);
387 break;
388
389 /* TODO: rest of the properties */
390
391 default:
392 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
393 break;
394 }
395 }
396
397 static GtkWidget *
398 add_row (GtkWidget *table, int row, const char *label_text, GtkWidget *entry)
399 {
400 GtkWidget *label;
401
402 label = gtk_label_new_with_mnemonic (label_text);
403 gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
404 gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5);
405
406 gtk_table_attach (GTK_TABLE (table), label,
407 0, 1, row, row + 1,
408 GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
409 gtk_table_attach_defaults (GTK_TABLE (table), entry,
410 1, 2, row, row + 1);
411 gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry);
412
413 return label;
414 }
415
416 static void
417 action_id_activated (GtkLabel *url_label, gpointer user_data)
418 {
419 #if 0
420 GError *error;
421 DBusGConnection *bus;
422 DBusGProxy *manager_proxy;
423
424 error = NULL;
425 bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
426 if (bus == NULL)
427 {
428 g_warning ("Couldn't connect to session bus: %s", error->message);
429 g_error_free (error);
430 goto out;
431 }
432
433 manager_proxy = dbus_g_proxy_new_for_name (bus,
434 "org.gnome.PolicyKit.AuthorizationManager",
435 "/",
436 "org.gnome.PolicyKit.AuthorizationManager.SingleInstance");
437 if (manager_proxy == NULL)
438 {
439 g_warning ("Could not construct manager_proxy object; bailing out");
440 goto out;
441 }
442
443 if (!dbus_g_proxy_call (manager_proxy,
444 "ShowAction",
445 &error,
446 G_TYPE_STRING, gtk_label_get_current_uri (GTK_LABEL (url_label)),
447 G_TYPE_INVALID,
448 G_TYPE_INVALID))
449 {
450 if (error != NULL)
451 {
452 g_warning ("Failed to call into manager: %s", error->message);
453 g_error_free (error);
454 }
455 else
456 {
457 g_warning ("Failed to call into manager");
458 }
459 goto out;
460 }
461
462 out:
463 ;
464 #endif
465 }
466
467 static void
468 polkit_gnome_authentication_dialog_init (PolkitGnomeAuthenticationDialog *dialog)
469 {
470 dialog->priv = G_TYPE_INSTANCE_GET_PRIVATE (dialog,
471 POLKIT_GNOME_TYPE_AUTHENTICATION_DIALOG,
472 PolkitGnomeAuthenticationDialogPrivate);
473 }
474
475 static void
476 polkit_gnome_authentication_dialog_finalize (GObject *object)
477 {
478 PolkitGnomeAuthenticationDialog *dialog;
479
480 dialog = POLKIT_GNOME_AUTHENTICATION_DIALOG (object);
481
482 g_free (dialog->priv->message);
483 g_free (dialog->priv->action_id);
484 g_free (dialog->priv->vendor);
485 g_free (dialog->priv->vendor_url);
486 g_free (dialog->priv->icon_name);
487 if (dialog->priv->details != NULL)
488 g_object_unref (dialog->priv->details);
489
490 g_strfreev (dialog->priv->users);
491 g_free (dialog->priv->selected_user);
492
493 if (dialog->priv->store != NULL)
494 g_object_unref (dialog->priv->store);
495
496 if (G_OBJECT_CLASS (polkit_gnome_authentication_dialog_parent_class)->finalize != NULL)
497 G_OBJECT_CLASS (polkit_gnome_authentication_dialog_parent_class)->finalize (object);
498 }
499
500 static void
501 polkit_gnome_authentication_dialog_constructed (GObject *object)
502 {
503 PolkitGnomeAuthenticationDialog *dialog;
504 GtkWidget *hbox;
505 GtkWidget *main_vbox;
506 GtkWidget *vbox;
507 GtkWidget *table_alignment;
508 GtkWidget *table;
509 GtkWidget *details_expander;
510 GtkWidget *details_vbox;
511 GtkWidget *label;
512 GtkWidget *image;
513 gboolean have_user_combobox;
514 gchar *s;
515 guint rows;
516
517 dialog = POLKIT_GNOME_AUTHENTICATION_DIALOG (object);
518
519 if (G_OBJECT_CLASS (polkit_gnome_authentication_dialog_parent_class)->constructed != NULL)
520 G_OBJECT_CLASS (polkit_gnome_authentication_dialog_parent_class)->constructed (object);
521
522 have_user_combobox = FALSE;
523
524 dialog->priv->cancel_button = gtk_dialog_add_button (GTK_DIALOG (dialog),
525 GTK_STOCK_CANCEL,
526 GTK_RESPONSE_CANCEL);
527 dialog->priv->auth_button = gtk_dialog_add_button (GTK_DIALOG (dialog),
528 _("_Authenticate"),
529 GTK_RESPONSE_OK);
530 gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
531
532 gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
533 gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
534 gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (dialog)->vbox), 2); /* 2 * 5 + 2 = 12 */
535 gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog)->action_area), 5);
536 gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (dialog)->action_area), 6);
537 gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
538 gtk_window_set_icon_name (GTK_WINDOW (dialog), GTK_STOCK_DIALOG_AUTHENTICATION);
539
540 hbox = gtk_hbox_new (FALSE, 12);
541 gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
542 gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 0);
543
544 image = get_image (dialog);
545 gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0.0);
546 gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
547
548 main_vbox = gtk_vbox_new (FALSE, 10);
549 gtk_box_pack_start (GTK_BOX (hbox), main_vbox, TRUE, TRUE, 0);
550
551 /* main message */
552 label = gtk_label_new (NULL);
553 s = g_strdup_printf ("<big><b>%s</b></big>", dialog->priv->message);
554 gtk_label_set_markup (GTK_LABEL (label), s);
555 g_free (s);
556 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
557 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
558 gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, FALSE, 0);
559
560 /* secondary message */
561 label = gtk_label_new (NULL);
562 if (g_strv_length (dialog->priv->users) > 1)
563 {
564 gtk_label_set_markup (GTK_LABEL (label),
565 _("An application is attempting to perform an action that requires privileges. "
566 "Authentication as one of the users below is required to perform this action."));
567 }
568 else
569 {
570 if (strcmp (g_get_user_name (), dialog->priv->users[0]) == 0)
571 {
572 gtk_label_set_markup (GTK_LABEL (label),
573 _("An application is attempting to perform an action that requires privileges. "
574 "Authentication is required to perform this action."));
575 }
576 else
577 {
578 gtk_label_set_markup (GTK_LABEL (label),
579 _("An application is attempting to perform an action that requires privileges. "
580 "Authentication as the super user is required to perform this action."));
581 }
582 }
583 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
584 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
585 gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, FALSE, 0);
586
587 /* user combobox */
588 if (g_strv_length (dialog->priv->users) > 1)
589 {
590 dialog->priv->user_combobox = gtk_combo_box_new ();
591 gtk_box_pack_start (GTK_BOX (main_vbox), GTK_WIDGET (dialog->priv->user_combobox), FALSE, FALSE, 0);
592
593 create_user_combobox (dialog);
594
595 have_user_combobox = TRUE;
596 }
597 else
598 {
599 dialog->priv->selected_user = g_strdup (dialog->priv->users[0]);
600 }
601
602 /* password entry */
603 vbox = gtk_vbox_new (FALSE, 0);
604 gtk_box_pack_start (GTK_BOX (main_vbox), vbox, FALSE, FALSE, 0);
605
606 table_alignment = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
607 gtk_box_pack_start (GTK_BOX (vbox), table_alignment, FALSE, FALSE, 0);
608 table = gtk_table_new (1, 2, FALSE);
609 gtk_table_set_col_spacings (GTK_TABLE (table), 12);
610 gtk_table_set_row_spacings (GTK_TABLE (table), 6);
611 gtk_container_add (GTK_CONTAINER (table_alignment), table);
612 dialog->priv->password_entry = gtk_entry_new ();
613 gtk_entry_set_visibility (GTK_ENTRY (dialog->priv->password_entry), FALSE);
614 dialog->priv->prompt_label = add_row (table, 0, _("_Password:"), dialog->priv->password_entry);
615
616 g_signal_connect_swapped (dialog->priv->password_entry, "activate",
617 G_CALLBACK (gtk_window_activate_default),
618 dialog);
619
620 dialog->priv->table_alignment = table_alignment;
621 /* initially never show the password entry stuff; we'll toggle it on/off so it's
622 * only shown when prompting for a password */
623 gtk_widget_set_no_show_all (dialog->priv->table_alignment, TRUE);
624
625 /* A label for showing PAM_TEXT_INFO and PAM_TEXT_ERROR messages */
626 label = gtk_label_new (NULL);
627 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
628 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
629 dialog->priv->info_label = label;
630
631 /* Details */
632 details_expander = gtk_expander_new_with_mnemonic (_("<small><b>_Details</b></small>"));
633 gtk_expander_set_use_markup (GTK_EXPANDER (details_expander), TRUE);
634 gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), details_expander, FALSE, FALSE, 0);
635
636 details_vbox = gtk_vbox_new (FALSE, 10);
637 gtk_container_add (GTK_CONTAINER (details_expander), details_vbox);
638
639 table_alignment = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
640 gtk_box_pack_start (GTK_BOX (details_vbox), table_alignment, FALSE, FALSE, 0);
641 table = gtk_table_new (1, 3, FALSE);
642 gtk_table_set_col_spacings (GTK_TABLE (table), 12);
643 gtk_table_set_row_spacings (GTK_TABLE (table), 6);
644 gtk_container_add (GTK_CONTAINER (table_alignment), table);
645
646 /* TODO: sort keys? */
647 rows = 0;
648 if (dialog->priv->details != NULL)
649 {
650 guint n;
651 gchar **keys;
652
653 keys = polkit_details_get_keys (dialog->priv->details);
654 for (n = 0; keys[n] != NULL; n++)
655 {
656 const gchar *key = keys[n];
657 const gchar *value;
658
659 value = polkit_details_lookup (dialog->priv->details, key);
660
661 label = gtk_label_new (NULL);
662 s = g_strdup_printf ("<small>%s</small>", value);
663 gtk_label_set_markup (GTK_LABEL (label), s);
664 g_free (s);
665 gtk_misc_set_alignment (GTK_MISC (label), 0, 1.0);
666 s = g_strdup_printf ("<small><b>%s:</b></small>", key);
667 add_row (table, rows, s, label);
668 g_free (s);
669
670 rows++;
671 }
672 g_strfreev (keys);
673 }
674
675 /* --- */
676
677 label = gtk_label_new (NULL);
678 gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
679 s = g_strdup_printf ("<small><a href=\"%s\">%s</a></small>",
680 dialog->priv->action_id,
681 dialog->priv->action_id);
682 gtk_label_set_markup (GTK_LABEL (label), s);
683 g_free (s);
684 gtk_misc_set_alignment (GTK_MISC (label), 0, 1.0);
685 add_row (table, rows++, _("<small><b>Action:</b></small>"), label);
686 g_signal_connect (label, "activate-link", G_CALLBACK (action_id_activated), NULL);
687
688 s = g_strdup_printf (_("Click to edit %s"), dialog->priv->action_id);
689 gtk_widget_set_tooltip_markup (label, s);
690 g_free (s);
691
692 /* --- */
693
694 label = gtk_label_new (NULL);
695 gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
696 s = g_strdup_printf ("<small><a href=\"%s\">%s</a></small>",
697 dialog->priv->vendor_url,
698 dialog->priv->vendor);
699 gtk_label_set_markup (GTK_LABEL (label), s);
700 g_free (s);
701 gtk_misc_set_alignment (GTK_MISC (label), 0, 1.0);
702 add_row (table, rows++, _("<small><b>Vendor:</b></small>"), label);
703
704 s = g_strdup_printf (_("Click to open %s"), dialog->priv->vendor_url);
705 gtk_widget_set_tooltip_markup (label, s);
706 g_free (s);
707
708 if (have_user_combobox)
709 {
710 /* ... and make the password entry and "Authenticate" button insensitive */
711 gtk_widget_set_sensitive (dialog->priv->prompt_label, FALSE);
712 gtk_widget_set_sensitive (dialog->priv->password_entry, FALSE);
713 gtk_widget_set_sensitive (dialog->priv->auth_button, FALSE);
714 }
715 else
716 {
717 }
718
719 gtk_widget_realize (GTK_WIDGET (dialog));
720
721 }
722
723 static void
724 polkit_gnome_authentication_dialog_class_init (PolkitGnomeAuthenticationDialogClass *klass)
725 {
726 GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
727
728 g_type_class_add_private (klass, sizeof (PolkitGnomeAuthenticationDialogPrivate));
729
730 gobject_class->finalize = polkit_gnome_authentication_dialog_finalize;
731 gobject_class->get_property = polkit_gnome_authentication_dialog_get_property;
732 gobject_class->set_property = polkit_gnome_authentication_dialog_set_property;
733 gobject_class->constructed = polkit_gnome_authentication_dialog_constructed;
734
735 g_object_class_install_property (gobject_class,
736 PROP_DETAILS,
737 g_param_spec_object ("details",
738 NULL,
739 NULL,
740 POLKIT_TYPE_DETAILS,
741 G_PARAM_READWRITE |
742 G_PARAM_CONSTRUCT_ONLY |
743 G_PARAM_STATIC_NAME |
744 G_PARAM_STATIC_NICK |
745 G_PARAM_STATIC_BLURB));
746
747 g_object_class_install_property (gobject_class,
748 PROP_ACTION_ID,
749 g_param_spec_string ("action-id",
750 NULL,
751 NULL,
752 NULL,
753 G_PARAM_READWRITE |
754 G_PARAM_CONSTRUCT_ONLY |
755 G_PARAM_STATIC_NAME |
756 G_PARAM_STATIC_NICK |
757 G_PARAM_STATIC_BLURB));
758
759 g_object_class_install_property (gobject_class,
760 PROP_VENDOR,
761 g_param_spec_string ("vendor",
762 NULL,
763 NULL,
764 NULL,
765 G_PARAM_READWRITE |
766 G_PARAM_CONSTRUCT_ONLY |
767 G_PARAM_STATIC_NAME |
768 G_PARAM_STATIC_NICK |
769 G_PARAM_STATIC_BLURB));
770
771 g_object_class_install_property (gobject_class,
772 PROP_VENDOR_URL,
773 g_param_spec_string ("vendor-url",
774 NULL,
775 NULL,
776 NULL,
777 G_PARAM_READWRITE |
778 G_PARAM_CONSTRUCT_ONLY |
779 G_PARAM_STATIC_NAME |
780 G_PARAM_STATIC_NICK |
781 G_PARAM_STATIC_BLURB));
782
783 g_object_class_install_property (gobject_class,
784 PROP_ICON_NAME,
785 g_param_spec_string ("icon-name",
786 NULL,
787 NULL,
788 NULL,
789 G_PARAM_READWRITE |
790 G_PARAM_CONSTRUCT_ONLY |
791 G_PARAM_STATIC_NAME |
792 G_PARAM_STATIC_NICK |
793 G_PARAM_STATIC_BLURB));
794
795
796 g_object_class_install_property (gobject_class,
797 PROP_MESSAGE,
798 g_param_spec_string ("message",
799 NULL,
800 NULL,
801 NULL,
802 G_PARAM_READWRITE |
803 G_PARAM_CONSTRUCT_ONLY |
804 G_PARAM_STATIC_NAME |
805 G_PARAM_STATIC_NICK |
806 G_PARAM_STATIC_BLURB));
807
808 g_object_class_install_property (gobject_class,
809 PROP_USERS,
810 g_param_spec_boxed ("users",
811 NULL,
812 NULL,
813 G_TYPE_STRV,
814 G_PARAM_READWRITE |
815 G_PARAM_CONSTRUCT_ONLY |
816 G_PARAM_STATIC_NAME |
817 G_PARAM_STATIC_NICK |
818 G_PARAM_STATIC_BLURB));
819
820 g_object_class_install_property (gobject_class,
821 PROP_SELECTED_USER,
822 g_param_spec_string ("selected-user",
823 NULL,
824 NULL,
825 NULL,
826 G_PARAM_READABLE |
827 G_PARAM_STATIC_NAME |
828 G_PARAM_STATIC_NICK |
829 G_PARAM_STATIC_BLURB));
830 }
831
832 /**
833 * polkit_gnome_authentication_dialog_new:
834 *
835 * Yada yada yada...
836 *
837 * Returns: A new password dialog.
838 **/
839 GtkWidget *
840 polkit_gnome_authentication_dialog_new (const gchar *action_id,
841 const gchar *vendor,
842 const gchar *vendor_url,
843 const gchar *icon_name,
844 const gchar *message_markup,
845 PolkitDetails *details,
846 gchar **users)
847 {
848 PolkitGnomeAuthenticationDialog *dialog;
849 GtkWindow *window;
850
851 dialog = g_object_new (POLKIT_GNOME_TYPE_AUTHENTICATION_DIALOG,
852 "action-id", action_id,
853 "vendor", vendor,
854 "vendor-url", vendor_url,
855 "icon-name", icon_name,
856 "message", message_markup,
857 "details", details,
858 "users", users,
859 NULL);
860
861 window = GTK_WINDOW (dialog);
862
863 gtk_window_set_position (window, GTK_WIN_POS_CENTER);
864 gtk_window_set_modal (window, TRUE);
865 gtk_window_set_resizable (window, FALSE);
866 gtk_window_set_keep_above (window, TRUE);
867 gtk_window_set_title (window, _("Authenticate"));
868 g_signal_connect (dialog, "close", G_CALLBACK (gtk_widget_hide), NULL);
869
870 return GTK_WIDGET (dialog);
871 }
872
873 /**
874 * polkit_gnome_authentication_dialog_indicate_error:
875 * @dialog: the auth dialog
876 *
877 * Call this function to indicate an authentication error; typically shakes the window
878 **/
879 void
880 polkit_gnome_authentication_dialog_indicate_error (PolkitGnomeAuthenticationDialog *dialog)
881 {
882 int x, y;
883 int n;
884 int diff;
885
886 /* TODO: detect compositing manager and do fancy stuff here */
887
888 gtk_window_get_position (GTK_WINDOW (dialog), &x, &y);
889
890 for (n = 0; n < 10; n++)
891 {
892 if (n % 2 == 0)
893 diff = -15;
894 else
895 diff = 15;
896
897 gtk_window_move (GTK_WINDOW (dialog), x + diff, y);
898
899 while (gtk_events_pending ())
900 {
901 gtk_main_iteration ();
902 }
903
904 g_usleep (10000);
905 }
906
907 gtk_window_move (GTK_WINDOW (dialog), x, y);
908 }
909
910 /**
911 * polkit_gnome_authentication_dialog_run_until_user_is_selected:
912 * @dialog: A #PolkitGnomeAuthenticationDialog.
913 *
914 * Runs @dialog in a recursive main loop until a user have been selected.
915 *
916 * If there is only one element in the the users array (which is set upon construction) or
917 * an user has already been selected, this function returns immediately with the return
918 * value %TRUE.
919 *
920 * Returns: %TRUE if a user is selected (use polkit_gnome_dialog_get_selected_user() to obtain the user) or
921 * %FALSE if the dialog was cancelled.
922 **/
923 gboolean
924 polkit_gnome_authentication_dialog_run_until_user_is_selected (PolkitGnomeAuthenticationDialog *dialog)
925 {
926 gboolean ret;
927 gint response;
928
929 ret = FALSE;
930
931 if (dialog->priv->selected_user != NULL)
932 {
933 ret = TRUE;
934 goto out;
935 }
936
937 dialog->priv->is_running = TRUE;
938
939 response = gtk_dialog_run (GTK_DIALOG (dialog));
940
941 dialog->priv->is_running = FALSE;
942
943 if (response == RESPONSE_USER_SELECTED)
944 ret = TRUE;
945
946 out:
947 return ret;
948 }
949
950 /**
951 * polkit_gnome_authentication_dialog_run_until_response_for_prompt:
952 * @dialog: A #PolkitGnomeAuthenticationDialog.
953 * @prompt: The prompt to present the user with.
954 * @echo_chars: Whether characters should be echoed in the password entry box.
955 * @was_cancelled: Set to %TRUE if the dialog was cancelled.
956 * @new_user_selected: Set to %TRUE if another user was selected.
957 *
958 * Runs @dialog in a recursive main loop until a response to @prompt have been obtained from the user.
959 *
960 * Returns: The response (free with g_free()) or %NULL if one of @was_cancelled or @new_user_selected
961 * has been set to %TRUE.
962 **/
963 gchar *
964 polkit_gnome_authentication_dialog_run_until_response_for_prompt (PolkitGnomeAuthenticationDialog *dialog,
965 const gchar *prompt,
966 gboolean echo_chars,
967 gboolean *was_cancelled,
968 gboolean *new_user_selected)
969 {
970 gint response;
971 gchar *ret;
972
973 gtk_label_set_text_with_mnemonic (GTK_LABEL (dialog->priv->prompt_label), prompt);
974 gtk_entry_set_visibility (GTK_ENTRY (dialog->priv->password_entry), echo_chars);
975 gtk_entry_set_text (GTK_ENTRY (dialog->priv->password_entry), "");
976 gtk_widget_grab_focus (dialog->priv->password_entry);
977
978 ret = NULL;
979
980 if (was_cancelled != NULL)
981 *was_cancelled = FALSE;
982
983 if (new_user_selected != NULL)
984 *new_user_selected = FALSE;
985
986 dialog->priv->is_running = TRUE;
987
988 gtk_widget_set_no_show_all (dialog->priv->table_alignment, FALSE);
989 gtk_widget_show_all (dialog->priv->table_alignment);
990
991 response = gtk_dialog_run (GTK_DIALOG (dialog));
992
993 gtk_widget_hide_all (dialog->priv->table_alignment);
994 gtk_widget_set_no_show_all (dialog->priv->table_alignment, TRUE);
995
996 dialog->priv->is_running = FALSE;
997
998 if (response == GTK_RESPONSE_OK)
999 {
1000 ret = g_strdup (gtk_entry_get_text (GTK_ENTRY (dialog->priv->password_entry)));
1001 }
1002 else if (response == RESPONSE_USER_SELECTED)
1003 {
1004 if (new_user_selected != NULL)
1005 *new_user_selected = TRUE;
1006 }
1007 else
1008 {
1009 if (was_cancelled != NULL)
1010 *was_cancelled = TRUE;
1011 }
1012
1013 return ret;
1014 }
1015
1016 /**
1017 * polkit_gnome_authentication_dialog_get_selected_user:
1018 * @dialog: A #PolkitGnomeAuthenticationDialog.
1019 *
1020 * Gets the currently selected user.
1021 *
1022 * Returns: The currently selected user (free with g_free()) or %NULL if no user is currently selected.
1023 **/
1024 gchar *
1025 polkit_gnome_authentication_dialog_get_selected_user (PolkitGnomeAuthenticationDialog *dialog)
1026 {
1027 return g_strdup (dialog->priv->selected_user);
1028 }
1029
1030 void
1031 polkit_gnome_authentication_dialog_set_info_message (PolkitGnomeAuthenticationDialog *dialog,
1032 const gchar *info_markup)
1033 {
1034 gtk_label_set_markup (GTK_LABEL (dialog->priv->info_label), info_markup);
1035 }
1036
1037
1038 /**
1039 * polkit_gnome_authentication_dialog_cancel:
1040 * @dialog: A #PolkitGnomeAuthenticationDialog.
1041 *
1042 * Cancels the dialog if it is currenlty running.
1043 *
1044 * Returns: %TRUE if the dialog was running.
1045 **/
1046 gboolean
1047 polkit_gnome_authentication_dialog_cancel (PolkitGnomeAuthenticationDialog *dialog)
1048 {
1049 if (!dialog->priv->is_running)
1050 return FALSE;
1051
1052 gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_CANCEL);
1053
1054 return TRUE;
1055 }
0 /*
1 * Copyright (C) 2009 Red Hat, Inc.
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General
14 * Public License along with this library; if not, write to the
15 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 * Boston, MA 02110-1301, USA.
17 *
18 * Author: David Zeuthen <davidz@redhat.com>
19 */
20
21 #ifndef __POLKIT_GNOME_AUTHENTICATION_DIALOG_H
22 #define __POLKIT_GNOME_AUTHENTICATION_DIALOG_H
23
24 #include <gtk/gtk.h>
25 #include <polkit/polkit.h>
26
27 G_BEGIN_DECLS
28
29 #define POLKIT_GNOME_TYPE_AUTHENTICATION_DIALOG (polkit_gnome_authentication_dialog_get_type ())
30 #define POLKIT_GNOME_AUTHENTICATION_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), POLKIT_GNOME_TYPE_AUTHENTICATION_DIALOG, PolkitGnomeAuthenticationDialog))
31 #define POLKIT_GNOME_AUTHENTICATION_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), POLKIT_GNOME_TYPE_AUTHENTICATION_DIALOG, PolkitGnomeAuthenticationDialogClass))
32 #define POLKIT_GNOME_IS_AUTHENTICATION_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), POLKIT_GNOME_TYPE_AUTHENTICATION_DIALOG))
33 #define POLKIT_GNOME_IS_AUTHENTICATION_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), POLKIT_GNOME_TYPE_AUTHENTICATION_DIALOG))
34
35 typedef struct _PolkitGnomeAuthenticationDialog PolkitGnomeAuthenticationDialog;
36 typedef struct _PolkitGnomeAuthenticationDialogClass PolkitGnomeAuthenticationDialogClass;
37 typedef struct _PolkitGnomeAuthenticationDialogPrivate PolkitGnomeAuthenticationDialogPrivate;
38
39 struct _PolkitGnomeAuthenticationDialog
40 {
41 GtkDialog parent_instance;
42 PolkitGnomeAuthenticationDialogPrivate *priv;
43 };
44
45 struct _PolkitGnomeAuthenticationDialogClass
46 {
47 GtkDialogClass parent_class;
48 };
49
50 GType polkit_gnome_authentication_dialog_get_type (void);
51 GtkWidget *polkit_gnome_authentication_dialog_new (const gchar *action_id,
52 const gchar *vendor,
53 const gchar *vendor_url,
54 const gchar *icon_name,
55 const gchar *message_markup,
56 PolkitDetails *details,
57 gchar **users);
58 gchar *polkit_gnome_authentication_dialog_get_selected_user (PolkitGnomeAuthenticationDialog *dialog);
59 gboolean polkit_gnome_authentication_dialog_run_until_user_is_selected (PolkitGnomeAuthenticationDialog *dialog);
60 gchar *polkit_gnome_authentication_dialog_run_until_response_for_prompt (PolkitGnomeAuthenticationDialog *dialog,
61 const gchar *prompt,
62 gboolean echo_chars,
63 gboolean *was_cancelled,
64 gboolean *new_user_selected);
65 gboolean polkit_gnome_authentication_dialog_cancel (PolkitGnomeAuthenticationDialog *dialog);
66 void polkit_gnome_authentication_dialog_indicate_error (PolkitGnomeAuthenticationDialog *dialog);
67 void polkit_gnome_authentication_dialog_set_info_message (PolkitGnomeAuthenticationDialog *dialog,
68 const gchar *info_markup);
69
70 G_END_DECLS
71
72 #endif /* __POLKIT_GNOME_AUTHENTICATION_DIALOG_H */
0 /*
1 * Copyright (C) 2009 Red Hat, Inc.
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General
14 * Public License along with this library; if not, write to the
15 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 * Boston, MA 02110-1301, USA.
17 *
18 * Author: David Zeuthen <davidz@redhat.com>
19 */
20
21
22 #include "config.h"
23
24 #include <string.h>
25 #include <sys/types.h>
26 #include <pwd.h>
27 #include <glib/gi18n.h>
28
29 #include <polkit/polkit.h>
30 #include <polkitagent/polkitagent.h>
31
32 #include "polkitgnomeauthenticator.h"
33 #include "polkitgnomeauthenticationdialog.h"
34
35 struct _PolkitGnomeAuthenticator
36 {
37 GObject parent_instance;
38
39 PolkitAuthority *authority;
40 gchar *action_id;
41 gchar *message;
42 gchar *icon_name;
43 PolkitDetails *details;
44 gchar *cookie;
45 GList *identities;
46
47 PolkitActionDescription *action_desc;
48 gchar **users;
49
50 gboolean gained_authorization;
51 gboolean was_cancelled;
52 gboolean new_user_selected;
53 gchar *selected_user;
54
55 PolkitAgentSession *session;
56 GtkWidget *dialog;
57 GMainLoop *loop;
58 };
59
60 struct _PolkitGnomeAuthenticatorClass
61 {
62 GObjectClass parent_class;
63
64 };
65
66 enum
67 {
68 COMPLETED_SIGNAL,
69 LAST_SIGNAL,
70 };
71
72 static guint signals[LAST_SIGNAL] = {0};
73
74 G_DEFINE_TYPE (PolkitGnomeAuthenticator, polkit_gnome_authenticator, G_TYPE_OBJECT);
75
76 static void
77 polkit_gnome_authenticator_init (PolkitGnomeAuthenticator *authenticator)
78 {
79 }
80
81 static void
82 polkit_gnome_authenticator_finalize (GObject *object)
83 {
84 PolkitGnomeAuthenticator *authenticator;
85
86 authenticator = POLKIT_GNOME_AUTHENTICATOR (object);
87
88 if (authenticator->authority != NULL)
89 g_object_unref (authenticator->authority);
90 g_free (authenticator->action_id);
91 g_free (authenticator->message);
92 g_free (authenticator->icon_name);
93 if (authenticator->details != NULL)
94 g_object_unref (authenticator->details);
95 g_free (authenticator->cookie);
96 g_list_foreach (authenticator->identities, (GFunc) g_object_unref, NULL);
97 g_list_free (authenticator->identities);
98
99 if (authenticator->action_desc != NULL)
100 g_object_unref (authenticator->action_desc);
101 g_strfreev (authenticator->users);
102
103 g_free (authenticator->selected_user);
104 if (authenticator->session != NULL)
105 g_object_unref (authenticator->session);
106 if (authenticator->dialog != NULL)
107 gtk_widget_destroy (authenticator->dialog);
108 if (authenticator->loop != NULL)
109 g_main_loop_unref (authenticator->loop);
110
111 if (G_OBJECT_CLASS (polkit_gnome_authenticator_parent_class)->finalize != NULL)
112 G_OBJECT_CLASS (polkit_gnome_authenticator_parent_class)->finalize (object);
113 }
114
115 static void
116 polkit_gnome_authenticator_class_init (PolkitGnomeAuthenticatorClass *klass)
117 {
118 GObjectClass *gobject_class;
119
120 gobject_class = G_OBJECT_CLASS (klass);
121
122 gobject_class->finalize = polkit_gnome_authenticator_finalize;
123
124 /**
125 * PolkitGnomeAuthenticator::completed:
126 * @authenticator: A #PolkitGnomeAuthenticator.
127 * @gained_authorization: Whether the authorization was gained.
128 *
129 * Emitted when the authentication is completed. The user is supposed to dispose of @authenticator
130 * upon receiving this signal.
131 **/
132 signals[COMPLETED_SIGNAL] = g_signal_new ("completed",
133 POLKIT_GNOME_TYPE_AUTHENTICATOR,
134 G_SIGNAL_RUN_LAST,
135 0, /* class offset */
136 NULL, /* accumulator */
137 NULL, /* accumulator data */
138 g_cclosure_marshal_VOID__BOOLEAN,
139 G_TYPE_NONE,
140 1,
141 G_TYPE_BOOLEAN);
142 }
143
144 static PolkitActionDescription *
145 get_desc_for_action (PolkitAuthority *authority,
146 const gchar *action_id)
147 {
148 GList *action_descs;
149 GList *l;
150 PolkitActionDescription *result;
151
152 result = NULL;
153
154 action_descs = polkit_authority_enumerate_actions_sync (authority,
155 NULL,
156 NULL);
157 for (l = action_descs; l != NULL; l = l->next)
158 {
159 PolkitActionDescription *action_desc = POLKIT_ACTION_DESCRIPTION (l->data);
160
161 if (strcmp (polkit_action_description_get_action_id (action_desc), action_id) == 0)
162 {
163 result = g_object_ref (action_desc);
164 goto out;
165 }
166 }
167
168 out:
169
170 g_list_foreach (action_descs, (GFunc) g_object_unref, NULL);
171 g_list_free (action_descs);
172
173 return result;
174 }
175
176 static void
177 on_dialog_deleted (GtkWidget *widget,
178 GdkEvent *event,
179 gpointer user_data)
180 {
181 PolkitGnomeAuthenticator *authenticator = POLKIT_GNOME_AUTHENTICATOR (user_data);
182
183 polkit_gnome_authenticator_cancel (authenticator);
184 }
185
186 static void
187 on_user_selected (GObject *object,
188 GParamSpec *pspec,
189 gpointer user_data)
190 {
191 PolkitGnomeAuthenticator *authenticator = POLKIT_GNOME_AUTHENTICATOR (user_data);
192
193 /* clear any previous messages */
194 polkit_gnome_authentication_dialog_set_info_message (POLKIT_GNOME_AUTHENTICATION_DIALOG (authenticator->dialog), "");
195
196 polkit_gnome_authenticator_cancel (authenticator);
197 authenticator->new_user_selected = TRUE;
198 }
199
200 PolkitGnomeAuthenticator *
201 polkit_gnome_authenticator_new (const gchar *action_id,
202 const gchar *message,
203 const gchar *icon_name,
204 PolkitDetails *details,
205 const gchar *cookie,
206 GList *identities)
207 {
208 PolkitGnomeAuthenticator *authenticator;
209 GList *l;
210 guint n;
211
212 authenticator = POLKIT_GNOME_AUTHENTICATOR (g_object_new (POLKIT_GNOME_TYPE_AUTHENTICATOR, NULL));
213
214 authenticator->authority = polkit_authority_get ();
215 authenticator->action_id = g_strdup (action_id);
216 authenticator->message = g_strdup (message);
217 authenticator->icon_name = g_strdup (icon_name);
218 if (details != NULL)
219 authenticator->details = g_object_ref (details);
220 authenticator->cookie = g_strdup (cookie);
221 authenticator->identities = g_list_copy (identities);
222 g_list_foreach (authenticator->identities, (GFunc) g_object_ref, NULL);
223
224 authenticator->action_desc = get_desc_for_action (authenticator->authority,
225 authenticator->action_id);
226 if (authenticator->action_desc == NULL)
227 goto error;
228
229 authenticator->users = g_new0 (gchar *, g_list_length (authenticator->identities) + 1);
230 for (l = authenticator->identities, n = 0; l != NULL; l = l->next, n++)
231 {
232 PolkitUnixUser *user = POLKIT_UNIX_USER (l->data);
233 uid_t uid;
234 struct passwd *passwd;
235
236 uid = polkit_unix_user_get_uid (user);
237 passwd = getpwuid (uid);
238 authenticator->users[n] = g_strdup (passwd->pw_name);
239 }
240
241 authenticator->dialog = polkit_gnome_authentication_dialog_new
242 (authenticator->action_id,
243 polkit_action_description_get_vendor_name (authenticator->action_desc),
244 polkit_action_description_get_vendor_url (authenticator->action_desc),
245 authenticator->icon_name,
246 authenticator->message,
247 authenticator->details,
248 authenticator->users);
249 g_signal_connect (authenticator->dialog,
250 "delete-event",
251 G_CALLBACK (on_dialog_deleted),
252 authenticator);
253 g_signal_connect (authenticator->dialog,
254 "notify::selected-user",
255 G_CALLBACK (on_user_selected),
256 authenticator);
257
258 return authenticator;
259
260 error:
261 g_object_unref (authenticator);
262 return NULL;
263 }
264
265 static void
266 session_request (PolkitAgentSession *session,
267 const char *request,
268 gboolean echo_on,
269 gpointer user_data)
270 {
271 PolkitGnomeAuthenticator *authenticator = POLKIT_GNOME_AUTHENTICATOR (user_data);
272 gchar *password;
273 gchar *modified_request;
274
275 password = NULL;
276
277 //g_debug ("in conversation_pam_prompt, request='%s', echo_on=%d", request, echo_on);
278
279 /* Fix up, and localize, password prompt if it's password auth */
280 if (g_ascii_strncasecmp (request, "password:", 9) == 0)
281 {
282 if (strcmp (g_get_user_name (), authenticator->selected_user) != 0)
283 {
284 modified_request = g_strdup_printf (_("_Password for %s:"), authenticator->selected_user);
285 }
286 else
287 {
288 modified_request = g_strdup (_("_Password:"));
289 }
290 }
291 else
292 {
293 modified_request = g_strdup (request);
294 }
295
296 gtk_widget_show_all (GTK_WIDGET (authenticator->dialog));
297 gtk_window_present (GTK_WINDOW (authenticator->dialog));
298 password = polkit_gnome_authentication_dialog_run_until_response_for_prompt (POLKIT_GNOME_AUTHENTICATION_DIALOG (authenticator->dialog),
299 modified_request,
300 echo_on,
301 &authenticator->was_cancelled,
302 &authenticator->new_user_selected);
303
304 /* cancel auth unless user provided a password */
305 if (password == NULL)
306 {
307 polkit_gnome_authenticator_cancel (authenticator);
308 goto out;
309 }
310 else
311 {
312 polkit_agent_session_response (authenticator->session, password);
313 g_free (password);
314 }
315
316 out:
317 g_free (modified_request);
318 }
319
320 static void
321 session_show_error (PolkitAgentSession *session,
322 const gchar *msg,
323 gpointer user_data)
324 {
325 PolkitGnomeAuthenticator *authenticator = POLKIT_GNOME_AUTHENTICATOR (user_data);
326 gchar *s;
327
328 s = g_strconcat ("<b>", msg, "</b>", NULL);
329 polkit_gnome_authentication_dialog_set_info_message (POLKIT_GNOME_AUTHENTICATION_DIALOG (authenticator->dialog), s);
330 g_free (s);
331 }
332
333 static void
334 session_show_info (PolkitAgentSession *session,
335 const gchar *msg,
336 gpointer user_data)
337 {
338 PolkitGnomeAuthenticator *authenticator = POLKIT_GNOME_AUTHENTICATOR (user_data);
339 gchar *s;
340
341 s = g_strconcat ("<b>", msg, "</b>", NULL);
342 polkit_gnome_authentication_dialog_set_info_message (POLKIT_GNOME_AUTHENTICATION_DIALOG (authenticator->dialog), s);
343 g_free (s);
344
345 gtk_widget_show_all (GTK_WIDGET (authenticator->dialog));
346 gtk_window_present (GTK_WINDOW (authenticator->dialog));
347 }
348
349
350 static void
351 session_completed (PolkitAgentSession *session,
352 gboolean gained_authorization,
353 gpointer user_data)
354 {
355 PolkitGnomeAuthenticator *authenticator = POLKIT_GNOME_AUTHENTICATOR (user_data);
356
357 authenticator->gained_authorization = gained_authorization;
358
359 //g_debug ("in conversation_done gained=%d", gained_authorization);
360
361 g_main_loop_quit (authenticator->loop);
362 }
363
364
365 static gboolean
366 do_initiate (gpointer user_data)
367 {
368 PolkitGnomeAuthenticator *authenticator = POLKIT_GNOME_AUTHENTICATOR (user_data);
369 PolkitIdentity *identity;
370 gint num_tries;
371
372 gtk_widget_show_all (GTK_WIDGET (authenticator->dialog));
373 gtk_window_present (GTK_WINDOW (authenticator->dialog));
374 if (!polkit_gnome_authentication_dialog_run_until_user_is_selected (POLKIT_GNOME_AUTHENTICATION_DIALOG (authenticator->dialog)))
375 {
376 /* user cancelled the dialog */
377 //g_debug ("User cancelled before selecting a user");
378 authenticator->was_cancelled = TRUE;
379 goto out;
380 }
381
382 authenticator->loop = g_main_loop_new (NULL, TRUE);
383
384 num_tries = 0;
385
386 try_again:
387
388 g_free (authenticator->selected_user);
389 authenticator->selected_user = polkit_gnome_authentication_dialog_get_selected_user (POLKIT_GNOME_AUTHENTICATION_DIALOG (authenticator->dialog));
390
391 //g_debug ("Authenticating user %s", authenticator->selected_user);
392 identity = polkit_unix_user_new_for_name (authenticator->selected_user, NULL);
393
394 authenticator->session = polkit_agent_session_new (identity, authenticator->cookie);
395
396 g_object_unref (identity);
397
398 g_signal_connect (authenticator->session,
399 "request",
400 G_CALLBACK (session_request),
401 authenticator);
402
403 g_signal_connect (authenticator->session,
404 "show-info",
405 G_CALLBACK (session_show_info),
406 authenticator);
407
408 g_signal_connect (authenticator->session,
409 "show-error",
410 G_CALLBACK (session_show_error),
411 authenticator);
412
413 g_signal_connect (authenticator->session,
414 "completed",
415 G_CALLBACK (session_completed),
416 authenticator);
417
418 polkit_agent_session_initiate (authenticator->session);
419
420 g_main_loop_run (authenticator->loop);
421
422 //g_debug ("gained_authorization=%d was_cancelled=%d new_user_selected=%d.",
423 // authenticator->gained_authorization,
424 // authenticator->was_cancelled,
425 // authenticator->new_user_selected);
426
427 if (authenticator->new_user_selected)
428 {
429 //g_debug ("New user selected");
430 authenticator->new_user_selected = FALSE;
431 g_object_unref (authenticator->session);
432 authenticator->session = NULL;
433 goto try_again;
434 }
435
436 num_tries++;
437
438 if (!authenticator->gained_authorization && !authenticator->was_cancelled)
439 {
440 if (authenticator->dialog != NULL)
441 {
442 gchar *s;
443
444 s = g_strconcat ("<b>", _("Authentication Failure"), "</b>", NULL);
445 polkit_gnome_authentication_dialog_set_info_message (
446 POLKIT_GNOME_AUTHENTICATION_DIALOG (authenticator->dialog),
447 s);
448 g_free (s);
449 gtk_widget_queue_draw (authenticator->dialog);
450
451 /* shake the dialog to indicate error */
452 polkit_gnome_authentication_dialog_indicate_error (POLKIT_GNOME_AUTHENTICATION_DIALOG (authenticator->dialog));
453
454 if (num_tries < 3)
455 {
456 g_object_unref (authenticator->session);
457 authenticator->session = NULL;
458 goto try_again;
459 }
460 }
461 }
462
463 out:
464 g_signal_emit_by_name (authenticator, "completed", authenticator->gained_authorization);
465
466 g_object_unref (authenticator);
467
468 return FALSE;
469 }
470
471 void
472 polkit_gnome_authenticator_initiate (PolkitGnomeAuthenticator *authenticator)
473 {
474 /* run from idle since we're going to block the main loop in the dialog (which has a recursive mainloop) */
475 g_idle_add (do_initiate, g_object_ref (authenticator));
476 }
477
478 void
479 polkit_gnome_authenticator_cancel (PolkitGnomeAuthenticator *authenticator)
480 {
481 if (authenticator->dialog != NULL)
482 polkit_gnome_authentication_dialog_cancel (POLKIT_GNOME_AUTHENTICATION_DIALOG (authenticator->dialog));
483
484 authenticator->was_cancelled = TRUE;
485
486 if (authenticator->session != NULL)
487 polkit_agent_session_cancel (authenticator->session);
488 }
489
490 const gchar *
491 polkit_gnome_authenticator_get_cookie (PolkitGnomeAuthenticator *authenticator)
492 {
493 return authenticator->cookie;
494 }
495
496
0 /*
1 * Copyright (C) 2009 Red Hat, Inc.
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General
14 * Public License along with this library; if not, write to the
15 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 * Boston, MA 02110-1301, USA.
17 *
18 * Author: David Zeuthen <davidz@redhat.com>
19 */
20
21 #ifndef __POLKIT_GNOME_AUTHENTICATOR_H
22 #define __POLKIT_GNOME_AUTHENTICATOR_H
23
24 #include <glib-object.h>
25
26 G_BEGIN_DECLS
27
28 #define POLKIT_GNOME_TYPE_AUTHENTICATOR (polkit_gnome_authenticator_get_type())
29 #define POLKIT_GNOME_AUTHENTICATOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), POLKIT_GNOME_TYPE_AUTHENTICATOR, PolkitGnomeAuthenticator))
30 #define POLKIT_GNOME_AUTHENTICATOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), POLKIT_GNOME_TYPE_AUTHENTICATOR, PolkitGnomeAuthenticatorClass))
31 #define POLKIT_GNOME_AUTHENTICATOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), POLKIT_GNOME_TYPE_AUTHENTICATOR, PolkitGnomeAuthenticatorClass))
32 #define POLKIT_GNOME_IS_AUTHENTICATOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), POLKIT_GNOME_TYPE_AUTHENTICATOR))
33 #define POLKIT_GNOME_IS_AUTHENTICATOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), POLKIT_GNOME_TYPE_AUTHENTICATOR))
34
35 typedef struct _PolkitGnomeAuthenticator PolkitGnomeAuthenticator;
36 typedef struct _PolkitGnomeAuthenticatorClass PolkitGnomeAuthenticatorClass;
37
38 GType polkit_gnome_authenticator_get_type (void) G_GNUC_CONST;
39 PolkitGnomeAuthenticator *polkit_gnome_authenticator_new (const gchar *action_id,
40 const gchar *message,
41 const gchar *icon_name,
42 PolkitDetails *details,
43 const gchar *cookie,
44 GList *identities);
45 void polkit_gnome_authenticator_initiate (PolkitGnomeAuthenticator *authenticator);
46 void polkit_gnome_authenticator_cancel (PolkitGnomeAuthenticator *authenticator);
47 const gchar *polkit_gnome_authenticator_get_cookie (PolkitGnomeAuthenticator *authenticator);
48
49 G_END_DECLS
50
51 #endif /* __POLKIT_GNOME_AUTHENTICATOR_H */
0 /*
1 * Copyright (C) 2009 Red Hat, Inc.
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General
14 * Public License along with this library; if not, write to the
15 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 * Boston, MA 02110-1301, USA.
17 *
18 * Author: David Zeuthen <davidz@redhat.com>
19 */
20
21
22 #include "config.h"
23
24 #include <string.h>
25
26 #include "polkitgnomelistener.h"
27 #include "polkitgnomeauthenticator.h"
28
29 struct _PolkitGnomeListener
30 {
31 PolkitAgentListener parent_instance;
32
33 /* we only support a single active authenticator right now */
34 PolkitGnomeAuthenticator *the_authenticator;
35 };
36
37 struct _PolkitGnomeListenerClass
38 {
39 PolkitAgentListenerClass parent_class;
40 };
41
42 static void polkit_gnome_listener_initiate_authentication (PolkitAgentListener *listener,
43 const gchar *action_id,
44 const gchar *message,
45 const gchar *icon_name,
46 PolkitDetails *details,
47 const gchar *cookie,
48 GList *identities,
49 GCancellable *cancellable,
50 GAsyncReadyCallback callback,
51 gpointer user_data);
52
53 static gboolean polkit_gnome_listener_initiate_authentication_finish (PolkitAgentListener *listener,
54 GAsyncResult *res,
55 GError **error);
56
57 G_DEFINE_TYPE (PolkitGnomeListener, polkit_gnome_listener, POLKIT_AGENT_TYPE_LISTENER);
58
59 static void
60 polkit_gnome_listener_init (PolkitGnomeListener *listener)
61 {
62 }
63
64 static void
65 polkit_gnome_listener_finalize (GObject *object)
66 {
67 PolkitGnomeListener *listener;
68
69 listener = POLKIT_GNOME_LISTENER (object);
70
71 if (G_OBJECT_CLASS (polkit_gnome_listener_parent_class)->finalize != NULL)
72 G_OBJECT_CLASS (polkit_gnome_listener_parent_class)->finalize (object);
73 }
74
75 static void
76 polkit_gnome_listener_class_init (PolkitGnomeListenerClass *klass)
77 {
78 GObjectClass *gobject_class;
79 PolkitAgentListenerClass *listener_class;
80
81 gobject_class = G_OBJECT_CLASS (klass);
82 listener_class = POLKIT_AGENT_LISTENER_CLASS (klass);
83
84 gobject_class->finalize = polkit_gnome_listener_finalize;
85
86 listener_class->initiate_authentication = polkit_gnome_listener_initiate_authentication;
87 listener_class->initiate_authentication_finish = polkit_gnome_listener_initiate_authentication_finish;
88 }
89
90 PolkitAgentListener *
91 polkit_gnome_listener_new (void)
92 {
93 return POLKIT_AGENT_LISTENER (g_object_new (POLKIT_GNOME_TYPE_LISTENER, NULL));
94 }
95
96 typedef struct
97 {
98 PolkitGnomeListener *listener;
99 GSimpleAsyncResult *simple;
100 GCancellable *cancellable;
101
102 gulong cancel_id;
103 } AuthData;
104
105 static AuthData *
106 auth_data_new (PolkitGnomeListener *listener,
107 GSimpleAsyncResult *simple,
108 GCancellable *cancellable)
109 {
110 AuthData *data;
111
112 data = g_new0 (AuthData, 1);
113 data->listener = g_object_ref (listener);
114 data->simple = g_object_ref (simple);
115 data->cancellable = g_object_ref (cancellable);
116 return data;
117 }
118
119 static void
120 auth_data_free (AuthData *data)
121 {
122 g_object_unref (data->listener);
123 g_object_unref (data->simple);
124 if (data->cancellable != NULL && data->cancel_id > 0)
125 g_signal_handler_disconnect (data->cancellable, data->cancel_id);
126 g_object_unref (data->cancellable);
127 g_free (data);
128 }
129
130 static void
131 authenticator_completed (PolkitGnomeAuthenticator *authenticator,
132 gboolean gained_authorization,
133 gpointer user_data)
134 {
135 AuthData *data = user_data;
136
137 g_warn_if_fail (authenticator == data->listener->the_authenticator);
138
139 g_object_unref (data->listener->the_authenticator);
140 data->listener->the_authenticator = NULL;
141
142 g_simple_async_result_complete (data->simple);
143 g_object_unref (data->simple);
144
145 auth_data_free (data);
146 }
147
148 static void
149 cancelled_cb (GCancellable *cancellable,
150 gpointer user_data)
151 {
152 AuthData *data = user_data;
153
154 polkit_gnome_authenticator_cancel (data->listener->the_authenticator);
155 }
156
157 static void
158 polkit_gnome_listener_initiate_authentication (PolkitAgentListener *agent_listener,
159 const gchar *action_id,
160 const gchar *message,
161 const gchar *icon_name,
162 PolkitDetails *details,
163 const gchar *cookie,
164 GList *identities,
165 GCancellable *cancellable,
166 GAsyncReadyCallback callback,
167 gpointer user_data)
168 {
169 PolkitGnomeListener *listener = POLKIT_GNOME_LISTENER (agent_listener);
170 GSimpleAsyncResult *simple;
171 AuthData *data;
172
173 simple = g_simple_async_result_new (G_OBJECT (listener),
174 callback,
175 user_data,
176 polkit_gnome_listener_initiate_authentication);
177
178 if (listener->the_authenticator != NULL)
179 {
180 g_simple_async_result_set_error (simple,
181 POLKIT_ERROR,
182 POLKIT_ERROR_FAILED,
183 "Authentication is already in progress for another action");
184 g_simple_async_result_complete (simple);
185 goto out;
186 }
187
188 listener->the_authenticator = polkit_gnome_authenticator_new (action_id,
189 message,
190 icon_name,
191 details,
192 cookie,
193 identities);
194 if (listener->the_authenticator == NULL)
195 {
196 g_simple_async_result_set_error (simple,
197 POLKIT_ERROR,
198 POLKIT_ERROR_FAILED,
199 "Authentication is already in progress for another action");
200 g_simple_async_result_complete (simple);
201 goto out;
202 }
203
204 data = auth_data_new (listener, simple, cancellable);
205
206 g_signal_connect (listener->the_authenticator,
207 "completed",
208 G_CALLBACK (authenticator_completed),
209 data);
210
211 if (cancellable != NULL)
212 {
213 data->cancel_id = g_signal_connect (cancellable,
214 "cancelled",
215 G_CALLBACK (cancelled_cb),
216 data);
217 }
218
219 polkit_gnome_authenticator_initiate (listener->the_authenticator);
220
221 out:
222 ;
223 }
224
225 static gboolean
226 polkit_gnome_listener_initiate_authentication_finish (PolkitAgentListener *listener,
227 GAsyncResult *res,
228 GError **error)
229 {
230 GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
231
232 g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == polkit_gnome_listener_initiate_authentication);
233
234 if (g_simple_async_result_propagate_error (simple, error))
235 return FALSE;
236
237 return TRUE;
238 }
239
0 /*
1 * Copyright (C) 2009 Red Hat, Inc.
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2 of the License, or (at your option) any later version.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General
14 * Public License along with this library; if not, write to the
15 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 * Boston, MA 02110-1301, USA.
17 *
18 * Author: David Zeuthen <davidz@redhat.com>
19 */
20
21 #ifndef __POLKIT_GNOME_LISTENER_H
22 #define __POLKIT_GNOME_LISTENER_H
23
24 #include <polkitagent/polkitagent.h>
25
26 G_BEGIN_DECLS
27
28 #define POLKIT_GNOME_TYPE_LISTENER (polkit_gnome_listener_get_type())
29 #define POLKIT_GNOME_LISTENER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), POLKIT_GNOME_TYPE_LISTENER, PolkitGnomeListener))
30 #define POLKIT_GNOME_LISTENER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), POLKIT_GNOME_TYPE_LISTENER, PolkitGnomeListenerClass))
31 #define POLKIT_GNOME_LISTENER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), POLKIT_GNOME_TYPE_LISTENER, PolkitGnomeListenerClass))
32 #define POLKIT_GNOME_IS_LISTENER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), POLKIT_GNOME_TYPE_LISTENER))
33 #define POLKIT_GNOME_IS_LISTENER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), POLKIT_GNOME_TYPE_LISTENER))
34
35 typedef struct _PolkitGnomeListener PolkitGnomeListener;
36 typedef struct _PolkitGnomeListenerClass PolkitGnomeListenerClass;
37
38 GType polkit_gnome_listener_get_type (void) G_GNUC_CONST;
39 PolkitAgentListener *polkit_gnome_listener_new (void);
40
41 G_END_DECLS
42
43 #endif /* __POLKIT_GNOME_LISTENER_H */
+0
-869
src/sexy-url-label.c less more
0 /*
1 * @file libsexy/sexy-url-label.c URL Label
2 *
3 * @Copyright (C) 2005-2006 Christian Hammond
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the
17 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 * Boston, MA 02111-1307, USA.
19 */
20 #include <gtk/gtk.h>
21 #include <string.h>
22 #include <stdio.h>
23
24 #include "sexy-url-label.h"
25
26 #define SEXY_URL_LABEL_GET_PRIVATE(obj) \
27 (G_TYPE_INSTANCE_GET_PRIVATE((obj), SEXY_TYPE_URL_LABEL, \
28 SexyUrlLabelPrivate))
29
30 typedef struct
31 {
32 int start;
33 int end;
34 const gchar *url;
35
36 } SexyUrlLabelLink;
37
38 typedef struct
39 {
40 GList *links;
41 GList *urls;
42 SexyUrlLabelLink *active_link;
43 GtkWidget *popup_menu;
44 GdkWindow *event_window;
45
46 int layout_x;
47 int layout_y;
48
49 size_t wrap_width;
50
51 GString *temp_markup_result;
52
53 } SexyUrlLabelPrivate;
54
55 /*
56 * NOTE: This *MUST* match the LabelWrapWidth struct in gtklabel.c.
57 */
58 typedef struct
59 {
60 gint width;
61 PangoFontDescription *font_desc;
62
63 } LabelWrapWidth;
64
65 enum
66 {
67 URL_ACTIVATED,
68 LAST_SIGNAL
69 };
70
71 static void sexy_url_label_finalize(GObject *obj);
72 static void sexy_url_label_realize(GtkWidget *widget);
73 static void sexy_url_label_unrealize(GtkWidget *widget);
74 static void sexy_url_label_map(GtkWidget *widget);
75 static void sexy_url_label_unmap(GtkWidget *widget);
76 static void sexy_url_label_size_allocate(GtkWidget *widget,
77 GtkAllocation *allocation);
78 static gboolean sexy_url_label_motion_notify_event(GtkWidget *widget,
79 GdkEventMotion *event);
80 static gboolean sexy_url_label_leave_notify_event(GtkWidget *widget,
81 GdkEventCrossing *event);
82 static gboolean sexy_url_label_button_press_event(GtkWidget *widget,
83 GdkEventButton *event);
84
85 static void open_link_activate_cb(GtkMenuItem *menu_item,
86 SexyUrlLabel *url_label);
87 static void copy_link_activate_cb(GtkMenuItem *menu_item,
88 SexyUrlLabel *url_label);
89
90 static void sexy_url_label_clear_links(SexyUrlLabel *url_label);
91 static void sexy_url_label_clear_urls(SexyUrlLabel *url_label);
92 static void sexy_url_label_rescan_label(SexyUrlLabel *url_label);
93
94 static GtkLabelClass *parent_class = NULL;
95 static guint signals[LAST_SIGNAL] = {0};
96
97 G_DEFINE_TYPE(SexyUrlLabel, sexy_url_label, GTK_TYPE_LABEL);
98
99 static void
100 sexy_url_label_class_init(SexyUrlLabelClass *klass)
101 {
102 GObjectClass *object_class = G_OBJECT_CLASS(klass);
103 GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
104
105 parent_class = g_type_class_peek_parent(klass);
106
107 object_class->finalize = sexy_url_label_finalize;
108
109 widget_class->realize = sexy_url_label_realize;
110 widget_class->unrealize = sexy_url_label_unrealize;
111 widget_class->map = sexy_url_label_map;
112 widget_class->unmap = sexy_url_label_unmap;
113 widget_class->size_allocate = sexy_url_label_size_allocate;
114 widget_class->motion_notify_event = sexy_url_label_motion_notify_event;
115 widget_class->leave_notify_event = sexy_url_label_leave_notify_event;
116 widget_class->button_press_event = sexy_url_label_button_press_event;
117
118 g_type_class_add_private(klass, sizeof(SexyUrlLabelPrivate));
119
120 /**
121 * SexyUrlLabel::url-activated:
122 * @url_label: The label on which the signal was emitted.
123 * @url: The URL which was activated.
124 *
125 * The ::url-activated signal is emitted when a URL in the label was
126 * clicked.
127 */
128 signals[URL_ACTIVATED] =
129 g_signal_new("url_activated",
130 G_TYPE_FROM_CLASS(object_class),
131 G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
132 G_STRUCT_OFFSET(SexyUrlLabelClass, url_activated),
133 NULL, NULL,
134 g_cclosure_marshal_VOID__STRING,
135 G_TYPE_NONE, 1,
136 G_TYPE_STRING);
137 }
138
139 static void
140 selectable_changed_cb(SexyUrlLabel *url_label)
141 {
142 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
143
144 if (priv->event_window != NULL)
145 {
146 GdkCursor *cursor = NULL;
147
148 if (gtk_label_get_selectable(GTK_LABEL(url_label)) &&
149 priv->active_link == NULL)
150 cursor = gdk_cursor_new_for_display(
151 gtk_widget_get_display(GTK_WIDGET(url_label)), GDK_XTERM);
152 gdk_window_set_cursor(priv->event_window, cursor);
153
154 if (cursor)
155 gdk_cursor_unref(cursor);
156
157 /*
158 * GtkLabel recreates its event window when the selectable property
159 * changes, which will cover ours.
160 */
161 gdk_window_raise(priv->event_window);
162 }
163 }
164
165 static void
166 sexy_url_label_init(SexyUrlLabel *url_label)
167 {
168 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
169 GtkWidget *item;
170 GtkWidget *image;
171
172 priv->links = NULL;
173 priv->active_link = NULL;
174 priv->event_window = NULL;
175
176 g_signal_connect(G_OBJECT(url_label), "notify::selectable",
177 G_CALLBACK(selectable_changed_cb), NULL);
178
179 priv->popup_menu = gtk_menu_new();
180
181 /* Open Link */
182 item = gtk_image_menu_item_new_with_mnemonic("_Open Link");
183 gtk_widget_show(item);
184 gtk_menu_shell_append(GTK_MENU_SHELL(priv->popup_menu), item);
185
186 g_signal_connect(G_OBJECT(item), "activate",
187 G_CALLBACK(open_link_activate_cb), url_label);
188
189 image = gtk_image_new_from_stock(GTK_STOCK_JUMP_TO, GTK_ICON_SIZE_MENU);
190 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
191 gtk_widget_show(image);
192
193 /* Copy Link Address */
194 item = gtk_image_menu_item_new_with_mnemonic("Copy _Link Address");
195 gtk_widget_show(item);
196 gtk_menu_shell_append(GTK_MENU_SHELL(priv->popup_menu), item);
197
198 g_signal_connect(G_OBJECT(item), "activate",
199 G_CALLBACK(copy_link_activate_cb), url_label);
200
201 image = gtk_image_new_from_stock(GTK_STOCK_COPY, GTK_ICON_SIZE_MENU);
202 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
203 gtk_widget_show(image);
204 }
205
206 static void
207 sexy_url_label_finalize(GObject *obj)
208 {
209 SexyUrlLabel *url_label = SEXY_URL_LABEL(obj);
210
211 sexy_url_label_clear_links(url_label);
212 sexy_url_label_clear_urls(url_label);
213
214 if (G_OBJECT_CLASS(parent_class)->finalize != NULL)
215 G_OBJECT_CLASS(parent_class)->finalize(obj);
216 }
217
218 static gboolean
219 sexy_url_label_motion_notify_event(GtkWidget *widget, GdkEventMotion *event)
220 {
221 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
222 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
223 PangoLayout *layout = gtk_label_get_layout(GTK_LABEL(url_label));
224 GdkModifierType state;
225 gboolean found = FALSE;
226 GList *l;
227 int index, trailing;
228 int x, y;
229 SexyUrlLabelLink *link = NULL;
230
231 if (event->is_hint)
232 gdk_window_get_pointer(event->window, &x, &y, &state);
233 else
234 {
235 x = event->x;
236 y = event->y;
237 state = event->state;
238 }
239
240 if (pango_layout_xy_to_index(layout,
241 (x - priv->layout_x) * PANGO_SCALE,
242 (y - priv->layout_y) * PANGO_SCALE,
243 &index, &trailing))
244 {
245 for (l = priv->links; l != NULL; l = l->next)
246 {
247 link = (SexyUrlLabelLink *)l->data;
248
249 if (index >= link->start && index <= link->end)
250 {
251 found = TRUE;
252 break;
253 }
254 }
255 }
256
257 if (found)
258 {
259 if (priv->active_link == NULL)
260 {
261 GdkCursor *cursor;
262
263 cursor = gdk_cursor_new_for_display(
264 gtk_widget_get_display(widget), GDK_HAND2);
265 gdk_window_set_cursor(priv->event_window, cursor);
266 gdk_cursor_unref(cursor);
267
268 priv->active_link = link;
269 }
270 }
271 else
272 {
273 if (priv->active_link != NULL)
274 {
275 if (gtk_label_get_selectable(GTK_LABEL(url_label)))
276 {
277 GdkCursor *cursor;
278
279 cursor = gdk_cursor_new_for_display(
280 gtk_widget_get_display(widget), GDK_XTERM);
281 gdk_window_set_cursor(priv->event_window, cursor);
282 gdk_cursor_unref(cursor);
283 }
284 else
285 gdk_window_set_cursor(priv->event_window, NULL);
286
287 priv->active_link = NULL;
288 }
289 }
290
291 /*
292 * Another beautiful libsexy hack. This one prevents the callback
293 * from going "Oh boy, they clicked and dragged! Let's select more of
294 * the text!"
295 */
296 if (priv->active_link != NULL)
297 event->state = 0;
298
299 GTK_WIDGET_CLASS(parent_class)->motion_notify_event(widget, event);
300
301 return FALSE;
302 }
303
304 static gboolean
305 sexy_url_label_leave_notify_event(GtkWidget *widget, GdkEventCrossing *event)
306 {
307 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
308 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
309
310 if (GTK_WIDGET_CLASS(parent_class)->leave_notify_event != NULL)
311 GTK_WIDGET_CLASS(parent_class)->leave_notify_event(widget, event);
312
313 if (event->mode == GDK_CROSSING_NORMAL)
314 {
315 GdkCursor *cursor = NULL;
316 if (gtk_label_get_selectable(GTK_LABEL(widget)))
317 cursor = gdk_cursor_new_for_display(
318 gtk_widget_get_display(widget), GDK_XTERM);
319 gdk_window_set_cursor(priv->event_window, cursor);
320 if (cursor)
321 gdk_cursor_unref(cursor);
322 priv->active_link = NULL;
323 }
324
325 return FALSE;
326 }
327
328 static gboolean
329 sexy_url_label_button_press_event(GtkWidget *widget, GdkEventButton *event)
330 {
331 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
332 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
333
334 if (priv->active_link == NULL)
335 {
336 return GTK_WIDGET_CLASS(parent_class)->button_press_event(widget,
337 event);
338 }
339
340 if (event->button == 1)
341 {
342 g_signal_emit(url_label, signals[URL_ACTIVATED], 0,
343 priv->active_link->url);
344 }
345 else if (event->button == 3)
346 {
347 gtk_menu_popup(GTK_MENU(priv->popup_menu), NULL, NULL, NULL, NULL,
348 event->button, event->time);
349 }
350
351 return TRUE;
352 }
353
354 static void
355 update_wrap_width(SexyUrlLabel *url_label, size_t wrap_width)
356 {
357 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
358 LabelWrapWidth *wrap_width_data;
359 GtkStyle *style;
360
361 if (wrap_width == 0 || !gtk_label_get_line_wrap(GTK_LABEL(url_label)))
362 return;
363
364 #if 0
365 pango_layout_set_width(gtk_label_get_layout(GTK_LABEL(url_label)),
366 wrap_width * PANGO_SCALE);
367 #endif
368 style = GTK_WIDGET(url_label)->style;
369 wrap_width_data = g_object_get_data(G_OBJECT(style),
370 "gtk-label-wrap-width");
371
372 if (wrap_width_data != NULL &&
373 wrap_width_data->width != wrap_width * PANGO_SCALE)
374 {
375 wrap_width_data->width = wrap_width * PANGO_SCALE;
376 priv->wrap_width = wrap_width;
377 g_object_unref(GTK_LABEL(url_label)->layout);
378 GTK_LABEL(url_label)->layout = NULL;
379 gtk_label_get_layout(GTK_LABEL(url_label));
380 gtk_widget_queue_resize(GTK_WIDGET(url_label));
381 }
382 }
383
384 static void
385 sexy_url_label_realize(GtkWidget *widget)
386 {
387 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
388 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
389 GdkWindowAttr attributes;
390 gint attributes_mask;
391
392 GTK_WIDGET_CLASS(parent_class)->realize(widget);
393
394 attributes.window_type = GDK_WINDOW_CHILD;
395 attributes.x = widget->allocation.x;
396 attributes.y = widget->allocation.y;
397 attributes.width = widget->allocation.width;
398 attributes.height = widget->allocation.height;
399 attributes.window_type = GDK_WINDOW_CHILD;
400 attributes.wclass = GDK_INPUT_ONLY;
401 attributes.event_mask = gtk_widget_get_events(widget);
402 attributes.event_mask |= (GDK_BUTTON_PRESS_MASK |
403 GDK_BUTTON_RELEASE_MASK |
404 GDK_POINTER_MOTION_MASK |
405 GDK_POINTER_MOTION_HINT_MASK |
406 GDK_LEAVE_NOTIFY_MASK |
407 GDK_LEAVE_NOTIFY_MASK);
408 attributes_mask = GDK_WA_X | GDK_WA_Y;
409
410 if (gtk_label_get_selectable(GTK_LABEL(widget))) {
411 attributes.cursor = gdk_cursor_new_for_display(
412 gtk_widget_get_display(widget), GDK_XTERM);
413 attributes_mask |= GDK_WA_CURSOR;
414 }
415
416 priv->event_window =
417 gdk_window_new(gtk_widget_get_parent_window(widget), &attributes,
418 attributes_mask);
419 gdk_window_set_user_data(priv->event_window, widget);
420
421 if (attributes_mask & GDK_WA_CURSOR)
422 gdk_cursor_unref (attributes.cursor);
423 }
424
425 static void
426 sexy_url_label_unrealize(GtkWidget *widget)
427 {
428 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
429 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
430
431 if (priv->event_window != NULL)
432 {
433 gdk_window_set_user_data(priv->event_window, NULL);
434 gdk_window_destroy(priv->event_window);
435 priv->event_window = NULL;
436 }
437
438 GTK_WIDGET_CLASS(parent_class)->unrealize(widget);
439 }
440
441 static void
442 sexy_url_label_map(GtkWidget *widget)
443 {
444 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
445 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
446
447 GTK_WIDGET_CLASS(parent_class)->map(widget);
448
449 if (priv->event_window != NULL)
450 gdk_window_show(priv->event_window);
451 }
452
453 static void
454 sexy_url_label_unmap(GtkWidget *widget)
455 {
456 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
457 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
458
459 if (priv->event_window != NULL)
460 gdk_window_hide(priv->event_window);
461
462 GTK_WIDGET_CLASS(parent_class)->unmap(widget);
463 }
464
465 static void
466 sexy_url_label_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
467 {
468 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
469 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
470
471 #if 0
472 {
473 LabelWrapWidth *wrap_width_data;
474 GtkStyle *style;
475 style = GTK_WIDGET(url_label)->style;
476 wrap_width_data = g_object_get_data(G_OBJECT(style),
477 "gtk-label-wrap-width");
478 if (wrap_width_data != NULL)
479 printf("wrap width = %d\n", wrap_width_data->width / PANGO_SCALE);
480 }
481 #endif
482 update_wrap_width(url_label, allocation->width);
483 GTK_WIDGET_CLASS(parent_class)->size_allocate(widget, allocation);
484 pango_layout_set_width(gtk_label_get_layout(GTK_LABEL(url_label)),
485 allocation->width * PANGO_SCALE);
486
487 if (GTK_WIDGET_REALIZED(widget))
488 {
489 gdk_window_move_resize(priv->event_window,
490 allocation->x, allocation->y,
491 allocation->width, allocation->height);
492 }
493
494 sexy_url_label_rescan_label(url_label);
495 }
496
497 static void
498 open_link_activate_cb(GtkMenuItem *menu_item, SexyUrlLabel *url_label)
499 {
500 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
501
502 if (priv->active_link == NULL)
503 return;
504
505 g_signal_emit(url_label, signals[URL_ACTIVATED], 0, priv->active_link->url);
506 }
507
508 static void
509 copy_link_activate_cb(GtkMenuItem *menu_item, SexyUrlLabel *url_label)
510 {
511 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
512 GtkClipboard *clipboard;
513
514 if (priv->active_link == NULL)
515 return;
516
517 clipboard = gtk_widget_get_clipboard(GTK_WIDGET(url_label),
518 GDK_SELECTION_PRIMARY);
519
520 gtk_clipboard_set_text(clipboard, priv->active_link->url,
521 strlen(priv->active_link->url));
522 }
523
524 /**
525 * sexy_url_label_new
526 *
527 * Creates a new SexyUrlLabel widget.
528 *
529 * Returns: a new #SexyUrlLabel.
530 */
531 GtkWidget *
532 sexy_url_label_new(void)
533 {
534 return g_object_new(SEXY_TYPE_URL_LABEL, NULL);
535 }
536
537 static void
538 sexy_url_label_clear_links(SexyUrlLabel *url_label)
539 {
540 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
541
542 if (priv->links == NULL)
543 return;
544
545 g_list_foreach(priv->links, (GFunc)g_free, NULL);
546 g_list_free(priv->links);
547 priv->links = NULL;
548 }
549
550 static void
551 sexy_url_label_clear_urls(SexyUrlLabel *url_label)
552 {
553 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
554
555 if (priv->urls == NULL)
556 return;
557
558 g_list_foreach(priv->urls, (GFunc)g_free, NULL);
559 g_list_free(priv->urls);
560 priv->urls = NULL;
561 }
562
563 static void
564 sexy_url_label_rescan_label(SexyUrlLabel *url_label)
565 {
566 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
567 PangoLayout *layout = gtk_label_get_layout(GTK_LABEL(url_label));
568 PangoAttrList *list = pango_layout_get_attributes(layout);
569 PangoAttrIterator *iter;
570 GList *url_list;
571
572 sexy_url_label_clear_links(url_label);
573
574 if (list == NULL)
575 return;
576
577 iter = pango_attr_list_get_iterator(list);
578
579 gtk_label_get_layout_offsets(GTK_LABEL(url_label),
580 &priv->layout_x, &priv->layout_y);
581
582 priv->layout_x -= GTK_WIDGET(url_label)->allocation.x;
583 priv->layout_y -= GTK_WIDGET(url_label)->allocation.y;
584
585 url_list = priv->urls;
586
587 do
588 {
589 PangoAttribute *underline;
590 PangoAttribute *color;
591
592 underline = pango_attr_iterator_get(iter, PANGO_ATTR_UNDERLINE);
593 color = pango_attr_iterator_get(iter, PANGO_ATTR_FOREGROUND);
594
595 if (underline != NULL && color != NULL)
596 {
597 gint start, end;
598 PangoRectangle start_pos;
599 PangoRectangle end_pos;
600 SexyUrlLabelLink *link;
601
602 pango_attr_iterator_range(iter, &start, &end);
603 pango_layout_index_to_pos(layout, start, &start_pos);
604 pango_layout_index_to_pos(layout, end, &end_pos);
605
606 link = g_new0(SexyUrlLabelLink, 1);
607 link->start = start;
608 link->end = end;
609 link->url = (const gchar *)url_list->data;
610 priv->links = g_list_append(priv->links, link);
611
612 url_list = url_list->next;
613 }
614
615 } while (pango_attr_iterator_next(iter));
616
617 pango_attr_iterator_destroy (iter);
618 }
619
620 static void
621 start_element_handler(GMarkupParseContext *context,
622 const gchar *element_name,
623 const gchar **attribute_names,
624 const gchar **attribute_values,
625 gpointer user_data,
626 GError **error)
627 {
628 SexyUrlLabel *url_label = SEXY_URL_LABEL(user_data);
629 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
630
631 if (!strcmp(element_name, "a"))
632 {
633 const gchar *url = NULL;
634 int line_number;
635 int char_number;
636 int i;
637
638 g_markup_parse_context_get_position(context, &line_number,
639 &char_number);
640
641 for (i = 0; attribute_names[i] != NULL; i++)
642 {
643 const gchar *attr = attribute_names[i];
644
645 if (!strcmp(attr, "href"))
646 {
647 if (url != NULL)
648 {
649 g_set_error(error, G_MARKUP_ERROR,
650 G_MARKUP_ERROR_INVALID_CONTENT,
651 "Attribute '%s' occurs twice on <a> tag "
652 "on line %d char %d, may only occur once",
653 attribute_names[i], line_number, char_number);
654 return;
655 }
656
657 url = attribute_values[i];
658 }
659 else
660 {
661 g_set_error(error, G_MARKUP_ERROR,
662 G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE,
663 "Attribute '%s' is not allowed on the <a> tag "
664 "on line %d char %d",
665 attribute_names[i], line_number, char_number);
666 return;
667 }
668 }
669
670 if (url == NULL)
671 {
672 g_set_error(error, G_MARKUP_ERROR,
673 G_MARKUP_ERROR_INVALID_CONTENT,
674 "Attribute 'href' was missing on the <a> tag "
675 "on line %d char %d",
676 line_number, char_number);
677 return;
678 }
679
680 g_string_append(priv->temp_markup_result,
681 "<span color=\"blue\" underline=\"single\">");
682
683 priv->urls = g_list_append(priv->urls, g_strdup(url));
684 }
685 else
686 {
687 int i;
688
689 g_string_append_printf(priv->temp_markup_result,
690 "<%s", element_name);
691
692 for (i = 0; attribute_names[i] != NULL; i++)
693 {
694 const gchar *attr = attribute_names[i];
695 const gchar *value = attribute_values[i];
696
697 g_string_append_printf(priv->temp_markup_result,
698 " %s=\"%s\"",
699 attr, value);
700 }
701
702 g_string_append_c(priv->temp_markup_result, '>');
703 }
704 }
705
706 static void
707 end_element_handler(GMarkupParseContext *context,
708 const gchar *element_name,
709 gpointer user_data,
710 GError **error)
711 {
712 SexyUrlLabel *url_label = SEXY_URL_LABEL(user_data);
713 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
714
715 if (!strcmp(element_name, "a"))
716 {
717 g_string_append(priv->temp_markup_result, "</span>");
718 }
719 else
720 {
721 g_string_append_printf(priv->temp_markup_result,
722 "</%s>", element_name);
723 }
724 }
725
726 static void
727 text_handler(GMarkupParseContext *context,
728 const gchar *text,
729 gsize text_len,
730 gpointer user_data,
731 GError **error)
732 {
733 SexyUrlLabel *url_label = SEXY_URL_LABEL(user_data);
734 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
735
736 gchar *newtext = g_markup_escape_text(text, text_len);
737 g_string_append_len(priv->temp_markup_result, newtext, strlen (newtext));
738 g_free (newtext);
739 }
740
741 static const GMarkupParser markup_parser =
742 {
743 start_element_handler,
744 end_element_handler,
745 text_handler,
746 NULL,
747 NULL
748 };
749
750 static gboolean
751 xml_isspace(char c)
752 {
753 return (c == ' ' || c == '\t' || c == '\n' || c == '\r');
754 }
755
756 static gboolean
757 parse_custom_markup(SexyUrlLabel *url_label, const gchar *markup,
758 gchar **ret_markup)
759 {
760 GMarkupParseContext *context = NULL;
761 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
762 GError *error = NULL;
763 const gchar *p, *end;
764 gboolean needs_root = TRUE;
765 gsize length;
766
767 g_return_val_if_fail(markup != NULL, FALSE);
768 g_return_val_if_fail(ret_markup != NULL, FALSE);
769
770 priv->temp_markup_result = g_string_new(NULL);
771
772 length = strlen(markup);
773 p = markup;
774 end = markup + length;
775
776 while (p != end && xml_isspace(*p))
777 p++;
778
779 if (end - p >= 8 && strncmp(p, "<markup>", 8) == 0)
780 needs_root = FALSE;
781
782 context = g_markup_parse_context_new(&markup_parser, 0, url_label, NULL);
783
784 if (needs_root)
785 {
786 if (!g_markup_parse_context_parse(context, "<markup>", -1, &error))
787 goto failed;
788 }
789
790 if (!g_markup_parse_context_parse(context, markup, strlen(markup), &error))
791 goto failed;
792
793 if (needs_root)
794 {
795 if (!g_markup_parse_context_parse(context, "</markup>", -1, &error))
796 goto failed;
797 }
798
799 if (!g_markup_parse_context_end_parse(context, &error))
800 goto failed;
801
802 if (error != NULL)
803 g_error_free(error);
804
805 g_markup_parse_context_free(context);
806
807 *ret_markup = g_string_free(priv->temp_markup_result, FALSE);
808 priv->temp_markup_result = NULL;
809
810 return TRUE;
811
812 failed:
813 fprintf(stderr, "Unable to parse markup: %s\n", error->message);
814 g_error_free(error);
815
816 g_string_free(priv->temp_markup_result, TRUE);
817 priv->temp_markup_result = NULL;
818
819 g_markup_parse_context_free(context);
820 return FALSE;
821 }
822
823 /**
824 * sexy_url_label_set_markup
825 * @url_label: A #SexyUrlLabel.
826 * @markup: a markup string (see <link linkend="PangoMarkupFormat">Pango markup format</link>)
827 *
828 * Parses @markup which is marked up with the <link
829 * linkend="PangoMarkupFormat">Pango text markup language</link> as well as
830 * HTML-style hyperlinks, setting the label's text and attribute list based
831 * on the parse results. If the @markup is external data, you may need to
832 * escape it with g_markup_escape_text() or g_markup_printf_escaped()
833 */
834 void
835 sexy_url_label_set_markup(SexyUrlLabel *url_label, const gchar *markup)
836 {
837 SexyUrlLabelPrivate *priv;
838 gchar *new_markup;
839
840 g_return_if_fail(SEXY_IS_URL_LABEL(url_label));
841
842 priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
843
844 sexy_url_label_clear_links(url_label);
845 sexy_url_label_clear_urls(url_label);
846
847 if (markup == NULL || *markup == '\0')
848 {
849 gtk_label_set_markup(GTK_LABEL(url_label), "");
850 return;
851 }
852
853 if (parse_custom_markup(url_label, markup, &new_markup))
854 {
855 gtk_label_set_markup(GTK_LABEL(url_label), new_markup);
856 g_free(new_markup);
857 }
858 else
859 {
860 gtk_label_set_markup(GTK_LABEL(url_label), "");
861 }
862
863 sexy_url_label_rescan_label(url_label);
864
865 update_wrap_width(url_label, priv->wrap_width);
866 }
867
868 // vim:ts=4 sw=4
+0
-73
src/sexy-url-label.h less more
0 /*
1 * @file libsexy/sexy-url-label.h URL Label
2 *
3 * @Copyright (C) 2005-2006 Christian Hammond
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the
17 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 * Boston, MA 02111-1307, USA.
19 */
20 #ifndef _SEXY_URL_LABEL_H_
21 #define _SEXY_URL_LABEL_H_
22
23 typedef struct _SexyUrlLabel SexyUrlLabel;
24 typedef struct _SexyUrlLabelClass SexyUrlLabelClass;
25
26 #include <gtk/gtklabel.h>
27
28 #define SEXY_TYPE_URL_LABEL (sexy_url_label_get_type())
29 #define SEXY_URL_LABEL(obj) \
30 (G_TYPE_CHECK_INSTANCE_CAST((obj), SEXY_TYPE_URL_LABEL, SexyUrlLabel))
31 #define SEXY_URL_LABEL_CLASS(klass) \
32 (G_TYPE_CHECK_CLASS_CAST((klass), SEXY_TYPE_URL_LABEL, SexyUrlLabelClass))
33 #define SEXY_IS_URL_LABEL(obj) \
34 (G_TYPE_CHECK_INSTANCE_TYPE((obj), SEXY_TYPE_URL_LABEL))
35 #define SEXY_IS_URL_LABEL_CLASS(klass) \
36 (G_TYPE_CHECK_CLASS_TYPE((klass), SEXY_TYPE_URL_LABEL))
37 #define SEXY_URL_LABEL_GET_CLASS(obj) \
38 (G_TYPE_INSTANCE_GET_CLASS ((obj), SEXY_TYPE_URL_LABEL, SexyUrlLabelClass))
39
40 struct _SexyUrlLabel
41 {
42 GtkLabel parent_object;
43
44 void (*gtk_reserved1)(void);
45 void (*gtk_reserved2)(void);
46 void (*gtk_reserved3)(void);
47 void (*gtk_reserved4)(void);
48 };
49
50 struct _SexyUrlLabelClass
51 {
52 GtkLabelClass parent_class;
53
54 /* Signals */
55 void (*url_activated)(SexyUrlLabel *url_label, const gchar *url);
56
57 void (*gtk_reserved1)(void);
58 void (*gtk_reserved2)(void);
59 void (*gtk_reserved3)(void);
60 void (*gtk_reserved4)(void);
61 };
62
63 G_BEGIN_DECLS
64
65 GType sexy_url_label_get_type(void);
66
67 GtkWidget *sexy_url_label_new(void);
68 void sexy_url_label_set_markup(SexyUrlLabel *url_label, const gchar *markup);
69
70 G_END_DECLS
71
72 #endif /* _SEXY_URL_LABEL_H_ */
+0
-48
tools/Makefile.am less more
0
1 bin_PROGRAMS = polkit-gnome-authorization
2
3 polkit_gnome_authorization_SOURCES = \
4 polkit-gnome-authorization.c \
5 sexy-url-label.h sexy-url-label.c
6
7 polkit_gnome_authorization_CPPFLAGS = \
8 -I$(top_srcdir) \
9 -DLIBEXECDIR=\""$(libexecdir)"\" \
10 -DDATADIR=\""$(pkgdatadir)"\" \
11 -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
12 $(DISABLE_DEPRECATED) \
13 $(AM_CPPFLAGS)
14
15 polkit_gnome_authorization_CFLAGS = \
16 $(GTK_CFLAGS) \
17 $(GCONF_CFLAGS) \
18 $(DBUS_GLIB_CFLAGS) \
19 $(POLKIT_DBUS_CFLAGS) \
20 $(POLKIT_GRANT_CFLAGS) \
21 $(WARN_CFLAGS) \
22 $(AM_CFLAGS)
23
24 polkit_gnome_authorization_LDFLAGS = \
25 $(AM_LDFLAGS)
26
27 polkit_gnome_authorization_LDADD = \
28 $(GTK_LIBS) \
29 $(GCONF_LIBS) \
30 $(DBUS_GLIB_LIBS) \
31 $(POLKIT_DBUS_LIBS) \
32 $(POLKIT_GRANT_LIBS) \
33 $(INTLLIBS) \
34 $(top_builddir)/polkit-gnome/libpolkit-gnome.la
35
36 BUILT_SOURCES = \
37 single-instance-glue.h
38
39 single-instance-glue.h: single-instance.xml Makefile.am
40 dbus-binding-tool --prefix=single_instance --mode=glib-server --output=single-instance-glue.h $(top_srcdir)/tools/single-instance.xml
41
42 CLEANFILES = $(BUILT_SOURCES)
43
44 EXTRA_DIST = single-instance.xml
45
46 clean-local :
47 rm -f *~
+0
-621
tools/Makefile.in less more
0 # Makefile.in generated by automake 1.10.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 VPATH = @srcdir@
17 pkgdatadir = $(datadir)/@PACKAGE@
18 pkglibdir = $(libdir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
20 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
21 install_sh_DATA = $(install_sh) -c -m 644
22 install_sh_PROGRAM = $(install_sh) -c
23 install_sh_SCRIPT = $(install_sh) -c
24 INSTALL_HEADER = $(INSTALL_DATA)
25 transform = $(program_transform_name)
26 NORMAL_INSTALL = :
27 PRE_INSTALL = :
28 POST_INSTALL = :
29 NORMAL_UNINSTALL = :
30 PRE_UNINSTALL = :
31 POST_UNINSTALL = :
32 build_triplet = @build@
33 host_triplet = @host@
34 bin_PROGRAMS = polkit-gnome-authorization$(EXEEXT)
35 subdir = tools
36 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
37 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
38 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
39 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
40 $(ACLOCAL_M4)
41 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
42 CONFIG_HEADER = $(top_builddir)/config.h
43 CONFIG_CLEAN_FILES =
44 am__installdirs = "$(DESTDIR)$(bindir)"
45 binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
46 PROGRAMS = $(bin_PROGRAMS)
47 am_polkit_gnome_authorization_OBJECTS = polkit_gnome_authorization-polkit-gnome-authorization.$(OBJEXT) \
48 polkit_gnome_authorization-sexy-url-label.$(OBJEXT)
49 polkit_gnome_authorization_OBJECTS = \
50 $(am_polkit_gnome_authorization_OBJECTS)
51 am__DEPENDENCIES_1 =
52 polkit_gnome_authorization_DEPENDENCIES = $(am__DEPENDENCIES_1) \
53 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
54 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
55 $(am__DEPENDENCIES_1) \
56 $(top_builddir)/polkit-gnome/libpolkit-gnome.la
57 polkit_gnome_authorization_LINK = $(LIBTOOL) --tag=CC \
58 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
59 $(polkit_gnome_authorization_CFLAGS) $(CFLAGS) \
60 $(polkit_gnome_authorization_LDFLAGS) $(LDFLAGS) -o $@
61 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
62 depcomp = $(SHELL) $(top_srcdir)/depcomp
63 am__depfiles_maybe = depfiles
64 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
65 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
66 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
67 --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
68 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
69 CCLD = $(CC)
70 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
71 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
72 $(LDFLAGS) -o $@
73 SOURCES = $(polkit_gnome_authorization_SOURCES)
74 DIST_SOURCES = $(polkit_gnome_authorization_SOURCES)
75 ETAGS = etags
76 CTAGS = ctags
77 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
78 ACLOCAL = @ACLOCAL@
79 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
80 ALL_LINGUAS = @ALL_LINGUAS@
81 AMTAR = @AMTAR@
82 AM_CFLAGS = @AM_CFLAGS@
83 AM_CPPFLAGS = @AM_CPPFLAGS@
84 AM_CXXFLAGS = @AM_CXXFLAGS@
85 AM_LDFLAGS = @AM_LDFLAGS@
86 AR = @AR@
87 AUTOCONF = @AUTOCONF@
88 AUTOHEADER = @AUTOHEADER@
89 AUTOMAKE = @AUTOMAKE@
90 AWK = @AWK@
91 CATALOGS = @CATALOGS@
92 CATOBJEXT = @CATOBJEXT@
93 CC = @CC@
94 CCDEPMODE = @CCDEPMODE@
95 CFLAGS = @CFLAGS@
96 CPP = @CPP@
97 CPPFLAGS = @CPPFLAGS@
98 CXX = @CXX@
99 CXXCPP = @CXXCPP@
100 CXXDEPMODE = @CXXDEPMODE@
101 CXXFLAGS = @CXXFLAGS@
102 CYGPATH_W = @CYGPATH_W@
103 DATADIRNAME = @DATADIRNAME@
104 DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@
105 DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@
106 DEFS = @DEFS@
107 DEPDIR = @DEPDIR@
108 DISABLE_DEPRECATED = @DISABLE_DEPRECATED@
109 DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
110 DOC_USER_FORMATS = @DOC_USER_FORMATS@
111 DSYMUTIL = @DSYMUTIL@
112 ECHO = @ECHO@
113 ECHO_C = @ECHO_C@
114 ECHO_N = @ECHO_N@
115 ECHO_T = @ECHO_T@
116 EGREP = @EGREP@
117 EXEEXT = @EXEEXT@
118 F77 = @F77@
119 FFLAGS = @FFLAGS@
120 GCONFTOOL = @GCONFTOOL@
121 GCONF_CFLAGS = @GCONF_CFLAGS@
122 GCONF_LIBS = @GCONF_LIBS@
123 GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
124 GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
125 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
126 GMOFILES = @GMOFILES@
127 GMSGFMT = @GMSGFMT@
128 GREP = @GREP@
129 GTKDOC_CHECK = @GTKDOC_CHECK@
130 GTK_CFLAGS = @GTK_CFLAGS@
131 GTK_LIBS = @GTK_LIBS@
132 HELP_DIR = @HELP_DIR@
133 HTML_DIR = @HTML_DIR@
134 INSTALL = @INSTALL@
135 INSTALL_DATA = @INSTALL_DATA@
136 INSTALL_PROGRAM = @INSTALL_PROGRAM@
137 INSTALL_SCRIPT = @INSTALL_SCRIPT@
138 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
139 INSTOBJEXT = @INSTOBJEXT@
140 INTLLIBS = @INTLLIBS@
141 INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
142 INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
143 INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
144 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
145 INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@
146 INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
147 INTLTOOL_MERGE = @INTLTOOL_MERGE@
148 INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
149 INTLTOOL_PERL = @INTLTOOL_PERL@
150 INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@
151 INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
152 INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
153 INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
154 INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
155 INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@
156 INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
157 INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
158 INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
159 INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
160 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
161 INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
162 INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@
163 INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
164 LDFLAGS = @LDFLAGS@
165 LIBOBJS = @LIBOBJS@
166 LIBS = @LIBS@
167 LIBTOOL = @LIBTOOL@
168 LN_S = @LN_S@
169 LTLIBOBJS = @LTLIBOBJS@
170 LT_AGE = @LT_AGE@
171 LT_CURRENT = @LT_CURRENT@
172 LT_REVISION = @LT_REVISION@
173 MAINT = @MAINT@
174 MAKEINFO = @MAKEINFO@
175 MKDIR_P = @MKDIR_P@
176 MKINSTALLDIRS = @MKINSTALLDIRS@
177 MSGFMT = @MSGFMT@
178 MSGFMT_OPTS = @MSGFMT_OPTS@
179 MSGMERGE = @MSGMERGE@
180 NMEDIT = @NMEDIT@
181 OBJEXT = @OBJEXT@
182 OMF_DIR = @OMF_DIR@
183 PACKAGE = @PACKAGE@
184 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
185 PACKAGE_NAME = @PACKAGE_NAME@
186 PACKAGE_STRING = @PACKAGE_STRING@
187 PACKAGE_TARNAME = @PACKAGE_TARNAME@
188 PACKAGE_VERSION = @PACKAGE_VERSION@
189 PATH_SEPARATOR = @PATH_SEPARATOR@
190 PKG_CONFIG = @PKG_CONFIG@
191 POFILES = @POFILES@
192 POLKIT_DBUS_CFLAGS = @POLKIT_DBUS_CFLAGS@
193 POLKIT_DBUS_LIBS = @POLKIT_DBUS_LIBS@
194 POLKIT_GRANT_CFLAGS = @POLKIT_GRANT_CFLAGS@
195 POLKIT_GRANT_LIBS = @POLKIT_GRANT_LIBS@
196 POLKIT_POLICY_FILE_VALIDATE = @POLKIT_POLICY_FILE_VALIDATE@
197 POSUB = @POSUB@
198 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
199 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
200 RANLIB = @RANLIB@
201 SED = @SED@
202 SET_MAKE = @SET_MAKE@
203 SHELL = @SHELL@
204 STRIP = @STRIP@
205 USE_NLS = @USE_NLS@
206 VERSION = @VERSION@
207 WARN_CFLAGS = @WARN_CFLAGS@
208 XGETTEXT = @XGETTEXT@
209 abs_builddir = @abs_builddir@
210 abs_srcdir = @abs_srcdir@
211 abs_top_builddir = @abs_top_builddir@
212 abs_top_srcdir = @abs_top_srcdir@
213 ac_ct_CC = @ac_ct_CC@
214 ac_ct_CXX = @ac_ct_CXX@
215 ac_ct_F77 = @ac_ct_F77@
216 am__include = @am__include@
217 am__leading_dot = @am__leading_dot@
218 am__quote = @am__quote@
219 am__tar = @am__tar@
220 am__untar = @am__untar@
221 bindir = @bindir@
222 build = @build@
223 build_alias = @build_alias@
224 build_cpu = @build_cpu@
225 build_os = @build_os@
226 build_vendor = @build_vendor@
227 builddir = @builddir@
228 datadir = @datadir@
229 datarootdir = @datarootdir@
230 docdir = @docdir@
231 dvidir = @dvidir@
232 exec_prefix = @exec_prefix@
233 host = @host@
234 host_alias = @host_alias@
235 host_cpu = @host_cpu@
236 host_os = @host_os@
237 host_vendor = @host_vendor@
238 htmldir = @htmldir@
239 includedir = @includedir@
240 infodir = @infodir@
241 install_sh = @install_sh@
242 libdir = @libdir@
243 libexecdir = @libexecdir@
244 localedir = @localedir@
245 localstatedir = @localstatedir@
246 mandir = @mandir@
247 mkdir_p = @mkdir_p@
248 oldincludedir = @oldincludedir@
249 pdfdir = @pdfdir@
250 prefix = @prefix@
251 program_transform_name = @program_transform_name@
252 psdir = @psdir@
253 sbindir = @sbindir@
254 sharedstatedir = @sharedstatedir@
255 srcdir = @srcdir@
256 sysconfdir = @sysconfdir@
257 target_alias = @target_alias@
258 top_build_prefix = @top_build_prefix@
259 top_builddir = @top_builddir@
260 top_srcdir = @top_srcdir@
261 polkit_gnome_authorization_SOURCES = \
262 polkit-gnome-authorization.c \
263 sexy-url-label.h sexy-url-label.c
264
265 polkit_gnome_authorization_CPPFLAGS = \
266 -I$(top_srcdir) \
267 -DLIBEXECDIR=\""$(libexecdir)"\" \
268 -DDATADIR=\""$(pkgdatadir)"\" \
269 -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
270 $(DISABLE_DEPRECATED) \
271 $(AM_CPPFLAGS)
272
273 polkit_gnome_authorization_CFLAGS = \
274 $(GTK_CFLAGS) \
275 $(GCONF_CFLAGS) \
276 $(DBUS_GLIB_CFLAGS) \
277 $(POLKIT_DBUS_CFLAGS) \
278 $(POLKIT_GRANT_CFLAGS) \
279 $(WARN_CFLAGS) \
280 $(AM_CFLAGS)
281
282 polkit_gnome_authorization_LDFLAGS = \
283 $(AM_LDFLAGS)
284
285 polkit_gnome_authorization_LDADD = \
286 $(GTK_LIBS) \
287 $(GCONF_LIBS) \
288 $(DBUS_GLIB_LIBS) \
289 $(POLKIT_DBUS_LIBS) \
290 $(POLKIT_GRANT_LIBS) \
291 $(INTLLIBS) \
292 $(top_builddir)/polkit-gnome/libpolkit-gnome.la
293
294 BUILT_SOURCES = \
295 single-instance-glue.h
296
297 CLEANFILES = $(BUILT_SOURCES)
298 EXTRA_DIST = single-instance.xml
299 all: $(BUILT_SOURCES)
300 $(MAKE) $(AM_MAKEFLAGS) all-am
301
302 .SUFFIXES:
303 .SUFFIXES: .c .lo .o .obj
304 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
305 @for dep in $?; do \
306 case '$(am__configure_deps)' in \
307 *$$dep*) \
308 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
309 && exit 0; \
310 exit 1;; \
311 esac; \
312 done; \
313 echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tools/Makefile'; \
314 cd $(top_srcdir) && \
315 $(AUTOMAKE) --foreign tools/Makefile
316 .PRECIOUS: Makefile
317 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
318 @case '$?' in \
319 *config.status*) \
320 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
321 *) \
322 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
323 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
324 esac;
325
326 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
327 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
328
329 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
330 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
331 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
332 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
333 install-binPROGRAMS: $(bin_PROGRAMS)
334 @$(NORMAL_INSTALL)
335 test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
336 @list='$(bin_PROGRAMS)'; for p in $$list; do \
337 p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
338 if test -f $$p \
339 || test -f $$p1 \
340 ; then \
341 f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
342 echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
343 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
344 else :; fi; \
345 done
346
347 uninstall-binPROGRAMS:
348 @$(NORMAL_UNINSTALL)
349 @list='$(bin_PROGRAMS)'; for p in $$list; do \
350 f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
351 echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
352 rm -f "$(DESTDIR)$(bindir)/$$f"; \
353 done
354
355 clean-binPROGRAMS:
356 @list='$(bin_PROGRAMS)'; for p in $$list; do \
357 f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
358 echo " rm -f $$p $$f"; \
359 rm -f $$p $$f ; \
360 done
361 polkit-gnome-authorization$(EXEEXT): $(polkit_gnome_authorization_OBJECTS) $(polkit_gnome_authorization_DEPENDENCIES)
362 @rm -f polkit-gnome-authorization$(EXEEXT)
363 $(polkit_gnome_authorization_LINK) $(polkit_gnome_authorization_OBJECTS) $(polkit_gnome_authorization_LDADD) $(LIBS)
364
365 mostlyclean-compile:
366 -rm -f *.$(OBJEXT)
367
368 distclean-compile:
369 -rm -f *.tab.c
370
371 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polkit_gnome_authorization-polkit-gnome-authorization.Po@am__quote@
372 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/polkit_gnome_authorization-sexy-url-label.Po@am__quote@
373
374 .c.o:
375 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
376 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
377 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
378 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
379 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
380
381 .c.obj:
382 @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
383 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
384 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
385 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
386 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
387
388 .c.lo:
389 @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
390 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
391 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
392 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
393 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
394
395 polkit_gnome_authorization-polkit-gnome-authorization.o: polkit-gnome-authorization.c
396 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authorization_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authorization_CFLAGS) $(CFLAGS) -MT polkit_gnome_authorization-polkit-gnome-authorization.o -MD -MP -MF $(DEPDIR)/polkit_gnome_authorization-polkit-gnome-authorization.Tpo -c -o polkit_gnome_authorization-polkit-gnome-authorization.o `test -f 'polkit-gnome-authorization.c' || echo '$(srcdir)/'`polkit-gnome-authorization.c
397 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/polkit_gnome_authorization-polkit-gnome-authorization.Tpo $(DEPDIR)/polkit_gnome_authorization-polkit-gnome-authorization.Po
398 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkit-gnome-authorization.c' object='polkit_gnome_authorization-polkit-gnome-authorization.o' libtool=no @AMDEPBACKSLASH@
399 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
400 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authorization_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authorization_CFLAGS) $(CFLAGS) -c -o polkit_gnome_authorization-polkit-gnome-authorization.o `test -f 'polkit-gnome-authorization.c' || echo '$(srcdir)/'`polkit-gnome-authorization.c
401
402 polkit_gnome_authorization-polkit-gnome-authorization.obj: polkit-gnome-authorization.c
403 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authorization_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authorization_CFLAGS) $(CFLAGS) -MT polkit_gnome_authorization-polkit-gnome-authorization.obj -MD -MP -MF $(DEPDIR)/polkit_gnome_authorization-polkit-gnome-authorization.Tpo -c -o polkit_gnome_authorization-polkit-gnome-authorization.obj `if test -f 'polkit-gnome-authorization.c'; then $(CYGPATH_W) 'polkit-gnome-authorization.c'; else $(CYGPATH_W) '$(srcdir)/polkit-gnome-authorization.c'; fi`
404 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/polkit_gnome_authorization-polkit-gnome-authorization.Tpo $(DEPDIR)/polkit_gnome_authorization-polkit-gnome-authorization.Po
405 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='polkit-gnome-authorization.c' object='polkit_gnome_authorization-polkit-gnome-authorization.obj' libtool=no @AMDEPBACKSLASH@
406 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
407 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authorization_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authorization_CFLAGS) $(CFLAGS) -c -o polkit_gnome_authorization-polkit-gnome-authorization.obj `if test -f 'polkit-gnome-authorization.c'; then $(CYGPATH_W) 'polkit-gnome-authorization.c'; else $(CYGPATH_W) '$(srcdir)/polkit-gnome-authorization.c'; fi`
408
409 polkit_gnome_authorization-sexy-url-label.o: sexy-url-label.c
410 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authorization_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authorization_CFLAGS) $(CFLAGS) -MT polkit_gnome_authorization-sexy-url-label.o -MD -MP -MF $(DEPDIR)/polkit_gnome_authorization-sexy-url-label.Tpo -c -o polkit_gnome_authorization-sexy-url-label.o `test -f 'sexy-url-label.c' || echo '$(srcdir)/'`sexy-url-label.c
411 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/polkit_gnome_authorization-sexy-url-label.Tpo $(DEPDIR)/polkit_gnome_authorization-sexy-url-label.Po
412 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sexy-url-label.c' object='polkit_gnome_authorization-sexy-url-label.o' libtool=no @AMDEPBACKSLASH@
413 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
414 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authorization_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authorization_CFLAGS) $(CFLAGS) -c -o polkit_gnome_authorization-sexy-url-label.o `test -f 'sexy-url-label.c' || echo '$(srcdir)/'`sexy-url-label.c
415
416 polkit_gnome_authorization-sexy-url-label.obj: sexy-url-label.c
417 @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authorization_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authorization_CFLAGS) $(CFLAGS) -MT polkit_gnome_authorization-sexy-url-label.obj -MD -MP -MF $(DEPDIR)/polkit_gnome_authorization-sexy-url-label.Tpo -c -o polkit_gnome_authorization-sexy-url-label.obj `if test -f 'sexy-url-label.c'; then $(CYGPATH_W) 'sexy-url-label.c'; else $(CYGPATH_W) '$(srcdir)/sexy-url-label.c'; fi`
418 @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/polkit_gnome_authorization-sexy-url-label.Tpo $(DEPDIR)/polkit_gnome_authorization-sexy-url-label.Po
419 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='sexy-url-label.c' object='polkit_gnome_authorization-sexy-url-label.obj' libtool=no @AMDEPBACKSLASH@
420 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
421 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(polkit_gnome_authorization_CPPFLAGS) $(CPPFLAGS) $(polkit_gnome_authorization_CFLAGS) $(CFLAGS) -c -o polkit_gnome_authorization-sexy-url-label.obj `if test -f 'sexy-url-label.c'; then $(CYGPATH_W) 'sexy-url-label.c'; else $(CYGPATH_W) '$(srcdir)/sexy-url-label.c'; fi`
422
423 mostlyclean-libtool:
424 -rm -f *.lo
425
426 clean-libtool:
427 -rm -rf .libs _libs
428
429 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
430 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
431 unique=`for i in $$list; do \
432 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
433 done | \
434 $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
435 END { if (nonempty) { for (i in files) print i; }; }'`; \
436 mkid -fID $$unique
437 tags: TAGS
438
439 TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
440 $(TAGS_FILES) $(LISP)
441 tags=; \
442 here=`pwd`; \
443 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
444 unique=`for i in $$list; do \
445 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
446 done | \
447 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
448 END { if (nonempty) { for (i in files) print i; }; }'`; \
449 if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
450 test -n "$$unique" || unique=$$empty_fix; \
451 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
452 $$tags $$unique; \
453 fi
454 ctags: CTAGS
455 CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
456 $(TAGS_FILES) $(LISP)
457 tags=; \
458 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
459 unique=`for i in $$list; do \
460 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
461 done | \
462 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
463 END { if (nonempty) { for (i in files) print i; }; }'`; \
464 test -z "$(CTAGS_ARGS)$$tags$$unique" \
465 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
466 $$tags $$unique
467
468 GTAGS:
469 here=`$(am__cd) $(top_builddir) && pwd` \
470 && cd $(top_srcdir) \
471 && gtags -i $(GTAGS_ARGS) $$here
472
473 distclean-tags:
474 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
475
476 distdir: $(DISTFILES)
477 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
478 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
479 list='$(DISTFILES)'; \
480 dist_files=`for file in $$list; do echo $$file; done | \
481 sed -e "s|^$$srcdirstrip/||;t" \
482 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
483 case $$dist_files in \
484 */*) $(MKDIR_P) `echo "$$dist_files" | \
485 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
486 sort -u` ;; \
487 esac; \
488 for file in $$dist_files; do \
489 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
490 if test -d $$d/$$file; then \
491 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
492 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
493 cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
494 fi; \
495 cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
496 else \
497 test -f $(distdir)/$$file \
498 || cp -p $$d/$$file $(distdir)/$$file \
499 || exit 1; \
500 fi; \
501 done
502 check-am: all-am
503 check: $(BUILT_SOURCES)
504 $(MAKE) $(AM_MAKEFLAGS) check-am
505 all-am: Makefile $(PROGRAMS)
506 installdirs:
507 for dir in "$(DESTDIR)$(bindir)"; do \
508 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
509 done
510 install: $(BUILT_SOURCES)
511 $(MAKE) $(AM_MAKEFLAGS) install-am
512 install-exec: install-exec-am
513 install-data: install-data-am
514 uninstall: uninstall-am
515
516 install-am: all-am
517 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
518
519 installcheck: installcheck-am
520 install-strip:
521 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
522 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
523 `test -z '$(STRIP)' || \
524 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
525 mostlyclean-generic:
526
527 clean-generic:
528 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
529
530 distclean-generic:
531 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
532
533 maintainer-clean-generic:
534 @echo "This command is intended for maintainers to use"
535 @echo "it deletes files that may require special tools to rebuild."
536 -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
537 clean: clean-am
538
539 clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \
540 mostlyclean-am
541
542 distclean: distclean-am
543 -rm -rf ./$(DEPDIR)
544 -rm -f Makefile
545 distclean-am: clean-am distclean-compile distclean-generic \
546 distclean-tags
547
548 dvi: dvi-am
549
550 dvi-am:
551
552 html: html-am
553
554 info: info-am
555
556 info-am:
557
558 install-data-am:
559
560 install-dvi: install-dvi-am
561
562 install-exec-am: install-binPROGRAMS
563
564 install-html: install-html-am
565
566 install-info: install-info-am
567
568 install-man:
569
570 install-pdf: install-pdf-am
571
572 install-ps: install-ps-am
573
574 installcheck-am:
575
576 maintainer-clean: maintainer-clean-am
577 -rm -rf ./$(DEPDIR)
578 -rm -f Makefile
579 maintainer-clean-am: distclean-am maintainer-clean-generic
580
581 mostlyclean: mostlyclean-am
582
583 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
584 mostlyclean-libtool
585
586 pdf: pdf-am
587
588 pdf-am:
589
590 ps: ps-am
591
592 ps-am:
593
594 uninstall-am: uninstall-binPROGRAMS
595
596 .MAKE: install-am install-strip
597
598 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
599 clean-generic clean-libtool clean-local ctags distclean \
600 distclean-compile distclean-generic distclean-libtool \
601 distclean-tags distdir dvi dvi-am html html-am info info-am \
602 install install-am install-binPROGRAMS install-data \
603 install-data-am install-dvi install-dvi-am install-exec \
604 install-exec-am install-html install-html-am install-info \
605 install-info-am install-man install-pdf install-pdf-am \
606 install-ps install-ps-am install-strip installcheck \
607 installcheck-am installdirs maintainer-clean \
608 maintainer-clean-generic mostlyclean mostlyclean-compile \
609 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
610 tags uninstall uninstall-am uninstall-binPROGRAMS
611
612
613 single-instance-glue.h: single-instance.xml Makefile.am
614 dbus-binding-tool --prefix=single_instance --mode=glib-server --output=single-instance-glue.h $(top_srcdir)/tools/single-instance.xml
615
616 clean-local :
617 rm -f *~
618 # Tell versions [3.59,3.63) of GNU make to not export all variables.
619 # Otherwise a system limit (for SysV at least) may be exceeded.
620 .NOEXPORT:
+0
-2461
tools/polkit-gnome-authorization.c less more
0 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
1 *
2 * polkit-gnome-authorization: View and manage authorizations
3 *
4 * Copyright (C) 2007 David Zeuthen <david@fubar.dk>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 *
20 */
21
22 #ifdef HAVE_CONFIG_H
23 # include "config.h"
24 #endif
25
26 #include <stdlib.h>
27 #include <sys/types.h>
28 #include <sys/time.h>
29 #include <unistd.h>
30 #include <string.h>
31 #include <pwd.h>
32 #include <errno.h>
33
34 #include <glib/gi18n.h>
35 #include <dbus/dbus-glib.h>
36 #include <dbus/dbus-glib-lowlevel.h>
37 #include <polkit-gnome/polkit-gnome.h>
38
39 #include "sexy-url-label.h"
40
41 static GType boxed_pfe_type;
42
43 enum
44 {
45 ICON_COLUMN,
46 ACTION_ID_COLUMN,
47 ACTION_NAME_COLUMN,
48 PFE_COLUMN,
49 N_COLUMNS
50 };
51
52 enum
53 {
54 EXPLICIT_ICON_COLUMN,
55 EXPLICIT_ENTITY_NAME_COLUMN,
56 EXPLICIT_SCOPE_COLUMN,
57 EXPLICIT_CONSTRAINTS_COLUMN,
58 EXPLICIT_OBTAINED_COLUMN,
59 EXPLICIT_OBTAINED_HOW_COLUMN,
60 EXPLICIT_AUTH_OBJECT_COLUMN,
61 EXPLICIT_N_COLUMNS
62 };
63
64 static GdkPixbuf *person_pixbuf;
65 static GdkPixbuf *action_pixbuf;
66 static GdkPixbuf *namespace_pixbuf;
67 static GdkPixbuf *stop_pixbuf;
68
69 static GtkWidget *toplevel_window = NULL;
70 static GtkWidget *notebook;
71 static GtkTreeStore *action_store;
72 static GtkWidget *action_treeview = NULL;
73 static PolKitGnomeContext *pkgc;
74
75 static GtkListStore *authlist_store;
76 static GtkWidget *summary_box;
77
78 static GtkWidget *summary_action_icon;
79 static GtkWidget *summary_action_id_label;
80 static GtkWidget *summary_action_desc_label;
81 static GtkWidget *summary_label_any;
82 static GtkWidget *summary_label_inactive;
83 static GtkWidget *summary_label_active;
84 static GtkWidget *summary_action_vendor_label;
85
86 static PolKitAction *pk_read_action;
87 static PolKitAction *pk_revoke_action;
88 static PolKitAction *pk_grant_action;
89 static PolKitAction *pk_modify_defaults_action;
90
91 static PolKitGnomeToggleAction *read_action;
92 static PolKitGnomeAction *revoke_action;
93 static PolKitGnomeAction *revert_to_defaults_action;
94
95 static GtkWidget *authlist_treeview;
96
97 static GtkTreeSelection *action_treeselect;
98 static GtkTreeSelection *authlist_treeselect;
99
100 static GtkWidget *grant_button;
101 static GtkWidget *block_button;
102
103 static GSList *reffed_auths = NULL;
104
105 static GtkWidget *edit_impl_button;
106 static GtkWidget *revert_impl_button;
107
108
109 typedef struct {
110 PolKitResult result;
111 char *text;
112 } EditImplResult;
113
114 static EditImplResult edit_impl_result_options[POLKIT_RESULT_N_RESULTS - 1] = {
115
116 {POLKIT_RESULT_NO, N_("No")},
117
118 {POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_ONE_SHOT, N_("Admin Authentication (one shot)")},
119 {POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH, N_("Admin Authentication")},
120 {POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_SESSION, N_("Admin Authentication (keep session)")},
121 {POLKIT_RESULT_ONLY_VIA_ADMIN_AUTH_KEEP_ALWAYS, N_("Admin Authentication (keep indefinitely)")},
122
123 {POLKIT_RESULT_ONLY_VIA_SELF_AUTH_ONE_SHOT, N_("Authentication (one shot)")},
124 {POLKIT_RESULT_ONLY_VIA_SELF_AUTH, N_("Authentication")},
125 {POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_SESSION, N_("Authentication (keep session)")},
126 {POLKIT_RESULT_ONLY_VIA_SELF_AUTH_KEEP_ALWAYS, N_("Authentication (keep indefinitely)")},
127
128 {POLKIT_RESULT_YES, N_("Yes")},
129
130 };
131
132 static char *
133 _get_string_for_polkit_result (PolKitResult result)
134 {
135 int n;
136 for (n = 0; n < POLKIT_RESULT_N_RESULTS - 1; n++) {
137 if (edit_impl_result_options[n].result == result)
138 return edit_impl_result_options[n].text;
139 }
140
141 return NULL;
142 }
143
144 static char *
145 make_breakable (const char *string, char break_char)
146 {
147 int n;
148 char **tokens;
149 GString *str;
150 char break_str[] = {break_char, '\0'};
151
152 tokens = g_strsplit (string, break_str, 0);
153 str = g_string_new ("");
154 for (n = 0; tokens[n] != NULL; n++) {
155 g_string_append (str, tokens[n]);
156 if (tokens[n+1] != NULL) {
157 g_string_append_c (str, '.');
158 /* U+200B ZERO WIDTH SPACE (this character is intended for line break control; it has no
159 * width, but its presence between two characters does not prevent increased letter
160 * spacing in justification)
161 */
162 g_string_append_unichar (str, 0x200b);
163 }
164 }
165 g_strfreev (tokens);
166
167 return g_string_free (str, FALSE);
168 }
169
170 static GdkPixbuf *
171 get_face_for_pw (struct passwd *pw)
172 {
173 GdkPixbuf *pixbuf;
174
175 pixbuf = NULL;
176 if (pw != NULL && pw->pw_dir != NULL) {
177 char *path;
178 path = g_strdup_printf ("%s/.face", pw->pw_dir);
179 pixbuf = gdk_pixbuf_new_from_file_at_scale (path, 24, 24, TRUE, NULL);
180 g_free (path);
181 }
182
183 /* fall back to stock_person icon */
184 if (pixbuf == NULL)
185 pixbuf = g_object_ref (person_pixbuf);
186
187 return pixbuf;
188 }
189
190 static GdkPixbuf *
191 get_face_for_uid (uid_t uid)
192 {
193 return get_face_for_pw (getpwuid (uid));
194 }
195
196 typedef struct
197 {
198 GtkWidget *vbox;
199 const char *action_id;
200 PolKitCaller *self;
201 PolKitSession *self_session;
202 char *self_session_objpath;
203 polkit_bool_t self_is_local;
204 polkit_bool_t self_is_active;
205 int num_entries;
206 } AuthClosure;
207
208 static PolKitPolicyFileEntry *
209 get_selected_pfe (GtkTreeView *treeview)
210 {
211 PolKitPolicyFileEntry *pfe;
212 GtkTreePath *path;
213 GtkTreeModel *treemodel;
214
215 pfe = NULL;
216
217 treemodel = gtk_tree_view_get_model (treeview);
218 gtk_tree_view_get_cursor (treeview, &path, NULL);
219 if (path != NULL) {
220 GtkTreeIter iter;
221
222 if (gtk_tree_model_get_iter (treemodel, &iter, path)) {
223
224 gtk_tree_model_get (treemodel, &iter,
225 PFE_COLUMN,
226 &pfe,
227 -1);
228 }
229 gtk_tree_path_free (path);
230 }
231
232 return pfe;
233 }
234
235 #if 0
236 static char *
237 get_selected_action_id (GtkTreeView *treeview)
238 {
239 char *action_id;
240 GtkTreePath *path;
241 GtkTreeModel *treemodel;
242
243 action_id = NULL;
244
245 treemodel = gtk_tree_view_get_model (treeview);
246 gtk_tree_view_get_cursor (treeview, &path, NULL);
247 if (path != NULL) {
248 GtkTreeIter iter;
249
250 if (gtk_tree_model_get_iter (treemodel, &iter, path)) {
251
252 gtk_tree_model_get (treemodel, &iter,
253 ACTION_ID_COLUMN,
254 &action_id,
255 -1);
256 }
257 gtk_tree_path_free (path);
258 }
259
260 return action_id;
261 }
262 #endif
263
264 static polkit_bool_t
265 _build_constraint_string (PolKitAuthorization *auth, PolKitAuthorizationConstraint *authc, void *user_data)
266 {
267 char buf[128];
268 GString *str = (GString *) user_data;
269
270 if (str->len > 0)
271 g_string_append (str, _(", "));
272
273 switch (polkit_authorization_constraint_type (authc)) {
274 case POLKIT_AUTHORIZATION_CONSTRAINT_TYPE_REQUIRE_LOCAL:
275 g_string_append (str, _("Must be on console"));
276 break;
277 case POLKIT_AUTHORIZATION_CONSTRAINT_TYPE_REQUIRE_ACTIVE:
278 g_string_append (str, _("Must be in active session"));
279 break;
280 case POLKIT_AUTHORIZATION_CONSTRAINT_TYPE_REQUIRE_EXE:
281 g_string_append_printf (str, _("Must be program %s"),
282 polkit_authorization_constraint_get_exe (authc));
283 break;
284 case POLKIT_AUTHORIZATION_CONSTRAINT_TYPE_REQUIRE_SELINUX_CONTEXT:
285 g_string_append_printf (str, _("Must be SELinux Context %s"),
286 polkit_authorization_constraint_get_selinux_context (authc));
287 break;
288 default:
289 buf[sizeof (buf) - 1] = '\0';
290 polkit_authorization_constraint_to_string (authc, buf, sizeof (buf) - 1);
291 g_string_append (str, buf);
292 break;
293 }
294
295 return FALSE;
296 }
297
298 static polkit_bool_t
299 add_authorization (PolKitAuthorizationDB *authdb,
300 PolKitAuthorization *auth,
301 void *user_data)
302 {
303 time_t time_granted;
304 struct timeval now;
305 uid_t for_uid;
306 char *for_user;
307 pid_t pid;
308 polkit_uint64_t pid_start_time;
309 AuthClosure *ac = (AuthClosure *) user_data;
310 struct passwd *pw;
311 DBusError dbus_error;
312 char *scope;
313 uid_t auth_uid, pimp_uid;
314 polkit_bool_t is_negative;
315 char *how;
316 char *time_string;
317 gint64 delta;
318 char *constraint_string;
319 char exe[512];
320 GString *str;
321
322 is_negative = FALSE;
323
324 if (strcmp (polkit_authorization_get_action_id (auth), ac->action_id) != 0)
325 goto out;
326
327 dbus_error_init (&dbus_error);
328 if (!polkit_tracker_is_authorization_relevant (pkgc->pk_tracker, auth, &dbus_error)) {
329 if (dbus_error_is_set (&dbus_error)) {
330 g_warning ("Cannot determine if authorization is relevant: %s: %s",
331 dbus_error.name,
332 dbus_error.message);
333 dbus_error_free (&dbus_error);
334 } else {
335 goto out;
336 }
337 }
338
339 time_granted = polkit_authorization_get_time_of_grant (auth);
340 gettimeofday (&now, NULL);
341 delta = (gint64) (now.tv_sec - time_granted);
342 if (delta < 60)
343 time_string = g_strdup (_("A moment ago"));
344 else if (delta < (60 * 60)) {
345 int minutes = (int) (delta / 60);
346 if (minutes == 1)
347 time_string = g_strdup (_("1 minute ago"));
348 else
349 time_string = g_strdup_printf (_("%d minutes ago"), minutes);
350 } else if (delta < (24 * 60 * 60)) {
351 int hours = (int) (delta / (60 * 60));
352 if (hours == 1)
353 time_string = g_strdup (_("1 hour ago"));
354 else
355 time_string = g_strdup_printf (_("%d hours ago"), hours);
356 } else {
357 int days = (int) (delta / (24 * 60 * 60));
358 if (days == 1)
359 time_string = g_strdup (_("1 day ago"));
360 else
361 time_string = g_strdup_printf (_("%d days ago"), days);
362 }
363
364 for_uid = polkit_authorization_get_uid (auth);
365 pw = getpwuid (for_uid);
366 if (pw != NULL)
367 if (pw->pw_gecos != NULL && strlen (pw->pw_gecos) > 0)
368 for_user = g_strdup_printf ("%s (%s)", pw->pw_gecos, pw->pw_name);
369 else
370 for_user = g_strdup_printf ("%s", pw->pw_name);
371 else
372 for_user = g_strdup_printf ("uid %d", for_uid);
373
374 how = NULL;
375 if (polkit_authorization_was_granted_via_defaults (auth, &auth_uid)) {
376 pw = getpwuid (auth_uid);
377 if (pw != NULL)
378 how = g_strdup_printf (_("Auth as %s (uid %d)"), pw->pw_name, auth_uid);
379 else
380 how = g_strdup_printf (_("Auth as uid %d"), auth_uid);
381
382 } else if (polkit_authorization_was_granted_explicitly (auth, &pimp_uid, &is_negative)) {
383 pw = getpwuid (pimp_uid);
384 if (is_negative) {
385 if (pw != NULL)
386 how = g_strdup_printf (_("Blocked by %s (uid %d)"), pw->pw_name, pimp_uid);
387 else
388 how = g_strdup_printf (_("Blocked by uid %d"), pimp_uid);
389 } else {
390 if (pw != NULL)
391 how = g_strdup_printf (_("Granted by %s (uid %d)"), pw->pw_name, pimp_uid);
392 else
393 how = g_strdup_printf (_("Granted by uid %d"), pimp_uid);
394 }
395
396 }
397
398 if (how == NULL)
399 how = g_strdup ("");
400
401
402 scope = NULL;
403 switch (polkit_authorization_get_scope (auth)) {
404 case POLKIT_AUTHORIZATION_SCOPE_PROCESS_ONE_SHOT:
405 polkit_authorization_scope_process_get_pid (auth, &pid, &pid_start_time);
406 exe[sizeof (exe) - 1] = '\0';
407 polkit_sysdeps_get_exe_for_pid (pid, exe, sizeof (exe) - 1);
408 scope = g_strdup_printf (_("Single shot pid %d (%s)"), pid, exe);
409 break;
410 case POLKIT_AUTHORIZATION_SCOPE_PROCESS:
411 polkit_authorization_scope_process_get_pid (auth, &pid, &pid_start_time);
412 exe[sizeof (exe) - 1] = '\0';
413 polkit_sysdeps_get_exe_for_pid (pid, exe, sizeof (exe) - 1);
414 scope = g_strdup_printf (_("pid %d (%s)"), pid, exe);
415 break;
416 case POLKIT_AUTHORIZATION_SCOPE_SESSION:
417 scope = g_strdup (_("This session"));
418 break;
419 case POLKIT_AUTHORIZATION_SCOPE_ALWAYS:
420 scope = g_strdup (_("Always"));
421 break;
422 }
423
424 str = g_string_new (NULL);
425 polkit_authorization_constraints_foreach (auth, _build_constraint_string, str);
426 if (str->len > 0) {
427 constraint_string = g_string_free (str, FALSE);
428 } else {
429 g_string_free (str, TRUE);
430 constraint_string = g_strdup (_("None"));
431 }
432
433 GdkPixbuf *pixbuf;
434 GdkPixbuf *pixbuf_to_use;
435 pixbuf = get_face_for_uid (for_uid);
436
437 if (is_negative) {
438 pixbuf_to_use = gdk_pixbuf_copy (pixbuf);
439
440 /* turn black and white */
441 gdk_pixbuf_saturate_and_pixelate (pixbuf_to_use,
442 pixbuf_to_use,
443 0.0,
444 FALSE);
445
446 /* blend the STOP icon on top */
447 gdk_pixbuf_composite (stop_pixbuf,
448 pixbuf_to_use,
449 12, 12, 12, 12,
450 12.0, 12.0, 0.5, 0.5,
451 GDK_INTERP_BILINEAR,
452 255);
453
454 } else {
455 pixbuf_to_use = g_object_ref (pixbuf);
456 }
457 g_object_unref (pixbuf);
458
459 GtkTreeIter iter;
460 gtk_list_store_append (authlist_store, &iter);
461 gtk_list_store_set (authlist_store, &iter,
462 EXPLICIT_ICON_COLUMN, pixbuf_to_use,
463 EXPLICIT_ENTITY_NAME_COLUMN, for_user,
464 EXPLICIT_SCOPE_COLUMN, scope,
465 EXPLICIT_CONSTRAINTS_COLUMN, constraint_string,
466 EXPLICIT_OBTAINED_COLUMN, time_string,
467 EXPLICIT_OBTAINED_HOW_COLUMN, how,
468 EXPLICIT_AUTH_OBJECT_COLUMN, auth,
469 -1);
470
471 /* ref the authorization */
472 reffed_auths = g_slist_prepend (reffed_auths, polkit_authorization_ref (auth));
473
474 g_free (for_user);
475 g_free (scope);
476 g_free (how);
477 g_free (time_string);
478 g_free (constraint_string);
479
480 out:
481 return FALSE;
482 }
483
484
485 static PolKitAuthorization *
486 get_selected_auth (GtkTreeView *treeview)
487 {
488 PolKitAuthorization *auth;
489 GtkTreePath *path;
490 GtkTreeModel *treemodel;
491
492 auth = NULL;
493
494 treemodel = gtk_tree_view_get_model (treeview);
495 gtk_tree_view_get_cursor (treeview, &path, NULL);
496 if (path != NULL) {
497 GtkTreeIter iter;
498
499 if (gtk_tree_model_get_iter (treemodel, &iter, path)) {
500
501 gtk_tree_model_get (treemodel, &iter,
502 EXPLICIT_AUTH_OBJECT_COLUMN,
503 &auth,
504 -1);
505 }
506 gtk_tree_path_free (path);
507 }
508
509 return auth;
510 }
511
512 static void
513 update_authlist (void)
514 {
515 GtkTreeView *treeview;
516 PolKitAuthorization *auth;
517
518 treeview = gtk_tree_selection_get_tree_view (authlist_treeselect);
519 auth = get_selected_auth (treeview);
520
521 if (auth != NULL) {
522 uid_t our_uid;
523 uid_t for_uid;
524 uid_t pimp_uid;
525 gboolean need_revoke;
526 polkit_bool_t is_negative;
527
528 polkit_gnome_action_set_sensitive (revoke_action, TRUE);
529
530 our_uid = getuid ();
531
532 for_uid = polkit_authorization_get_uid (auth);
533
534 /* we need org.fd.polkit.revoke if:
535 * 1) the auth is for another user than us
536 * 2) the auth was granted by someone else than us
537 */
538 need_revoke = FALSE;
539 if (for_uid != our_uid) {
540 need_revoke = TRUE;
541 } else if (polkit_authorization_was_granted_explicitly (auth, &pimp_uid, &is_negative)) {
542 if (pimp_uid != our_uid) {
543 need_revoke = TRUE;
544 }
545 }
546
547 if (need_revoke) {
548 g_object_set (revoke_action,
549 "polkit_action", pk_revoke_action,
550 NULL);
551 } else {
552 g_object_set (revoke_action,
553 "polkit_action", NULL,
554 NULL);
555 }
556
557 } else {
558 polkit_gnome_action_set_sensitive (revoke_action, FALSE);
559 }
560
561
562 }
563
564 static void
565 authlist_changed (GtkTreeSelection *selection, gpointer user_data)
566 {
567 update_authlist ();
568 }
569
570 static void
571 revoke_action_activate (PolKitGnomeAction *action, gpointer user_data)
572 {
573 GtkTreeView *treeview;
574 PolKitAuthorization *auth;
575
576 treeview = gtk_tree_selection_get_tree_view (authlist_treeselect);
577 auth = get_selected_auth (treeview);
578
579 if (auth != NULL) {
580 PolKitAuthorizationDB *authdb;
581 PolKitError *pk_error;
582
583 authdb = polkit_context_get_authorization_db (pkgc->pk_context);
584
585 pk_error = NULL;
586 if (!polkit_authorization_db_revoke_entry (authdb, auth, &pk_error)) {
587 g_warning ("Error doing revoke: %s: %s",
588 polkit_error_get_error_name (pk_error),
589 polkit_error_get_error_message (pk_error));
590 polkit_error_free (pk_error);
591 }
592 }
593 }
594
595
596 static void
597 _entity_combobox_set_sensitive (GtkCellLayout *cell_layout,
598 GtkCellRenderer *cell,
599 GtkTreeModel *tree_model,
600 GtkTreeIter *iter,
601 gpointer user_data)
602 {
603 GtkTreePath *path;
604 gint *indices;
605 gboolean sensitive;
606
607 path = gtk_tree_model_get_path (tree_model, iter);
608 indices = gtk_tree_path_get_indices (path);
609 if (indices[0] == 0)
610 sensitive = FALSE;
611 else
612 sensitive = TRUE;
613 gtk_tree_path_free (path);
614
615 g_object_set (cell, "sensitive", sensitive, NULL);
616 }
617
618 static gboolean
619 _real_user (struct passwd *pw)
620 {
621 gboolean ret;
622
623 ret = FALSE;
624
625 /* TODO: there's probably better heuristic / tests than theses... */
626
627 if (pw->pw_uid < 500)
628 goto out;
629
630 if (pw->pw_shell == NULL || strcmp (pw->pw_shell, "/sbin/nologin") == 0)
631 goto out;
632
633 ret = TRUE;
634 out:
635 return ret;
636 }
637
638 static void
639 _create_entity_combobox_populate (GtkListStore *store, gboolean show_system_users)
640 {
641 GtkTreeIter iter;
642 struct passwd *pw;
643
644 gtk_list_store_clear (store);
645 gtk_list_store_append (store, &iter);
646 gtk_list_store_set (store, &iter,
647 0, NULL,
648 1, _("Select user..."),
649 2, NULL,
650 -1);
651
652 /* we're single threaded so this is a fine way to iterate over all users */
653 for (setpwent(); (pw = getpwent ()) != NULL; ) {
654 char *real_name;
655 GdkPixbuf *pixbuf;
656
657 errno = 0;
658
659 if (!show_system_users && !_real_user (pw))
660 continue;
661
662 /* Real name */
663 if (pw->pw_gecos != NULL && strlen (pw->pw_gecos) > 0)
664 real_name = g_strdup_printf (_("%s (%s)"), pw->pw_gecos, pw->pw_name);
665 else
666 real_name = g_strdup (pw->pw_name);
667
668 /* Load users face */
669 pixbuf = get_face_for_pw (pw);
670
671 gtk_list_store_append (store, &iter);
672 gtk_list_store_set (store, &iter,
673 0, pixbuf,
674 1, real_name,
675 2, pw->pw_name,
676 3, pw->pw_uid,
677 -1);
678
679 g_free (real_name);
680 g_object_unref (pixbuf);
681 }
682 }
683
684 static GtkWidget *
685 _create_entity_combobox (void)
686 {
687 GtkComboBox *combo;
688 GtkCellRenderer *renderer;
689 GtkListStore *store;
690
691 combo = GTK_COMBO_BOX (gtk_combo_box_new ());
692 store = gtk_list_store_new (4, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT);
693
694 /* sort on uid */
695 gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store), 3, GTK_SORT_ASCENDING);
696
697 _create_entity_combobox_populate (store, FALSE);
698
699 gtk_combo_box_set_model (combo, GTK_TREE_MODEL (store));
700 g_object_unref (store);
701
702 renderer = gtk_cell_renderer_pixbuf_new ();
703 gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, FALSE);
704 gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), renderer,
705 "pixbuf", 0,
706 NULL);
707 gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combo),
708 renderer,
709 _entity_combobox_set_sensitive,
710 NULL, NULL);
711
712 renderer = gtk_cell_renderer_text_new ();
713 gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, TRUE);
714 gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), renderer,
715 "text", 1,
716 NULL);
717 gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combo),
718 renderer,
719 _entity_combobox_set_sensitive,
720 NULL, NULL);
721
722 /* Initially select the "Select user..." ... */
723 gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
724
725 return GTK_WIDGET (combo);
726 }
727
728 typedef struct {
729 gboolean is_block;
730
731 uid_t uid;
732 PolKitGnomeAction *grant_action;
733 GtkWidget *combo;
734 gboolean constraint_none;
735 gboolean constraint_active;
736 gboolean constraint_console;
737 gboolean constraint_active_console;
738 } EntitySelected;
739
740 static void
741 _entity_combobox_update_sensitivity (EntitySelected *entity_selected)
742 {
743 polkit_gnome_action_set_sensitive (entity_selected->grant_action, (int) entity_selected->uid != -1);
744
745 if (entity_selected->is_block) {
746 g_object_set (entity_selected->grant_action,
747 "polkit-action", (entity_selected->uid == getuid ()) ? NULL : pk_grant_action,
748 NULL);
749 }
750 }
751
752 static void
753 _entity_combobox_changed (GtkComboBox *widget, gpointer user_data)
754 {
755 GtkTreeIter iter;
756 EntitySelected *entity_selected = (EntitySelected *) user_data;
757
758 if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter)) {
759 gtk_tree_model_get (gtk_combo_box_get_model (GTK_COMBO_BOX (widget)), &iter,
760 3, &(entity_selected->uid), -1);
761 _entity_combobox_update_sensitivity (entity_selected);
762 }
763 }
764
765 static void
766 _entity_radio_toggled (GtkToggleButton *toggle_button, gpointer user_data)
767 {
768 gboolean *value = (gboolean *) user_data;
769
770 *value = gtk_toggle_button_get_active (toggle_button);
771 }
772
773 static void
774 _entity_show_system_users_toggled (GtkToggleButton *toggle_button, gpointer user_data)
775 {
776 GtkListStore *list_store;
777 gboolean show_system_users;
778 EntitySelected *entity_selected = (EntitySelected *) user_data;
779
780 show_system_users = gtk_toggle_button_get_active (toggle_button);
781
782 list_store = GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (entity_selected->combo)));
783 _create_entity_combobox_populate (list_store, show_system_users);
784
785 /* Initially select the "Select user..." ... */
786 gtk_combo_box_set_active (GTK_COMBO_BOX (entity_selected->combo), 0);
787 entity_selected->uid = -1;
788
789 _entity_combobox_update_sensitivity (entity_selected);
790 }
791
792 static void
793 block_grant_do (gboolean is_block)
794 {
795 gint response;
796 GtkWidget *label;
797 GtkWidget *dialog;
798 GtkWidget *grant_button;
799 GtkWidget *combo;
800 GtkTreeView *treeview;
801 PolKitPolicyFileEntry *pfe;
802 char *s;
803 char *s2;
804 const char *action_id;
805 EntitySelected entity_selected;
806 GtkWidget *show_system_entities;
807 GtkWidget *hbox;
808 GtkWidget *vbox;
809 GtkWidget *main_vbox;
810 GtkWidget *icon;
811 PolKitGnomeAction *grant_action;
812 GtkWidget *radio1;
813 GtkWidget *radio2;
814 GtkWidget *radio3;
815 GtkWidget *radio4;
816 GtkWidget *align;
817 GtkWidget *section_vbox;
818
819 treeview = gtk_tree_selection_get_tree_view (action_treeselect);
820 pfe = get_selected_pfe (treeview);
821 if (pfe == NULL)
822 goto out;
823
824 action_id = polkit_policy_file_entry_get_id (pfe);
825
826 dialog = gtk_dialog_new_with_buttons (is_block ? _("Grant Negative Authorization"): _("Grant Authorization"),
827 GTK_WINDOW (toplevel_window),
828 GTK_DIALOG_MODAL,
829 GTK_STOCK_CANCEL,
830 GTK_RESPONSE_CANCEL,
831 NULL);
832 gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
833 gtk_window_set_icon_name (GTK_WINDOW (dialog), GTK_STOCK_ADD);
834
835 hbox = gtk_hbox_new (FALSE, 12);
836 gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
837 gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 0);
838
839 icon = gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_DIALOG);
840 gtk_misc_set_alignment (GTK_MISC (icon), 0.5, 0.0);
841 gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0);
842
843 main_vbox = gtk_vbox_new (FALSE, 8);
844 gtk_box_pack_start (GTK_BOX (hbox), main_vbox, TRUE, TRUE, 0);
845
846 s2 = make_breakable (action_id, '.');
847 s = g_strdup_printf (
848 is_block ?
849 _("<b><big>Granting a negative authorization for the <i>%s</i> action requires more information</big></b>") :
850 _("<b><big>Granting an authorization for the <i>%s</i> action requires more information</big></b>"),
851 s2);
852 g_free (s2);
853 label = gtk_label_new (NULL);
854 gtk_label_set_markup (GTK_LABEL (label), s);
855 g_free (s);
856 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
857 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
858 gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, TRUE, 0);
859
860 if (is_block)
861 label = gtk_label_new (_("Select the user to block for the action and, optionally, any constraints on the negative authorization that you are about to grant."));
862 else
863 label = gtk_label_new (_("Select the beneficiary and, optionally, how to constrain the authorization that you are about to grant."));
864 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
865 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
866 gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, TRUE, 0);
867
868 /* --------------------------------- */
869 /* Select user/group/selinux context */
870 /* --------------------------------- */
871 section_vbox = gtk_vbox_new (FALSE, 0);
872
873 label = gtk_label_new (NULL);
874 gtk_label_set_markup (GTK_LABEL (label), _("<b>Beneficiary</b>"));
875 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
876 gtk_box_pack_start (GTK_BOX (section_vbox), label, FALSE, TRUE, 0);
877
878 vbox = gtk_vbox_new (FALSE, 4);
879 hbox = gtk_hbox_new (FALSE, 6);
880
881 align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
882 gtk_alignment_set_padding (GTK_ALIGNMENT (align), 0, 0, 0, 0);
883 gtk_box_pack_start (GTK_BOX (hbox), align, FALSE, TRUE, 6);
884
885 if (is_block)
886 label = gtk_label_new (_("Select the user that will receive the negative authorization."));
887 else
888 label = gtk_label_new (_("Select the user that will receive the authorization."));
889 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
890 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
891 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0);
892
893 combo = _create_entity_combobox ();
894 gtk_box_pack_start (GTK_BOX (vbox), combo, TRUE, TRUE, 0);
895 g_signal_connect (combo, "changed", G_CALLBACK (_entity_combobox_changed), &entity_selected);
896
897 show_system_entities = gtk_check_button_new_with_mnemonic (_("_Show system users"));
898 gtk_box_pack_start (GTK_BOX (vbox), show_system_entities, FALSE, TRUE, 0);
899 g_signal_connect (show_system_entities, "toggled", G_CALLBACK (_entity_show_system_users_toggled), &entity_selected);
900
901 gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
902 gtk_box_pack_start (GTK_BOX (section_vbox), hbox, FALSE, TRUE, 0);
903
904 gtk_box_pack_start (GTK_BOX (main_vbox), section_vbox, FALSE, TRUE, 0);
905
906 /* -------------------- */
907 /* Physical constraints */
908 /* -------------------- */
909 section_vbox = gtk_vbox_new (FALSE, 0);
910
911 label = gtk_label_new (NULL);
912 gtk_label_set_markup (GTK_LABEL (label), _("<b>Constraints</b>"));
913 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
914 gtk_box_pack_start (GTK_BOX (section_vbox), label, FALSE, TRUE, 0);
915
916 vbox = gtk_vbox_new (FALSE, 2);
917 hbox = gtk_hbox_new (FALSE, 6);
918
919 align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
920 gtk_alignment_set_padding (GTK_ALIGNMENT (align), 0, 0, 0, 0);
921 gtk_box_pack_start (GTK_BOX (hbox), align, FALSE, TRUE, 6);
922
923 label = gtk_label_new (_("Constraints limits the authorization such that it only applies under certain circumstances."));
924 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
925 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
926 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0);
927
928 radio1 = gtk_radio_button_new_with_mnemonic (NULL,
929 _("_None"));
930 radio2 = gtk_radio_button_new_with_mnemonic (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio1)),
931 _("Must be _in active session"));
932 radio3 = gtk_radio_button_new_with_mnemonic (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio1)),
933 _("Must be on _local console"));
934 radio4 = gtk_radio_button_new_with_mnemonic (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio1)),
935 _("Must be in _active session on local console"));
936 gtk_box_pack_start (GTK_BOX (vbox), radio1, FALSE, TRUE, 0);
937 gtk_box_pack_start (GTK_BOX (vbox), radio2, FALSE, TRUE, 0);
938 gtk_box_pack_start (GTK_BOX (vbox), radio3, FALSE, TRUE, 0);
939 gtk_box_pack_start (GTK_BOX (vbox), radio4, FALSE, TRUE, 0);
940 g_signal_connect (radio1, "toggled", G_CALLBACK (_entity_radio_toggled), &(entity_selected.constraint_none));
941 g_signal_connect (radio2, "toggled", G_CALLBACK (_entity_radio_toggled), &(entity_selected.constraint_active));
942 g_signal_connect (radio3, "toggled", G_CALLBACK (_entity_radio_toggled), &(entity_selected.constraint_console));
943 g_signal_connect (radio4, "toggled", G_CALLBACK (_entity_radio_toggled), &(entity_selected.constraint_active_console));
944
945 gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
946 gtk_box_pack_start (GTK_BOX (section_vbox), hbox, FALSE, TRUE, 0);
947
948 gtk_box_pack_start (GTK_BOX (main_vbox), section_vbox, FALSE, TRUE, 0);
949
950 /* ------- */
951 /* Buttons */
952 /* ------- */
953
954 if (is_block)
955 grant_action = polkit_gnome_action_new_default ("grant", pk_grant_action,
956 _("_Block..."),
957 NULL);
958 else
959 grant_action = polkit_gnome_action_new_default ("grant", pk_grant_action,
960 _("_Grant..."),
961 NULL);
962 polkit_gnome_action_set_sensitive (grant_action, FALSE);
963 grant_button = polkit_gnome_action_create_button (grant_action);
964 g_object_unref (grant_action);
965 gtk_dialog_add_action_widget (GTK_DIALOG (dialog), grant_button, GTK_RESPONSE_OK);
966
967 /* Listen when a new user is selected */
968 entity_selected.is_block = is_block;
969 entity_selected.uid = -1;
970 entity_selected.combo = combo;
971 entity_selected.grant_action = grant_action;
972 entity_selected.constraint_none = TRUE;
973 entity_selected.constraint_active = FALSE;
974 entity_selected.constraint_console = FALSE;
975 entity_selected.constraint_active_console = FALSE;
976
977 gtk_widget_show_all (dialog);
978 response = gtk_dialog_run (GTK_DIALOG (dialog));
979 gtk_widget_destroy (dialog);
980
981 if (response == GTK_RESPONSE_OK) {
982 PolKitAction *action;
983 PolKitAuthorizationDB *authdb;
984 PolKitError *pk_error;
985 unsigned int num_constraints;
986 PolKitAuthorizationConstraint *constraints[3];
987
988 action = polkit_action_new ();
989 polkit_action_set_action_id (action, action_id);
990
991 authdb = polkit_context_get_authorization_db (pkgc->pk_context);
992
993 num_constraints = 0;
994
995 if (entity_selected.constraint_none) {
996 ;
997 } else if (entity_selected.constraint_active) {
998 constraints[num_constraints++] = polkit_authorization_constraint_get_require_active ();
999 } else if (entity_selected.constraint_console) {
1000 constraints[num_constraints++] = polkit_authorization_constraint_get_require_local ();
1001 } else {
1002 g_assert (entity_selected.constraint_active_console);
1003 constraints[num_constraints++] = polkit_authorization_constraint_get_require_local ();
1004 constraints[num_constraints++] = polkit_authorization_constraint_get_require_active ();
1005 }
1006 constraints[num_constraints] = NULL;
1007
1008 if ((int) entity_selected.uid != -1) {
1009 polkit_bool_t res;
1010 pk_error = NULL;
1011
1012 if (is_block)
1013 res = polkit_authorization_db_grant_negative_to_uid (authdb,
1014 action,
1015 entity_selected.uid,
1016 constraints,
1017 &pk_error);
1018 else
1019 res = polkit_authorization_db_grant_to_uid (authdb,
1020 action,
1021 entity_selected.uid,
1022 constraints,
1023 &pk_error);
1024
1025 if (!res) {
1026 g_warning ("Error granting auth: %s: %s\n",
1027 polkit_error_get_error_name (pk_error),
1028 polkit_error_get_error_message (pk_error));
1029 polkit_error_free (pk_error);
1030 }
1031 }
1032 }
1033
1034 out:
1035 if (pfe != NULL) {
1036 polkit_policy_file_entry_unref (pfe);
1037 }
1038 }
1039
1040 static void
1041 block_clicked (GtkButton *button, gpointer user_data)
1042 {
1043 block_grant_do (TRUE);
1044 }
1045
1046 static void
1047 grant_clicked (GtkButton *button, gpointer user_data)
1048 {
1049 block_grant_do (FALSE);
1050 }
1051
1052 typedef struct {
1053 PolKitGnomeAction *modify_defaults_action;
1054
1055 PolKitResult any_orig;
1056 PolKitResult inactive_orig;
1057 PolKitResult active_orig;
1058
1059 PolKitResult any;
1060 PolKitResult inactive;
1061 PolKitResult active;
1062 } EditImplData;
1063
1064
1065 static void
1066 edit_impl_update_sensitive (EditImplData *data)
1067 {
1068 gboolean sensitive;
1069
1070 if (data->any != data->any_orig ||
1071 data->inactive != data->inactive_orig ||
1072 data->active != data->active_orig) {
1073 sensitive = TRUE;
1074 } else {
1075 sensitive = FALSE;
1076 }
1077 polkit_gnome_action_set_sensitive (data->modify_defaults_action, sensitive);
1078 }
1079
1080 static void
1081 edit_impl_combo_any_changed (GtkComboBox *combo, gpointer user_data)
1082 {
1083 int active;
1084 PolKitResult result;
1085 EditImplData *data = (EditImplData *) user_data;
1086
1087 active = gtk_combo_box_get_active (combo);
1088 g_assert (active >= 0 && active < POLKIT_RESULT_N_RESULTS - 1);
1089 result = edit_impl_result_options[active].result;
1090 data->any = result;
1091
1092 edit_impl_update_sensitive (data);
1093 }
1094
1095 static void
1096 edit_impl_combo_inactive_changed (GtkComboBox *combo, gpointer user_data)
1097 {
1098 int active;
1099 PolKitResult result;
1100 EditImplData *data = (EditImplData *) user_data;
1101
1102 active = gtk_combo_box_get_active (combo);
1103 g_assert (active >= 0 && active < POLKIT_RESULT_N_RESULTS - 1);
1104 result = edit_impl_result_options[active].result;
1105 data->inactive = result;
1106
1107 edit_impl_update_sensitive (data);
1108 }
1109
1110 static void
1111 edit_impl_combo_active_changed (GtkComboBox *combo, gpointer user_data)
1112 {
1113 int active;
1114 PolKitResult result;
1115 EditImplData *data = (EditImplData *) user_data;
1116
1117 active = gtk_combo_box_get_active (combo);
1118 g_assert (active >= 0 && active < POLKIT_RESULT_N_RESULTS - 1);
1119 result = edit_impl_result_options[active].result;
1120 data->active = result;
1121
1122 edit_impl_update_sensitive (data);
1123 }
1124
1125 static void
1126 edit_impl_clicked (GtkButton *button, gpointer user_data)
1127 {
1128 char *s;
1129 char *s2;
1130 const char *action_id;
1131 const char *action_desc;
1132 GtkTreeView *treeview;
1133 PolKitPolicyFileEntry *pfe;
1134 PolKitPolicyDefault *defaults;
1135 GtkWidget *label;
1136 GtkWidget *dialog;
1137 GtkWidget *hbox;
1138 GtkWidget *main_vbox;
1139 GtkWidget *icon;
1140 int response;
1141 EditImplData data;
1142 GtkWidget *modify_defaults_button;
1143
1144 treeview = gtk_tree_selection_get_tree_view (action_treeselect);
1145 pfe = get_selected_pfe (treeview);
1146 if (pfe == NULL)
1147 goto out;
1148
1149 defaults = polkit_policy_file_entry_get_default (pfe);
1150
1151 action_id = polkit_policy_file_entry_get_id (pfe);
1152 action_desc = polkit_policy_file_entry_get_action_description (pfe);
1153
1154 dialog = gtk_dialog_new_with_buttons (_("Edit Implicit Authorizations"),
1155 GTK_WINDOW (toplevel_window),
1156 GTK_DIALOG_MODAL,
1157 GTK_STOCK_CANCEL,
1158 GTK_RESPONSE_CANCEL,
1159 NULL);
1160 gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
1161
1162 hbox = gtk_hbox_new (FALSE, 12);
1163 gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
1164 gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 0);
1165
1166 icon = gtk_image_new_from_stock (GTK_STOCK_PROPERTIES, GTK_ICON_SIZE_DIALOG);
1167 gtk_window_set_icon_name (GTK_WINDOW (dialog), GTK_STOCK_PROPERTIES);
1168 gtk_misc_set_alignment (GTK_MISC (icon), 0.5, 0.0);
1169 gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0);
1170
1171 main_vbox = gtk_vbox_new (FALSE, 8);
1172 gtk_box_pack_start (GTK_BOX (hbox), main_vbox, TRUE, TRUE, 0);
1173
1174 label = gtk_label_new (NULL);
1175 gtk_label_set_markup (GTK_LABEL (label), _("<b><big>Choose new implicit authorizations</big></b>"));
1176 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
1177 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
1178 gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, TRUE, 0);
1179
1180 int n;
1181 GtkWidget *table;
1182 GtkWidget *edit_impl_combo_any;
1183 GtkWidget *edit_impl_combo_inactive;
1184 GtkWidget *edit_impl_combo_active;
1185
1186
1187 label = gtk_label_new (NULL);
1188 s2 = make_breakable (action_id, '.');
1189 s = g_strdup_printf (_("Implicit authorizations are authorizations that are granted "
1190 "automatically to users under certain circumstances. Choose "
1191 "what is required for the action <i>%s</i>."),
1192 s2);
1193 gtk_label_set_markup (GTK_LABEL (label), s);
1194 g_free (s);
1195 g_free (s2);
1196 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
1197 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
1198 gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, TRUE, 0);
1199
1200
1201 table = gtk_table_new (3, 2, FALSE);
1202 gtk_table_set_col_spacings (GTK_TABLE (table), 8);
1203 gtk_table_set_row_spacings (GTK_TABLE (table), 4);
1204 for (n = 0; n < 3; n++) {
1205 int m;
1206 const char *s;
1207 GtkWidget **combo;
1208 PolKitResult *allow;
1209 GCallback callback;
1210
1211 switch (n) {
1212 default:
1213 case 0:
1214 s = _("<i>Anyone:</i>");
1215 combo = &edit_impl_combo_any;
1216 allow = &data.any;
1217 data.any_orig = data.any = polkit_policy_default_get_allow_any (defaults);
1218 callback = (GCallback) edit_impl_combo_any_changed;
1219 break;
1220 case 1:
1221 s = _("<i>Console:</i>");
1222 combo = &edit_impl_combo_inactive;
1223 allow = &data.inactive;
1224 data.inactive_orig = data.inactive = polkit_policy_default_get_allow_inactive (defaults);
1225 callback = (GCallback) edit_impl_combo_inactive_changed;
1226 break;
1227 case 2:
1228 s = _("<i>Active Console:</i>");
1229 combo = &edit_impl_combo_active;
1230 allow = &data.active;
1231 data.active_orig = data.active = polkit_policy_default_get_allow_active (defaults);
1232 callback = (GCallback) edit_impl_combo_active_changed;
1233 break;
1234 }
1235
1236 label = gtk_label_new (NULL);
1237 gtk_label_set_markup (GTK_LABEL (label), s);
1238 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
1239 gtk_table_attach (GTK_TABLE (table), label, 0, 1, n, n + 1, GTK_FILL, GTK_FILL, 0, 0);
1240
1241 *combo = gtk_combo_box_new_text ();
1242 for (m = 0; m < POLKIT_RESULT_N_RESULTS - 1; m++) {
1243 gtk_combo_box_append_text (GTK_COMBO_BOX (*combo), (edit_impl_result_options[m]).text);
1244 if ((edit_impl_result_options[m]).result == *allow) {
1245 gtk_combo_box_set_active (GTK_COMBO_BOX (*combo), m);
1246 }
1247 }
1248 g_signal_connect (*combo, "changed", callback, &data);
1249
1250 gtk_table_attach (GTK_TABLE (table), *combo, 1, 2, n, n + 1, GTK_FILL, GTK_FILL, 0, 0);
1251 }
1252 gtk_box_pack_start (GTK_BOX (main_vbox), table, TRUE, TRUE, 0);
1253
1254
1255 data.modify_defaults_action = polkit_gnome_action_new_default ("ModifyDefaults",
1256 pk_modify_defaults_action,
1257 _("_Modify..."),
1258 NULL);
1259 polkit_gnome_action_set_sensitive (data.modify_defaults_action, FALSE);
1260 modify_defaults_button = polkit_gnome_action_create_button (data.modify_defaults_action);
1261 g_object_unref (data.modify_defaults_action);
1262 gtk_dialog_add_action_widget (GTK_DIALOG (dialog), modify_defaults_button, GTK_RESPONSE_OK);
1263
1264 gtk_widget_show_all (dialog);
1265 response = gtk_dialog_run (GTK_DIALOG (dialog));
1266 gtk_widget_destroy (dialog);
1267
1268 if (response == GTK_RESPONSE_OK) {
1269 PolKitError *pk_error;
1270 PolKitPolicyDefault *new_defaults;
1271
1272 new_defaults = polkit_policy_default_new ();
1273 polkit_policy_default_set_allow_any (new_defaults, data.any);
1274 polkit_policy_default_set_allow_inactive (new_defaults, data.inactive);
1275 polkit_policy_default_set_allow_active (new_defaults, data.active);
1276
1277 pk_error = NULL;
1278 polkit_policy_file_entry_debug (pfe);
1279 if (!polkit_policy_file_entry_set_default (pfe, new_defaults, &pk_error)) {
1280 g_warning ("Error: code=%d: %s: %s",
1281 polkit_error_get_error_code (pk_error),
1282 polkit_error_get_error_name (pk_error),
1283 polkit_error_get_error_message (pk_error));
1284 polkit_error_free (pk_error);
1285 }
1286
1287 polkit_policy_default_unref (new_defaults);
1288 }
1289 out:
1290 if (pfe != NULL) {
1291 polkit_policy_file_entry_unref (pfe);
1292 }
1293 }
1294
1295 static void
1296 revert_impl_activate (PolKitGnomeAction *action, gpointer user_data)
1297 {
1298 GtkTreeView *treeview;
1299 PolKitPolicyFileEntry *pfe;
1300 PolKitPolicyDefault *factory_defaults;
1301 PolKitError *pk_error;
1302
1303 treeview = gtk_tree_selection_get_tree_view (action_treeselect);
1304 pfe = get_selected_pfe (treeview);
1305 if (pfe == NULL)
1306 goto out;
1307
1308 factory_defaults = polkit_policy_file_entry_get_default_factory (pfe);
1309
1310 pk_error = NULL;
1311 if (!polkit_policy_file_entry_set_default (pfe, factory_defaults, &pk_error)) {
1312 g_warning ("Error: code=%d: %s: %s",
1313 polkit_error_get_error_code (pk_error),
1314 polkit_error_get_error_name (pk_error),
1315 polkit_error_get_error_message (pk_error));
1316 polkit_error_free (pk_error);
1317 }
1318
1319 out:
1320 if (pfe != NULL) {
1321 polkit_policy_file_entry_unref (pfe);
1322 }
1323 }
1324
1325 static void
1326 summary_action_vendor_url_activated (SexyUrlLabel *url_label, char *url, gpointer user_data)
1327 {
1328 if (url != NULL) {
1329 gtk_show_uri (NULL, url, GDK_CURRENT_TIME, NULL);
1330 }
1331 }
1332
1333 static void
1334 update_summary (void)
1335 {
1336 const char *action_id;
1337 const char *description;
1338 PolKitPolicyFileEntry *pfe;
1339 PolKitResult allow_any;
1340 PolKitResult allow_inactive;
1341 PolKitResult allow_active;
1342 PolKitPolicyDefault *defaults;
1343 GtkTreeView *treeview;
1344
1345 treeview = gtk_tree_selection_get_tree_view (action_treeselect);
1346 pfe = get_selected_pfe (treeview);
1347
1348 gtk_list_store_clear (authlist_store);
1349
1350 /* unref all reffed auths */
1351 g_slist_foreach (reffed_auths, (GFunc) polkit_authorization_unref, NULL);
1352 g_slist_free (reffed_auths);
1353 reffed_auths = NULL;
1354
1355
1356 if (pfe != NULL) {
1357 const char *vendor;
1358 const char *vendor_url;
1359 const char *icon_name;
1360
1361 action_id = polkit_policy_file_entry_get_id (pfe);
1362 description = polkit_policy_file_entry_get_action_description (pfe);
1363 vendor = polkit_policy_file_entry_get_action_vendor (pfe);
1364 vendor_url = polkit_policy_file_entry_get_action_vendor_url (pfe);
1365 icon_name = polkit_policy_file_entry_get_action_icon_name (pfe);
1366
1367 defaults = polkit_policy_file_entry_get_default (pfe);
1368 allow_any = polkit_policy_default_get_allow_any (defaults);
1369 allow_inactive = polkit_policy_default_get_allow_inactive (defaults);
1370 allow_active = polkit_policy_default_get_allow_active (defaults);
1371
1372 gtk_widget_set_sensitive (edit_impl_button, TRUE);
1373 gtk_widget_set_sensitive (grant_button, TRUE);
1374
1375 if (polkit_policy_default_equals (defaults, polkit_policy_file_entry_get_default_factory (pfe)))
1376 polkit_gnome_action_set_sensitive (revert_to_defaults_action, FALSE);
1377 else
1378 polkit_gnome_action_set_sensitive (revert_to_defaults_action, TRUE);
1379
1380 gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), 0);
1381
1382
1383 if (vendor_url != NULL) {
1384 char *s;
1385
1386 s = g_strdup_printf ("<a href=\"%s\">%s</a>", vendor_url, vendor);
1387 sexy_url_label_set_markup (SEXY_URL_LABEL (summary_action_vendor_label), s);
1388 g_free (s);
1389
1390 s = g_strdup_printf (_("Click to open %s"), vendor_url);
1391 gtk_widget_set_tooltip_markup (summary_action_vendor_label, s);
1392 g_free (s);
1393
1394 } else {
1395 sexy_url_label_set_markup (SEXY_URL_LABEL (summary_action_vendor_label), vendor);
1396 gtk_widget_set_tooltip_markup (summary_action_vendor_label, NULL);
1397 }
1398
1399 if (icon_name != NULL) {
1400 GdkPixbuf *pixbuf;
1401
1402 pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
1403 icon_name,
1404 48,
1405 0,
1406 NULL);
1407 if (pixbuf != NULL) {
1408 gtk_image_set_from_pixbuf (GTK_IMAGE (summary_action_icon), pixbuf);
1409 g_object_unref (pixbuf);
1410 } else {
1411 gtk_image_clear (GTK_IMAGE (summary_action_icon));
1412 }
1413 } else {
1414 gtk_image_clear (GTK_IMAGE (summary_action_icon));
1415 }
1416
1417 } else {
1418 action_id = "";
1419 description = "";
1420
1421 /* no active item */
1422 allow_any = -1;
1423 allow_inactive = -1;
1424 allow_active = -1;
1425
1426 gtk_widget_set_sensitive (edit_impl_button, FALSE);
1427 gtk_widget_set_sensitive (grant_button, FALSE);
1428
1429 polkit_gnome_action_set_sensitive (revert_to_defaults_action, FALSE);
1430
1431 gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), 1);
1432 }
1433
1434 /* ---- Action ---- */
1435 gtk_label_set_markup (GTK_LABEL (summary_action_id_label), action_id);
1436 gtk_label_set_markup (GTK_LABEL (summary_action_desc_label), description);
1437
1438 /* ---- Implicit Authorizations ---- */
1439 gtk_label_set_markup (GTK_LABEL (summary_label_any), _get_string_for_polkit_result (allow_any));
1440 gtk_label_set_markup (GTK_LABEL (summary_label_inactive), _get_string_for_polkit_result (allow_inactive));
1441 gtk_label_set_markup (GTK_LABEL (summary_label_active), _get_string_for_polkit_result (allow_active));
1442
1443 /* ---- Explicit Authorizations ---- */
1444 PolKitCaller *self;
1445 DBusError dbus_error;
1446 dbus_error_init (&dbus_error);
1447 self = polkit_tracker_get_caller_from_pid (pkgc->pk_tracker, getpid (), &dbus_error);
1448
1449 PolKitAuthorizationDB *authdb;
1450 authdb = polkit_context_get_authorization_db (pkgc->pk_context);
1451 if (authdb != NULL && strlen (action_id) > 0 && self != NULL) {
1452 AuthClosure ac;
1453
1454 ac.action_id = action_id;
1455 ac.self = self;
1456 ac.self_session = NULL;
1457 ac.self_session_objpath = NULL;
1458 ac.self_is_local = FALSE;
1459 ac.self_is_active = FALSE;
1460 ac.num_entries = 0;
1461
1462 polkit_caller_get_ck_session (self, &ac.self_session);
1463 polkit_session_get_ck_objref (ac.self_session, &ac.self_session_objpath);
1464 polkit_session_get_ck_is_local (ac.self_session, &ac.self_is_local);
1465 polkit_session_get_ck_is_active (ac.self_session, &ac.self_is_active);
1466
1467 PolKitAction *action;
1468 action = polkit_action_new ();
1469 polkit_action_set_action_id (action, action_id);
1470 PolKitError *pk_error = NULL;
1471 gboolean ret;
1472
1473 if (polkit_gnome_action_get_polkit_result (POLKIT_GNOME_ACTION (read_action)) == POLKIT_RESULT_YES) {
1474 ret = polkit_authorization_db_foreach_for_action (authdb,
1475 action,
1476 add_authorization,
1477 &ac,
1478 &pk_error);
1479 } else {
1480 ret = polkit_authorization_db_foreach_for_action_for_uid (authdb,
1481 action,
1482 getuid (),
1483 add_authorization,
1484 &ac,
1485 &pk_error);
1486 }
1487
1488 if (!ret) {
1489 if (pk_error != NULL) {
1490 g_warning ("Error: code=%d: %s",
1491 polkit_error_get_error_code (pk_error),
1492 polkit_error_get_error_message (pk_error));
1493 polkit_error_free (pk_error);
1494 }
1495 }
1496 polkit_action_unref (action);
1497
1498 GtkTreePath *path;
1499 path = gtk_tree_path_new_first ();
1500
1501 /* select the first entry in the authlist */
1502 gtk_tree_view_set_cursor (GTK_TREE_VIEW (authlist_treeview),
1503 path,
1504 NULL,
1505 FALSE);
1506 }
1507
1508 update_authlist ();
1509
1510 if (pfe != NULL) {
1511 polkit_policy_file_entry_unref (pfe);
1512 }
1513 }
1514
1515
1516 static void
1517 action_tree_changed (GtkTreeSelection *selection, gpointer user_data)
1518 {
1519 update_summary ();
1520 }
1521
1522 #if 0
1523 static gboolean
1524 is_authorized_from_pfe (PolKitPolicyFileEntry *pfe)
1525 {
1526 PolKitResult pk_result;
1527 PolKitAction *pk_action;
1528 gboolean is_authorized;
1529 static PolKitCaller *pk_caller = NULL;
1530
1531 if (pk_caller == NULL) {
1532 DBusError dbus_error;
1533 dbus_error_init (&dbus_error);
1534 pk_caller = polkit_tracker_get_caller_from_pid (pkgc->pk_tracker, getpid (), &dbus_error);
1535 }
1536
1537 pk_action = polkit_action_new ();
1538 polkit_action_set_action_id (pk_action, polkit_policy_file_entry_get_id (pfe));
1539 pk_result = polkit_context_is_caller_authorized (pkgc->pk_context, pk_action, pk_caller, FALSE, NULL);
1540 polkit_action_unref (pk_action);
1541
1542 is_authorized = (pk_result == POLKIT_RESULT_YES);
1543
1544 return is_authorized;
1545 }
1546 #endif
1547
1548 static polkit_bool_t
1549 build_action_list_pfe_iterator (PolKitPolicyCache *policy_cache, PolKitPolicyFileEntry *pfe, void *user_data)
1550 {
1551 GSList **pfe_list = (GSList **) user_data;
1552
1553 *pfe_list = g_slist_append (*pfe_list, pfe);
1554
1555 /* keep iterating */
1556 return FALSE;
1557 }
1558
1559 static gint
1560 pfe_compare (gconstpointer a, gconstpointer b)
1561 {
1562 PolKitPolicyFileEntry *pfe_a = (PolKitPolicyFileEntry *) a;
1563 PolKitPolicyFileEntry *pfe_b = (PolKitPolicyFileEntry *) b;
1564
1565 return - g_ascii_strcasecmp (polkit_policy_file_entry_get_id (pfe_a),
1566 polkit_policy_file_entry_get_id (pfe_b));
1567 }
1568
1569 typedef struct {
1570 const char *action_id;
1571 gboolean found;
1572 GtkTreeIter iter;
1573 } FIBAData;
1574
1575 static gboolean
1576 find_iter_by_action_id_foreach (GtkTreeModel *model,
1577 GtkTreePath *path,
1578 GtkTreeIter *iter,
1579 gpointer data)
1580 {
1581 gboolean ret;
1582 char *action_id = NULL;
1583 FIBAData *fiba_data = (FIBAData *) data;
1584
1585 ret = FALSE;
1586 gtk_tree_model_get (model, iter, ACTION_ID_COLUMN, &action_id, -1);
1587 if (strcmp (action_id, fiba_data->action_id) == 0) {
1588 fiba_data->found = TRUE;
1589 fiba_data->iter = *iter;
1590 ret = TRUE;
1591 }
1592 if (action_id != NULL)
1593 g_free (action_id);
1594
1595 return ret;
1596 }
1597
1598
1599 static gboolean
1600 find_iter_by_action_id (const char *action_id, GtkTreeIter *out_iter)
1601 {
1602 FIBAData fiba_data;
1603 gboolean ret;
1604
1605 fiba_data.action_id = action_id;
1606 fiba_data.found = FALSE;
1607 gtk_tree_model_foreach (GTK_TREE_MODEL (action_store), find_iter_by_action_id_foreach, &fiba_data);
1608 if (fiba_data.found) {
1609 if (out_iter != NULL)
1610 *out_iter = fiba_data.iter;
1611 ret = TRUE;
1612 } else {
1613 ret = FALSE;
1614 }
1615
1616 return ret;
1617 }
1618
1619 static void
1620 get_namespace_iter (const char *action_id, GtkTreeIter *out_iter)
1621 {
1622 int n;
1623 int len;
1624 char *namespace;
1625 char *pretty_name;
1626 GtkTreeIter parent_iter;
1627 gboolean got_parent;
1628
1629 got_parent = FALSE;
1630
1631 namespace = g_strdup (action_id);
1632 len = strlen (namespace);
1633 if (namespace[len - 1] == '.')
1634 len--;
1635 for (n = len - 1; n >= 0; n--) {
1636 if (namespace[n] == '.') {
1637 //namespace[n] = '\0';
1638 break;
1639 }
1640 namespace[n] = '\0';
1641 }
1642
1643 /* see if we have an element for namespace already */
1644 if (find_iter_by_action_id (namespace, out_iter))
1645 return;
1646
1647 /* get a parent */
1648 len = strlen (namespace);
1649 for (n = 0; n < len - 1; n++) {
1650 if (namespace[n] == '.') {
1651 get_namespace_iter (namespace, &parent_iter);
1652 got_parent = TRUE;
1653 }
1654 }
1655
1656 pretty_name = g_strdup (namespace);
1657 len = strlen (pretty_name);
1658 if (len > 0) {
1659 pretty_name[len - 1] = '\0';
1660 len--;
1661 }
1662 for (n = len - 1; n >= 0; n--) {
1663 if (pretty_name[n] == '.') {
1664 char *tmp;
1665 tmp = g_strdup (pretty_name + n + 1);
1666 g_free (pretty_name);
1667 pretty_name = tmp;
1668 break;
1669 }
1670 }
1671
1672 gtk_tree_store_append (action_store, out_iter, got_parent ? &parent_iter : NULL);
1673 gtk_tree_store_set (action_store, out_iter,
1674 ICON_COLUMN, namespace_pixbuf,
1675 ACTION_ID_COLUMN, namespace,
1676 ACTION_NAME_COLUMN, pretty_name,
1677 -1);
1678
1679 if (action_treeview != NULL && got_parent) {
1680 GtkTreePath *path;
1681 path = gtk_tree_model_get_path (GTK_TREE_MODEL (action_store), &parent_iter);
1682 gtk_tree_view_expand_row (GTK_TREE_VIEW (action_treeview),
1683 path,
1684 FALSE);
1685 gtk_tree_path_free (path);
1686 }
1687
1688 g_free (namespace);
1689 g_free (pretty_name);
1690 }
1691
1692 static GSList *to_remove = NULL;
1693
1694 static gboolean
1695 update_action_tree_cull (GtkTreeModel *model,
1696 GtkTreePath *path,
1697 GtkTreeIter *iter,
1698 gpointer user_data)
1699 {
1700 char *action_id;
1701 GSList *pfe_list = (GSList *) user_data;
1702 GSList *l;
1703 PolKitPolicyFileEntry *pfe;
1704
1705 gtk_tree_model_get (model, iter,
1706 ACTION_ID_COLUMN,
1707 &action_id,
1708 PFE_COLUMN,
1709 &pfe,
1710 -1);
1711 if (pfe != NULL) {
1712 polkit_policy_file_entry_unref (pfe);
1713 }
1714 if (action_id == NULL)
1715 goto out;
1716
1717 /* I'm sure one could use a better data structure that is O(log n) instead of this O(n) */
1718
1719 if (pfe == NULL) {
1720 /* this is a name space */
1721 for (l = pfe_list; l != NULL; l = l->next) {
1722 const char *action_id_l;
1723 PolKitPolicyFileEntry *pfe_l = l->data;
1724
1725 action_id_l = polkit_policy_file_entry_get_id (pfe_l);
1726 if (g_str_has_prefix (action_id_l, action_id))
1727 goto found;
1728 }
1729 } else {
1730 /* this is an action */
1731 for (l = pfe_list; l != NULL; l = l->next) {
1732 const char *action_id_l;
1733 PolKitPolicyFileEntry *pfe_l = l->data;
1734
1735 action_id_l = polkit_policy_file_entry_get_id (pfe_l);
1736 if (strcmp (action_id, action_id_l) == 0)
1737 goto found;
1738 }
1739 }
1740
1741 to_remove = g_slist_prepend (to_remove, gtk_tree_iter_copy (iter));
1742
1743 found:
1744 g_free (action_id);
1745
1746 out:
1747 return FALSE;
1748 }
1749
1750
1751 static void
1752 update_action_tree (void)
1753 {
1754 PolKitPolicyCache *pc;
1755 GSList *pfe_list;
1756 GSList *l;
1757
1758 pfe_list = NULL;
1759 pc = polkit_context_get_policy_cache (pkgc->pk_context);
1760 polkit_policy_cache_foreach (pc, build_action_list_pfe_iterator, &pfe_list);
1761 pfe_list = g_slist_sort (pfe_list, pfe_compare);
1762
1763 /* first insert new items from list into the tree... */
1764 for (l = pfe_list; l != NULL; l = l->next) {
1765 GtkTreeIter iter;
1766 const char *action_id;
1767 const char *description;
1768 const char *icon_name;
1769 PolKitPolicyFileEntry *pfe = l->data;
1770 GtkTreeIter name_space_iter;
1771
1772 action_id = polkit_policy_file_entry_get_id (pfe);
1773 description = polkit_policy_file_entry_get_action_description (pfe);
1774 icon_name = polkit_policy_file_entry_get_action_icon_name (pfe);
1775
1776 /* see if we have this one already */
1777 if (find_iter_by_action_id (action_id, &iter)) {
1778 /* we do; update the pfe */
1779 gtk_tree_store_set (action_store, &iter,
1780 PFE_COLUMN, pfe,
1781 -1);
1782 continue;
1783 }
1784
1785 get_namespace_iter (action_id, &name_space_iter);
1786
1787 gtk_tree_store_append (action_store, &iter, &name_space_iter);
1788 gtk_tree_store_set (action_store, &iter,
1789 ICON_COLUMN, action_pixbuf,
1790 ACTION_ID_COLUMN, action_id,
1791 ACTION_NAME_COLUMN, description,
1792 PFE_COLUMN, pfe,
1793 -1);
1794
1795 if (action_treeview != NULL) {
1796 GtkTreePath *path;
1797 path = gtk_tree_model_get_path (GTK_TREE_MODEL (action_store), &name_space_iter);
1798 gtk_tree_view_expand_row (GTK_TREE_VIEW (action_treeview),
1799 path,
1800 FALSE);
1801 gtk_tree_path_free (path);
1802 }
1803 }
1804
1805 /* ... then run through the tree and cull items no longer in the list */
1806 to_remove = NULL;
1807 gtk_tree_model_foreach (GTK_TREE_MODEL (action_store), update_action_tree_cull, pfe_list);
1808 for (l = to_remove; l != NULL; l = l->next) {
1809 GtkTreeIter *iter = l->data;
1810 gtk_tree_store_remove (action_store, iter);
1811 gtk_tree_iter_free (iter);
1812 }
1813 g_slist_free (to_remove);
1814 to_remove = NULL;
1815
1816 g_slist_free (pfe_list);
1817 }
1818
1819 static GtkWidget *
1820 action_list_new (void)
1821 {
1822 GtkCellRenderer *renderer;
1823 GtkTreeViewColumn *column;
1824 GtkWidget *treeview;
1825
1826 action_store = gtk_tree_store_new (N_COLUMNS,
1827 GDK_TYPE_PIXBUF,
1828 G_TYPE_STRING,
1829 G_TYPE_STRING,
1830 boxed_pfe_type);
1831
1832 treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (action_store));
1833
1834 column = gtk_tree_view_column_new ();
1835 renderer = gtk_cell_renderer_pixbuf_new ();
1836 gtk_tree_view_column_pack_start (column, renderer, FALSE);
1837 gtk_tree_view_column_set_attributes (column, renderer, "pixbuf", ICON_COLUMN, NULL);
1838
1839 renderer = gtk_cell_renderer_text_new ();
1840 gtk_tree_view_column_pack_start (column, renderer, FALSE);
1841 gtk_tree_view_column_set_attributes (column, renderer, "markup", ACTION_NAME_COLUMN, NULL);
1842 gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
1843
1844 gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE);
1845
1846 action_treeselect = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
1847 gtk_tree_selection_set_mode (action_treeselect, GTK_SELECTION_SINGLE);
1848 g_signal_connect (action_treeselect, "changed", (GCallback) action_tree_changed, NULL);
1849
1850 update_action_tree ();
1851
1852 gtk_tree_view_expand_all (GTK_TREE_VIEW (treeview));
1853
1854 return treeview;
1855 }
1856
1857 static void
1858 _pk_config_changed (PolKitGnomeContext *pk_g_context, gpointer user_data)
1859 {
1860 update_action_tree ();
1861 update_summary ();
1862 }
1863
1864 static void
1865 _pk_console_kit_db_changed (PolKitGnomeContext *pk_g_context, gpointer user_data)
1866 {
1867 /* for now, just use the same code as above... */
1868 _pk_config_changed (pk_g_context, user_data);
1869 }
1870
1871
1872 static GtkWidget *
1873 build_summary_box (void)
1874 {
1875 int n;
1876 GtkWidget *summary_box;
1877 GtkWidget *hbox;
1878 GtkWidget *vbox;
1879 GtkWidget *align;
1880 GtkWidget *label;
1881 GtkWidget *table;
1882 GtkWidget *button_box;
1883
1884 summary_box = gtk_vbox_new (FALSE, 4);
1885
1886 /* ---- Action ---- */
1887
1888 label = gtk_label_new (NULL);
1889 gtk_label_set_markup (GTK_LABEL (label), _("<b>Action</b>"));
1890 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
1891 gtk_box_pack_start (GTK_BOX (summary_box), label, FALSE, FALSE, 0);
1892
1893 hbox = gtk_hbox_new (FALSE, 0);
1894 align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
1895 gtk_alignment_set_padding (GTK_ALIGNMENT (align), 0, 0, 0, 0);
1896 gtk_box_pack_start (GTK_BOX (hbox), align, FALSE, TRUE, 12);
1897
1898 table = gtk_table_new (3, 2, FALSE);
1899 gtk_table_set_col_spacings (GTK_TABLE (table), 8);
1900 gtk_table_set_row_spacings (GTK_TABLE (table), 4);
1901
1902 n = 0;
1903 label = gtk_label_new (NULL);
1904 gtk_label_set_markup (GTK_LABEL (label), _("<i>Identifier:</i>"));
1905 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
1906 summary_action_id_label = gtk_label_new (NULL);
1907 gtk_misc_set_alignment (GTK_MISC (summary_action_id_label), 0.0, 0.5);
1908 gtk_label_set_ellipsize (GTK_LABEL (summary_action_id_label), PANGO_ELLIPSIZE_END);
1909 gtk_table_attach (GTK_TABLE (table), label, 0, 1, n, n + 1, GTK_FILL, GTK_FILL, 0, 0);
1910 gtk_table_attach (GTK_TABLE (table), summary_action_id_label, 1, 2, n, n + 1, GTK_EXPAND|GTK_FILL, GTK_FILL, 0, 0);
1911 n++;
1912
1913 label = gtk_label_new (NULL);
1914 gtk_label_set_markup (GTK_LABEL (label), _("<i>Description:</i>"));
1915 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
1916 summary_action_desc_label = gtk_label_new (NULL);
1917 gtk_misc_set_alignment (GTK_MISC (summary_action_desc_label), 0.0, 0.5);
1918 gtk_label_set_ellipsize (GTK_LABEL (summary_action_desc_label), PANGO_ELLIPSIZE_END);
1919 gtk_table_attach (GTK_TABLE (table), label, 0, 1, n, n + 1, GTK_FILL, GTK_FILL, 0, 0);
1920 gtk_table_attach (GTK_TABLE (table), summary_action_desc_label, 1, 2, n, n + 1, GTK_EXPAND|GTK_FILL, GTK_FILL, 0, 0);
1921 n++;
1922
1923 label = gtk_label_new (NULL);
1924 gtk_label_set_markup (GTK_LABEL (label), _("<i>Vendor:</i>"));
1925 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
1926 summary_action_vendor_label = sexy_url_label_new ();
1927 g_signal_connect (summary_action_vendor_label, "url-activated",
1928 (GCallback) summary_action_vendor_url_activated, NULL);
1929 gtk_misc_set_alignment (GTK_MISC (summary_action_vendor_label), 0.0, 0.5);
1930 gtk_label_set_ellipsize (GTK_LABEL (summary_action_vendor_label), PANGO_ELLIPSIZE_END);
1931 gtk_table_attach (GTK_TABLE (table), label, 0, 1, n, n + 1, GTK_FILL, GTK_FILL, 0, 0);
1932 gtk_table_attach (GTK_TABLE (table), summary_action_vendor_label, 1, 2, n, n + 1, GTK_EXPAND|GTK_FILL, GTK_FILL, 0, 0);
1933 n++;
1934
1935 gtk_box_pack_start (GTK_BOX (hbox), table, TRUE, TRUE, 0);
1936
1937 summary_action_icon = gtk_image_new ();
1938 gtk_misc_set_padding (GTK_MISC (summary_action_icon), 0, 0);
1939 gtk_box_pack_end (GTK_BOX (hbox), summary_action_icon, FALSE, TRUE, 0);
1940
1941 gtk_box_pack_start (GTK_BOX (summary_box), hbox, FALSE, TRUE, 0);
1942
1943 /* ---- Space ---- */
1944 align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
1945 gtk_box_pack_start (GTK_BOX (summary_box), align, FALSE, TRUE, 9);
1946
1947 /* ---- Implicit Authorizations ---- */
1948
1949 label = gtk_label_new (NULL);
1950 gtk_label_set_markup (GTK_LABEL (label), _("<b>Implicit Authorizations</b>"));
1951 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
1952 gtk_box_pack_start (GTK_BOX (summary_box), label, FALSE, FALSE, 0);
1953
1954 hbox = gtk_hbox_new (FALSE, 24);
1955 vbox = gtk_vbox_new (FALSE, 6);
1956
1957 label = gtk_label_new (NULL);
1958 gtk_label_set_markup (GTK_LABEL (label), _("Implicit authorizations are authorizations automatically given to users based on certain criteria such as if they are on the local console."));
1959 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
1960 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
1961 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0);
1962
1963 table = gtk_table_new (3, 2, FALSE);
1964 gtk_table_set_col_spacings (GTK_TABLE (table), 8);
1965 gtk_table_set_row_spacings (GTK_TABLE (table), 4);
1966 for (n = 0; n < 3; n++) {
1967 const char *s;
1968 GtkWidget **slabel;
1969
1970 switch (n) {
1971 default:
1972 case 0:
1973 s = _("<i>Anyone:</i>");
1974 slabel = &summary_label_any;
1975 break;
1976 case 1:
1977 s = _("<i>Console:</i>");
1978 slabel = &summary_label_inactive;
1979 break;
1980 case 2:
1981 s = _("<i>Active Console:</i>");
1982 slabel = &summary_label_active;
1983 break;
1984 }
1985 label = gtk_label_new (NULL);
1986 gtk_label_set_markup (GTK_LABEL (label), s);
1987 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
1988 gtk_table_attach (GTK_TABLE (table), label, 0, 1, n, n + 1, GTK_FILL, GTK_FILL, 0, 0);
1989
1990
1991 *slabel = gtk_label_new (NULL);
1992 gtk_misc_set_alignment (GTK_MISC (*slabel), 0.0, 0.5);
1993 gtk_table_attach (GTK_TABLE (table), *slabel, 1, 2, n, n + 1, GTK_FILL, GTK_FILL, 0, 0);
1994 }
1995 gtk_box_pack_start (GTK_BOX (vbox), table, TRUE, TRUE, 0);
1996
1997 button_box = gtk_hbutton_box_new ();
1998 gtk_button_box_set_layout (GTK_BUTTON_BOX (button_box), GTK_BUTTONBOX_START);
1999 gtk_box_set_spacing (GTK_BOX (button_box), 6);
2000
2001 edit_impl_button = gtk_button_new_with_mnemonic (_("_Edit..."));
2002 gtk_container_add (GTK_CONTAINER (button_box), edit_impl_button);
2003 g_signal_connect (edit_impl_button, "clicked", (GCallback) edit_impl_clicked, NULL);
2004
2005
2006 revert_to_defaults_action = polkit_gnome_action_new_default ("RevertToDefaults",
2007 pk_modify_defaults_action,
2008 _("Revert To _Defaults..."),
2009 NULL);
2010 g_signal_connect (revert_to_defaults_action, "activate", G_CALLBACK (revert_impl_activate), NULL);
2011 revert_impl_button = polkit_gnome_action_create_button (revert_to_defaults_action);
2012 gtk_container_add (GTK_CONTAINER (button_box), revert_impl_button);
2013
2014 gtk_box_pack_start (GTK_BOX (vbox), button_box, TRUE, TRUE, 0);
2015
2016
2017 align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
2018 gtk_box_pack_start (GTK_BOX (hbox), align, FALSE, TRUE, 0);
2019 gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
2020
2021
2022 gtk_box_pack_start (GTK_BOX (summary_box), hbox, FALSE, TRUE, 0);
2023
2024 /* ---- Space ---- */
2025 align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
2026 gtk_box_pack_start (GTK_BOX (summary_box), align, FALSE, TRUE, 9);
2027
2028 /* ---- Explicit Authorizations ---- */
2029
2030 label = gtk_label_new (NULL);
2031 gtk_label_set_markup (GTK_LABEL (label), _("<b>Explicit Authorizations</b>"));
2032 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
2033 gtk_box_pack_start (GTK_BOX (summary_box), label, FALSE, FALSE, 0);
2034
2035 GtkWidget *hbox2;
2036
2037 hbox = gtk_hbox_new (FALSE, 24);
2038 vbox = gtk_vbox_new (FALSE, 6);
2039 hbox2 = gtk_hbox_new (FALSE, 6);
2040
2041 label = gtk_label_new (NULL);
2042 gtk_label_set_markup (GTK_LABEL (label), _("This list displays authorizations that are either obtained through authentication or specifically given to the entity in question. Blocked authorizations are marked with a STOP sign."));
2043 gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
2044 gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
2045 gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0);
2046
2047 GtkWidget *authlist_scrolled_window;
2048
2049 authlist_store = gtk_list_store_new (EXPLICIT_N_COLUMNS,
2050 GDK_TYPE_PIXBUF,
2051 G_TYPE_STRING,
2052 G_TYPE_STRING,
2053 G_TYPE_STRING,
2054 G_TYPE_STRING,
2055 G_TYPE_STRING,
2056 G_TYPE_POINTER);
2057
2058 authlist_treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (authlist_store));
2059
2060 GtkCellRenderer *renderer;
2061 GtkTreeViewColumn *column;
2062
2063 column = gtk_tree_view_column_new ();
2064 gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
2065 renderer = gtk_cell_renderer_pixbuf_new ();
2066 gtk_tree_view_column_pack_start (column, renderer, FALSE);
2067 gtk_tree_view_column_set_attributes (column, renderer, "pixbuf", EXPLICIT_ICON_COLUMN, NULL);
2068
2069 renderer = gtk_cell_renderer_text_new ();
2070 gtk_tree_view_column_pack_start (column, renderer, FALSE);
2071 gtk_tree_view_column_set_attributes (column, renderer, "markup", EXPLICIT_ENTITY_NAME_COLUMN, NULL);
2072 gtk_tree_view_column_set_title (column, _("Entity"));
2073 gtk_tree_view_append_column (GTK_TREE_VIEW (authlist_treeview), column);
2074
2075 column = gtk_tree_view_column_new ();
2076 gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
2077 renderer = gtk_cell_renderer_text_new ();
2078 gtk_tree_view_column_pack_start (column, renderer, FALSE);
2079 gtk_tree_view_column_set_attributes (column, renderer, "markup", EXPLICIT_SCOPE_COLUMN, NULL);
2080 gtk_tree_view_column_set_title (column, _("Scope"));
2081 gtk_tree_view_append_column (GTK_TREE_VIEW (authlist_treeview), column);
2082
2083 column = gtk_tree_view_column_new ();
2084 gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
2085 renderer = gtk_cell_renderer_text_new ();
2086 gtk_tree_view_column_pack_start (column, renderer, FALSE);
2087 gtk_tree_view_column_set_attributes (column, renderer, "markup", EXPLICIT_OBTAINED_COLUMN, NULL);
2088 gtk_tree_view_column_set_title (column, _("Obtained"));
2089 gtk_tree_view_append_column (GTK_TREE_VIEW (authlist_treeview), column);
2090
2091 column = gtk_tree_view_column_new ();
2092 gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
2093 renderer = gtk_cell_renderer_text_new ();
2094 gtk_tree_view_column_pack_start (column, renderer, FALSE);
2095 gtk_tree_view_column_set_attributes (column, renderer, "markup", EXPLICIT_OBTAINED_HOW_COLUMN, NULL);
2096 gtk_tree_view_column_set_title (column, _("How"));
2097 gtk_tree_view_append_column (GTK_TREE_VIEW (authlist_treeview), column);
2098
2099 column = gtk_tree_view_column_new ();
2100 gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
2101 renderer = gtk_cell_renderer_text_new ();
2102 gtk_tree_view_column_pack_start (column, renderer, FALSE);
2103 gtk_tree_view_column_set_attributes (column, renderer, "markup", EXPLICIT_CONSTRAINTS_COLUMN, NULL);
2104 gtk_tree_view_column_set_title (column, _("Constraints"));
2105 gtk_tree_view_append_column (GTK_TREE_VIEW (authlist_treeview), column);
2106
2107
2108 authlist_scrolled_window = gtk_scrolled_window_new (NULL, NULL);
2109 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (authlist_scrolled_window),
2110 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
2111 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (authlist_scrolled_window),
2112 GTK_SHADOW_IN);
2113 gtk_container_add (GTK_CONTAINER (authlist_scrolled_window), authlist_treeview);
2114
2115 authlist_treeselect = gtk_tree_view_get_selection (GTK_TREE_VIEW (authlist_treeview));
2116 gtk_tree_selection_set_mode (authlist_treeselect, GTK_SELECTION_SINGLE);
2117 g_signal_connect (authlist_treeselect, "changed", (GCallback) authlist_changed, NULL);
2118
2119 GtkWidget *button;
2120
2121 button_box = gtk_vbutton_box_new ();
2122 gtk_button_box_set_layout (GTK_BUTTON_BOX (button_box), GTK_BUTTONBOX_START);
2123 gtk_box_set_spacing (GTK_BOX (button_box), 6);
2124
2125 grant_button = gtk_button_new_with_mnemonic (_("_Grant..."));
2126 gtk_button_set_image (GTK_BUTTON (grant_button),
2127 gtk_image_new_from_stock (GTK_STOCK_ADD,
2128 GTK_ICON_SIZE_SMALL_TOOLBAR));
2129 g_signal_connect (grant_button, "clicked", (GCallback) grant_clicked, NULL);
2130 gtk_container_add (GTK_CONTAINER (button_box), grant_button);
2131
2132 block_button = gtk_button_new_with_mnemonic (_("_Block..."));
2133 gtk_button_set_image (GTK_BUTTON (block_button),
2134 gtk_image_new_from_stock (GTK_STOCK_STOP,
2135 GTK_ICON_SIZE_SMALL_TOOLBAR));
2136 g_signal_connect (block_button, "clicked", (GCallback) block_clicked, NULL);
2137 gtk_container_add (GTK_CONTAINER (button_box), block_button);
2138
2139
2140 revoke_action = polkit_gnome_action_new ("RevokeAction");
2141 g_object_set (revoke_action,
2142 "polkit-action", pk_revoke_action,
2143 "no-visible", TRUE,
2144 "no-sensitive", FALSE,
2145 "no-short-label", NULL,
2146 "no-label", _("_Revoke"),
2147 "no-tooltip", NULL,
2148 "no-icon-name", GTK_STOCK_CLEAR,
2149
2150 "auth-visible", TRUE,
2151 "auth-sensitive", TRUE,
2152 "auth-short-label", NULL,
2153 "auth-label", _("_Revoke..."),
2154 "auth-tooltip", NULL,
2155 "auth-icon-name", GTK_STOCK_CLEAR,
2156
2157 "yes-visible", TRUE,
2158 "yes-sensitive", TRUE,
2159 "yes-short-label", NULL,
2160 "yes-label", _("_Revoke"),
2161 "yes-tooltip", NULL,
2162 "yes-icon-name", GTK_STOCK_CLEAR,
2163 NULL);
2164
2165 g_signal_connect (revoke_action, "activate", G_CALLBACK (revoke_action_activate), NULL);
2166 button = polkit_gnome_action_create_button (revoke_action);
2167 gtk_container_add (GTK_CONTAINER (button_box), button);
2168
2169
2170 GtkWidget *read_all_auths;
2171
2172 read_action = polkit_gnome_toggle_action_new_default ("read", pk_read_action,
2173 _("_Show authorizations from all users..."),
2174 _("_Show authorizations from all users"));
2175 read_all_auths = gtk_check_button_new ();
2176 gtk_action_connect_proxy (GTK_ACTION (read_action), read_all_auths);
2177
2178 align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
2179 gtk_box_pack_start (GTK_BOX (hbox2), authlist_scrolled_window, TRUE, TRUE, 0);
2180 gtk_box_pack_start (GTK_BOX (hbox2), button_box, FALSE, TRUE, 0);
2181
2182 gtk_box_pack_start (GTK_BOX (vbox), hbox2, TRUE, TRUE, 0);
2183 gtk_box_pack_start (GTK_BOX (vbox), read_all_auths, FALSE, FALSE, 0);
2184
2185 gtk_box_pack_start (GTK_BOX (hbox), align, FALSE, TRUE, 0);
2186 gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0);
2187
2188 gtk_box_pack_start (GTK_BOX (summary_box), hbox, TRUE, TRUE, 0);
2189
2190 return summary_box;
2191 }
2192
2193 typedef struct SingleInstance SingleInstance;
2194 typedef struct SingleInstanceClass SingleInstanceClass;
2195
2196 GType single_instance_get_type (void);
2197
2198 struct SingleInstance
2199 {
2200 GObject parent;
2201 };
2202
2203 struct SingleInstanceClass
2204 {
2205 GObjectClass parent;
2206 };
2207
2208 #define TYPE_SINGLE_INSTANCE (single_instance_get_type ())
2209 #define SINGLE_INSTANCE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), TYPE_SINGLE_INSTANCE, SingleInstance))
2210 #define SINGLE_INSTANCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_INSTANCE, SingleInstanceClass))
2211 #define IS_SINGLE_INSTANCE_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), TYPE_SINGLE_INSTANCE))
2212 #define IS_SINGLE_INSTANCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_INSTANCE))
2213 #define SINGLE_INSTANCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_INSTANCE, SingleInstanceClass))
2214
2215 G_DEFINE_TYPE(SingleInstance, single_instance, G_TYPE_OBJECT)
2216
2217 gboolean single_instance_show_action (SingleInstance *obj, const char *action_id, GError **error);
2218
2219 #include "single-instance-glue.h"
2220
2221 static void
2222 single_instance_init (SingleInstance *obj)
2223 {
2224 }
2225
2226 static void
2227 single_instance_class_init (SingleInstanceClass *klass)
2228 {
2229 }
2230
2231 gboolean
2232 single_instance_show_action (SingleInstance *obj, const char *action_id, GError **error)
2233 {
2234 GtkTreeIter iter;
2235
2236 if (find_iter_by_action_id (action_id, &iter)) {
2237 GtkTreePath *path;
2238
2239 path = gtk_tree_model_get_path (GTK_TREE_MODEL (action_store), &iter);
2240 if (path != NULL) {
2241 gtk_tree_view_set_cursor (GTK_TREE_VIEW (action_treeview),
2242 path,
2243 NULL,
2244 FALSE);
2245 gtk_tree_path_free (path);
2246
2247 /* bring top level window to front */
2248 if (toplevel_window != NULL)
2249 gtk_window_present (GTK_WINDOW (toplevel_window));
2250 }
2251 }
2252
2253 return TRUE;
2254 }
2255
2256
2257 static gboolean
2258 setup_single_instance (void)
2259 {
2260 gboolean ret;
2261 GObject *single_instance;
2262 GError *error;
2263 DBusGConnection *bus;
2264 DBusGProxy *bus_proxy;
2265 guint result;
2266 const char bus_name[] = "org.gnome.PolicyKit.AuthorizationManager";
2267
2268 ret = FALSE;
2269
2270 error = NULL;
2271 bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
2272 if (bus == NULL) {
2273 g_warning ("Couldn't connect to session bus: %s", error->message);
2274 g_error_free (error);
2275 goto out;
2276 }
2277
2278 bus_proxy = dbus_g_proxy_new_for_name (bus,
2279 DBUS_SERVICE_DBUS,
2280 DBUS_PATH_DBUS,
2281 DBUS_INTERFACE_DBUS);
2282 if (bus_proxy == NULL) {
2283 g_warning ("Could not construct bus_proxy object; bailing out");
2284 goto out;
2285 }
2286
2287 if (!dbus_g_proxy_call (bus_proxy,
2288 "RequestName",
2289 &error,
2290 G_TYPE_STRING, bus_name,
2291 G_TYPE_UINT, 0,
2292 G_TYPE_INVALID,
2293 G_TYPE_UINT, &result,
2294 G_TYPE_INVALID)) {
2295 if (error != NULL) {
2296 g_warning ("Failed to acquire %s: %s", bus_name, error->message);
2297 g_error_free (error);
2298 } else {
2299 g_warning ("Failed to acquire %s", bus_name);
2300 }
2301 goto out;
2302 }
2303
2304 if (result != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) {
2305 if (error != NULL) {
2306 g_warning ("Failed to acquire %s: %s", bus_name, error->message);
2307 g_error_free (error);
2308 } else {
2309 g_warning ("Failed to acquire %s", bus_name);
2310 }
2311 goto out;
2312 }
2313
2314 dbus_g_object_type_install_info (TYPE_SINGLE_INSTANCE, &dbus_glib_single_instance_object_info);
2315
2316 single_instance = g_object_new (TYPE_SINGLE_INSTANCE, NULL);
2317
2318 dbus_g_connection_register_g_object (bus, "/", G_OBJECT (single_instance));
2319
2320 ret = TRUE;
2321
2322 out:
2323 return ret;
2324 }
2325
2326 int
2327 main (int argc, char **argv)
2328 {
2329 GtkWidget *vbox;
2330 GtkWidget *treeview_scrolled_window;
2331 GtkWidget *button;
2332 GtkWidget *hbutton_box;
2333 GMainLoop*loop;
2334 GtkWidget *pane;
2335
2336 gtk_init (&argc, &argv);
2337
2338 if (!setup_single_instance ()) {
2339 g_debug ("Already running");
2340 return 1;
2341 }
2342
2343 boxed_pfe_type = g_boxed_type_register_static ("GBoxedPolKitPolicyFileEntry",
2344 (GBoxedCopyFunc) polkit_policy_file_entry_ref,
2345 (GBoxedFreeFunc) polkit_policy_file_entry_unref);
2346
2347 bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
2348 bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
2349 textdomain (GETTEXT_PACKAGE);
2350
2351 loop = g_main_loop_new (NULL, FALSE);
2352
2353 pkgc = polkit_gnome_context_get (NULL);
2354 polkit_context_set_load_descriptions (pkgc->pk_context);
2355
2356 pk_revoke_action = polkit_action_new ();
2357 polkit_action_set_action_id (pk_revoke_action, "org.freedesktop.policykit.revoke");
2358
2359 pk_read_action = polkit_action_new ();
2360 polkit_action_set_action_id (pk_read_action, "org.freedesktop.policykit.read");
2361
2362 pk_grant_action = polkit_action_new ();
2363 polkit_action_set_action_id (pk_grant_action, "org.freedesktop.policykit.grant");
2364
2365 pk_modify_defaults_action = polkit_action_new ();
2366 polkit_action_set_action_id (pk_modify_defaults_action, "org.freedesktop.policykit.modify-defaults");
2367
2368 action_pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
2369 "application-x-executable",
2370 24,
2371 0,
2372 NULL);
2373
2374 person_pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
2375 "stock_person",
2376 24,
2377 0,
2378 NULL);
2379
2380 namespace_pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
2381 "package-x-generic",
2382 24,
2383 0,
2384 NULL);
2385
2386 stop_pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
2387 GTK_STOCK_STOP,
2388 24,
2389 0,
2390 NULL);
2391
2392
2393 toplevel_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
2394
2395 vbox = gtk_vbox_new (FALSE, 6);
2396 gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
2397 gtk_container_add (GTK_CONTAINER (toplevel_window), vbox);
2398
2399 summary_box = build_summary_box ();
2400 gtk_container_set_border_width (GTK_CONTAINER (summary_box), 8);
2401
2402 action_treeview = action_list_new ();
2403 treeview_scrolled_window = gtk_scrolled_window_new (NULL, NULL);
2404 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (treeview_scrolled_window),
2405 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
2406 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (treeview_scrolled_window),
2407 GTK_SHADOW_IN);
2408 gtk_container_add (GTK_CONTAINER (treeview_scrolled_window), action_treeview);
2409
2410 pane = gtk_hpaned_new ();
2411 gtk_paned_add1 (GTK_PANED (pane), treeview_scrolled_window);
2412
2413 notebook = gtk_notebook_new ();
2414
2415 gtk_notebook_append_page (GTK_NOTEBOOK (notebook), summary_box, NULL);
2416 gtk_notebook_append_page (GTK_NOTEBOOK (notebook), gtk_label_new (_("Select an action")), NULL);
2417 gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook), FALSE);
2418 gtk_notebook_set_show_border (GTK_NOTEBOOK (notebook), FALSE);
2419
2420 gtk_paned_add2 (GTK_PANED (pane), notebook);
2421 gtk_paned_set_position (GTK_PANED (pane), 300);
2422 gtk_box_pack_start (GTK_BOX (vbox), pane, TRUE, TRUE, 0);
2423
2424 //gtk_box_pack_start (GTK_BOX (vbox), treeview_scrolled_window, TRUE, TRUE, 0);
2425 //gtk_box_pack_start (GTK_BOX (vbox), summary_box, FALSE, TRUE, 0);
2426
2427 /* button box */
2428
2429 hbutton_box = gtk_hbutton_box_new ();
2430 gtk_button_box_set_layout (GTK_BUTTON_BOX (hbutton_box), GTK_BUTTONBOX_END);
2431 gtk_box_set_spacing (GTK_BOX (hbutton_box), 6);
2432
2433 button = gtk_button_new_from_stock (GTK_STOCK_CLOSE);
2434 g_signal_connect (button, "clicked", (GCallback) exit, NULL);
2435 gtk_container_add (GTK_CONTAINER (hbutton_box), button);
2436
2437
2438 gtk_box_pack_start (GTK_BOX (vbox), hbutton_box, FALSE, TRUE, 0);
2439
2440 gtk_window_set_icon_name (GTK_WINDOW (toplevel_window), "gtk-dialog-authentication");
2441 gtk_window_set_default_size (GTK_WINDOW (toplevel_window), 800, 700);
2442 gtk_window_set_title (GTK_WINDOW (toplevel_window), _("Authorizations"));
2443 g_signal_connect (toplevel_window, "delete-event", (GCallback) exit, NULL);
2444 gtk_widget_show_all (toplevel_window);
2445
2446 g_signal_connect (pkgc,
2447 "config-changed",
2448 G_CALLBACK (_pk_config_changed),
2449 NULL);
2450
2451 g_signal_connect (pkgc,
2452 "console-kit-db-changed",
2453 G_CALLBACK (_pk_console_kit_db_changed),
2454 NULL);
2455
2456 update_summary ();
2457
2458 g_main_loop_run (loop);
2459 return 0;
2460 }
+0
-869
tools/sexy-url-label.c less more
0 /*
1 * @file libsexy/sexy-url-label.c URL Label
2 *
3 * @Copyright (C) 2005-2006 Christian Hammond
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the
17 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 * Boston, MA 02111-1307, USA.
19 */
20 #include <gtk/gtk.h>
21 #include <string.h>
22 #include <stdio.h>
23
24 #include "sexy-url-label.h"
25
26 #define SEXY_URL_LABEL_GET_PRIVATE(obj) \
27 (G_TYPE_INSTANCE_GET_PRIVATE((obj), SEXY_TYPE_URL_LABEL, \
28 SexyUrlLabelPrivate))
29
30 typedef struct
31 {
32 int start;
33 int end;
34 const gchar *url;
35
36 } SexyUrlLabelLink;
37
38 typedef struct
39 {
40 GList *links;
41 GList *urls;
42 SexyUrlLabelLink *active_link;
43 GtkWidget *popup_menu;
44 GdkWindow *event_window;
45
46 int layout_x;
47 int layout_y;
48
49 size_t wrap_width;
50
51 GString *temp_markup_result;
52
53 } SexyUrlLabelPrivate;
54
55 /*
56 * NOTE: This *MUST* match the LabelWrapWidth struct in gtklabel.c.
57 */
58 typedef struct
59 {
60 gint width;
61 PangoFontDescription *font_desc;
62
63 } LabelWrapWidth;
64
65 enum
66 {
67 URL_ACTIVATED,
68 LAST_SIGNAL
69 };
70
71 static void sexy_url_label_finalize(GObject *obj);
72 static void sexy_url_label_realize(GtkWidget *widget);
73 static void sexy_url_label_unrealize(GtkWidget *widget);
74 static void sexy_url_label_map(GtkWidget *widget);
75 static void sexy_url_label_unmap(GtkWidget *widget);
76 static void sexy_url_label_size_allocate(GtkWidget *widget,
77 GtkAllocation *allocation);
78 static gboolean sexy_url_label_motion_notify_event(GtkWidget *widget,
79 GdkEventMotion *event);
80 static gboolean sexy_url_label_leave_notify_event(GtkWidget *widget,
81 GdkEventCrossing *event);
82 static gboolean sexy_url_label_button_press_event(GtkWidget *widget,
83 GdkEventButton *event);
84
85 static void open_link_activate_cb(GtkMenuItem *menu_item,
86 SexyUrlLabel *url_label);
87 static void copy_link_activate_cb(GtkMenuItem *menu_item,
88 SexyUrlLabel *url_label);
89
90 static void sexy_url_label_clear_links(SexyUrlLabel *url_label);
91 static void sexy_url_label_clear_urls(SexyUrlLabel *url_label);
92 static void sexy_url_label_rescan_label(SexyUrlLabel *url_label);
93
94 static GtkLabelClass *parent_class = NULL;
95 static guint signals[LAST_SIGNAL] = {0};
96
97 G_DEFINE_TYPE(SexyUrlLabel, sexy_url_label, GTK_TYPE_LABEL);
98
99 static void
100 sexy_url_label_class_init(SexyUrlLabelClass *klass)
101 {
102 GObjectClass *object_class = G_OBJECT_CLASS(klass);
103 GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
104
105 parent_class = g_type_class_peek_parent(klass);
106
107 object_class->finalize = sexy_url_label_finalize;
108
109 widget_class->realize = sexy_url_label_realize;
110 widget_class->unrealize = sexy_url_label_unrealize;
111 widget_class->map = sexy_url_label_map;
112 widget_class->unmap = sexy_url_label_unmap;
113 widget_class->size_allocate = sexy_url_label_size_allocate;
114 widget_class->motion_notify_event = sexy_url_label_motion_notify_event;
115 widget_class->leave_notify_event = sexy_url_label_leave_notify_event;
116 widget_class->button_press_event = sexy_url_label_button_press_event;
117
118 g_type_class_add_private(klass, sizeof(SexyUrlLabelPrivate));
119
120 /**
121 * SexyUrlLabel::url-activated:
122 * @url_label: The label on which the signal was emitted.
123 * @url: The URL which was activated.
124 *
125 * The ::url-activated signal is emitted when a URL in the label was
126 * clicked.
127 */
128 signals[URL_ACTIVATED] =
129 g_signal_new("url_activated",
130 G_TYPE_FROM_CLASS(object_class),
131 G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
132 G_STRUCT_OFFSET(SexyUrlLabelClass, url_activated),
133 NULL, NULL,
134 g_cclosure_marshal_VOID__STRING,
135 G_TYPE_NONE, 1,
136 G_TYPE_STRING);
137 }
138
139 static void
140 selectable_changed_cb(SexyUrlLabel *url_label)
141 {
142 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
143
144 if (priv->event_window != NULL)
145 {
146 GdkCursor *cursor = NULL;
147
148 if (gtk_label_get_selectable(GTK_LABEL(url_label)) &&
149 priv->active_link == NULL)
150 cursor = gdk_cursor_new_for_display(
151 gtk_widget_get_display(GTK_WIDGET(url_label)), GDK_XTERM);
152 gdk_window_set_cursor(priv->event_window, cursor);
153
154 if (cursor)
155 gdk_cursor_unref(cursor);
156
157 /*
158 * GtkLabel recreates its event window when the selectable property
159 * changes, which will cover ours.
160 */
161 gdk_window_raise(priv->event_window);
162 }
163 }
164
165 static void
166 sexy_url_label_init(SexyUrlLabel *url_label)
167 {
168 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
169 GtkWidget *item;
170 GtkWidget *image;
171
172 priv->links = NULL;
173 priv->active_link = NULL;
174 priv->event_window = NULL;
175
176 g_signal_connect(G_OBJECT(url_label), "notify::selectable",
177 G_CALLBACK(selectable_changed_cb), NULL);
178
179 priv->popup_menu = gtk_menu_new();
180
181 /* Open Link */
182 item = gtk_image_menu_item_new_with_mnemonic("_Open Link");
183 gtk_widget_show(item);
184 gtk_menu_shell_append(GTK_MENU_SHELL(priv->popup_menu), item);
185
186 g_signal_connect(G_OBJECT(item), "activate",
187 G_CALLBACK(open_link_activate_cb), url_label);
188
189 image = gtk_image_new_from_stock(GTK_STOCK_JUMP_TO, GTK_ICON_SIZE_MENU);
190 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
191 gtk_widget_show(image);
192
193 /* Copy Link Address */
194 item = gtk_image_menu_item_new_with_mnemonic("Copy _Link Address");
195 gtk_widget_show(item);
196 gtk_menu_shell_append(GTK_MENU_SHELL(priv->popup_menu), item);
197
198 g_signal_connect(G_OBJECT(item), "activate",
199 G_CALLBACK(copy_link_activate_cb), url_label);
200
201 image = gtk_image_new_from_stock(GTK_STOCK_COPY, GTK_ICON_SIZE_MENU);
202 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
203 gtk_widget_show(image);
204 }
205
206 static void
207 sexy_url_label_finalize(GObject *obj)
208 {
209 SexyUrlLabel *url_label = SEXY_URL_LABEL(obj);
210
211 sexy_url_label_clear_links(url_label);
212 sexy_url_label_clear_urls(url_label);
213
214 if (G_OBJECT_CLASS(parent_class)->finalize != NULL)
215 G_OBJECT_CLASS(parent_class)->finalize(obj);
216 }
217
218 static gboolean
219 sexy_url_label_motion_notify_event(GtkWidget *widget, GdkEventMotion *event)
220 {
221 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
222 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
223 PangoLayout *layout = gtk_label_get_layout(GTK_LABEL(url_label));
224 GdkModifierType state;
225 gboolean found = FALSE;
226 GList *l;
227 int index, trailing;
228 int x, y;
229 SexyUrlLabelLink *link = NULL;
230
231 if (event->is_hint)
232 gdk_window_get_pointer(event->window, &x, &y, &state);
233 else
234 {
235 x = event->x;
236 y = event->y;
237 state = event->state;
238 }
239
240 if (pango_layout_xy_to_index(layout,
241 (x - priv->layout_x) * PANGO_SCALE,
242 (y - priv->layout_y) * PANGO_SCALE,
243 &index, &trailing))
244 {
245 for (l = priv->links; l != NULL; l = l->next)
246 {
247 link = (SexyUrlLabelLink *)l->data;
248
249 if (index >= link->start && index <= link->end)
250 {
251 found = TRUE;
252 break;
253 }
254 }
255 }
256
257 if (found)
258 {
259 if (priv->active_link == NULL)
260 {
261 GdkCursor *cursor;
262
263 cursor = gdk_cursor_new_for_display(
264 gtk_widget_get_display(widget), GDK_HAND2);
265 gdk_window_set_cursor(priv->event_window, cursor);
266 gdk_cursor_unref(cursor);
267
268 priv->active_link = link;
269 }
270 }
271 else
272 {
273 if (priv->active_link != NULL)
274 {
275 if (gtk_label_get_selectable(GTK_LABEL(url_label)))
276 {
277 GdkCursor *cursor;
278
279 cursor = gdk_cursor_new_for_display(
280 gtk_widget_get_display(widget), GDK_XTERM);
281 gdk_window_set_cursor(priv->event_window, cursor);
282 gdk_cursor_unref(cursor);
283 }
284 else
285 gdk_window_set_cursor(priv->event_window, NULL);
286
287 priv->active_link = NULL;
288 }
289 }
290
291 /*
292 * Another beautiful libsexy hack. This one prevents the callback
293 * from going "Oh boy, they clicked and dragged! Let's select more of
294 * the text!"
295 */
296 if (priv->active_link != NULL)
297 event->state = 0;
298
299 GTK_WIDGET_CLASS(parent_class)->motion_notify_event(widget, event);
300
301 return FALSE;
302 }
303
304 static gboolean
305 sexy_url_label_leave_notify_event(GtkWidget *widget, GdkEventCrossing *event)
306 {
307 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
308 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
309
310 if (GTK_WIDGET_CLASS(parent_class)->leave_notify_event != NULL)
311 GTK_WIDGET_CLASS(parent_class)->leave_notify_event(widget, event);
312
313 if (event->mode == GDK_CROSSING_NORMAL)
314 {
315 GdkCursor *cursor = NULL;
316 if (gtk_label_get_selectable(GTK_LABEL(widget)))
317 cursor = gdk_cursor_new_for_display(
318 gtk_widget_get_display(widget), GDK_XTERM);
319 gdk_window_set_cursor(priv->event_window, cursor);
320 if (cursor)
321 gdk_cursor_unref(cursor);
322 priv->active_link = NULL;
323 }
324
325 return FALSE;
326 }
327
328 static gboolean
329 sexy_url_label_button_press_event(GtkWidget *widget, GdkEventButton *event)
330 {
331 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
332 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
333
334 if (priv->active_link == NULL)
335 {
336 return GTK_WIDGET_CLASS(parent_class)->button_press_event(widget,
337 event);
338 }
339
340 if (event->button == 1)
341 {
342 g_signal_emit(url_label, signals[URL_ACTIVATED], 0,
343 priv->active_link->url);
344 }
345 else if (event->button == 3)
346 {
347 gtk_menu_popup(GTK_MENU(priv->popup_menu), NULL, NULL, NULL, NULL,
348 event->button, event->time);
349 }
350
351 return TRUE;
352 }
353
354 static void
355 update_wrap_width(SexyUrlLabel *url_label, size_t wrap_width)
356 {
357 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
358 LabelWrapWidth *wrap_width_data;
359 GtkStyle *style;
360
361 if (wrap_width == 0 || !gtk_label_get_line_wrap(GTK_LABEL(url_label)))
362 return;
363
364 #if 0
365 pango_layout_set_width(gtk_label_get_layout(GTK_LABEL(url_label)),
366 wrap_width * PANGO_SCALE);
367 #endif
368 style = GTK_WIDGET(url_label)->style;
369 wrap_width_data = g_object_get_data(G_OBJECT(style),
370 "gtk-label-wrap-width");
371
372 if (wrap_width_data != NULL &&
373 wrap_width_data->width != wrap_width * PANGO_SCALE)
374 {
375 wrap_width_data->width = wrap_width * PANGO_SCALE;
376 priv->wrap_width = wrap_width;
377 g_object_unref(GTK_LABEL(url_label)->layout);
378 GTK_LABEL(url_label)->layout = NULL;
379 gtk_label_get_layout(GTK_LABEL(url_label));
380 gtk_widget_queue_resize(GTK_WIDGET(url_label));
381 }
382 }
383
384 static void
385 sexy_url_label_realize(GtkWidget *widget)
386 {
387 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
388 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
389 GdkWindowAttr attributes;
390 gint attributes_mask;
391
392 GTK_WIDGET_CLASS(parent_class)->realize(widget);
393
394 attributes.window_type = GDK_WINDOW_CHILD;
395 attributes.x = widget->allocation.x;
396 attributes.y = widget->allocation.y;
397 attributes.width = widget->allocation.width;
398 attributes.height = widget->allocation.height;
399 attributes.window_type = GDK_WINDOW_CHILD;
400 attributes.wclass = GDK_INPUT_ONLY;
401 attributes.event_mask = gtk_widget_get_events(widget);
402 attributes.event_mask |= (GDK_BUTTON_PRESS_MASK |
403 GDK_BUTTON_RELEASE_MASK |
404 GDK_POINTER_MOTION_MASK |
405 GDK_POINTER_MOTION_HINT_MASK |
406 GDK_LEAVE_NOTIFY_MASK |
407 GDK_LEAVE_NOTIFY_MASK);
408 attributes_mask = GDK_WA_X | GDK_WA_Y;
409
410 if (gtk_label_get_selectable(GTK_LABEL(widget))) {
411 attributes.cursor = gdk_cursor_new_for_display(
412 gtk_widget_get_display(widget), GDK_XTERM);
413 attributes_mask |= GDK_WA_CURSOR;
414 }
415
416 priv->event_window =
417 gdk_window_new(gtk_widget_get_parent_window(widget), &attributes,
418 attributes_mask);
419 gdk_window_set_user_data(priv->event_window, widget);
420
421 if (attributes_mask & GDK_WA_CURSOR)
422 gdk_cursor_unref (attributes.cursor);
423 }
424
425 static void
426 sexy_url_label_unrealize(GtkWidget *widget)
427 {
428 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
429 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
430
431 if (priv->event_window != NULL)
432 {
433 gdk_window_set_user_data(priv->event_window, NULL);
434 gdk_window_destroy(priv->event_window);
435 priv->event_window = NULL;
436 }
437
438 GTK_WIDGET_CLASS(parent_class)->unrealize(widget);
439 }
440
441 static void
442 sexy_url_label_map(GtkWidget *widget)
443 {
444 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
445 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
446
447 GTK_WIDGET_CLASS(parent_class)->map(widget);
448
449 if (priv->event_window != NULL)
450 gdk_window_show(priv->event_window);
451 }
452
453 static void
454 sexy_url_label_unmap(GtkWidget *widget)
455 {
456 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
457 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
458
459 if (priv->event_window != NULL)
460 gdk_window_hide(priv->event_window);
461
462 GTK_WIDGET_CLASS(parent_class)->unmap(widget);
463 }
464
465 static void
466 sexy_url_label_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
467 {
468 SexyUrlLabel *url_label = (SexyUrlLabel *)widget;
469 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
470
471 #if 0
472 {
473 LabelWrapWidth *wrap_width_data;
474 GtkStyle *style;
475 style = GTK_WIDGET(url_label)->style;
476 wrap_width_data = g_object_get_data(G_OBJECT(style),
477 "gtk-label-wrap-width");
478 if (wrap_width_data != NULL)
479 printf("wrap width = %d\n", wrap_width_data->width / PANGO_SCALE);
480 }
481 #endif
482 update_wrap_width(url_label, allocation->width);
483 GTK_WIDGET_CLASS(parent_class)->size_allocate(widget, allocation);
484 pango_layout_set_width(gtk_label_get_layout(GTK_LABEL(url_label)),
485 allocation->width * PANGO_SCALE);
486
487 if (GTK_WIDGET_REALIZED(widget))
488 {
489 gdk_window_move_resize(priv->event_window,
490 allocation->x, allocation->y,
491 allocation->width, allocation->height);
492 }
493
494 sexy_url_label_rescan_label(url_label);
495 }
496
497 static void
498 open_link_activate_cb(GtkMenuItem *menu_item, SexyUrlLabel *url_label)
499 {
500 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
501
502 if (priv->active_link == NULL)
503 return;
504
505 g_signal_emit(url_label, signals[URL_ACTIVATED], 0, priv->active_link->url);
506 }
507
508 static void
509 copy_link_activate_cb(GtkMenuItem *menu_item, SexyUrlLabel *url_label)
510 {
511 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
512 GtkClipboard *clipboard;
513
514 if (priv->active_link == NULL)
515 return;
516
517 clipboard = gtk_widget_get_clipboard(GTK_WIDGET(url_label),
518 GDK_SELECTION_PRIMARY);
519
520 gtk_clipboard_set_text(clipboard, priv->active_link->url,
521 strlen(priv->active_link->url));
522 }
523
524 /**
525 * sexy_url_label_new
526 *
527 * Creates a new SexyUrlLabel widget.
528 *
529 * Returns: a new #SexyUrlLabel.
530 */
531 GtkWidget *
532 sexy_url_label_new(void)
533 {
534 return g_object_new(SEXY_TYPE_URL_LABEL, NULL);
535 }
536
537 static void
538 sexy_url_label_clear_links(SexyUrlLabel *url_label)
539 {
540 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
541
542 if (priv->links == NULL)
543 return;
544
545 g_list_foreach(priv->links, (GFunc)g_free, NULL);
546 g_list_free(priv->links);
547 priv->links = NULL;
548 }
549
550 static void
551 sexy_url_label_clear_urls(SexyUrlLabel *url_label)
552 {
553 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
554
555 if (priv->urls == NULL)
556 return;
557
558 g_list_foreach(priv->urls, (GFunc)g_free, NULL);
559 g_list_free(priv->urls);
560 priv->urls = NULL;
561 }
562
563 static void
564 sexy_url_label_rescan_label(SexyUrlLabel *url_label)
565 {
566 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
567 PangoLayout *layout = gtk_label_get_layout(GTK_LABEL(url_label));
568 PangoAttrList *list = pango_layout_get_attributes(layout);
569 PangoAttrIterator *iter;
570 GList *url_list;
571
572 sexy_url_label_clear_links(url_label);
573
574 if (list == NULL)
575 return;
576
577 iter = pango_attr_list_get_iterator(list);
578
579 gtk_label_get_layout_offsets(GTK_LABEL(url_label),
580 &priv->layout_x, &priv->layout_y);
581
582 priv->layout_x -= GTK_WIDGET(url_label)->allocation.x;
583 priv->layout_y -= GTK_WIDGET(url_label)->allocation.y;
584
585 url_list = priv->urls;
586
587 do
588 {
589 PangoAttribute *underline;
590 PangoAttribute *color;
591
592 underline = pango_attr_iterator_get(iter, PANGO_ATTR_UNDERLINE);
593 color = pango_attr_iterator_get(iter, PANGO_ATTR_FOREGROUND);
594
595 if (underline != NULL && color != NULL)
596 {
597 gint start, end;
598 PangoRectangle start_pos;
599 PangoRectangle end_pos;
600 SexyUrlLabelLink *link;
601
602 pango_attr_iterator_range(iter, &start, &end);
603 pango_layout_index_to_pos(layout, start, &start_pos);
604 pango_layout_index_to_pos(layout, end, &end_pos);
605
606 link = g_new0(SexyUrlLabelLink, 1);
607 link->start = start;
608 link->end = end;
609 link->url = (const gchar *)url_list->data;
610 priv->links = g_list_append(priv->links, link);
611
612 url_list = url_list->next;
613 }
614
615 } while (pango_attr_iterator_next(iter));
616
617 pango_attr_iterator_destroy (iter);
618 }
619
620 static void
621 start_element_handler(GMarkupParseContext *context,
622 const gchar *element_name,
623 const gchar **attribute_names,
624 const gchar **attribute_values,
625 gpointer user_data,
626 GError **error)
627 {
628 SexyUrlLabel *url_label = SEXY_URL_LABEL(user_data);
629 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
630
631 if (!strcmp(element_name, "a"))
632 {
633 const gchar *url = NULL;
634 int line_number;
635 int char_number;
636 int i;
637
638 g_markup_parse_context_get_position(context, &line_number,
639 &char_number);
640
641 for (i = 0; attribute_names[i] != NULL; i++)
642 {
643 const gchar *attr = attribute_names[i];
644
645 if (!strcmp(attr, "href"))
646 {
647 if (url != NULL)
648 {
649 g_set_error(error, G_MARKUP_ERROR,
650 G_MARKUP_ERROR_INVALID_CONTENT,
651 "Attribute '%s' occurs twice on <a> tag "
652 "on line %d char %d, may only occur once",
653 attribute_names[i], line_number, char_number);
654 return;
655 }
656
657 url = attribute_values[i];
658 }
659 else
660 {
661 g_set_error(error, G_MARKUP_ERROR,
662 G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE,
663 "Attribute '%s' is not allowed on the <a> tag "
664 "on line %d char %d",
665 attribute_names[i], line_number, char_number);
666 return;
667 }
668 }
669
670 if (url == NULL)
671 {
672 g_set_error(error, G_MARKUP_ERROR,
673 G_MARKUP_ERROR_INVALID_CONTENT,
674 "Attribute 'href' was missing on the <a> tag "
675 "on line %d char %d",
676 line_number, char_number);
677 return;
678 }
679
680 g_string_append(priv->temp_markup_result,
681 "<span color=\"blue\" underline=\"single\">");
682
683 priv->urls = g_list_append(priv->urls, g_strdup(url));
684 }
685 else
686 {
687 int i;
688
689 g_string_append_printf(priv->temp_markup_result,
690 "<%s", element_name);
691
692 for (i = 0; attribute_names[i] != NULL; i++)
693 {
694 const gchar *attr = attribute_names[i];
695 const gchar *value = attribute_values[i];
696
697 g_string_append_printf(priv->temp_markup_result,
698 " %s=\"%s\"",
699 attr, value);
700 }
701
702 g_string_append_c(priv->temp_markup_result, '>');
703 }
704 }
705
706 static void
707 end_element_handler(GMarkupParseContext *context,
708 const gchar *element_name,
709 gpointer user_data,
710 GError **error)
711 {
712 SexyUrlLabel *url_label = SEXY_URL_LABEL(user_data);
713 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
714
715 if (!strcmp(element_name, "a"))
716 {
717 g_string_append(priv->temp_markup_result, "</span>");
718 }
719 else
720 {
721 g_string_append_printf(priv->temp_markup_result,
722 "</%s>", element_name);
723 }
724 }
725
726 static void
727 text_handler(GMarkupParseContext *context,
728 const gchar *text,
729 gsize text_len,
730 gpointer user_data,
731 GError **error)
732 {
733 SexyUrlLabel *url_label = SEXY_URL_LABEL(user_data);
734 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
735
736 gchar *newtext = g_markup_escape_text(text, text_len);
737 g_string_append_len(priv->temp_markup_result, newtext, strlen (newtext));
738 g_free (newtext);
739 }
740
741 static const GMarkupParser markup_parser =
742 {
743 start_element_handler,
744 end_element_handler,
745 text_handler,
746 NULL,
747 NULL
748 };
749
750 static gboolean
751 xml_isspace(char c)
752 {
753 return (c == ' ' || c == '\t' || c == '\n' || c == '\r');
754 }
755
756 static gboolean
757 parse_custom_markup(SexyUrlLabel *url_label, const gchar *markup,
758 gchar **ret_markup)
759 {
760 GMarkupParseContext *context = NULL;
761 SexyUrlLabelPrivate *priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
762 GError *error = NULL;
763 const gchar *p, *end;
764 gboolean needs_root = TRUE;
765 gsize length;
766
767 g_return_val_if_fail(markup != NULL, FALSE);
768 g_return_val_if_fail(ret_markup != NULL, FALSE);
769
770 priv->temp_markup_result = g_string_new(NULL);
771
772 length = strlen(markup);
773 p = markup;
774 end = markup + length;
775
776 while (p != end && xml_isspace(*p))
777 p++;
778
779 if (end - p >= 8 && strncmp(p, "<markup>", 8) == 0)
780 needs_root = FALSE;
781
782 context = g_markup_parse_context_new(&markup_parser, 0, url_label, NULL);
783
784 if (needs_root)
785 {
786 if (!g_markup_parse_context_parse(context, "<markup>", -1, &error))
787 goto failed;
788 }
789
790 if (!g_markup_parse_context_parse(context, markup, strlen(markup), &error))
791 goto failed;
792
793 if (needs_root)
794 {
795 if (!g_markup_parse_context_parse(context, "</markup>", -1, &error))
796 goto failed;
797 }
798
799 if (!g_markup_parse_context_end_parse(context, &error))
800 goto failed;
801
802 if (error != NULL)
803 g_error_free(error);
804
805 g_markup_parse_context_free(context);
806
807 *ret_markup = g_string_free(priv->temp_markup_result, FALSE);
808 priv->temp_markup_result = NULL;
809
810 return TRUE;
811
812 failed:
813 fprintf(stderr, "Unable to parse markup: %s\n", error->message);
814 g_error_free(error);
815
816 g_string_free(priv->temp_markup_result, TRUE);
817 priv->temp_markup_result = NULL;
818
819 g_markup_parse_context_free(context);
820 return FALSE;
821 }
822
823 /**
824 * sexy_url_label_set_markup
825 * @url_label: A #SexyUrlLabel.
826 * @markup: a markup string (see <link linkend="PangoMarkupFormat">Pango markup format</link>)
827 *
828 * Parses @markup which is marked up with the <link
829 * linkend="PangoMarkupFormat">Pango text markup language</link> as well as
830 * HTML-style hyperlinks, setting the label's text and attribute list based
831 * on the parse results. If the @markup is external data, you may need to
832 * escape it with g_markup_escape_text() or g_markup_printf_escaped()
833 */
834 void
835 sexy_url_label_set_markup(SexyUrlLabel *url_label, const gchar *markup)
836 {
837 SexyUrlLabelPrivate *priv;
838 gchar *new_markup;
839
840 g_return_if_fail(SEXY_IS_URL_LABEL(url_label));
841
842 priv = SEXY_URL_LABEL_GET_PRIVATE(url_label);
843
844 sexy_url_label_clear_links(url_label);
845 sexy_url_label_clear_urls(url_label);
846
847 if (markup == NULL || *markup == '\0')
848 {
849 gtk_label_set_markup(GTK_LABEL(url_label), "");
850 return;
851 }
852
853 if (parse_custom_markup(url_label, markup, &new_markup))
854 {
855 gtk_label_set_markup(GTK_LABEL(url_label), new_markup);
856 g_free(new_markup);
857 }
858 else
859 {
860 gtk_label_set_markup(GTK_LABEL(url_label), "");
861 }
862
863 sexy_url_label_rescan_label(url_label);
864
865 update_wrap_width(url_label, priv->wrap_width);
866 }
867
868 // vim:ts=4 sw=4
+0
-73
tools/sexy-url-label.h less more
0 /*
1 * @file libsexy/sexy-url-label.h URL Label
2 *
3 * @Copyright (C) 2005-2006 Christian Hammond
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the
17 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 * Boston, MA 02111-1307, USA.
19 */
20 #ifndef _SEXY_URL_LABEL_H_
21 #define _SEXY_URL_LABEL_H_
22
23 typedef struct _SexyUrlLabel SexyUrlLabel;
24 typedef struct _SexyUrlLabelClass SexyUrlLabelClass;
25
26 #include <gtk/gtklabel.h>
27
28 #define SEXY_TYPE_URL_LABEL (sexy_url_label_get_type())
29 #define SEXY_URL_LABEL(obj) \
30 (G_TYPE_CHECK_INSTANCE_CAST((obj), SEXY_TYPE_URL_LABEL, SexyUrlLabel))
31 #define SEXY_URL_LABEL_CLASS(klass) \
32 (G_TYPE_CHECK_CLASS_CAST((klass), SEXY_TYPE_URL_LABEL, SexyUrlLabelClass))
33 #define SEXY_IS_URL_LABEL(obj) \
34 (G_TYPE_CHECK_INSTANCE_TYPE((obj), SEXY_TYPE_URL_LABEL))
35 #define SEXY_IS_URL_LABEL_CLASS(klass) \
36 (G_TYPE_CHECK_CLASS_TYPE((klass), SEXY_TYPE_URL_LABEL))
37 #define SEXY_URL_LABEL_GET_CLASS(obj) \
38 (G_TYPE_INSTANCE_GET_CLASS ((obj), SEXY_TYPE_URL_LABEL, SexyUrlLabelClass))
39
40 struct _SexyUrlLabel
41 {
42 GtkLabel parent_object;
43
44 void (*gtk_reserved1)(void);
45 void (*gtk_reserved2)(void);
46 void (*gtk_reserved3)(void);
47 void (*gtk_reserved4)(void);
48 };
49
50 struct _SexyUrlLabelClass
51 {
52 GtkLabelClass parent_class;
53
54 /* Signals */
55 void (*url_activated)(SexyUrlLabel *url_label, const gchar *url);
56
57 void (*gtk_reserved1)(void);
58 void (*gtk_reserved2)(void);
59 void (*gtk_reserved3)(void);
60 void (*gtk_reserved4)(void);
61 };
62
63 G_BEGIN_DECLS
64
65 GType sexy_url_label_get_type(void);
66
67 GtkWidget *sexy_url_label_new(void);
68 void sexy_url_label_set_markup(SexyUrlLabel *url_label, const gchar *markup);
69
70 G_END_DECLS
71
72 #endif /* _SEXY_URL_LABEL_H_ */
+0
-9
tools/single-instance.xml less more
0 <?xml version="1.0" encoding="UTF-8" ?>
1
2 <node name="/">
3 <interface name="org.gnome.PolicyKit.AuthorizationManager.SingleInstance">
4 <method name="ShowAction">
5 <arg name="action_id" type="s"/>
6 </method>
7 </interface>
8 </node>