Initial commit
Clement Lefebvre
7 years ago
0 | GNU GENERAL PUBLIC LICENSE | |
1 | Version 2, June 1991 | |
2 | ||
3 | Copyright (C) 1989, 1991 Free Software Foundation, Inc., | |
4 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
5 | Everyone is permitted to copy and distribute verbatim copies | |
6 | of this license document, but changing it is not allowed. | |
7 | ||
8 | Preamble | |
9 | ||
10 | The licenses for most software are designed to take away your | |
11 | freedom to share and change it. By contrast, the GNU General Public | |
12 | License is intended to guarantee your freedom to share and change free | |
13 | software--to make sure the software is free for all its users. This | |
14 | General Public License applies to most of the Free Software | |
15 | Foundation's software and to any other program whose authors commit to | |
16 | using it. (Some other Free Software Foundation software is covered by | |
17 | the GNU Lesser General Public License instead.) You can apply it to | |
18 | your programs, too. | |
19 | ||
20 | When we speak of free software, we are referring to freedom, not | |
21 | price. Our General Public Licenses are designed to make sure that you | |
22 | have the freedom to distribute copies of free software (and charge for | |
23 | this service if you wish), that you receive source code or can get it | |
24 | if you want it, that you can change the software or use pieces of it | |
25 | in new free programs; and that you know you can do these things. | |
26 | ||
27 | To protect your rights, we need to make restrictions that forbid | |
28 | anyone to deny you these rights or to ask you to surrender the rights. | |
29 | These restrictions translate to certain responsibilities for you if you | |
30 | distribute copies of the software, or if you modify it. | |
31 | ||
32 | For example, if you distribute copies of such a program, whether | |
33 | gratis or for a fee, you must give the recipients all the rights that | |
34 | you have. You must make sure that they, too, receive or can get the | |
35 | source code. And you must show them these terms so they know their | |
36 | rights. | |
37 | ||
38 | We protect your rights with two steps: (1) copyright the software, and | |
39 | (2) offer you this license which gives you legal permission to copy, | |
40 | distribute and/or modify the software. | |
41 | ||
42 | Also, for each author's protection and ours, we want to make certain | |
43 | that everyone understands that there is no warranty for this free | |
44 | software. If the software is modified by someone else and passed on, we | |
45 | want its recipients to know that what they have is not the original, so | |
46 | that any problems introduced by others will not reflect on the original | |
47 | authors' reputations. | |
48 | ||
49 | Finally, any free program is threatened constantly by software | |
50 | patents. We wish to avoid the danger that redistributors of a free | |
51 | program will individually obtain patent licenses, in effect making the | |
52 | program proprietary. To prevent this, we have made it clear that any | |
53 | patent must be licensed for everyone's free use or not licensed at all. | |
54 | ||
55 | The precise terms and conditions for copying, distribution and | |
56 | modification follow. | |
57 | ||
58 | GNU GENERAL PUBLIC LICENSE | |
59 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | |
60 | ||
61 | 0. This License applies to any program or other work which contains | |
62 | a notice placed by the copyright holder saying it may be distributed | |
63 | under the terms of this General Public License. The "Program", below, | |
64 | refers to any such program or work, and a "work based on the Program" | |
65 | means either the Program or any derivative work under copyright law: | |
66 | that is to say, a work containing the Program or a portion of it, | |
67 | either verbatim or with modifications and/or translated into another | |
68 | language. (Hereinafter, translation is included without limitation in | |
69 | the term "modification".) Each licensee is addressed as "you". | |
70 | ||
71 | Activities other than copying, distribution and modification are not | |
72 | covered by this License; they are outside its scope. The act of | |
73 | running the Program is not restricted, and the output from the Program | |
74 | is covered only if its contents constitute a work based on the | |
75 | Program (independent of having been made by running the Program). | |
76 | Whether that is true depends on what the Program does. | |
77 | ||
78 | 1. You may copy and distribute verbatim copies of the Program's | |
79 | source code as you receive it, in any medium, provided that you | |
80 | conspicuously and appropriately publish on each copy an appropriate | |
81 | copyright notice and disclaimer of warranty; keep intact all the | |
82 | notices that refer to this License and to the absence of any warranty; | |
83 | and give any other recipients of the Program a copy of this License | |
84 | along with the Program. | |
85 | ||
86 | You may charge a fee for the physical act of transferring a copy, and | |
87 | you may at your option offer warranty protection in exchange for a fee. | |
88 | ||
89 | 2. You may modify your copy or copies of the Program or any portion | |
90 | of it, thus forming a work based on the Program, and copy and | |
91 | distribute such modifications or work under the terms of Section 1 | |
92 | above, provided that you also meet all of these conditions: | |
93 | ||
94 | a) You must cause the modified files to carry prominent notices | |
95 | stating that you changed the files and the date of any change. | |
96 | ||
97 | b) You must cause any work that you distribute or publish, that in | |
98 | whole or in part contains or is derived from the Program or any | |
99 | part thereof, to be licensed as a whole at no charge to all third | |
100 | parties under the terms of this License. | |
101 | ||
102 | c) If the modified program normally reads commands interactively | |
103 | when run, you must cause it, when started running for such | |
104 | interactive use in the most ordinary way, to print or display an | |
105 | announcement including an appropriate copyright notice and a | |
106 | notice that there is no warranty (or else, saying that you provide | |
107 | a warranty) and that users may redistribute the program under | |
108 | these conditions, and telling the user how to view a copy of this | |
109 | License. (Exception: if the Program itself is interactive but | |
110 | does not normally print such an announcement, your work based on | |
111 | the Program is not required to print an announcement.) | |
112 | ||
113 | These requirements apply to the modified work as a whole. If | |
114 | identifiable sections of that work are not derived from the Program, | |
115 | and can be reasonably considered independent and separate works in | |
116 | themselves, then this License, and its terms, do not apply to those | |
117 | sections when you distribute them as separate works. But when you | |
118 | distribute the same sections as part of a whole which is a work based | |
119 | on the Program, the distribution of the whole must be on the terms of | |
120 | this License, whose permissions for other licensees extend to the | |
121 | entire whole, and thus to each and every part regardless of who wrote it. | |
122 | ||
123 | Thus, it is not the intent of this section to claim rights or contest | |
124 | your rights to work written entirely by you; rather, the intent is to | |
125 | exercise the right to control the distribution of derivative or | |
126 | collective works based on the Program. | |
127 | ||
128 | In addition, mere aggregation of another work not based on the Program | |
129 | with the Program (or with a work based on the Program) on a volume of | |
130 | a storage or distribution medium does not bring the other work under | |
131 | the scope of this License. | |
132 | ||
133 | 3. You may copy and distribute the Program (or a work based on it, | |
134 | under Section 2) in object code or executable form under the terms of | |
135 | Sections 1 and 2 above provided that you also do one of the following: | |
136 | ||
137 | a) Accompany it with the complete corresponding machine-readable | |
138 | source code, which must be distributed under the terms of Sections | |
139 | 1 and 2 above on a medium customarily used for software interchange; or, | |
140 | ||
141 | b) Accompany it with a written offer, valid for at least three | |
142 | years, to give any third party, for a charge no more than your | |
143 | cost of physically performing source distribution, a complete | |
144 | machine-readable copy of the corresponding source code, to be | |
145 | distributed under the terms of Sections 1 and 2 above on a medium | |
146 | customarily used for software interchange; or, | |
147 | ||
148 | c) Accompany it with the information you received as to the offer | |
149 | to distribute corresponding source code. (This alternative is | |
150 | allowed only for noncommercial distribution and only if you | |
151 | received the program in object code or executable form with such | |
152 | an offer, in accord with Subsection b above.) | |
153 | ||
154 | The source code for a work means the preferred form of the work for | |
155 | making modifications to it. For an executable work, complete source | |
156 | code means all the source code for all modules it contains, plus any | |
157 | associated interface definition files, plus the scripts used to | |
158 | control compilation and installation of the executable. However, as a | |
159 | special exception, the source code distributed need not include | |
160 | anything that is normally distributed (in either source or binary | |
161 | form) with the major components (compiler, kernel, and so on) of the | |
162 | operating system on which the executable runs, unless that component | |
163 | itself accompanies the executable. | |
164 | ||
165 | If distribution of executable or object code is made by offering | |
166 | access to copy from a designated place, then offering equivalent | |
167 | access to copy the source code from the same place counts as | |
168 | distribution of the source code, even though third parties are not | |
169 | compelled to copy the source along with the object code. | |
170 | ||
171 | 4. You may not copy, modify, sublicense, or distribute the Program | |
172 | except as expressly provided under this License. Any attempt | |
173 | otherwise to copy, modify, sublicense or distribute the Program is | |
174 | void, and will automatically terminate your rights under this License. | |
175 | However, parties who have received copies, or rights, from you under | |
176 | this License will not have their licenses terminated so long as such | |
177 | parties remain in full compliance. | |
178 | ||
179 | 5. You are not required to accept this License, since you have not | |
180 | signed it. However, nothing else grants you permission to modify or | |
181 | distribute the Program or its derivative works. These actions are | |
182 | prohibited by law if you do not accept this License. Therefore, by | |
183 | modifying or distributing the Program (or any work based on the | |
184 | Program), you indicate your acceptance of this License to do so, and | |
185 | all its terms and conditions for copying, distributing or modifying | |
186 | the Program or works based on it. | |
187 | ||
188 | 6. Each time you redistribute the Program (or any work based on the | |
189 | Program), the recipient automatically receives a license from the | |
190 | original licensor to copy, distribute or modify the Program subject to | |
191 | these terms and conditions. You may not impose any further | |
192 | restrictions on the recipients' exercise of the rights granted herein. | |
193 | You are not responsible for enforcing compliance by third parties to | |
194 | this License. | |
195 | ||
196 | 7. If, as a consequence of a court judgment or allegation of patent | |
197 | infringement or for any other reason (not limited to patent issues), | |
198 | conditions are imposed on you (whether by court order, agreement or | |
199 | otherwise) that contradict the conditions of this License, they do not | |
200 | excuse you from the conditions of this License. If you cannot | |
201 | distribute so as to satisfy simultaneously your obligations under this | |
202 | License and any other pertinent obligations, then as a consequence you | |
203 | may not distribute the Program at all. For example, if a patent | |
204 | license would not permit royalty-free redistribution of the Program by | |
205 | all those who receive copies directly or indirectly through you, then | |
206 | the only way you could satisfy both it and this License would be to | |
207 | refrain entirely from distribution of the Program. | |
208 | ||
209 | If any portion of this section is held invalid or unenforceable under | |
210 | any particular circumstance, the balance of the section is intended to | |
211 | apply and the section as a whole is intended to apply in other | |
212 | circumstances. | |
213 | ||
214 | It is not the purpose of this section to induce you to infringe any | |
215 | patents or other property right claims or to contest validity of any | |
216 | such claims; this section has the sole purpose of protecting the | |
217 | integrity of the free software distribution system, which is | |
218 | implemented by public license practices. Many people have made | |
219 | generous contributions to the wide range of software distributed | |
220 | through that system in reliance on consistent application of that | |
221 | system; it is up to the author/donor to decide if he or she is willing | |
222 | to distribute software through any other system and a licensee cannot | |
223 | impose that choice. | |
224 | ||
225 | This section is intended to make thoroughly clear what is believed to | |
226 | be a consequence of the rest of this License. | |
227 | ||
228 | 8. If the distribution and/or use of the Program is restricted in | |
229 | certain countries either by patents or by copyrighted interfaces, the | |
230 | original copyright holder who places the Program under this License | |
231 | may add an explicit geographical distribution limitation excluding | |
232 | those countries, so that distribution is permitted only in or among | |
233 | countries not thus excluded. In such case, this License incorporates | |
234 | the limitation as if written in the body of this License. | |
235 | ||
236 | 9. The Free Software Foundation may publish revised and/or new versions | |
237 | of the General Public License from time to time. Such new versions will | |
238 | be similar in spirit to the present version, but may differ in detail to | |
239 | address new problems or concerns. | |
240 | ||
241 | Each version is given a distinguishing version number. If the Program | |
242 | specifies a version number of this License which applies to it and "any | |
243 | later version", you have the option of following the terms and conditions | |
244 | either of that version or of any later version published by the Free | |
245 | Software Foundation. If the Program does not specify a version number of | |
246 | this License, you may choose any version ever published by the Free Software | |
247 | Foundation. | |
248 | ||
249 | 10. If you wish to incorporate parts of the Program into other free | |
250 | programs whose distribution conditions are different, write to the author | |
251 | to ask for permission. For software which is copyrighted by the Free | |
252 | Software Foundation, write to the Free Software Foundation; we sometimes | |
253 | make exceptions for this. Our decision will be guided by the two goals | |
254 | of preserving the free status of all derivatives of our free software and | |
255 | of promoting the sharing and reuse of software generally. | |
256 | ||
257 | NO WARRANTY | |
258 | ||
259 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | |
260 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN | |
261 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | |
262 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | |
263 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |
264 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS | |
265 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE | |
266 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | |
267 | REPAIR OR CORRECTION. | |
268 | ||
269 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | |
270 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | |
271 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | |
272 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | |
273 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | |
274 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | |
275 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | |
276 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | |
277 | POSSIBILITY OF SUCH DAMAGES. | |
278 | ||
279 | END OF TERMS AND CONDITIONS | |
280 | ||
281 | How to Apply These Terms to Your New Programs | |
282 | ||
283 | If you develop a new program, and you want it to be of the greatest | |
284 | possible use to the public, the best way to achieve this is to make it | |
285 | free software which everyone can redistribute and change under these terms. | |
286 | ||
287 | To do so, attach the following notices to the program. It is safest | |
288 | to attach them to the start of each source file to most effectively | |
289 | convey the exclusion of warranty; and each file should have at least | |
290 | the "copyright" line and a pointer to where the full notice is found. | |
291 | ||
292 | <one line to give the program's name and a brief idea of what it does.> | |
293 | Copyright (C) <year> <name of author> | |
294 | ||
295 | This program is free software; you can redistribute it and/or modify | |
296 | it under the terms of the GNU General Public License as published by | |
297 | the Free Software Foundation; either version 2 of the License, or | |
298 | (at your option) any later version. | |
299 | ||
300 | This program is distributed in the hope that it will be useful, | |
301 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
302 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
303 | GNU General Public License for more details. | |
304 | ||
305 | You should have received a copy of the GNU General Public License along | |
306 | with this program; if not, write to the Free Software Foundation, Inc., | |
307 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
308 | ||
309 | Also add information on how to contact you by electronic and paper mail. | |
310 | ||
311 | If the program is interactive, make it output a short notice like this | |
312 | when it starts in an interactive mode: | |
313 | ||
314 | Gnomovision version 69, Copyright (C) year name of author | |
315 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | |
316 | This is free software, and you are welcome to redistribute it | |
317 | under certain conditions; type `show c' for details. | |
318 | ||
319 | The hypothetical commands `show w' and `show c' should show the appropriate | |
320 | parts of the General Public License. Of course, the commands you use may | |
321 | be called something other than `show w' and `show c'; they could even be | |
322 | mouse-clicks or menu items--whatever suits your program. | |
323 | ||
324 | You should also get your employer (if you work as a programmer) or your | |
325 | school, if any, to sign a "copyright disclaimer" for the program, if | |
326 | necessary. Here is a sample; alter the names: | |
327 | ||
328 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program | |
329 | `Gnomovision' (which makes passes at compilers) written by James Hacker. | |
330 | ||
331 | <signature of Ty Coon>, 1 April 1989 | |
332 | Ty Coon, President of Vice | |
333 | ||
334 | This General Public License does not permit incorporating your program into | |
335 | proprietary programs. If your program is a subroutine library, you may | |
336 | consider it more useful to permit linking proprietary applications with the | |
337 | library. If this is what you want to do, use the GNU Lesser General | |
338 | Public License instead of this License. |
0 | SUBDIRS = libxapp po schemas files | |
1 | ||
2 | ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} | |
3 | ||
4 | DISTCHECK_CONFIGURE_FLAGS = --enable-introspection | |
5 | ||
6 | @INTLTOOL_XML_RULE@ | |
7 | ||
8 | MAINTAINERCLEANFILES = \ | |
9 | $(srcdir)/aclocal.m4 \ | |
10 | $(srcdir)/config.guess \ | |
11 | $(srcdir)/config.h.in \ | |
12 | $(srcdir)/config.sub \ | |
13 | $(srcdir)/depcomp \ | |
14 | $(srcdir)/install-sh \ | |
15 | $(srcdir)/ltmain.sh \ | |
16 | $(srcdir)/missing \ | |
17 | $(srcdir)/mkinstalldirs \ | |
18 | `find "$(srcdir)" -type f -name Makefile.in -print` \ | |
19 | $(srcdir)/configure \ | |
20 | $(srcdir)/m4/gnome-doc-utils.m4 \ | |
21 | $(srcdir)/m4/gtk-doc.m4 \ | |
22 | $(srcdir)/m4/intltool.m4 | |
23 | ||
24 | dist-hook: | |
25 | $(AM_V_GEN)if test -d "$(srcdir)/.git"; then \ | |
26 | ( echo '# Generated by Makefile. Do not edit.'; echo; \ | |
27 | GIT_DIR="$(top_srcdir)/.git" ./missing --run \ | |
28 | git log $(CHANGELOG_GIT_RANGE) --no-color -M -C --name-status ) \ | |
29 | > ChangeLog.tmp \ | |
30 | && mv -f ChangeLog.tmp $(distdir)/ChangeLog \ | |
31 | || ( rm -f ChangeLog.tmp ; echo Failed to generate ChangeLog >&2 ); \ | |
32 | else \ | |
33 | echo A git checkout is required to generate ChangeLog >&2; \ | |
34 | fi | |
35 | ||
36 | GITIGNOREFILES = $(PACKAGE)-\*.tar.{gz,bz2,xz} | |
37 | -include $(top_srcdir)/git.mk |
0 | # Configure paths for ESD | |
1 | # Manish Singh 98-9-30 | |
2 | # stolen back from Frank Belew | |
3 | # stolen from Manish Singh | |
4 | # Shamelessly stolen from Owen Taylor | |
5 | ||
6 | dnl AM_PATH_ESD([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) | |
7 | dnl Test for ESD, and define ESD_CFLAGS and ESD_LIBS | |
8 | dnl | |
9 | AC_DEFUN([AM_PATH_ESD], | |
10 | [dnl | |
11 | dnl Get the cflags and libraries from the esd-config script | |
12 | dnl | |
13 | AC_ARG_WITH(esd-prefix,[ --with-esd-prefix=PFX Prefix where ESD is installed (optional)], | |
14 | esd_prefix="$withval", esd_prefix="") | |
15 | AC_ARG_WITH(esd-exec-prefix,[ --with-esd-exec-prefix=PFX Exec prefix where ESD is installed (optional)], | |
16 | esd_exec_prefix="$withval", esd_exec_prefix="") | |
17 | AC_ARG_ENABLE(esdtest, [ --disable-esdtest Do not try to compile and run a test ESD program], | |
18 | , enable_esdtest=yes) | |
19 | ||
20 | if test x$esd_exec_prefix != x ; then | |
21 | esd_args="$esd_args --exec-prefix=$esd_exec_prefix" | |
22 | if test x${ESD_CONFIG+set} != xset ; then | |
23 | ESD_CONFIG=$esd_exec_prefix/bin/esd-config | |
24 | fi | |
25 | fi | |
26 | if test x$esd_prefix != x ; then | |
27 | esd_args="$esd_args --prefix=$esd_prefix" | |
28 | if test x${ESD_CONFIG+set} != xset ; then | |
29 | ESD_CONFIG=$esd_prefix/bin/esd-config | |
30 | fi | |
31 | fi | |
32 | ||
33 | AC_PATH_PROG(ESD_CONFIG, esd-config, no) | |
34 | min_esd_version=ifelse([$1], ,0.2.5,$1) | |
35 | AC_MSG_CHECKING(for ESD - version >= $min_esd_version) | |
36 | no_esd="" | |
37 | if test "$ESD_CONFIG" = "no" ; then | |
38 | no_esd=yes | |
39 | else | |
40 | ESD_CFLAGS=`$ESD_CONFIG $esdconf_args --cflags` | |
41 | ESD_LIBS=`$ESD_CONFIG $esdconf_args --libs` | |
42 | ||
43 | esd_major_version=`$ESD_CONFIG $esd_args --version | \ | |
44 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` | |
45 | esd_minor_version=`$ESD_CONFIG $esd_args --version | \ | |
46 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` | |
47 | esd_micro_version=`$ESD_CONFIG $esd_config_args --version | \ | |
48 | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` | |
49 | if test "x$enable_esdtest" = "xyes" ; then | |
50 | ac_save_CFLAGS="$CFLAGS" | |
51 | ac_save_LIBS="$LIBS" | |
52 | CFLAGS="$CFLAGS $ESD_CFLAGS" | |
53 | LIBS="$LIBS $ESD_LIBS" | |
54 | dnl | |
55 | dnl Now check if the installed ESD is sufficiently new. (Also sanity | |
56 | dnl checks the results of esd-config to some extent | |
57 | dnl | |
58 | rm -f conf.esdtest | |
59 | AC_TRY_RUN([ | |
60 | #include <stdio.h> | |
61 | #include <stdlib.h> | |
62 | #include <string.h> | |
63 | #include <esd.h> | |
64 | ||
65 | char* | |
66 | my_strdup (char *str) | |
67 | { | |
68 | char *new_str; | |
69 | ||
70 | if (str) | |
71 | { | |
72 | new_str = malloc ((strlen (str) + 1) * sizeof(char)); | |
73 | strcpy (new_str, str); | |
74 | } | |
75 | else | |
76 | new_str = NULL; | |
77 | ||
78 | return new_str; | |
79 | } | |
80 | ||
81 | int main () | |
82 | { | |
83 | int major, minor, micro; | |
84 | char *tmp_version; | |
85 | ||
86 | system ("touch conf.esdtest"); | |
87 | ||
88 | /* HP/UX 9 (%@#!) writes to sscanf strings */ | |
89 | tmp_version = my_strdup("$min_esd_version"); | |
90 | if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { | |
91 | printf("%s, bad version string\n", "$min_esd_version"); | |
92 | exit(1); | |
93 | } | |
94 | ||
95 | if (($esd_major_version > major) || | |
96 | (($esd_major_version == major) && ($esd_minor_version > minor)) || | |
97 | (($esd_major_version == major) && ($esd_minor_version == minor) && ($esd_micro_version >= micro))) | |
98 | { | |
99 | return 0; | |
100 | } | |
101 | else | |
102 | { | |
103 | printf("\n*** 'esd-config --version' returned %d.%d.%d, but the minimum version\n", $esd_major_version, $esd_minor_version, $esd_micro_version); | |
104 | printf("*** of ESD required is %d.%d.%d. If esd-config is correct, then it is\n", major, minor, micro); | |
105 | printf("*** best to upgrade to the required version.\n"); | |
106 | printf("*** If esd-config was wrong, set the environment variable ESD_CONFIG\n"); | |
107 | printf("*** to point to the correct copy of esd-config, and remove the file\n"); | |
108 | printf("*** config.cache before re-running configure\n"); | |
109 | return 1; | |
110 | } | |
111 | } | |
112 | ||
113 | ],, no_esd=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) | |
114 | CFLAGS="$ac_save_CFLAGS" | |
115 | LIBS="$ac_save_LIBS" | |
116 | fi | |
117 | fi | |
118 | if test "x$no_esd" = x ; then | |
119 | AC_MSG_RESULT(yes) | |
120 | ifelse([$2], , :, [$2]) | |
121 | else | |
122 | AC_MSG_RESULT(no) | |
123 | if test "$ESD_CONFIG" = "no" ; then | |
124 | echo "*** The esd-config script installed by ESD could not be found" | |
125 | echo "*** If ESD was installed in PREFIX, make sure PREFIX/bin is in" | |
126 | echo "*** your path, or set the ESD_CONFIG environment variable to the" | |
127 | echo "*** full path to esd-config." | |
128 | else | |
129 | if test -f conf.esdtest ; then | |
130 | : | |
131 | else | |
132 | echo "*** Could not run ESD test program, checking why..." | |
133 | CFLAGS="$CFLAGS $ESD_CFLAGS" | |
134 | LIBS="$LIBS $ESD_LIBS" | |
135 | AC_TRY_LINK([ | |
136 | #include <stdio.h> | |
137 | #include <esd.h> | |
138 | ], [ return 0; ], | |
139 | [ echo "*** The test program compiled, but did not run. This usually means" | |
140 | echo "*** that the run-time linker is not finding ESD or finding the wrong" | |
141 | echo "*** version of ESD. If it is not finding ESD, you'll need to set your" | |
142 | echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" | |
143 | echo "*** to the installed location Also, make sure you have run ldconfig if that" | |
144 | echo "*** is required on your system" | |
145 | echo "***" | |
146 | echo "*** If you have an old version installed, it is best to remove it, although" | |
147 | echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], | |
148 | [ echo "*** The test program failed to compile or link. See the file config.log for the" | |
149 | echo "*** exact error that occured. This usually means ESD was incorrectly installed" | |
150 | echo "*** or that you have moved ESD since it was installed. In the latter case, you" | |
151 | echo "*** may want to edit the esd-config script: $ESD_CONFIG" ]) | |
152 | CFLAGS="$ac_save_CFLAGS" | |
153 | LIBS="$ac_save_LIBS" | |
154 | fi | |
155 | fi | |
156 | ESD_CFLAGS="" | |
157 | ESD_LIBS="" | |
158 | ifelse([$3], , :, [$3]) | |
159 | fi | |
160 | AC_SUBST(ESD_CFLAGS) | |
161 | AC_SUBST(ESD_LIBS) | |
162 | rm -f conf.esdtest | |
163 | ]) |
0 | #!/bin/sh | |
1 | ||
2 | srcdir=`dirname $0` | |
3 | test -z "$srcdir" && srcdir=. | |
4 | ||
5 | PKG_NAME="xapp" | |
6 | ||
7 | which gnome-autogen.sh || { | |
8 | echo "You need to install gnome-common from GNOME Git (or from" | |
9 | echo "your OS vendor's package manager)." | |
10 | exit 1 | |
11 | } | |
12 | USE_GNOME2_MACROS=1 USE_COMMON_DOC_BUILD=yes . gnome-autogen.sh |
0 | ||
1 | AC_INIT(xapp, 1.0.0) | |
2 | AC_CONFIG_SRCDIR(libxapp) | |
3 | ||
4 | AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz tar-ustar]) | |
5 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | |
6 | ||
7 | AC_CONFIG_HEADERS([config.h]) | |
8 | ||
9 | AC_CONFIG_MACRO_DIR([m4]) | |
10 | ||
11 | # Before making a release, the LT_VERSION string should be modified. | |
12 | # The string is of the form C:R:A. | |
13 | # - If interfaces have been changed or added, but binary compatibility has | |
14 | # been preserved, change to C+1:0:A+1 | |
15 | # - If binary compatibility has been broken (eg removed or changed interfaces) | |
16 | # change to C+1:0:0 | |
17 | # - If the interface is the same as the previous version, change to C:R+1:A | |
18 | ||
19 | LT_VERSION=1:0:0 | |
20 | AC_SUBST(LT_VERSION) | |
21 | ||
22 | LT_PREREQ([2.2.6]) | |
23 | LT_INIT([dlopen win32-dll disable-static]) | |
24 | ||
25 | IT_PROG_INTLTOOL([0.40.6]) | |
26 | ||
27 | AC_PROG_CC | |
28 | PKG_PROG_PKG_CONFIG | |
29 | ||
30 | GNOME_COMPILE_WARNINGS([maximum]) | |
31 | GNOME_MAINTAINER_MODE_DEFINES | |
32 | ||
33 | AC_ARG_ENABLE(deprecation_flags, | |
34 | [AC_HELP_STRING([--enable-deprecation-flags], | |
35 | [use *_DISABLE_DEPRECATED flags @<:@default=no@:>@])],, | |
36 | [enable_deprecation_flags=no]) | |
37 | ||
38 | if test "x$enable_deprecation_flags" = "xyes"; then | |
39 | DISABLE_DEPRECATED_CFLAGS=$DISABLE_DEPRECATED | |
40 | AC_SUBST(DISABLE_DEPRECATED_CFLAGS) | |
41 | fi | |
42 | ||
43 | dnl If you add a version number here, you *must* add an AC_SUBST line for | |
44 | dnl it too, or it will never make it into the spec file! | |
45 | ||
46 | GDK_PIXBUF_REQUIRED=2.22.0 | |
47 | GTK_REQUIRED=3.3.16 | |
48 | GLIB_REQUIRED=2.37.3 | |
49 | ||
50 | AC_SUBST(GTK_REQUIRED) | |
51 | AC_SUBST(GLIB_REQUIRED) | |
52 | AC_SUBST(GDK_PIXBUF_REQUIRED) | |
53 | ||
54 | PKG_CHECK_MODULES(XLIB, x11, | |
55 | X11_PACKAGE=x11, | |
56 | [X11_PACKAGE= | |
57 | AC_PATH_XTRA | |
58 | if test "x$no_x" = xyes; then | |
59 | AC_MSG_ERROR("no (requires X development libraries)") | |
60 | else | |
61 | XLIB_LIBS="$X_PRE_LIBS $X_LIBS -lX11 $X_EXTRA_LIBS" | |
62 | XLIB_CFLAGS=$X_CFLAGS | |
63 | fi]) | |
64 | AC_SUBST(X11_PACKAGE) | |
65 | AC_SUBST(XLIB_CFLAGS) | |
66 | AC_SUBST(XLIB_LIBS) | |
67 | ||
68 | dnl pkg-config dependency checks | |
69 | ||
70 | PKG_CHECK_MODULES(XAPP, gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED | |
71 | gtk+-3.0 >= $GTK_REQUIRED | |
72 | glib-2.0 >= $GLIB_REQUIRED | |
73 | gio-2.0 >= $GLIB_REQUIRED) | |
74 | ||
75 | dnl Language Support | |
76 | ||
77 | GETTEXT_PACKAGE=xapp | |
78 | AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", | |
79 | [The gettext translation domain]) | |
80 | AC_SUBST(GETTEXT_PACKAGE) | |
81 | ||
82 | AM_GLIB_GNU_GETTEXT | |
83 | ||
84 | GLIB_GSETTINGS | |
85 | ||
86 | GOBJECT_INTROSPECTION_CHECK([0.9.7]) | |
87 | ||
88 | AC_CONFIG_FILES([ | |
89 | Makefile | |
90 | libxapp/Makefile | |
91 | libxapp/xapp.pc | |
92 | libxapp/xapp-uninstalled.pc | |
93 | schemas/Makefile | |
94 | po/Makefile.in | |
95 | files/Makefile | |
96 | ]) | |
97 | ||
98 | AC_OUTPUT | |
99 | ||
100 | dnl --------------------------------------------------------------------------- | |
101 | dnl - Show summary | |
102 | dnl --------------------------------------------------------------------------- | |
103 | ||
104 | echo " | |
105 | ||
106 | prefix: ${prefix} | |
107 | exec_prefix: ${exec_prefix} | |
108 | libdir: ${libdir} | |
109 | bindir: ${bindir} | |
110 | sbindir: ${sbindir} | |
111 | sysconfdir: ${sysconfdir} | |
112 | localstatedir: ${localstatedir} | |
113 | datadir: ${datadir} | |
114 | source code location: ${srcdir} | |
115 | compiler: ${CC} | |
116 | cflags: ${CFLAGS} | |
117 | Maintainer mode: ${USE_MAINTAINER_MODE} | |
118 | Use *_DISABLE_DEPRECATED: ${enable_deprecation_flags} | |
119 | ||
120 | " |
0 | xapp (1.0.1) sarah; urgency=medium | |
1 | ||
2 | * Initial version | |
3 | ||
4 | -- Clement Lefebvre <root@linuxmint.com> Sun, 21 Aug 2016 11:59:50 +0100 |
0 | 9 |
0 | Source: xapp | |
1 | Section: x11 | |
2 | Priority: optional | |
3 | Maintainer: Clement Lefebvre <root@linuxmint.com> | |
4 | Build-Depends: debhelper (>= 9), | |
5 | dh-autoreconf, | |
6 | dh-python, | |
7 | dh-exec, | |
8 | dpkg-dev (>= 1.15.1), | |
9 | gnome-doc-utils (>= 0.3.2), | |
10 | gnome-pkg-tools (>= 0.10), | |
11 | gobject-introspection (>= 0.10.2-1~), | |
12 | gtk-doc-tools (>= 1.4), | |
13 | intltool (>= 0.40.6), | |
14 | libgdk-pixbuf2.0-dev (>= 2.22.0), | |
15 | libgirepository1.0-dev (>= 0.10.2-1~), | |
16 | libglib2.0-dev (>= 2.37.3), | |
17 | libgtk-3-dev (>= 3.3.16), | |
18 | libx11-dev, | |
19 | python, | |
20 | yelp-tools | |
21 | Standards-Version: 3.9.6 | |
22 | ||
23 | Package: xapps-common | |
24 | Architecture: all | |
25 | Multi-Arch: foreign | |
26 | Depends: ${misc:Depends}, ${python:Depends}, python, python-gi | |
27 | Description: Common files for XApp desktop apps | |
28 | This package includes files that are shared between several XApp | |
29 | apps (i18n files and configuration schemas). | |
30 | ||
31 | Package: libxapp1 | |
32 | Section: libs | |
33 | Architecture: any | |
34 | Multi-Arch: same | |
35 | Pre-Depends: ${misc:Pre-Depends} | |
36 | Depends: xapps-common (>= ${source:Version}), | |
37 | ${misc:Depends}, | |
38 | ${shlibs:Depends} | |
39 | Description: XApp library for loading .desktop files | |
40 | This library is used by XApp to load the .desktop files. | |
41 | ||
42 | Package: libxapp-dev | |
43 | Section: libdevel | |
44 | Architecture: any | |
45 | Depends: gir1.2-xapp-1.0 (= ${binary:Version}), | |
46 | libxapp1 (= ${binary:Version}), | |
47 | libgtk-3-dev (>= 3.3.16), | |
48 | libxkbfile-dev, | |
49 | ${misc:Depends} | |
50 | Description: XApp library - development files | |
51 | This package provides the include files and static library for the XApp | |
52 | library functions. | |
53 | ||
54 | Package: gir1.2-xapp-1.0 | |
55 | Section: introspection | |
56 | Architecture: any | |
57 | Depends: ${gir:Depends}, ${misc:Depends}, ${shlibs:Depends} | |
58 | Description: Introspection data for XApp | |
59 | This package contains the introspection data for XApp. | |
60 | ||
61 | Package: libxapp-dbg | |
62 | Section: debug | |
63 | Priority: extra | |
64 | Architecture: any | |
65 | Multi-Arch: same | |
66 | Pre-Depends: ${misc:Pre-Depends} | |
67 | Depends: libxapp1 (= ${binary:Version}), ${misc:Depends} | |
68 | Description: XApp library - debug symbols | |
69 | This package contains the symbols files needed to debug the XApp library. |
0 | Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ | |
1 | Upstream-Name: xapps | |
2 | Source: https://github.com/linuxmint/xapps | |
3 | ||
4 | Files: * | |
5 | Copyright: 2016, Linux Mint | |
6 | License: LGPL-2+ | |
7 | This program is free software; you can redistribute it and/or | |
8 | modify it under the terms of the GNU Library General Public License as | |
9 | published by the Free Software Foundation; either version 2 of the | |
10 | License, or (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 GNU | |
15 | Library General Public License for more details. | |
16 | . | |
17 | You should have received a copy of the GNU Library General Public | |
18 | License along with this program; if not, write to the | |
19 | Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | |
20 | Boston, MA 02110-1301, USA. | |
21 | . | |
22 | On Debian systems, the complete text of the GNU Library General | |
23 | Public License can be found in "/usr/share/common-licenses/LGPL-2". | |
24 |
0 | usr/lib/girepository-1.0/XApp-1.0.typelib |
0 | usr/include/xapp/libxapp | |
1 | usr/lib/*/libxapp.so | |
2 | usr/lib/*/pkgconfig/xapp.pc | |
3 | usr/share/gir-1.0/XApp-1.0.gir |
0 | <?xml version="1.0" encoding="utf-8"?> | |
1 | <descriptor> | |
2 | ||
3 | <version> | |
4 | 1.0.0 | |
5 | </version> | |
6 | ||
7 | <headers> | |
8 | /usr/include/xapp/libxapp | |
9 | </headers> | |
10 | ||
11 | <libs> | |
12 | /usr/lib/@@DEB_HOST_MULTIARCH@@/libxapp.so | |
13 | </libs> | |
14 | ||
15 | <gcc_options> | |
16 | -DGNOME_DESKTOP_USE_UNSTABLE_API | |
17 | </gcc_options> | |
18 | ||
19 | </descriptor> |
0 | libxapp.so.1 libxapp1 #MINVER# | |
1 | xapp_display_blank_other_monitors@Base 1.0.1 | |
2 | xapp_display_get_type@Base 1.0.1 | |
3 | xapp_display_new@Base 1.0.1 | |
4 | xapp_display_unblank_monitors@Base 1.0.1 |
0 | #!/usr/bin/make -f | |
1 | ||
2 | export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed | |
3 | DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) | |
4 | ||
5 | %: | |
6 | dh $@ --parallel --with=autoreconf,gir,gnome,python2 | |
7 | ||
8 | override_dh_gnome_clean: | |
9 | dh_gnome_clean --no-control | |
10 | ||
11 | override_dh_auto_configure: | |
12 | dh_auto_configure -- \ | |
13 | --enable-introspection | |
14 | ||
15 | override_dh_auto_install: | |
16 | dh_auto_install -- typelibdir="/usr/lib/girepository-1.0" | |
17 | ||
18 | override_dh_install: | |
19 | dh_install --list-missing |
0 | 3.0 (native) |
0 | install-data-hook: | |
1 | find -mindepth 1 -maxdepth 1 -type d -exec cp -R {} $(DESTDIR)/ \; | |
2 | ||
3 | uninstall-hook: | |
4 | find -mindepth 1 -type f -exec rm $(DESTDIR)/{} \; |
0 | #!/bin/bash | |
1 | ||
2 | # Author: Weitian Leung <weitianleung@gmail.com> | |
3 | # Version: 2.0 | |
4 | # License: GPL-3.0 | |
5 | # Description: set a picture as xfce4 wallpaper | |
6 | ||
7 | wallpaper=$1 | |
8 | ||
9 | # check image | |
10 | mime_type=`file --mime-type -b "$wallpaper"` | |
11 | if [[ ! "$mime_type" == image/* ]]; then | |
12 | echo "Invalid image" | |
13 | exit 1 | |
14 | fi | |
15 | ||
16 | # set to every monitor that contains image-path/last-image | |
17 | properties=$(xfconf-query -c xfce4-desktop -p /backdrop -l | grep -e "screen.*/monitor.*image-path$" -e "screen.*/monitor.*/last-image$") | |
18 | ||
19 | for property in $properties; do | |
20 | xfconf-query -c xfce4-desktop -p $property -s "$wallpaper" | |
21 | done | |
22 | ||
23 | ||
24 | ||
25 | ||
26 | ||
27 | ||
28 | ||
29 | ||
30 | ||
31 |
0 | CLEANFILES = | |
1 | ||
2 | noinst_LTLIBRARIES = | |
3 | lib_LTLIBRARIES = libxapp.la | |
4 | ||
5 | AM_CPPFLAGS = \ | |
6 | -I$(top_srcdir) \ | |
7 | $(XAPP_CFLAGS) \ | |
8 | $(XLIB_CFLAGS) \ | |
9 | -DG_LOG_DOMAIN=\"XApp\" \ | |
10 | -DGNOMELOCALEDIR=\""$(prefix)/$(DATADIRNAME)/locale\"" \ | |
11 | $(DISABLE_DEPRECATED_CFLAGS) | |
12 | ||
13 | AM_CFLAGS = $(WARN_CFLAGS) | |
14 | ||
15 | introspection_sources = \ | |
16 | xapp-display.c | |
17 | ||
18 | libxapp_la_SOURCES = \ | |
19 | $(introspection_sources) | |
20 | ||
21 | libxapp_la_LIBADD = \ | |
22 | $(XLIB_LIBS) \ | |
23 | $(XAPP_LIBS) \ | |
24 | -lrt | |
25 | ||
26 | libxapp_la_LDFLAGS = \ | |
27 | -version-info $(LT_VERSION) \ | |
28 | -export-symbols-regex "^xapp_.*" \ | |
29 | -no-undefined | |
30 | ||
31 | pkgconfigdir = $(libdir)/pkgconfig | |
32 | pkgconfig_DATA = xapp.pc | |
33 | ||
34 | libxappdir = $(includedir)/xapp/libxapp | |
35 | libxapp_HEADERS = \ | |
36 | xapp-display.h | |
37 | ||
38 | -include $(INTROSPECTION_MAKEFILE) | |
39 | INTROSPECTION_GIRS = | |
40 | INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) --warn-all | |
41 | INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) | |
42 | ||
43 | if HAVE_INTROSPECTION | |
44 | ||
45 | XApp-1.0.gir: libxapp.la | |
46 | XApp_1_0_gir_INCLUDES = GObject-2.0 Gtk-3.0 | |
47 | XApp_1_0_gir_PACKAGES = gdk-pixbuf-2.0 glib-2.0 gobject-2.0 gio-2.0 gtk+-3.0 | |
48 | XApp_1_0_gir_EXPORT_PACKAGES = xapp | |
49 | XApp_1_0_gir_CFLAGS = -DGNOME_DESKTOP_USE_UNSTABLE_API -I$(top_srcdir) | |
50 | XApp_1_0_gir_LIBS = libxapp.la | |
51 | XApp_1_0_gir_FILES = $(introspection_sources) $(libxapp_HEADERS) | |
52 | XApp_1_0_gir_SCANNERFLAGS = --identifier-prefix=XApp --symbol-prefix=xapp_ | |
53 | INTROSPECTION_SCANNER_ARGS += $(patsubst %,--c-include='libxapp/%',$(libxapp_HEADERS)) | |
54 | INTROSPECTION_GIRS += XApp-1.0.gir | |
55 | ||
56 | girdir = $(datadir)/gir-1.0 | |
57 | gir_DATA = $(INTROSPECTION_GIRS) | |
58 | ||
59 | typelibdir = $(libdir)/girepository-1.0 | |
60 | typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) | |
61 | ||
62 | CLEANFILES += $(gir_DATA) $(typelib_DATA) | |
63 | endif | |
64 | ||
65 | EXTRA_DIST = \ | |
66 | xapp.pc.in \ | |
67 | xapp-uninstalled.pc.in \ | |
68 | $(pnpdata_DATA_dist) | |
69 | ||
70 | -include $(top_srcdir)/git.mk |
0 | ||
1 | #include <config.h> | |
2 | ||
3 | #include <stdio.h> | |
4 | #include <stdlib.h> | |
5 | #include <string.h> | |
6 | ||
7 | #include <gdk/gdkx.h> | |
8 | #include <gtk/gtk.h> | |
9 | ||
10 | #include <glib/gi18n-lib.h> | |
11 | ||
12 | #include "xapp-display.h" | |
13 | ||
14 | struct _XAppDisplayPrivate | |
15 | { | |
16 | int num_outputs; | |
17 | GtkWidget **windows; | |
18 | }; | |
19 | ||
20 | G_DEFINE_TYPE (XAppDisplay, xapp_display, G_TYPE_OBJECT); | |
21 | ||
22 | GtkWidget * create_blanking_window (void); | |
23 | ||
24 | static void | |
25 | xapp_display_init (XAppDisplay *self) | |
26 | { | |
27 | self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, XAPP_TYPE_DISPLAY, XAppDisplayPrivate); | |
28 | } | |
29 | ||
30 | static void | |
31 | xapp_display_finalize (GObject *object) | |
32 | { | |
33 | XAppDisplay *self = XAPP_DISPLAY (object); | |
34 | ||
35 | if (self->priv->windows != NULL) { | |
36 | xapp_display_unblank_monitors (XAPP_DISPLAY(self)); | |
37 | g_free (self->priv->windows); | |
38 | } | |
39 | ||
40 | G_OBJECT_CLASS (xapp_display_parent_class)->finalize (object); | |
41 | } | |
42 | ||
43 | static void | |
44 | xapp_display_class_init (XAppDisplayClass *klass) | |
45 | { | |
46 | GObjectClass *gobject_class = G_OBJECT_CLASS (klass); | |
47 | ||
48 | gobject_class->finalize = xapp_display_finalize; | |
49 | ||
50 | g_type_class_add_private (gobject_class, sizeof (XAppDisplayPrivate)); | |
51 | } | |
52 | ||
53 | XAppDisplay * | |
54 | xapp_display_new (void) | |
55 | { | |
56 | return g_object_new (XAPP_TYPE_DISPLAY, NULL); | |
57 | } | |
58 | ||
59 | GtkWidget * | |
60 | create_blanking_window (void) | |
61 | { | |
62 | GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL); | |
63 | gtk_widget_set_visible (window, TRUE); | |
64 | return window; | |
65 | } | |
66 | ||
67 | void | |
68 | xapp_display_blank_other_monitors (XAppDisplay *self, GtkWindow *window) | |
69 | { | |
70 | int i; | |
71 | ||
72 | g_return_if_fail (XAPP_IS_DISPLAY (self)); | |
73 | ||
74 | if (self->priv->windows != NULL) | |
75 | return; | |
76 | ||
77 | GdkScreen *active_screen = gtk_window_get_screen (window); | |
78 | int active_monitor = gdk_screen_get_number (active_screen); | |
79 | ||
80 | GdkScreen *screen = gdk_screen_get_default (); | |
81 | self->priv->num_outputs = gdk_screen_get_n_monitors (screen); | |
82 | self->priv->windows = g_new (GtkWidget *, self->priv->num_outputs); | |
83 | ||
84 | for (i = 0; i < self->priv->num_outputs; i++) { | |
85 | self->priv->windows[i] = create_blanking_window (); | |
86 | } | |
87 | } | |
88 | ||
89 | void | |
90 | xapp_display_unblank_monitors (XAppDisplay *self) | |
91 | { | |
92 | int i; | |
93 | g_return_if_fail (XAPP_IS_DISPLAY (self)); | |
94 | if (self->priv->windows == NULL) | |
95 | return; | |
96 | ||
97 | for (i = 0; i < self->priv->num_outputs; i++) { | |
98 | if (self->priv->windows[i] != NULL) { | |
99 | gtk_widget_destroy (self->priv->windows[i]); | |
100 | self->priv->windows[i] = NULL; | |
101 | } | |
102 | } | |
103 | g_free (self->priv->windows); | |
104 | self->priv->windows = NULL; | |
105 | } |
0 | #ifndef __XAPP_DISPLAY_H__ | |
1 | #define __XAPP_DISPLAY_H__ | |
2 | ||
3 | #include <stdio.h> | |
4 | #include <gtk/gtk.h> | |
5 | ||
6 | #include <glib-object.h> | |
7 | ||
8 | G_BEGIN_DECLS | |
9 | ||
10 | #define XAPP_TYPE_DISPLAY (xapp_display_get_type ()) | |
11 | #define XAPP_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XAPP_TYPE_DISPLAY, XAppDisplay)) | |
12 | #define XAPP_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XAPP_TYPE_DISPLAY, XAppDisplayClass)) | |
13 | #define XAPP_IS_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XAPP_TYPE_DISPLAY)) | |
14 | #define XAPP_IS_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XAPP_TYPE_DISPLAY)) | |
15 | #define XAPP_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XAPP_TYPE_DISPLAY, XAppDisplayClass)) | |
16 | ||
17 | typedef struct _XAppDisplayPrivate XAppDisplayPrivate; | |
18 | typedef struct _XAppDisplay XAppDisplay; | |
19 | typedef struct _XAppDisplayClass XAppDisplayClass; | |
20 | ||
21 | struct _XAppDisplay | |
22 | { | |
23 | GObject parent_object; | |
24 | ||
25 | XAppDisplayPrivate *priv; | |
26 | }; | |
27 | ||
28 | struct _XAppDisplayClass | |
29 | { | |
30 | GObjectClass parent_class; | |
31 | }; | |
32 | ||
33 | GType xapp_display_get_type (void); | |
34 | XAppDisplay *xapp_display_new (void); | |
35 | void xapp_display_blank_other_monitors (XAppDisplay *self, GtkWindow *window); | |
36 | void xapp_display_unblank_monitors (XAppDisplay *self); | |
37 | ||
38 | G_END_DECLS | |
39 | ||
40 | #endif /* __XAPP_DISPLAY_H__ */ |
0 | prefix=@prefix@ | |
1 | exec_prefix=@exec_prefix@ | |
2 | libdir=@libdir@ | |
3 | includedir=@includedir@ | |
4 | ||
5 | Name: xapp | |
6 | Description: Utility library for loading .desktop files | |
7 | Requires: gtk+-3.0 | |
8 | Version: @VERSION@ | |
9 | Libs: ${pc_top_builddir}/${pcfiledir}/libxapp.la | |
10 | Cflags: -I${pc_top_builddir}/${pcfiledir}/.. |
0 | prefix=@prefix@ | |
1 | exec_prefix=@exec_prefix@ | |
2 | libdir=@libdir@ | |
3 | includedir=@includedir@ | |
4 | ||
5 | Name: xapp | |
6 | Description: Utility library for loading .desktop files | |
7 | Requires: gtk+-3.0 | |
8 | Requires.private: xkbfile | |
9 | Version: @VERSION@ | |
10 | Libs: -L${libdir} -lxapp | |
11 | Cflags: -I${includedir}/xapp |
0 | dnl -*- mode: autoconf -*- | |
1 | ||
2 | # serial 1 | |
3 | ||
4 | dnl Usage: | |
5 | dnl GTK_DOC_CHECK([minimum-gtk-doc-version]) | |
6 | AC_DEFUN([GTK_DOC_CHECK], | |
7 | [ | |
8 | AC_REQUIRE([PKG_PROG_PKG_CONFIG]) | |
9 | AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first | |
10 | AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first | |
11 | ||
12 | dnl check for tools we added during development | |
13 | AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check]) | |
14 | AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true]) | |
15 | AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf]) | |
16 | ||
17 | dnl for overriding the documentation installation directory | |
18 | AC_ARG_WITH([html-dir], | |
19 | AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),, | |
20 | [with_html_dir='${datadir}/gtk-doc/html']) | |
21 | HTML_DIR="$with_html_dir" | |
22 | AC_SUBST([HTML_DIR]) | |
23 | ||
24 | dnl enable/disable documentation building | |
25 | AC_ARG_ENABLE([gtk-doc], | |
26 | AS_HELP_STRING([--enable-gtk-doc], | |
27 | [use gtk-doc to build documentation [[default=no]]]),, | |
28 | [enable_gtk_doc=no]) | |
29 | ||
30 | if test x$enable_gtk_doc = xyes; then | |
31 | ifelse([$1],[], | |
32 | [PKG_CHECK_EXISTS([gtk-doc],, | |
33 | AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))], | |
34 | [PKG_CHECK_EXISTS([gtk-doc >= $1],, | |
35 | AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))]) | |
36 | dnl don't check for glib if we build glib | |
37 | if test "x$PACKAGE_NAME" != "xglib"; then | |
38 | dnl don't fail if someone does not have glib | |
39 | PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,) | |
40 | fi | |
41 | fi | |
42 | ||
43 | AC_MSG_CHECKING([whether to build gtk-doc documentation]) | |
44 | AC_MSG_RESULT($enable_gtk_doc) | |
45 | ||
46 | dnl enable/disable output formats | |
47 | AC_ARG_ENABLE([gtk-doc-html], | |
48 | AS_HELP_STRING([--enable-gtk-doc-html], | |
49 | [build documentation in html format [[default=yes]]]),, | |
50 | [enable_gtk_doc_html=yes]) | |
51 | AC_ARG_ENABLE([gtk-doc-pdf], | |
52 | AS_HELP_STRING([--enable-gtk-doc-pdf], | |
53 | [build documentation in pdf format [[default=no]]]),, | |
54 | [enable_gtk_doc_pdf=no]) | |
55 | ||
56 | if test -z "$GTKDOC_MKPDF"; then | |
57 | enable_gtk_doc_pdf=no | |
58 | fi | |
59 | ||
60 | ||
61 | AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes]) | |
62 | AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes]) | |
63 | AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes]) | |
64 | AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"]) | |
65 | AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"]) | |
66 | ]) |
0 | ## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*- | |
1 | ## Copyright (C) 2001 Eazel, Inc. | |
2 | ## Author: Maciej Stachowiak <mjs@noisehavoc.org> | |
3 | ## Kenneth Christiansen <kenneth@gnu.org> | |
4 | ## | |
5 | ## This program is free software; you can redistribute it and/or modify | |
6 | ## it under the terms of the GNU General Public License as published by | |
7 | ## the Free Software Foundation; either version 2 of the License, or | |
8 | ## (at your option) any later version. | |
9 | ## | |
10 | ## This program is distributed in the hope that it will be useful, but | |
11 | ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 | ## General Public License for more details. | |
14 | ## | |
15 | ## You should have received a copy of the GNU General Public License | |
16 | ## along with this program; if not, write to the Free Software | |
17 | ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
18 | ## | |
19 | ## As a special exception to the GNU General Public License, if you | |
20 | ## distribute this file as part of a program that contains a | |
21 | ## configuration script generated by Autoconf, you may include it under | |
22 | ## the same distribution terms that you use for the rest of that program. | |
23 | ||
24 | dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) | |
25 | # serial 42 IT_PROG_INTLTOOL | |
26 | AC_DEFUN([IT_PROG_INTLTOOL], [ | |
27 | AC_PREREQ([2.50])dnl | |
28 | AC_REQUIRE([AM_NLS])dnl | |
29 | ||
30 | case "$am__api_version" in | |
31 | 1.[01234]) | |
32 | AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) | |
33 | ;; | |
34 | *) | |
35 | ;; | |
36 | esac | |
37 | ||
38 | INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` | |
39 | INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` | |
40 | INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` | |
41 | if test -n "$1"; then | |
42 | AC_MSG_CHECKING([for intltool >= $1]) | |
43 | AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) | |
44 | test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || | |
45 | AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) | |
46 | fi | |
47 | ||
48 | AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) | |
49 | AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) | |
50 | AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) | |
51 | if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then | |
52 | AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) | |
53 | fi | |
54 | ||
55 | if test -z "$AM_DEFAULT_VERBOSITY"; then | |
56 | AM_DEFAULT_VERBOSITY=1 | |
57 | fi | |
58 | AC_SUBST([AM_DEFAULT_VERBOSITY]) | |
59 | ||
60 | INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))' | |
61 | INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))' | |
62 | INTLTOOL__v_MERGE_0='@echo " ITMRG " [$]@;' | |
63 | AC_SUBST(INTLTOOL_V_MERGE) | |
64 | AC_SUBST(INTLTOOL__v_MERGE_) | |
65 | AC_SUBST(INTLTOOL__v_MERGE_0) | |
66 | ||
67 | INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))' | |
68 | intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))' | |
69 | intltool__v_merge_options_0='-q' | |
70 | AC_SUBST(INTLTOOL_V_MERGE_OPTIONS) | |
71 | AC_SUBST(intltool__v_merge_options_) | |
72 | AC_SUBST(intltool__v_merge_options_0) | |
73 | ||
74 | INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
75 | INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
76 | INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
77 | INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
78 | INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< [$]@' | |
79 | INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
80 | INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
81 | INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
82 | INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
83 | INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
84 | INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
85 | if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then | |
86 | INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< [$]@' | |
87 | else | |
88 | INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.[$][$]RANDOM && mkdir [$][$]_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u [$][$]_it_tmp_dir $< [$]@ && rmdir [$][$]_it_tmp_dir' | |
89 | fi | |
90 | INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
91 | INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
92 | INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
93 | INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
94 | INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
95 | INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
96 | INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' | |
97 | ||
98 | _IT_SUBST(INTLTOOL_DESKTOP_RULE) | |
99 | _IT_SUBST(INTLTOOL_DIRECTORY_RULE) | |
100 | _IT_SUBST(INTLTOOL_KEYS_RULE) | |
101 | _IT_SUBST(INTLTOOL_PROP_RULE) | |
102 | _IT_SUBST(INTLTOOL_OAF_RULE) | |
103 | _IT_SUBST(INTLTOOL_PONG_RULE) | |
104 | _IT_SUBST(INTLTOOL_SERVER_RULE) | |
105 | _IT_SUBST(INTLTOOL_SHEET_RULE) | |
106 | _IT_SUBST(INTLTOOL_SOUNDLIST_RULE) | |
107 | _IT_SUBST(INTLTOOL_UI_RULE) | |
108 | _IT_SUBST(INTLTOOL_XAM_RULE) | |
109 | _IT_SUBST(INTLTOOL_KBD_RULE) | |
110 | _IT_SUBST(INTLTOOL_XML_RULE) | |
111 | _IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) | |
112 | _IT_SUBST(INTLTOOL_CAVES_RULE) | |
113 | _IT_SUBST(INTLTOOL_SCHEMAS_RULE) | |
114 | _IT_SUBST(INTLTOOL_THEME_RULE) | |
115 | _IT_SUBST(INTLTOOL_SERVICE_RULE) | |
116 | _IT_SUBST(INTLTOOL_POLICY_RULE) | |
117 | ||
118 | # Check the gettext tools to make sure they are GNU | |
119 | AC_PATH_PROG(XGETTEXT, xgettext) | |
120 | AC_PATH_PROG(MSGMERGE, msgmerge) | |
121 | AC_PATH_PROG(MSGFMT, msgfmt) | |
122 | AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) | |
123 | if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then | |
124 | AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) | |
125 | fi | |
126 | xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" | |
127 | mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" | |
128 | mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" | |
129 | if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then | |
130 | AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) | |
131 | fi | |
132 | ||
133 | AC_PATH_PROG(INTLTOOL_PERL, perl) | |
134 | if test -z "$INTLTOOL_PERL"; then | |
135 | AC_MSG_ERROR([perl not found]) | |
136 | fi | |
137 | AC_MSG_CHECKING([for perl >= 5.8.1]) | |
138 | $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 | |
139 | if test $? -ne 0; then | |
140 | AC_MSG_ERROR([perl 5.8.1 is required for intltool]) | |
141 | else | |
142 | IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"` | |
143 | AC_MSG_RESULT([$IT_PERL_VERSION]) | |
144 | fi | |
145 | if test "x$2" != "xno-xml"; then | |
146 | AC_MSG_CHECKING([for XML::Parser]) | |
147 | if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then | |
148 | AC_MSG_RESULT([ok]) | |
149 | else | |
150 | AC_MSG_ERROR([XML::Parser perl module is required for intltool]) | |
151 | fi | |
152 | fi | |
153 | ||
154 | # Substitute ALL_LINGUAS so we can use it in po/Makefile | |
155 | AC_SUBST(ALL_LINGUAS) | |
156 | ||
157 | # Set DATADIRNAME correctly if it is not set yet | |
158 | # (copied from glib-gettext.m4) | |
159 | if test -z "$DATADIRNAME"; then | |
160 | AC_LINK_IFELSE( | |
161 | [AC_LANG_PROGRAM([[]], | |
162 | [[extern int _nl_msg_cat_cntr; | |
163 | return _nl_msg_cat_cntr]])], | |
164 | [DATADIRNAME=share], | |
165 | [case $host in | |
166 | *-*-solaris*) | |
167 | dnl On Solaris, if bind_textdomain_codeset is in libc, | |
168 | dnl GNU format message catalog is always supported, | |
169 | dnl since both are added to the libc all together. | |
170 | dnl Hence, we'd like to go with DATADIRNAME=share | |
171 | dnl in this case. | |
172 | AC_CHECK_FUNC(bind_textdomain_codeset, | |
173 | [DATADIRNAME=share], [DATADIRNAME=lib]) | |
174 | ;; | |
175 | *) | |
176 | [DATADIRNAME=lib] | |
177 | ;; | |
178 | esac]) | |
179 | fi | |
180 | AC_SUBST(DATADIRNAME) | |
181 | ||
182 | IT_PO_SUBDIR([po]) | |
183 | ||
184 | ]) | |
185 | ||
186 | ||
187 | # IT_PO_SUBDIR(DIRNAME) | |
188 | # --------------------- | |
189 | # All po subdirs have to be declared with this macro; the subdir "po" is | |
190 | # declared by IT_PROG_INTLTOOL. | |
191 | # | |
192 | AC_DEFUN([IT_PO_SUBDIR], | |
193 | [AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. | |
194 | dnl | |
195 | dnl The following CONFIG_COMMANDS should be executed at the very end | |
196 | dnl of config.status. | |
197 | AC_CONFIG_COMMANDS_PRE([ | |
198 | AC_CONFIG_COMMANDS([$1/stamp-it], [ | |
199 | if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then | |
200 | AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) | |
201 | fi | |
202 | rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" | |
203 | >"$1/stamp-it.tmp" | |
204 | [sed '/^#/d | |
205 | s/^[[].*] *// | |
206 | /^[ ]*$/d | |
207 | '"s|^| $ac_top_srcdir/|" \ | |
208 | "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" | |
209 | ] | |
210 | [sed '/^POTFILES =/,/[^\\]$/ { | |
211 | /^POTFILES =/!d | |
212 | r $1/POTFILES | |
213 | } | |
214 | ' "$1/Makefile.in" >"$1/Makefile"] | |
215 | rm -f "$1/Makefile.tmp" | |
216 | mv "$1/stamp-it.tmp" "$1/stamp-it" | |
217 | ]) | |
218 | ])dnl | |
219 | ]) | |
220 | ||
221 | # _IT_SUBST(VARIABLE) | |
222 | # ------------------- | |
223 | # Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST | |
224 | # | |
225 | AC_DEFUN([_IT_SUBST], | |
226 | [ | |
227 | AC_SUBST([$1]) | |
228 | m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) | |
229 | ] | |
230 | ) | |
231 | ||
232 | # deprecated macros | |
233 | AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) | |
234 | # A hint is needed for aclocal from Automake <= 1.9.4: | |
235 | # AC_DEFUN([AC_PROG_INTLTOOL], ...) | |
236 |
0 | # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- | |
1 | # | |
2 | # Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. | |
3 | # Written by Gordon Matzigkeit, 1996 | |
4 | # | |
5 | # This file is free software; the Free Software Foundation gives | |
6 | # unlimited permission to copy and/or distribute it, with or without | |
7 | # modifications, as long as this notice is preserved. | |
8 | ||
9 | m4_define([_LT_COPYING], [dnl | |
10 | # Copyright (C) 2014 Free Software Foundation, Inc. | |
11 | # This is free software; see the source for copying conditions. There is NO | |
12 | # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
13 | ||
14 | # GNU Libtool is free software; you can redistribute it and/or modify | |
15 | # it under the terms of the GNU General Public License as published by | |
16 | # the Free Software Foundation; either version 2 of of the License, or | |
17 | # (at your option) any later version. | |
18 | # | |
19 | # As a special exception to the GNU General Public License, if you | |
20 | # distribute this file as part of a program or library that is built | |
21 | # using GNU Libtool, you may include this file under the same | |
22 | # distribution terms that you use for the rest of that program. | |
23 | # | |
24 | # GNU Libtool is distributed in the hope that it will be useful, but | |
25 | # WITHOUT ANY WARRANTY; without even the implied warranty of | |
26 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
27 | # GNU General Public License for more details. | |
28 | # | |
29 | # You should have received a copy of the GNU General Public License | |
30 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
31 | ]) | |
32 | ||
33 | # serial 58 LT_INIT | |
34 | ||
35 | ||
36 | # LT_PREREQ(VERSION) | |
37 | # ------------------ | |
38 | # Complain and exit if this libtool version is less that VERSION. | |
39 | m4_defun([LT_PREREQ], | |
40 | [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, | |
41 | [m4_default([$3], | |
42 | [m4_fatal([Libtool version $1 or higher is required], | |
43 | 63)])], | |
44 | [$2])]) | |
45 | ||
46 | ||
47 | # _LT_CHECK_BUILDDIR | |
48 | # ------------------ | |
49 | # Complain if the absolute build directory name contains unusual characters | |
50 | m4_defun([_LT_CHECK_BUILDDIR], | |
51 | [case `pwd` in | |
52 | *\ * | *\ *) | |
53 | AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; | |
54 | esac | |
55 | ]) | |
56 | ||
57 | ||
58 | # LT_INIT([OPTIONS]) | |
59 | # ------------------ | |
60 | AC_DEFUN([LT_INIT], | |
61 | [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK | |
62 | AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl | |
63 | AC_BEFORE([$0], [LT_LANG])dnl | |
64 | AC_BEFORE([$0], [LT_OUTPUT])dnl | |
65 | AC_BEFORE([$0], [LTDL_INIT])dnl | |
66 | m4_require([_LT_CHECK_BUILDDIR])dnl | |
67 | ||
68 | dnl Autoconf doesn't catch unexpanded LT_ macros by default: | |
69 | m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl | |
70 | m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl | |
71 | dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 | |
72 | dnl unless we require an AC_DEFUNed macro: | |
73 | AC_REQUIRE([LTOPTIONS_VERSION])dnl | |
74 | AC_REQUIRE([LTSUGAR_VERSION])dnl | |
75 | AC_REQUIRE([LTVERSION_VERSION])dnl | |
76 | AC_REQUIRE([LTOBSOLETE_VERSION])dnl | |
77 | m4_require([_LT_PROG_LTMAIN])dnl | |
78 | ||
79 | _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) | |
80 | ||
81 | dnl Parse OPTIONS | |
82 | _LT_SET_OPTIONS([$0], [$1]) | |
83 | ||
84 | # This can be used to rebuild libtool when needed | |
85 | LIBTOOL_DEPS=$ltmain | |
86 | ||
87 | # Always use our own libtool. | |
88 | LIBTOOL='$(SHELL) $(top_builddir)/libtool' | |
89 | AC_SUBST(LIBTOOL)dnl | |
90 | ||
91 | _LT_SETUP | |
92 | ||
93 | # Only expand once: | |
94 | m4_define([LT_INIT]) | |
95 | ])# LT_INIT | |
96 | ||
97 | # Old names: | |
98 | AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) | |
99 | AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) | |
100 | dnl aclocal-1.4 backwards compatibility: | |
101 | dnl AC_DEFUN([AC_PROG_LIBTOOL], []) | |
102 | dnl AC_DEFUN([AM_PROG_LIBTOOL], []) | |
103 | ||
104 | ||
105 | # _LT_PREPARE_CC_BASENAME | |
106 | # ----------------------- | |
107 | m4_defun([_LT_PREPARE_CC_BASENAME], [ | |
108 | # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. | |
109 | func_cc_basename () | |
110 | { | |
111 | for cc_temp in @S|@*""; do | |
112 | case $cc_temp in | |
113 | compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; | |
114 | distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; | |
115 | \-*) ;; | |
116 | *) break;; | |
117 | esac | |
118 | done | |
119 | func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` | |
120 | } | |
121 | ])# _LT_PREPARE_CC_BASENAME | |
122 | ||
123 | ||
124 | # _LT_CC_BASENAME(CC) | |
125 | # ------------------- | |
126 | # It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, | |
127 | # but that macro is also expanded into generated libtool script, which | |
128 | # arranges for $SED and $ECHO to be set by different means. | |
129 | m4_defun([_LT_CC_BASENAME], | |
130 | [m4_require([_LT_PREPARE_CC_BASENAME])dnl | |
131 | AC_REQUIRE([_LT_DECL_SED])dnl | |
132 | AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl | |
133 | func_cc_basename $1 | |
134 | cc_basename=$func_cc_basename_result | |
135 | ]) | |
136 | ||
137 | ||
138 | # _LT_FILEUTILS_DEFAULTS | |
139 | # ---------------------- | |
140 | # It is okay to use these file commands and assume they have been set | |
141 | # sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. | |
142 | m4_defun([_LT_FILEUTILS_DEFAULTS], | |
143 | [: ${CP="cp -f"} | |
144 | : ${MV="mv -f"} | |
145 | : ${RM="rm -f"} | |
146 | ])# _LT_FILEUTILS_DEFAULTS | |
147 | ||
148 | ||
149 | # _LT_SETUP | |
150 | # --------- | |
151 | m4_defun([_LT_SETUP], | |
152 | [AC_REQUIRE([AC_CANONICAL_HOST])dnl | |
153 | AC_REQUIRE([AC_CANONICAL_BUILD])dnl | |
154 | AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl | |
155 | AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl | |
156 | ||
157 | _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl | |
158 | dnl | |
159 | _LT_DECL([], [host_alias], [0], [The host system])dnl | |
160 | _LT_DECL([], [host], [0])dnl | |
161 | _LT_DECL([], [host_os], [0])dnl | |
162 | dnl | |
163 | _LT_DECL([], [build_alias], [0], [The build system])dnl | |
164 | _LT_DECL([], [build], [0])dnl | |
165 | _LT_DECL([], [build_os], [0])dnl | |
166 | dnl | |
167 | AC_REQUIRE([AC_PROG_CC])dnl | |
168 | AC_REQUIRE([LT_PATH_LD])dnl | |
169 | AC_REQUIRE([LT_PATH_NM])dnl | |
170 | dnl | |
171 | AC_REQUIRE([AC_PROG_LN_S])dnl | |
172 | test -z "$LN_S" && LN_S="ln -s" | |
173 | _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl | |
174 | dnl | |
175 | AC_REQUIRE([LT_CMD_MAX_LEN])dnl | |
176 | _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl | |
177 | _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl | |
178 | dnl | |
179 | m4_require([_LT_FILEUTILS_DEFAULTS])dnl | |
180 | m4_require([_LT_CHECK_SHELL_FEATURES])dnl | |
181 | m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl | |
182 | m4_require([_LT_CMD_RELOAD])dnl | |
183 | m4_require([_LT_CHECK_MAGIC_METHOD])dnl | |
184 | m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl | |
185 | m4_require([_LT_CMD_OLD_ARCHIVE])dnl | |
186 | m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl | |
187 | m4_require([_LT_WITH_SYSROOT])dnl | |
188 | m4_require([_LT_CMD_TRUNCATE])dnl | |
189 | ||
190 | _LT_CONFIG_LIBTOOL_INIT([ | |
191 | # See if we are running on zsh, and set the options that allow our | |
192 | # commands through without removal of \ escapes INIT. | |
193 | if test -n "\${ZSH_VERSION+set}"; then | |
194 | setopt NO_GLOB_SUBST | |
195 | fi | |
196 | ]) | |
197 | if test -n "${ZSH_VERSION+set}"; then | |
198 | setopt NO_GLOB_SUBST | |
199 | fi | |
200 | ||
201 | _LT_CHECK_OBJDIR | |
202 | ||
203 | m4_require([_LT_TAG_COMPILER])dnl | |
204 | ||
205 | case $host_os in | |
206 | aix3*) | |
207 | # AIX sometimes has problems with the GCC collect2 program. For some | |
208 | # reason, if we set the COLLECT_NAMES environment variable, the problems | |
209 | # vanish in a puff of smoke. | |
210 | if test set != "${COLLECT_NAMES+set}"; then | |
211 | COLLECT_NAMES= | |
212 | export COLLECT_NAMES | |
213 | fi | |
214 | ;; | |
215 | esac | |
216 | ||
217 | # Global variables: | |
218 | ofile=libtool | |
219 | can_build_shared=yes | |
220 | ||
221 | # All known linkers require a '.a' archive for static linking (except MSVC, | |
222 | # which needs '.lib'). | |
223 | libext=a | |
224 | ||
225 | with_gnu_ld=$lt_cv_prog_gnu_ld | |
226 | ||
227 | old_CC=$CC | |
228 | old_CFLAGS=$CFLAGS | |
229 | ||
230 | # Set sane defaults for various variables | |
231 | test -z "$CC" && CC=cc | |
232 | test -z "$LTCC" && LTCC=$CC | |
233 | test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS | |
234 | test -z "$LD" && LD=ld | |
235 | test -z "$ac_objext" && ac_objext=o | |
236 | ||
237 | _LT_CC_BASENAME([$compiler]) | |
238 | ||
239 | # Only perform the check for file, if the check method requires it | |
240 | test -z "$MAGIC_CMD" && MAGIC_CMD=file | |
241 | case $deplibs_check_method in | |
242 | file_magic*) | |
243 | if test "$file_magic_cmd" = '$MAGIC_CMD'; then | |
244 | _LT_PATH_MAGIC | |
245 | fi | |
246 | ;; | |
247 | esac | |
248 | ||
249 | # Use C for the default configuration in the libtool script | |
250 | LT_SUPPORTED_TAG([CC]) | |
251 | _LT_LANG_C_CONFIG | |
252 | _LT_LANG_DEFAULT_CONFIG | |
253 | _LT_CONFIG_COMMANDS | |
254 | ])# _LT_SETUP | |
255 | ||
256 | ||
257 | # _LT_PREPARE_SED_QUOTE_VARS | |
258 | # -------------------------- | |
259 | # Define a few sed substitution that help us do robust quoting. | |
260 | m4_defun([_LT_PREPARE_SED_QUOTE_VARS], | |
261 | [# Backslashify metacharacters that are still active within | |
262 | # double-quoted strings. | |
263 | sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' | |
264 | ||
265 | # Same as above, but do not quote variable references. | |
266 | double_quote_subst='s/\([["`\\]]\)/\\\1/g' | |
267 | ||
268 | # Sed substitution to delay expansion of an escaped shell variable in a | |
269 | # double_quote_subst'ed string. | |
270 | delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' | |
271 | ||
272 | # Sed substitution to delay expansion of an escaped single quote. | |
273 | delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' | |
274 | ||
275 | # Sed substitution to avoid accidental globbing in evaled expressions | |
276 | no_glob_subst='s/\*/\\\*/g' | |
277 | ]) | |
278 | ||
279 | # _LT_PROG_LTMAIN | |
280 | # --------------- | |
281 | # Note that this code is called both from 'configure', and 'config.status' | |
282 | # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, | |
283 | # 'config.status' has no value for ac_aux_dir unless we are using Automake, | |
284 | # so we pass a copy along to make sure it has a sensible value anyway. | |
285 | m4_defun([_LT_PROG_LTMAIN], | |
286 | [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl | |
287 | _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) | |
288 | ltmain=$ac_aux_dir/ltmain.sh | |
289 | ])# _LT_PROG_LTMAIN | |
290 | ||
291 | ||
292 | ## ------------------------------------- ## | |
293 | ## Accumulate code for creating libtool. ## | |
294 | ## ------------------------------------- ## | |
295 | ||
296 | # So that we can recreate a full libtool script including additional | |
297 | # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS | |
298 | # in macros and then make a single call at the end using the 'libtool' | |
299 | # label. | |
300 | ||
301 | ||
302 | # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) | |
303 | # ---------------------------------------- | |
304 | # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. | |
305 | m4_define([_LT_CONFIG_LIBTOOL_INIT], | |
306 | [m4_ifval([$1], | |
307 | [m4_append([_LT_OUTPUT_LIBTOOL_INIT], | |
308 | [$1 | |
309 | ])])]) | |
310 | ||
311 | # Initialize. | |
312 | m4_define([_LT_OUTPUT_LIBTOOL_INIT]) | |
313 | ||
314 | ||
315 | # _LT_CONFIG_LIBTOOL([COMMANDS]) | |
316 | # ------------------------------ | |
317 | # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. | |
318 | m4_define([_LT_CONFIG_LIBTOOL], | |
319 | [m4_ifval([$1], | |
320 | [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], | |
321 | [$1 | |
322 | ])])]) | |
323 | ||
324 | # Initialize. | |
325 | m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) | |
326 | ||
327 | ||
328 | # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) | |
329 | # ----------------------------------------------------- | |
330 | m4_defun([_LT_CONFIG_SAVE_COMMANDS], | |
331 | [_LT_CONFIG_LIBTOOL([$1]) | |
332 | _LT_CONFIG_LIBTOOL_INIT([$2]) | |
333 | ]) | |
334 | ||
335 | ||
336 | # _LT_FORMAT_COMMENT([COMMENT]) | |
337 | # ----------------------------- | |
338 | # Add leading comment marks to the start of each line, and a trailing | |
339 | # full-stop to the whole comment if one is not present already. | |
340 | m4_define([_LT_FORMAT_COMMENT], | |
341 | [m4_ifval([$1], [ | |
342 | m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], | |
343 | [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) | |
344 | )]) | |
345 | ||
346 | ||
347 | ||
348 | ## ------------------------ ## | |
349 | ## FIXME: Eliminate VARNAME ## | |
350 | ## ------------------------ ## | |
351 | ||
352 | ||
353 | # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) | |
354 | # ------------------------------------------------------------------- | |
355 | # CONFIGNAME is the name given to the value in the libtool script. | |
356 | # VARNAME is the (base) name used in the configure script. | |
357 | # VALUE may be 0, 1 or 2 for a computed quote escaped value based on | |
358 | # VARNAME. Any other value will be used directly. | |
359 | m4_define([_LT_DECL], | |
360 | [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], | |
361 | [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], | |
362 | [m4_ifval([$1], [$1], [$2])]) | |
363 | lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) | |
364 | m4_ifval([$4], | |
365 | [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) | |
366 | lt_dict_add_subkey([lt_decl_dict], [$2], | |
367 | [tagged?], [m4_ifval([$5], [yes], [no])])]) | |
368 | ]) | |
369 | ||
370 | ||
371 | # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) | |
372 | # -------------------------------------------------------- | |
373 | m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) | |
374 | ||
375 | ||
376 | # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) | |
377 | # ------------------------------------------------ | |
378 | m4_define([lt_decl_tag_varnames], | |
379 | [_lt_decl_filter([tagged?], [yes], $@)]) | |
380 | ||
381 | ||
382 | # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) | |
383 | # --------------------------------------------------------- | |
384 | m4_define([_lt_decl_filter], | |
385 | [m4_case([$#], | |
386 | [0], [m4_fatal([$0: too few arguments: $#])], | |
387 | [1], [m4_fatal([$0: too few arguments: $#: $1])], | |
388 | [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], | |
389 | [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], | |
390 | [lt_dict_filter([lt_decl_dict], $@)])[]dnl | |
391 | ]) | |
392 | ||
393 | ||
394 | # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) | |
395 | # -------------------------------------------------- | |
396 | m4_define([lt_decl_quote_varnames], | |
397 | [_lt_decl_filter([value], [1], $@)]) | |
398 | ||
399 | ||
400 | # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) | |
401 | # --------------------------------------------------- | |
402 | m4_define([lt_decl_dquote_varnames], | |
403 | [_lt_decl_filter([value], [2], $@)]) | |
404 | ||
405 | ||
406 | # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) | |
407 | # --------------------------------------------------- | |
408 | m4_define([lt_decl_varnames_tagged], | |
409 | [m4_assert([$# <= 2])dnl | |
410 | _$0(m4_quote(m4_default([$1], [[, ]])), | |
411 | m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), | |
412 | m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) | |
413 | m4_define([_lt_decl_varnames_tagged], | |
414 | [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) | |
415 | ||
416 | ||
417 | # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) | |
418 | # ------------------------------------------------ | |
419 | m4_define([lt_decl_all_varnames], | |
420 | [_$0(m4_quote(m4_default([$1], [[, ]])), | |
421 | m4_if([$2], [], | |
422 | m4_quote(lt_decl_varnames), | |
423 | m4_quote(m4_shift($@))))[]dnl | |
424 | ]) | |
425 | m4_define([_lt_decl_all_varnames], | |
426 | [lt_join($@, lt_decl_varnames_tagged([$1], | |
427 | lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl | |
428 | ]) | |
429 | ||
430 | ||
431 | # _LT_CONFIG_STATUS_DECLARE([VARNAME]) | |
432 | # ------------------------------------ | |
433 | # Quote a variable value, and forward it to 'config.status' so that its | |
434 | # declaration there will have the same value as in 'configure'. VARNAME | |
435 | # must have a single quote delimited value for this to work. | |
436 | m4_define([_LT_CONFIG_STATUS_DECLARE], | |
437 | [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) | |
438 | ||
439 | ||
440 | # _LT_CONFIG_STATUS_DECLARATIONS | |
441 | # ------------------------------ | |
442 | # We delimit libtool config variables with single quotes, so when | |
443 | # we write them to config.status, we have to be sure to quote all | |
444 | # embedded single quotes properly. In configure, this macro expands | |
445 | # each variable declared with _LT_DECL (and _LT_TAGDECL) into: | |
446 | # | |
447 | # <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`' | |
448 | m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], | |
449 | [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), | |
450 | [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) | |
451 | ||
452 | ||
453 | # _LT_LIBTOOL_TAGS | |
454 | # ---------------- | |
455 | # Output comment and list of tags supported by the script | |
456 | m4_defun([_LT_LIBTOOL_TAGS], | |
457 | [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl | |
458 | available_tags='_LT_TAGS'dnl | |
459 | ]) | |
460 | ||
461 | ||
462 | # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) | |
463 | # ----------------------------------- | |
464 | # Extract the dictionary values for VARNAME (optionally with TAG) and | |
465 | # expand to a commented shell variable setting: | |
466 | # | |
467 | # # Some comment about what VAR is for. | |
468 | # visible_name=$lt_internal_name | |
469 | m4_define([_LT_LIBTOOL_DECLARE], | |
470 | [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], | |
471 | [description])))[]dnl | |
472 | m4_pushdef([_libtool_name], | |
473 | m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl | |
474 | m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), | |
475 | [0], [_libtool_name=[$]$1], | |
476 | [1], [_libtool_name=$lt_[]$1], | |
477 | [2], [_libtool_name=$lt_[]$1], | |
478 | [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl | |
479 | m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl | |
480 | ]) | |
481 | ||
482 | ||
483 | # _LT_LIBTOOL_CONFIG_VARS | |
484 | # ----------------------- | |
485 | # Produce commented declarations of non-tagged libtool config variables | |
486 | # suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' | |
487 | # script. Tagged libtool config variables (even for the LIBTOOL CONFIG | |
488 | # section) are produced by _LT_LIBTOOL_TAG_VARS. | |
489 | m4_defun([_LT_LIBTOOL_CONFIG_VARS], | |
490 | [m4_foreach([_lt_var], | |
491 | m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), | |
492 | [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) | |
493 | ||
494 | ||
495 | # _LT_LIBTOOL_TAG_VARS(TAG) | |
496 | # ------------------------- | |
497 | m4_define([_LT_LIBTOOL_TAG_VARS], | |
498 | [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), | |
499 | [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) | |
500 | ||
501 | ||
502 | # _LT_TAGVAR(VARNAME, [TAGNAME]) | |
503 | # ------------------------------ | |
504 | m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) | |
505 | ||
506 | ||
507 | # _LT_CONFIG_COMMANDS | |
508 | # ------------------- | |
509 | # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of | |
510 | # variables for single and double quote escaping we saved from calls | |
511 | # to _LT_DECL, we can put quote escaped variables declarations | |
512 | # into 'config.status', and then the shell code to quote escape them in | |
513 | # for loops in 'config.status'. Finally, any additional code accumulated | |
514 | # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. | |
515 | m4_defun([_LT_CONFIG_COMMANDS], | |
516 | [AC_PROVIDE_IFELSE([LT_OUTPUT], | |
517 | dnl If the libtool generation code has been placed in $CONFIG_LT, | |
518 | dnl instead of duplicating it all over again into config.status, | |
519 | dnl then we will have config.status run $CONFIG_LT later, so it | |
520 | dnl needs to know what name is stored there: | |
521 | [AC_CONFIG_COMMANDS([libtool], | |
522 | [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], | |
523 | dnl If the libtool generation code is destined for config.status, | |
524 | dnl expand the accumulated commands and init code now: | |
525 | [AC_CONFIG_COMMANDS([libtool], | |
526 | [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) | |
527 | ])#_LT_CONFIG_COMMANDS | |
528 | ||
529 | ||
530 | # Initialize. | |
531 | m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], | |
532 | [ | |
533 | ||
534 | # The HP-UX ksh and POSIX shell print the target directory to stdout | |
535 | # if CDPATH is set. | |
536 | (unset CDPATH) >/dev/null 2>&1 && unset CDPATH | |
537 | ||
538 | sed_quote_subst='$sed_quote_subst' | |
539 | double_quote_subst='$double_quote_subst' | |
540 | delay_variable_subst='$delay_variable_subst' | |
541 | _LT_CONFIG_STATUS_DECLARATIONS | |
542 | LTCC='$LTCC' | |
543 | LTCFLAGS='$LTCFLAGS' | |
544 | compiler='$compiler_DEFAULT' | |
545 | ||
546 | # A function that is used when there is no print builtin or printf. | |
547 | func_fallback_echo () | |
548 | { | |
549 | eval 'cat <<_LTECHO_EOF | |
550 | \$[]1 | |
551 | _LTECHO_EOF' | |
552 | } | |
553 | ||
554 | # Quote evaled strings. | |
555 | for var in lt_decl_all_varnames([[ \ | |
556 | ]], lt_decl_quote_varnames); do | |
557 | case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in | |
558 | *[[\\\\\\\`\\"\\\$]]*) | |
559 | eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes | |
560 | ;; | |
561 | *) | |
562 | eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" | |
563 | ;; | |
564 | esac | |
565 | done | |
566 | ||
567 | # Double-quote double-evaled strings. | |
568 | for var in lt_decl_all_varnames([[ \ | |
569 | ]], lt_decl_dquote_varnames); do | |
570 | case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in | |
571 | *[[\\\\\\\`\\"\\\$]]*) | |
572 | eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes | |
573 | ;; | |
574 | *) | |
575 | eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" | |
576 | ;; | |
577 | esac | |
578 | done | |
579 | ||
580 | _LT_OUTPUT_LIBTOOL_INIT | |
581 | ]) | |
582 | ||
583 | # _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) | |
584 | # ------------------------------------ | |
585 | # Generate a child script FILE with all initialization necessary to | |
586 | # reuse the environment learned by the parent script, and make the | |
587 | # file executable. If COMMENT is supplied, it is inserted after the | |
588 | # '#!' sequence but before initialization text begins. After this | |
589 | # macro, additional text can be appended to FILE to form the body of | |
590 | # the child script. The macro ends with non-zero status if the | |
591 | # file could not be fully written (such as if the disk is full). | |
592 | m4_ifdef([AS_INIT_GENERATED], | |
593 | [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], | |
594 | [m4_defun([_LT_GENERATED_FILE_INIT], | |
595 | [m4_require([AS_PREPARE])]dnl | |
596 | [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl | |
597 | [lt_write_fail=0 | |
598 | cat >$1 <<_ASEOF || lt_write_fail=1 | |
599 | #! $SHELL | |
600 | # Generated by $as_me. | |
601 | $2 | |
602 | SHELL=\${CONFIG_SHELL-$SHELL} | |
603 | export SHELL | |
604 | _ASEOF | |
605 | cat >>$1 <<\_ASEOF || lt_write_fail=1 | |
606 | AS_SHELL_SANITIZE | |
607 | _AS_PREPARE | |
608 | exec AS_MESSAGE_FD>&1 | |
609 | _ASEOF | |
610 | test 0 = "$lt_write_fail" && chmod +x $1[]dnl | |
611 | m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT | |
612 | ||
613 | # LT_OUTPUT | |
614 | # --------- | |
615 | # This macro allows early generation of the libtool script (before | |
616 | # AC_OUTPUT is called), incase it is used in configure for compilation | |
617 | # tests. | |
618 | AC_DEFUN([LT_OUTPUT], | |
619 | [: ${CONFIG_LT=./config.lt} | |
620 | AC_MSG_NOTICE([creating $CONFIG_LT]) | |
621 | _LT_GENERATED_FILE_INIT(["$CONFIG_LT"], | |
622 | [# Run this file to recreate a libtool stub with the current configuration.]) | |
623 | ||
624 | cat >>"$CONFIG_LT" <<\_LTEOF | |
625 | lt_cl_silent=false | |
626 | exec AS_MESSAGE_LOG_FD>>config.log | |
627 | { | |
628 | echo | |
629 | AS_BOX([Running $as_me.]) | |
630 | } >&AS_MESSAGE_LOG_FD | |
631 | ||
632 | lt_cl_help="\ | |
633 | '$as_me' creates a local libtool stub from the current configuration, | |
634 | for use in further configure time tests before the real libtool is | |
635 | generated. | |
636 | ||
637 | Usage: $[0] [[OPTIONS]] | |
638 | ||
639 | -h, --help print this help, then exit | |
640 | -V, --version print version number, then exit | |
641 | -q, --quiet do not print progress messages | |
642 | -d, --debug don't remove temporary files | |
643 | ||
644 | Report bugs to <bug-libtool@gnu.org>." | |
645 | ||
646 | lt_cl_version="\ | |
647 | m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl | |
648 | m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) | |
649 | configured by $[0], generated by m4_PACKAGE_STRING. | |
650 | ||
651 | Copyright (C) 2011 Free Software Foundation, Inc. | |
652 | This config.lt script is free software; the Free Software Foundation | |
653 | gives unlimited permision to copy, distribute and modify it." | |
654 | ||
655 | while test 0 != $[#] | |
656 | do | |
657 | case $[1] in | |
658 | --version | --v* | -V ) | |
659 | echo "$lt_cl_version"; exit 0 ;; | |
660 | --help | --h* | -h ) | |
661 | echo "$lt_cl_help"; exit 0 ;; | |
662 | --debug | --d* | -d ) | |
663 | debug=: ;; | |
664 | --quiet | --q* | --silent | --s* | -q ) | |
665 | lt_cl_silent=: ;; | |
666 | ||
667 | -*) AC_MSG_ERROR([unrecognized option: $[1] | |
668 | Try '$[0] --help' for more information.]) ;; | |
669 | ||
670 | *) AC_MSG_ERROR([unrecognized argument: $[1] | |
671 | Try '$[0] --help' for more information.]) ;; | |
672 | esac | |
673 | shift | |
674 | done | |
675 | ||
676 | if $lt_cl_silent; then | |
677 | exec AS_MESSAGE_FD>/dev/null | |
678 | fi | |
679 | _LTEOF | |
680 | ||
681 | cat >>"$CONFIG_LT" <<_LTEOF | |
682 | _LT_OUTPUT_LIBTOOL_COMMANDS_INIT | |
683 | _LTEOF | |
684 | ||
685 | cat >>"$CONFIG_LT" <<\_LTEOF | |
686 | AC_MSG_NOTICE([creating $ofile]) | |
687 | _LT_OUTPUT_LIBTOOL_COMMANDS | |
688 | AS_EXIT(0) | |
689 | _LTEOF | |
690 | chmod +x "$CONFIG_LT" | |
691 | ||
692 | # configure is writing to config.log, but config.lt does its own redirection, | |
693 | # appending to config.log, which fails on DOS, as config.log is still kept | |
694 | # open by configure. Here we exec the FD to /dev/null, effectively closing | |
695 | # config.log, so it can be properly (re)opened and appended to by config.lt. | |
696 | lt_cl_success=: | |
697 | test yes = "$silent" && | |
698 | lt_config_lt_args="$lt_config_lt_args --quiet" | |
699 | exec AS_MESSAGE_LOG_FD>/dev/null | |
700 | $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false | |
701 | exec AS_MESSAGE_LOG_FD>>config.log | |
702 | $lt_cl_success || AS_EXIT(1) | |
703 | ])# LT_OUTPUT | |
704 | ||
705 | ||
706 | # _LT_CONFIG(TAG) | |
707 | # --------------- | |
708 | # If TAG is the built-in tag, create an initial libtool script with a | |
709 | # default configuration from the untagged config vars. Otherwise add code | |
710 | # to config.status for appending the configuration named by TAG from the | |
711 | # matching tagged config vars. | |
712 | m4_defun([_LT_CONFIG], | |
713 | [m4_require([_LT_FILEUTILS_DEFAULTS])dnl | |
714 | _LT_CONFIG_SAVE_COMMANDS([ | |
715 | m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl | |
716 | m4_if(_LT_TAG, [C], [ | |
717 | # See if we are running on zsh, and set the options that allow our | |
718 | # commands through without removal of \ escapes. | |
719 | if test -n "${ZSH_VERSION+set}"; then | |
720 | setopt NO_GLOB_SUBST | |
721 | fi | |
722 | ||
723 | cfgfile=${ofile}T | |
724 | trap "$RM \"$cfgfile\"; exit 1" 1 2 15 | |
725 | $RM "$cfgfile" | |
726 | ||
727 | cat <<_LT_EOF >> "$cfgfile" | |
728 | #! $SHELL | |
729 | # Generated automatically by $as_me ($PACKAGE) $VERSION | |
730 | # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: | |
731 | # NOTE: Changes made to this file will be lost: look at ltmain.sh. | |
732 | ||
733 | # Provide generalized library-building support services. | |
734 | # Written by Gordon Matzigkeit, 1996 | |
735 | ||
736 | _LT_COPYING | |
737 | _LT_LIBTOOL_TAGS | |
738 | ||
739 | # Configured defaults for sys_lib_dlsearch_path munging. | |
740 | : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} | |
741 | ||
742 | # ### BEGIN LIBTOOL CONFIG | |
743 | _LT_LIBTOOL_CONFIG_VARS | |
744 | _LT_LIBTOOL_TAG_VARS | |
745 | # ### END LIBTOOL CONFIG | |
746 | ||
747 | _LT_EOF | |
748 | ||
749 | cat <<'_LT_EOF' >> "$cfgfile" | |
750 | ||
751 | # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE | |
752 | ||
753 | _LT_PREPARE_MUNGE_PATH_LIST | |
754 | _LT_PREPARE_CC_BASENAME | |
755 | ||
756 | # ### END FUNCTIONS SHARED WITH CONFIGURE | |
757 | ||
758 | _LT_EOF | |
759 | ||
760 | case $host_os in | |
761 | aix3*) | |
762 | cat <<\_LT_EOF >> "$cfgfile" | |
763 | # AIX sometimes has problems with the GCC collect2 program. For some | |
764 | # reason, if we set the COLLECT_NAMES environment variable, the problems | |
765 | # vanish in a puff of smoke. | |
766 | if test set != "${COLLECT_NAMES+set}"; then | |
767 | COLLECT_NAMES= | |
768 | export COLLECT_NAMES | |
769 | fi | |
770 | _LT_EOF | |
771 | ;; | |
772 | esac | |
773 | ||
774 | _LT_PROG_LTMAIN | |
775 | ||
776 | # We use sed instead of cat because bash on DJGPP gets confused if | |
777 | # if finds mixed CR/LF and LF-only lines. Since sed operates in | |
778 | # text mode, it properly converts lines to CR/LF. This bash problem | |
779 | # is reportedly fixed, but why not run on old versions too? | |
780 | sed '$q' "$ltmain" >> "$cfgfile" \ | |
781 | || (rm -f "$cfgfile"; exit 1) | |
782 | ||
783 | mv -f "$cfgfile" "$ofile" || | |
784 | (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") | |
785 | chmod +x "$ofile" | |
786 | ], | |
787 | [cat <<_LT_EOF >> "$ofile" | |
788 | ||
789 | dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded | |
790 | dnl in a comment (ie after a #). | |
791 | # ### BEGIN LIBTOOL TAG CONFIG: $1 | |
792 | _LT_LIBTOOL_TAG_VARS(_LT_TAG) | |
793 | # ### END LIBTOOL TAG CONFIG: $1 | |
794 | _LT_EOF | |
795 | ])dnl /m4_if | |
796 | ], | |
797 | [m4_if([$1], [], [ | |
798 | PACKAGE='$PACKAGE' | |
799 | VERSION='$VERSION' | |
800 | RM='$RM' | |
801 | ofile='$ofile'], []) | |
802 | ])dnl /_LT_CONFIG_SAVE_COMMANDS | |
803 | ])# _LT_CONFIG | |
804 | ||
805 | ||
806 | # LT_SUPPORTED_TAG(TAG) | |
807 | # --------------------- | |
808 | # Trace this macro to discover what tags are supported by the libtool | |
809 | # --tag option, using: | |
810 | # autoconf --trace 'LT_SUPPORTED_TAG:$1' | |
811 | AC_DEFUN([LT_SUPPORTED_TAG], []) | |
812 | ||
813 | ||
814 | # C support is built-in for now | |
815 | m4_define([_LT_LANG_C_enabled], []) | |
816 | m4_define([_LT_TAGS], []) | |
817 | ||
818 | ||
819 | # LT_LANG(LANG) | |
820 | # ------------- | |
821 | # Enable libtool support for the given language if not already enabled. | |
822 | AC_DEFUN([LT_LANG], | |
823 | [AC_BEFORE([$0], [LT_OUTPUT])dnl | |
824 | m4_case([$1], | |
825 | [C], [_LT_LANG(C)], | |
826 | [C++], [_LT_LANG(CXX)], | |
827 | [Go], [_LT_LANG(GO)], | |
828 | [Java], [_LT_LANG(GCJ)], | |
829 | [Fortran 77], [_LT_LANG(F77)], | |
830 | [Fortran], [_LT_LANG(FC)], | |
831 | [Windows Resource], [_LT_LANG(RC)], | |
832 | [m4_ifdef([_LT_LANG_]$1[_CONFIG], | |
833 | [_LT_LANG($1)], | |
834 | [m4_fatal([$0: unsupported language: "$1"])])])dnl | |
835 | ])# LT_LANG | |
836 | ||
837 | ||
838 | # _LT_LANG(LANGNAME) | |
839 | # ------------------ | |
840 | m4_defun([_LT_LANG], | |
841 | [m4_ifdef([_LT_LANG_]$1[_enabled], [], | |
842 | [LT_SUPPORTED_TAG([$1])dnl | |
843 | m4_append([_LT_TAGS], [$1 ])dnl | |
844 | m4_define([_LT_LANG_]$1[_enabled], [])dnl | |
845 | _LT_LANG_$1_CONFIG($1)])dnl | |
846 | ])# _LT_LANG | |
847 | ||
848 | ||
849 | m4_ifndef([AC_PROG_GO], [ | |
850 | ############################################################ | |
851 | # NOTE: This macro has been submitted for inclusion into # | |
852 | # GNU Autoconf as AC_PROG_GO. When it is available in # | |
853 | # a released version of Autoconf we should remove this # | |
854 | # macro and use it instead. # | |
855 | ############################################################ | |
856 | m4_defun([AC_PROG_GO], | |
857 | [AC_LANG_PUSH(Go)dnl | |
858 | AC_ARG_VAR([GOC], [Go compiler command])dnl | |
859 | AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl | |
860 | _AC_ARG_VAR_LDFLAGS()dnl | |
861 | AC_CHECK_TOOL(GOC, gccgo) | |
862 | if test -z "$GOC"; then | |
863 | if test -n "$ac_tool_prefix"; then | |
864 | AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) | |
865 | fi | |
866 | fi | |
867 | if test -z "$GOC"; then | |
868 | AC_CHECK_PROG(GOC, gccgo, gccgo, false) | |
869 | fi | |
870 | ])#m4_defun | |
871 | ])#m4_ifndef | |
872 | ||
873 | ||
874 | # _LT_LANG_DEFAULT_CONFIG | |
875 | # ----------------------- | |
876 | m4_defun([_LT_LANG_DEFAULT_CONFIG], | |
877 | [AC_PROVIDE_IFELSE([AC_PROG_CXX], | |
878 | [LT_LANG(CXX)], | |
879 | [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) | |
880 | ||
881 | AC_PROVIDE_IFELSE([AC_PROG_F77], | |
882 | [LT_LANG(F77)], | |
883 | [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) | |
884 | ||
885 | AC_PROVIDE_IFELSE([AC_PROG_FC], | |
886 | [LT_LANG(FC)], | |
887 | [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) | |
888 | ||
889 | dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal | |
890 | dnl pulling things in needlessly. | |
891 | AC_PROVIDE_IFELSE([AC_PROG_GCJ], | |
892 | [LT_LANG(GCJ)], | |
893 | [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], | |
894 | [LT_LANG(GCJ)], | |
895 | [AC_PROVIDE_IFELSE([LT_PROG_GCJ], | |
896 | [LT_LANG(GCJ)], | |
897 | [m4_ifdef([AC_PROG_GCJ], | |
898 | [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) | |
899 | m4_ifdef([A][M_PROG_GCJ], | |
900 | [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) | |
901 | m4_ifdef([LT_PROG_GCJ], | |
902 | [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) | |
903 | ||
904 | AC_PROVIDE_IFELSE([AC_PROG_GO], | |
905 | [LT_LANG(GO)], | |
906 | [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) | |
907 | ||
908 | AC_PROVIDE_IFELSE([LT_PROG_RC], | |
909 | [LT_LANG(RC)], | |
910 | [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) | |
911 | ])# _LT_LANG_DEFAULT_CONFIG | |
912 | ||
913 | # Obsolete macros: | |
914 | AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) | |
915 | AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) | |
916 | AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) | |
917 | AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) | |
918 | AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) | |
919 | dnl aclocal-1.4 backwards compatibility: | |
920 | dnl AC_DEFUN([AC_LIBTOOL_CXX], []) | |
921 | dnl AC_DEFUN([AC_LIBTOOL_F77], []) | |
922 | dnl AC_DEFUN([AC_LIBTOOL_FC], []) | |
923 | dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) | |
924 | dnl AC_DEFUN([AC_LIBTOOL_RC], []) | |
925 | ||
926 | ||
927 | # _LT_TAG_COMPILER | |
928 | # ---------------- | |
929 | m4_defun([_LT_TAG_COMPILER], | |
930 | [AC_REQUIRE([AC_PROG_CC])dnl | |
931 | ||
932 | _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl | |
933 | _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl | |
934 | _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl | |
935 | _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl | |
936 | ||
937 | # If no C compiler was specified, use CC. | |
938 | LTCC=${LTCC-"$CC"} | |
939 | ||
940 | # If no C compiler flags were specified, use CFLAGS. | |
941 | LTCFLAGS=${LTCFLAGS-"$CFLAGS"} | |
942 | ||
943 | # Allow CC to be a program name with arguments. | |
944 | compiler=$CC | |
945 | ])# _LT_TAG_COMPILER | |
946 | ||
947 | ||
948 | # _LT_COMPILER_BOILERPLATE | |
949 | # ------------------------ | |
950 | # Check for compiler boilerplate output or warnings with | |
951 | # the simple compiler test code. | |
952 | m4_defun([_LT_COMPILER_BOILERPLATE], | |
953 | [m4_require([_LT_DECL_SED])dnl | |
954 | ac_outfile=conftest.$ac_objext | |
955 | echo "$lt_simple_compile_test_code" >conftest.$ac_ext | |
956 | eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err | |
957 | _lt_compiler_boilerplate=`cat conftest.err` | |
958 | $RM conftest* | |
959 | ])# _LT_COMPILER_BOILERPLATE | |
960 | ||
961 | ||
962 | # _LT_LINKER_BOILERPLATE | |
963 | # ---------------------- | |
964 | # Check for linker boilerplate output or warnings with | |
965 | # the simple link test code. | |
966 | m4_defun([_LT_LINKER_BOILERPLATE], | |
967 | [m4_require([_LT_DECL_SED])dnl | |
968 | ac_outfile=conftest.$ac_objext | |
969 | echo "$lt_simple_link_test_code" >conftest.$ac_ext | |
970 | eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err | |
971 | _lt_linker_boilerplate=`cat conftest.err` | |
972 | $RM -r conftest* | |
973 | ])# _LT_LINKER_BOILERPLATE | |
974 | ||
975 | # _LT_REQUIRED_DARWIN_CHECKS | |
976 | # ------------------------- | |
977 | m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ | |
978 | case $host_os in | |
979 | rhapsody* | darwin*) | |
980 | AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) | |
981 | AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) | |
982 | AC_CHECK_TOOL([LIPO], [lipo], [:]) | |
983 | AC_CHECK_TOOL([OTOOL], [otool], [:]) | |
984 | AC_CHECK_TOOL([OTOOL64], [otool64], [:]) | |
985 | _LT_DECL([], [DSYMUTIL], [1], | |
986 | [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) | |
987 | _LT_DECL([], [NMEDIT], [1], | |
988 | [Tool to change global to local symbols on Mac OS X]) | |
989 | _LT_DECL([], [LIPO], [1], | |
990 | [Tool to manipulate fat objects and archives on Mac OS X]) | |
991 | _LT_DECL([], [OTOOL], [1], | |
992 | [ldd/readelf like tool for Mach-O binaries on Mac OS X]) | |
993 | _LT_DECL([], [OTOOL64], [1], | |
994 | [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) | |
995 | ||
996 | AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], | |
997 | [lt_cv_apple_cc_single_mod=no | |
998 | if test -z "$LT_MULTI_MODULE"; then | |
999 | # By default we will add the -single_module flag. You can override | |
1000 | # by either setting the environment variable LT_MULTI_MODULE | |
1001 | # non-empty at configure time, or by adding -multi_module to the | |
1002 | # link flags. | |
1003 | rm -rf libconftest.dylib* | |
1004 | echo "int foo(void){return 1;}" > conftest.c | |
1005 | echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ | |
1006 | -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD | |
1007 | $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ | |
1008 | -dynamiclib -Wl,-single_module conftest.c 2>conftest.err | |
1009 | _lt_result=$? | |
1010 | # If there is a non-empty error log, and "single_module" | |
1011 | # appears in it, assume the flag caused a linker warning | |
1012 | if test -s conftest.err && $GREP single_module conftest.err; then | |
1013 | cat conftest.err >&AS_MESSAGE_LOG_FD | |
1014 | # Otherwise, if the output was created with a 0 exit code from | |
1015 | # the compiler, it worked. | |
1016 | elif test -f libconftest.dylib && test 0 = "$_lt_result"; then | |
1017 | lt_cv_apple_cc_single_mod=yes | |
1018 | else | |
1019 | cat conftest.err >&AS_MESSAGE_LOG_FD | |
1020 | fi | |
1021 | rm -rf libconftest.dylib* | |
1022 | rm -f conftest.* | |
1023 | fi]) | |
1024 | ||
1025 | AC_CACHE_CHECK([for -exported_symbols_list linker flag], | |
1026 | [lt_cv_ld_exported_symbols_list], | |
1027 | [lt_cv_ld_exported_symbols_list=no | |
1028 | save_LDFLAGS=$LDFLAGS | |
1029 | echo "_main" > conftest.sym | |
1030 | LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" | |
1031 | AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], | |
1032 | [lt_cv_ld_exported_symbols_list=yes], | |
1033 | [lt_cv_ld_exported_symbols_list=no]) | |
1034 | LDFLAGS=$save_LDFLAGS | |
1035 | ]) | |
1036 | ||
1037 | AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], | |
1038 | [lt_cv_ld_force_load=no | |
1039 | cat > conftest.c << _LT_EOF | |
1040 | int forced_loaded() { return 2;} | |
1041 | _LT_EOF | |
1042 | echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD | |
1043 | $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD | |
1044 | echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD | |
1045 | $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD | |
1046 | echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD | |
1047 | $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD | |
1048 | cat > conftest.c << _LT_EOF | |
1049 | int main() { return 0;} | |
1050 | _LT_EOF | |
1051 | echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD | |
1052 | $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err | |
1053 | _lt_result=$? | |
1054 | if test -s conftest.err && $GREP force_load conftest.err; then | |
1055 | cat conftest.err >&AS_MESSAGE_LOG_FD | |
1056 | elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then | |
1057 | lt_cv_ld_force_load=yes | |
1058 | else | |
1059 | cat conftest.err >&AS_MESSAGE_LOG_FD | |
1060 | fi | |
1061 | rm -f conftest.err libconftest.a conftest conftest.c | |
1062 | rm -rf conftest.dSYM | |
1063 | ]) | |
1064 | case $host_os in | |
1065 | rhapsody* | darwin1.[[012]]) | |
1066 | _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; | |
1067 | darwin1.*) | |
1068 | _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; | |
1069 | darwin*) # darwin 5.x on | |
1070 | # if running on 10.5 or later, the deployment target defaults | |
1071 | # to the OS version, if on x86, and 10.4, the deployment | |
1072 | # target defaults to 10.4. Don't you love it? | |
1073 | case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in | |
1074 | 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) | |
1075 | _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; | |
1076 | 10.[[012]][[,.]]*) | |
1077 | _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; | |
1078 | 10.*) | |
1079 | _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; | |
1080 | esac | |
1081 | ;; | |
1082 | esac | |
1083 | if test yes = "$lt_cv_apple_cc_single_mod"; then | |
1084 | _lt_dar_single_mod='$single_module' | |
1085 | fi | |
1086 | if test yes = "$lt_cv_ld_exported_symbols_list"; then | |
1087 | _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' | |
1088 | else | |
1089 | _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' | |
1090 | fi | |
1091 | if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then | |
1092 | _lt_dsymutil='~$DSYMUTIL $lib || :' | |
1093 | else | |
1094 | _lt_dsymutil= | |
1095 | fi | |
1096 | ;; | |
1097 | esac | |
1098 | ]) | |
1099 | ||
1100 | ||
1101 | # _LT_DARWIN_LINKER_FEATURES([TAG]) | |
1102 | # --------------------------------- | |
1103 | # Checks for linker and compiler features on darwin | |
1104 | m4_defun([_LT_DARWIN_LINKER_FEATURES], | |
1105 | [ | |
1106 | m4_require([_LT_REQUIRED_DARWIN_CHECKS]) | |
1107 | _LT_TAGVAR(archive_cmds_need_lc, $1)=no | |
1108 | _LT_TAGVAR(hardcode_direct, $1)=no | |
1109 | _LT_TAGVAR(hardcode_automatic, $1)=yes | |
1110 | _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported | |
1111 | if test yes = "$lt_cv_ld_force_load"; then | |
1112 | _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' | |
1113 | m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], | |
1114 | [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) | |
1115 | else | |
1116 | _LT_TAGVAR(whole_archive_flag_spec, $1)='' | |
1117 | fi | |
1118 | _LT_TAGVAR(link_all_deplibs, $1)=yes | |
1119 | _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined | |
1120 | case $cc_basename in | |
1121 | ifort*|nagfor*) _lt_dar_can_shared=yes ;; | |
1122 | *) _lt_dar_can_shared=$GCC ;; | |
1123 | esac | |
1124 | if test yes = "$_lt_dar_can_shared"; then | |
1125 | output_verbose_link_cmd=func_echo_all | |
1126 | _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" | |
1127 | _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" | |
1128 | _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" | |
1129 | _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" | |
1130 | m4_if([$1], [CXX], | |
1131 | [ if test yes != "$lt_cv_apple_cc_single_mod"; then | |
1132 | _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" | |
1133 | _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" | |
1134 | fi | |
1135 | ],[]) | |
1136 | else | |
1137 | _LT_TAGVAR(ld_shlibs, $1)=no | |
1138 | fi | |
1139 | ]) | |
1140 | ||
1141 | # _LT_SYS_MODULE_PATH_AIX([TAGNAME]) | |
1142 | # ---------------------------------- | |
1143 | # Links a minimal program and checks the executable | |
1144 | # for the system default hardcoded library path. In most cases, | |
1145 | # this is /usr/lib:/lib, but when the MPI compilers are used | |
1146 | # the location of the communication and MPI libs are included too. | |
1147 | # If we don't find anything, use the default library path according | |
1148 | # to the aix ld manual. | |
1149 | # Store the results from the different compilers for each TAGNAME. | |
1150 | # Allow to override them for all tags through lt_cv_aix_libpath. | |
1151 | m4_defun([_LT_SYS_MODULE_PATH_AIX], | |
1152 | [m4_require([_LT_DECL_SED])dnl | |
1153 | if test set = "${lt_cv_aix_libpath+set}"; then | |
1154 | aix_libpath=$lt_cv_aix_libpath | |
1155 | else | |
1156 | AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], | |
1157 | [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ | |
1158 | lt_aix_libpath_sed='[ | |
1159 | /Import File Strings/,/^$/ { | |
1160 | /^0/ { | |
1161 | s/^0 *\([^ ]*\) *$/\1/ | |
1162 | p | |
1163 | } | |
1164 | }]' | |
1165 | _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` | |
1166 | # Check for a 64-bit object if we didn't find anything. | |
1167 | if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then | |
1168 | _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` | |
1169 | fi],[]) | |
1170 | if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then | |
1171 | _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib | |
1172 | fi | |
1173 | ]) | |
1174 | aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) | |
1175 | fi | |
1176 | ])# _LT_SYS_MODULE_PATH_AIX | |
1177 | ||
1178 | ||
1179 | # _LT_SHELL_INIT(ARG) | |
1180 | # ------------------- | |
1181 | m4_define([_LT_SHELL_INIT], | |
1182 | [m4_divert_text([M4SH-INIT], [$1 | |
1183 | ])])# _LT_SHELL_INIT | |
1184 | ||
1185 | ||
1186 | ||
1187 | # _LT_PROG_ECHO_BACKSLASH | |
1188 | # ----------------------- | |
1189 | # Find how we can fake an echo command that does not interpret backslash. | |
1190 | # In particular, with Autoconf 2.60 or later we add some code to the start | |
1191 | # of the generated configure script that will find a shell with a builtin | |
1192 | # printf (that we can use as an echo command). | |
1193 | m4_defun([_LT_PROG_ECHO_BACKSLASH], | |
1194 | [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' | |
1195 | ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO | |
1196 | ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO | |
1197 | ||
1198 | AC_MSG_CHECKING([how to print strings]) | |
1199 | # Test print first, because it will be a builtin if present. | |
1200 | if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ | |
1201 | test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then | |
1202 | ECHO='print -r --' | |
1203 | elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then | |
1204 | ECHO='printf %s\n' | |
1205 | else | |
1206 | # Use this function as a fallback that always works. | |
1207 | func_fallback_echo () | |
1208 | { | |
1209 | eval 'cat <<_LTECHO_EOF | |
1210 | $[]1 | |
1211 | _LTECHO_EOF' | |
1212 | } | |
1213 | ECHO='func_fallback_echo' | |
1214 | fi | |
1215 | ||
1216 | # func_echo_all arg... | |
1217 | # Invoke $ECHO with all args, space-separated. | |
1218 | func_echo_all () | |
1219 | { | |
1220 | $ECHO "$*" | |
1221 | } | |
1222 | ||
1223 | case $ECHO in | |
1224 | printf*) AC_MSG_RESULT([printf]) ;; | |
1225 | print*) AC_MSG_RESULT([print -r]) ;; | |
1226 | *) AC_MSG_RESULT([cat]) ;; | |
1227 | esac | |
1228 | ||
1229 | m4_ifdef([_AS_DETECT_SUGGESTED], | |
1230 | [_AS_DETECT_SUGGESTED([ | |
1231 | test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( | |
1232 | ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' | |
1233 | ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO | |
1234 | ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO | |
1235 | PATH=/empty FPATH=/empty; export PATH FPATH | |
1236 | test "X`printf %s $ECHO`" = "X$ECHO" \ | |
1237 | || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) | |
1238 | ||
1239 | _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) | |
1240 | _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) | |
1241 | ])# _LT_PROG_ECHO_BACKSLASH | |
1242 | ||
1243 | ||
1244 | # _LT_WITH_SYSROOT | |
1245 | # ---------------- | |
1246 | AC_DEFUN([_LT_WITH_SYSROOT], | |
1247 | [AC_MSG_CHECKING([for sysroot]) | |
1248 | AC_ARG_WITH([sysroot], | |
1249 | [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], | |
1250 | [Search for dependent libraries within DIR (or the compiler's sysroot | |
1251 | if not specified).])], | |
1252 | [], [with_sysroot=no]) | |
1253 | ||
1254 | dnl lt_sysroot will always be passed unquoted. We quote it here | |
1255 | dnl in case the user passed a directory name. | |
1256 | lt_sysroot= | |
1257 | case $with_sysroot in #( | |
1258 | yes) | |
1259 | if test yes = "$GCC"; then | |
1260 | lt_sysroot=`$CC --print-sysroot 2>/dev/null` | |
1261 | fi | |
1262 | ;; #( | |
1263 | /*) | |
1264 | lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` | |
1265 | ;; #( | |
1266 | no|'') | |
1267 | ;; #( | |
1268 | *) | |
1269 | AC_MSG_RESULT([$with_sysroot]) | |
1270 | AC_MSG_ERROR([The sysroot must be an absolute path.]) | |
1271 | ;; | |
1272 | esac | |
1273 | ||
1274 | AC_MSG_RESULT([${lt_sysroot:-no}]) | |
1275 | _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl | |
1276 | [dependent libraries, and where our libraries should be installed.])]) | |
1277 | ||
1278 | # _LT_ENABLE_LOCK | |
1279 | # --------------- | |
1280 | m4_defun([_LT_ENABLE_LOCK], | |
1281 | [AC_ARG_ENABLE([libtool-lock], | |
1282 | [AS_HELP_STRING([--disable-libtool-lock], | |
1283 | [avoid locking (might break parallel builds)])]) | |
1284 | test no = "$enable_libtool_lock" || enable_libtool_lock=yes | |
1285 | ||
1286 | # Some flags need to be propagated to the compiler or linker for good | |
1287 | # libtool support. | |
1288 | case $host in | |
1289 | ia64-*-hpux*) | |
1290 | # Find out what ABI is being produced by ac_compile, and set mode | |
1291 | # options accordingly. | |
1292 | echo 'int i;' > conftest.$ac_ext | |
1293 | if AC_TRY_EVAL(ac_compile); then | |
1294 | case `/usr/bin/file conftest.$ac_objext` in | |
1295 | *ELF-32*) | |
1296 | HPUX_IA64_MODE=32 | |
1297 | ;; | |
1298 | *ELF-64*) | |
1299 | HPUX_IA64_MODE=64 | |
1300 | ;; | |
1301 | esac | |
1302 | fi | |
1303 | rm -rf conftest* | |
1304 | ;; | |
1305 | *-*-irix6*) | |
1306 | # Find out what ABI is being produced by ac_compile, and set linker | |
1307 | # options accordingly. | |
1308 | echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext | |
1309 | if AC_TRY_EVAL(ac_compile); then | |
1310 | if test yes = "$lt_cv_prog_gnu_ld"; then | |
1311 | case `/usr/bin/file conftest.$ac_objext` in | |
1312 | *32-bit*) | |
1313 | LD="${LD-ld} -melf32bsmip" | |
1314 | ;; | |
1315 | *N32*) | |
1316 | LD="${LD-ld} -melf32bmipn32" | |
1317 | ;; | |
1318 | *64-bit*) | |
1319 | LD="${LD-ld} -melf64bmip" | |
1320 | ;; | |
1321 | esac | |
1322 | else | |
1323 | case `/usr/bin/file conftest.$ac_objext` in | |
1324 | *32-bit*) | |
1325 | LD="${LD-ld} -32" | |
1326 | ;; | |
1327 | *N32*) | |
1328 | LD="${LD-ld} -n32" | |
1329 | ;; | |
1330 | *64-bit*) | |
1331 | LD="${LD-ld} -64" | |
1332 | ;; | |
1333 | esac | |
1334 | fi | |
1335 | fi | |
1336 | rm -rf conftest* | |
1337 | ;; | |
1338 | ||
1339 | mips64*-*linux*) | |
1340 | # Find out what ABI is being produced by ac_compile, and set linker | |
1341 | # options accordingly. | |
1342 | echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext | |
1343 | if AC_TRY_EVAL(ac_compile); then | |
1344 | emul=elf | |
1345 | case `/usr/bin/file conftest.$ac_objext` in | |
1346 | *32-bit*) | |
1347 | emul="${emul}32" | |
1348 | ;; | |
1349 | *64-bit*) | |
1350 | emul="${emul}64" | |
1351 | ;; | |
1352 | esac | |
1353 | case `/usr/bin/file conftest.$ac_objext` in | |
1354 | *MSB*) | |
1355 | emul="${emul}btsmip" | |
1356 | ;; | |
1357 | *LSB*) | |
1358 | emul="${emul}ltsmip" | |
1359 | ;; | |
1360 | esac | |
1361 | case `/usr/bin/file conftest.$ac_objext` in | |
1362 | *N32*) | |
1363 | emul="${emul}n32" | |
1364 | ;; | |
1365 | esac | |
1366 | LD="${LD-ld} -m $emul" | |
1367 | fi | |
1368 | rm -rf conftest* | |
1369 | ;; | |
1370 | ||
1371 | x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ | |
1372 | s390*-*linux*|s390*-*tpf*|sparc*-*linux*) | |
1373 | # Find out what ABI is being produced by ac_compile, and set linker | |
1374 | # options accordingly. Note that the listed cases only cover the | |
1375 | # situations where additional linker options are needed (such as when | |
1376 | # doing 32-bit compilation for a host where ld defaults to 64-bit, or | |
1377 | # vice versa); the common cases where no linker options are needed do | |
1378 | # not appear in the list. | |
1379 | echo 'int i;' > conftest.$ac_ext | |
1380 | if AC_TRY_EVAL(ac_compile); then | |
1381 | case `/usr/bin/file conftest.o` in | |
1382 | *32-bit*) | |
1383 | case $host in | |
1384 | x86_64-*kfreebsd*-gnu) | |
1385 | LD="${LD-ld} -m elf_i386_fbsd" | |
1386 | ;; | |
1387 | x86_64-*linux*) | |
1388 | case `/usr/bin/file conftest.o` in | |
1389 | *x86-64*) | |
1390 | LD="${LD-ld} -m elf32_x86_64" | |
1391 | ;; | |
1392 | *) | |
1393 | LD="${LD-ld} -m elf_i386" | |
1394 | ;; | |
1395 | esac | |
1396 | ;; | |
1397 | powerpc64le-*linux*) | |
1398 | LD="${LD-ld} -m elf32lppclinux" | |
1399 | ;; | |
1400 | powerpc64-*linux*) | |
1401 | LD="${LD-ld} -m elf32ppclinux" | |
1402 | ;; | |
1403 | s390x-*linux*) | |
1404 | LD="${LD-ld} -m elf_s390" | |
1405 | ;; | |
1406 | sparc64-*linux*) | |
1407 | LD="${LD-ld} -m elf32_sparc" | |
1408 | ;; | |
1409 | esac | |
1410 | ;; | |
1411 | *64-bit*) | |
1412 | case $host in | |
1413 | x86_64-*kfreebsd*-gnu) | |
1414 | LD="${LD-ld} -m elf_x86_64_fbsd" | |
1415 | ;; | |
1416 | x86_64-*linux*) | |
1417 | LD="${LD-ld} -m elf_x86_64" | |
1418 | ;; | |
1419 | powerpcle-*linux*) | |
1420 | LD="${LD-ld} -m elf64lppc" | |
1421 | ;; | |
1422 | powerpc-*linux*) | |
1423 | LD="${LD-ld} -m elf64ppc" | |
1424 | ;; | |
1425 | s390*-*linux*|s390*-*tpf*) | |
1426 | LD="${LD-ld} -m elf64_s390" | |
1427 | ;; | |
1428 | sparc*-*linux*) | |
1429 | LD="${LD-ld} -m elf64_sparc" | |
1430 | ;; | |
1431 | esac | |
1432 | ;; | |
1433 | esac | |
1434 | fi | |
1435 | rm -rf conftest* | |
1436 | ;; | |
1437 | ||
1438 | *-*-sco3.2v5*) | |
1439 | # On SCO OpenServer 5, we need -belf to get full-featured binaries. | |
1440 | SAVE_CFLAGS=$CFLAGS | |
1441 | CFLAGS="$CFLAGS -belf" | |
1442 | AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, | |
1443 | [AC_LANG_PUSH(C) | |
1444 | AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) | |
1445 | AC_LANG_POP]) | |
1446 | if test yes != "$lt_cv_cc_needs_belf"; then | |
1447 | # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf | |
1448 | CFLAGS=$SAVE_CFLAGS | |
1449 | fi | |
1450 | ;; | |
1451 | *-*solaris*) | |
1452 | # Find out what ABI is being produced by ac_compile, and set linker | |
1453 | # options accordingly. | |
1454 | echo 'int i;' > conftest.$ac_ext | |
1455 | if AC_TRY_EVAL(ac_compile); then | |
1456 | case `/usr/bin/file conftest.o` in | |
1457 | *64-bit*) | |
1458 | case $lt_cv_prog_gnu_ld in | |
1459 | yes*) | |
1460 | case $host in | |
1461 | i?86-*-solaris*|x86_64-*-solaris*) | |
1462 | LD="${LD-ld} -m elf_x86_64" | |
1463 | ;; | |
1464 | sparc*-*-solaris*) | |
1465 | LD="${LD-ld} -m elf64_sparc" | |
1466 | ;; | |
1467 | esac | |
1468 | # GNU ld 2.21 introduced _sol2 emulations. Use them if available. | |
1469 | if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then | |
1470 | LD=${LD-ld}_sol2 | |
1471 | fi | |
1472 | ;; | |
1473 | *) | |
1474 | if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then | |
1475 | LD="${LD-ld} -64" | |
1476 | fi | |
1477 | ;; | |
1478 | esac | |
1479 | ;; | |
1480 | esac | |
1481 | fi | |
1482 | rm -rf conftest* | |
1483 | ;; | |
1484 | esac | |
1485 | ||
1486 | need_locks=$enable_libtool_lock | |
1487 | ])# _LT_ENABLE_LOCK | |
1488 | ||
1489 | ||
1490 | # _LT_PROG_AR | |
1491 | # ----------- | |
1492 | m4_defun([_LT_PROG_AR], | |
1493 | [AC_CHECK_TOOLS(AR, [ar], false) | |
1494 | : ${AR=ar} | |
1495 | : ${AR_FLAGS=cru} | |
1496 | _LT_DECL([], [AR], [1], [The archiver]) | |
1497 | _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) | |
1498 | ||
1499 | AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], | |
1500 | [lt_cv_ar_at_file=no | |
1501 | AC_COMPILE_IFELSE([AC_LANG_PROGRAM], | |
1502 | [echo conftest.$ac_objext > conftest.lst | |
1503 | lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' | |
1504 | AC_TRY_EVAL([lt_ar_try]) | |
1505 | if test 0 -eq "$ac_status"; then | |
1506 | # Ensure the archiver fails upon bogus file names. | |
1507 | rm -f conftest.$ac_objext libconftest.a | |
1508 | AC_TRY_EVAL([lt_ar_try]) | |
1509 | if test 0 -ne "$ac_status"; then | |
1510 | lt_cv_ar_at_file=@ | |
1511 | fi | |
1512 | fi | |
1513 | rm -f conftest.* libconftest.a | |
1514 | ]) | |
1515 | ]) | |
1516 | ||
1517 | if test no = "$lt_cv_ar_at_file"; then | |
1518 | archiver_list_spec= | |
1519 | else | |
1520 | archiver_list_spec=$lt_cv_ar_at_file | |
1521 | fi | |
1522 | _LT_DECL([], [archiver_list_spec], [1], | |
1523 | [How to feed a file listing to the archiver]) | |
1524 | ])# _LT_PROG_AR | |
1525 | ||
1526 | ||
1527 | # _LT_CMD_OLD_ARCHIVE | |
1528 | # ------------------- | |
1529 | m4_defun([_LT_CMD_OLD_ARCHIVE], | |
1530 | [_LT_PROG_AR | |
1531 | ||
1532 | AC_CHECK_TOOL(STRIP, strip, :) | |
1533 | test -z "$STRIP" && STRIP=: | |
1534 | _LT_DECL([], [STRIP], [1], [A symbol stripping program]) | |
1535 | ||
1536 | AC_CHECK_TOOL(RANLIB, ranlib, :) | |
1537 | test -z "$RANLIB" && RANLIB=: | |
1538 | _LT_DECL([], [RANLIB], [1], | |
1539 | [Commands used to install an old-style archive]) | |
1540 | ||
1541 | # Determine commands to create old-style static archives. | |
1542 | old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' | |
1543 | old_postinstall_cmds='chmod 644 $oldlib' | |
1544 | old_postuninstall_cmds= | |
1545 | ||
1546 | if test -n "$RANLIB"; then | |
1547 | case $host_os in | |
1548 | bitrig* | openbsd*) | |
1549 | old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" | |
1550 | ;; | |
1551 | *) | |
1552 | old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" | |
1553 | ;; | |
1554 | esac | |
1555 | old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" | |
1556 | fi | |
1557 | ||
1558 | case $host_os in | |
1559 | darwin*) | |
1560 | lock_old_archive_extraction=yes ;; | |
1561 | *) | |
1562 | lock_old_archive_extraction=no ;; | |
1563 | esac | |
1564 | _LT_DECL([], [old_postinstall_cmds], [2]) | |
1565 | _LT_DECL([], [old_postuninstall_cmds], [2]) | |
1566 | _LT_TAGDECL([], [old_archive_cmds], [2], | |
1567 | [Commands used to build an old-style archive]) | |
1568 | _LT_DECL([], [lock_old_archive_extraction], [0], | |
1569 | [Whether to use a lock for old archive extraction]) | |
1570 | ])# _LT_CMD_OLD_ARCHIVE | |
1571 | ||
1572 | ||
1573 | # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, | |
1574 | # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) | |
1575 | # ---------------------------------------------------------------- | |
1576 | # Check whether the given compiler option works | |
1577 | AC_DEFUN([_LT_COMPILER_OPTION], | |
1578 | [m4_require([_LT_FILEUTILS_DEFAULTS])dnl | |
1579 | m4_require([_LT_DECL_SED])dnl | |
1580 | AC_CACHE_CHECK([$1], [$2], | |
1581 | [$2=no | |
1582 | m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) | |
1583 | echo "$lt_simple_compile_test_code" > conftest.$ac_ext | |
1584 | lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment | |
1585 | # Insert the option either (1) after the last *FLAGS variable, or | |
1586 | # (2) before a word containing "conftest.", or (3) at the end. | |
1587 | # Note that $ac_compile itself does not contain backslashes and begins | |
1588 | # with a dollar sign (not a hyphen), so the echo should work correctly. | |
1589 | # The option is referenced via a variable to avoid confusing sed. | |
1590 | lt_compile=`echo "$ac_compile" | $SED \ | |
1591 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | |
1592 | -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ | |
1593 | -e 's:$: $lt_compiler_flag:'` | |
1594 | (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) | |
1595 | (eval "$lt_compile" 2>conftest.err) | |
1596 | ac_status=$? | |
1597 | cat conftest.err >&AS_MESSAGE_LOG_FD | |
1598 | echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD | |
1599 | if (exit $ac_status) && test -s "$ac_outfile"; then | |
1600 | # The compiler can only warn and ignore the option if not recognized | |